freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機數(shù)據(jù)采集系統(tǒng)設(shè)計-文庫吧

2024-11-16 02:22 本頁面


【正文】 0 能夠在 15us 到 45us 之間能夠正確地采樣 IO 總線上的 “0” 電平,當要寫 1時序時,單總線被拉低之后,在 15us 之內(nèi)就得釋放單總線。 顯示模塊 顯示系統(tǒng)是單片機不可或缺的環(huán)節(jié),它為單片機提供了直觀的觀察環(huán)境。單片機顯示模塊應(yīng)該能夠做到快速簡練,并且有語義明確,這對使用單片機具有很關(guān)鍵的作用。本實驗系統(tǒng)涉及到兩種顯示方式,液晶顯示和 LED 數(shù)碼管顯示,這兩種顯示方法在生活中被廣泛的應(yīng)用,學(xué)習(xí)這兩種顯示方法對于單片機系統(tǒng)的開發(fā)與設(shè)計有很大的意義。 概述 帶中文字庫的 128X64 是一種具有 4位 /8位并行、 2線或 3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為 12864, 內(nèi)置 8192 個 16*16 點漢字,和 128 個 16*8 點 ASCII 字符集 .利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示 84 行 1616 點陣的漢字 . 也可完成圖形顯示 .低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該 模塊的價格也略低于相同點陣的圖形液晶模塊。 基本特性 低電源電壓( VDD:++) 顯示分辨率 :12864 點 內(nèi)置漢字字庫,提供 8192 個 1616 點陣漢字 (簡繁體可選 ) 內(nèi)置 128 個 168 點陣字符 2MHZ 時鐘頻率 顯示方式: STN、半透、正顯 驅(qū)動方式: 1/32DUTY, 1/5BIAS 視角方向: 6 點 背光方式:側(cè)部高亮白色 LED,功耗僅為普通 LED 的 1/5— 1/10 通訊方式:串行、并口可選 內(nèi)置 DCDC轉(zhuǎn)換電路,無需外加負壓 無需片選信號,簡化軟 件設(shè)計 工作溫度 : 0℃ +55℃ , 存儲溫度 : 20℃ +60℃ 引腳定義 LCD12864 模塊的 20個引腳定義如下 : 邏輯電源地 邏輯電源正 5v LCD 驅(qū)動電壓 數(shù)據(jù) /指令選擇:高電平為數(shù)據(jù),低電平為指令 :高電平為讀數(shù)據(jù),低電平為寫數(shù)據(jù) 讀寫使能,高電平有效,下降沿鎖定數(shù)據(jù) 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 數(shù)據(jù)輸入輸出引腳 片選擇號,低電平時選擇前 64列 片選擇號,低電平時選擇后 64列 復(fù)位信號,低電平有效。 輸出- 15v 電源給 V0提供驅(qū)動電源 背光電源 LED 正極 背光電源 LED 負極 基本 電路圖 與時序圖 基本連接電路圖如下圖 1234567891011121314151617181920J4SM12864IGNDVCCRSR/WEDB0DB1DB2DB3DB4DB5DB6DB7CS1CS2RSTVEEELENACA1B2TAP3R110K 圖 串行連接時序圖 圖 第一字節(jié):作用是控制數(shù)據(jù):其格式是: 11111ABC。其中: A為數(shù)據(jù)傳送方向控制: H 表示數(shù)據(jù)從 LCD 到 MCU, L表示數(shù)據(jù)從 MCU 到 LCD; B為數(shù)據(jù)類型選擇:H表示數(shù)據(jù)是顯示數(shù)據(jù)。 L表示數(shù)據(jù)是控制指令; C 固定為 0 第二字節(jié):表示數(shù)據(jù)的高 4位,格式是 DDDD0000 第三字節(jié):表示數(shù)據(jù)的低 4位,格式是 0000DDDD [第三章 數(shù)據(jù)采集系統(tǒng)硬件設(shè)計 數(shù)據(jù)采集與控制模塊 DS18B20 溫度傳感器與單片機的接口電路設(shè)計 DS18B20 與單片機之間一根導(dǎo)線進行數(shù)據(jù)傳輸,不需要對數(shù)據(jù)進行轉(zhuǎn)換,接線簡單。 DS18B20 的溫度分辨率為 ,所以對溫度值可以進行準確的溫度轉(zhuǎn)換。 DS18B20 可以采用兩種方式供電,一種是采用電源供電方式,此時 DS18B20 的 1腳接地, 2腳作為信號線, 3腳接電源。另一種是寄生電源供電方式,單片機端口接單線總線,為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET 管來完成對總線的上拉。 當 DS18B20 處于寫存儲器操作和溫度 A/D 轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為 10us。采用寄生電源供電方式時 VDD 端接地。由于單線制只有一根線,因此發(fā) 送接口必須是三態(tài)的。由于 DS18B20 是在一根 I/O 線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。 DS18B20 有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 數(shù)據(jù)顯示模塊 AT89S52 單片機與液晶顯示 LCD1602 連接 數(shù)據(jù)傳輸模塊 報警系統(tǒng)設(shè)計模塊 LED 顯示程序設(shè)計 31 報警系統(tǒng)的程序設(shè)計 32 include include include define uchar unsigned char define uint unsigned int define ufloat unsigned float sbit EN=P1^3。 //1602 使能引腳 sbit RW=P1^4。 //1602 讀寫引腳 sbit RS=P1^5。 //1602 數(shù)據(jù) /命令選擇引腳 sbit baojing=P3^2。 sbit DQ =P1^6。 float temperature。 uint count void Delay(int j) //1 延時函數(shù) 100um 65000 { uchar i。 for(。j0。j) { for(i=0。i27。i++)。 } } void Ddelay(uint i) { while(i)。 } //初始化函數(shù) void Init_DS18B20(void) { uchar x=0。 DQ = 1。 //DQ 復(fù)位 Ddelay(8)。 //稍做延時 DQ = 0。 //單片機將 DQ 拉低 Ddelay(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 Ddelay(14)。 x=DQ。 //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 Ddelay(20)。 } //讀一個字節(jié) uchar ReadOneChar(void) { uchar i=0。 uchar dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 Ddelay(4)。 } return(dat)。 } //寫一個字節(jié) void WriteOneChar(unsigned char dat) { uchar i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 Ddelay(5)。 DQ = 1。 dat=1。 } Ddelay(4)。 } //讀取溫度 float ReadTemperature() { uchar disp[6]。 float temperature。 uchar tb=0,ta=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度 ta=ReadOneChar()。 //讀取溫度值低位 tb=ReadOneChar()。 //讀取溫度值高位 { disp[0]=((tb4)|(ta4))/100+39。039。 //百位 disp[1]=(((tb4)|(ta4))%100)/10+39。039。 //十位 disp[2]=(((tb4)|(ta4))%100)%10+39。039。 //個位 disp[3]=39。.39。 disp[4]=((taamp。0x0f)*625)/1000+39。039。 //十分位 temperature = (disp[0] 39。039。) * 100 + (disp[1] 39。039。) * 10 + (disp[2] 39。039。) + (disp[4] 39。039。) *。 } return(temperature)。 } /******************************************************/ uchar Busy_check() //判斷忙函數(shù) LCD1602 {uchar LCD_Status。 P2=0xff。 RS=0。 //0 輸入指令, 1輸入數(shù)據(jù) RW=1。 //0 寫入指令或數(shù)據(jù), 1 讀信息 EN=1。 //1 讀取信息, 10 寫指令或數(shù)據(jù) Delay(10)。 LCD_Status=P2。 EN=0。 return LCD_Status。 //返回狀態(tài) } void Write_LCD_Command(uchar cmd) //寫 LCD 命令 { while((Busy_check()amp。0x80)==0x80)。 //D7=1 禁止操作, D7=0,允許操作 RS=0。 RW=0。 EN=0。 Delay(2) 。 //延時 P2=cmd。 Delay(2) 。 EN=1。 Delay(10)。 EN=0。 } /**********************************************************/ void Write_LCD_Data(uchar dat) //向 lcd 發(fā)送數(shù)據(jù) { while((Busy_check()amp。0x80)==0x80)。 RS=1。RW=0。EN=0。 P2=dat。 Delay(2) 。 EN=1。 Delay(10)。 EN=0。 } /**********************************************************/
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1