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

正文內(nèi)容

基于ds18b20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)畢業(yè)設(shè)計(jì)(存儲版)

2024-12-27 21:58上一頁面

下一頁面
  

【正文】 } //寫數(shù)據(jù)函數(shù) : E =高脈沖 RS=1 RW=0 void lcd_write_data(unsigned char char_data) { uchar xdata *dig。//RS=0 lcd_RW=1。 if(position=0x10) position_tem=position+0xb0。i++) display_a_char(col_tem++,*(ptr+i))。 Write24( 0x3f0 , (temp + 1 ))。 temp = Read24(0x3f0)1。波特率發(fā)生器 t1工作在模式 2上 TH1 = 0xFD。設(shè)置成串口 1 方式 ,sm2=1,ren=1 TMOD = 0x20。 } void Dele_data(void) { temp1 = Read24(0x3f1)。 } Write24( (2 * temp) , DataH )。 for(i=0。//E=0 lcd_E=0。DB7: 0 LCD 控制器空閑, 1 LCD 控制器忙。DIGPORT。 lcd_write_mand(0x38,1)。 DataCoding( DataH, DataL )。 } void Get_temperarue(void) 32 { if (init_18b20 ()) { write1820_byte (0xcc)。i++) { DQ=0。 DQ=wramp。 //detect 1820 fail! Delay(100)。 _nop_()。 //232 初始化 void dis_start(void)。 //標(biāo)志位 bit bitReadFirst = 1。 //讀 24C08 中 void Read_data(void)。 //刪除數(shù)據(jù) void dis_set_datanum(void)。 //使能程序 void display_a_char(unsigned char position,unsigned char char_data)。 //體溫模式測量模式 void dis_set_T(void)。在測試過程中,我們將家庭用的寒暑表和設(shè)計(jì)完成的數(shù)字溫度計(jì)做比較發(fā)現(xiàn),寒暑表反應(yīng)速度比較快,但經(jīng)過讀數(shù)后的結(jié)果存在較大的誤差,而我們設(shè)計(jì)完成的數(shù)字溫度計(jì)測溫然后顯示的反應(yīng)不及寒暑表,但是測溫的精度遠(yuǎn)比寒暑表高,因?yàn)?DS18B20 測溫精度可達(dá) 度,并且經(jīng)電子器件顯示只存在取舍誤差 。 圖 41程序流程圖 DS18B20 模塊程序設(shè)計(jì) 程序流程 DS18B20 模塊程序主要完成 DS18B20 的初始化和溫度的讀去操作,程序流程如圖 42所示。 PC 機(jī)常用 DB9 連接器作為提供多功能 I/O 卡或主板上 COM1 和 COM2 兩個串行 接口的連接器,它只提供異步通信的 9個信號, 9 針串口功能見表 310,并且對電纜長度也有要求: RS232C 標(biāo)準(zhǔn)規(guī)定,若不使用 MODEM,在碼元畸變小于 4%的情況下, DTE 和 DCE之間最大傳輸距離為 15m( 50英尺)。 頁寫功能 EEPROM 寫入時,總需要一定的寫入時間( 5~15ms),因此,在寫入時無法連續(xù)寫入多個數(shù)據(jù)字節(jié),在 E2PROM 器件中設(shè)有一定容量的數(shù)據(jù)寄存器,用戶一次寫入 EEPROM 的數(shù)據(jù)字節(jié)不大于頁寫字節(jié)數(shù)時可按通常 RAM 的寫入速度裝載至 EEPROM 中的數(shù)據(jù)寄存器中 ,隨后啟動自動寫入定時控制邏輯,經(jīng)過 5~10ms 自動將數(shù)據(jù)寄存器中的數(shù)據(jù)同步寫入 EEPROM 的指定單元中。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表 39 是 HS1602 的內(nèi)部顯示地址。 表 36 接口信號說明 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 Data I/O 2 VDD 電源正極 10 D3 Data I/O 3 VL 液晶顯示偏壓信號 11 D4 Data I/O 4 RS 數(shù)據(jù) /命令選擇端( H/L) 12 D5 Data I/O 5 R/W 讀 /寫選擇端( H/L) 13 D6 Data I/O 6 E 使能信號 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正極 8 D1 Data I/O 16 BLK 背光源負(fù)極 用 HS1602 液晶顯示模塊顯示字符或字符串之前必須對其進(jìn)行初始化, HS1602 液晶顯示模塊的初始化流程如下: ?? 初始化過程(復(fù)位過程) ?? 延時 15ms ?? 寫指令 38H(不檢測忙信號) ?? 延時 5ms ?? 寫指令 38H(不檢測忙信號 ) ?? 延時 5ms ?? 寫指令 38H(不檢測忙信號) ?? (以后每次寫指令、讀 /寫數(shù)據(jù)之前均需檢測忙信號) ?? 寫指令 38H:顯示模式設(shè)置 ?? 寫指令 38H:顯示關(guān)閉 ?? 寫指令 01H:顯示清屏 ?? 寫指令 06H:顯示光標(biāo)移動設(shè)置 ?? 寫指令 0CH:顯示開關(guān)及光標(biāo)位置 13 HS1602 液晶模塊內(nèi)部的字符發(fā)生存儲器( CGROM)已經(jīng)存儲了 128 個不同的點(diǎn)陣字符圖形,如表 37所示。 ROM 命令令和暫存器的命令如表 31和表 35。芯片內(nèi)部還有斜率累加器,可對頻率的非線性予以被償。若采用外部電源 VDD,則通過 VD2 向器件供電。 5 總體設(shè)計(jì) 本方案設(shè)計(jì)的系統(tǒng)由按鍵控制模塊、單片機(jī)系統(tǒng)、溫度傳感器模塊、液晶顯示模塊、存儲模塊、串口通信模塊和電源模塊 組成,其總體架構(gòu)如圖 21。 電源模塊 采用普通的直流電源實(shí)現(xiàn)電路簡單,而且采用集成電源芯片設(shè)計(jì)的直流電源電壓比較穩(wěn)定,完全滿足系統(tǒng)各模塊的供電要求,但是普通直流電源體積比較大,變壓器的散熱對測溫精度也有影響,所以,選用 鋰離子手機(jī)充電電池和配套的鋰電池充電器作為系統(tǒng)的供電模塊。 單片機(jī)系統(tǒng) 目前比較流行 51 系列單片機(jī)和凌陽單片機(jī)。封裝后的 DS18B20 可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機(jī)房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。通過 DSl8B20 直接讀取被測溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在 0℃ ~100℃ 最大線性偏 差小于 ℃ 。 國內(nèi)外目前的研究進(jìn)展和成果 測量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了 3 個階段:傳統(tǒng)的分立式溫度傳感器、模擬集成溫度傳感器、智能集成溫度傳感器。 不保密 □。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。利用 AT89S52單片機(jī)控制 DS18B20 進(jìn)行數(shù)據(jù)采集并由 HS1602 液晶顯示模塊顯示結(jié)果,另外,采集結(jié)果可由 RS232C 接口送入計(jì)算機(jī)顯示并存儲。 能夠獨(dú)立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。 2 本課題研究的內(nèi)容 本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用 8086 系統(tǒng) AT89S52,測溫傳感器使用 DS18B20, 由 HS1602 液晶顯示模塊顯示結(jié)果, 能準(zhǔn)確達(dá)到以上要求。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),它的測量溫度范圍為- 55~+ 125℃,在- 10~+ 85℃范圍內(nèi),精度為177。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。另外,手機(jī)電池電量有限,而數(shù)碼管耗電較大,不符合設(shè)計(jì)要求。 DS18B20 特性: ?? 獨(dú)特的單線接口僅需一個端口進(jìn)行通訊 ?? 簡單的多點(diǎn)分布應(yīng)用 ?? 無需外部器件 ?? 可通過數(shù)據(jù)線供電 ?? 零待機(jī)功耗 ?? 測溫范圍 55~+125℃ ?? 溫度以 12 位數(shù)字量讀出 ?? 溫度數(shù)字量轉(zhuǎn)換時間 750ms( 12 位) ?? 用戶可定義的非易失性溫度警報設(shè)置 ?? 報警搜索命令識別并超過程序限定溫度(溫度報警條件)的器件 ?? 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)或任何熱感測系統(tǒng) DS18B20 原理 DS18B20 采用 3 腳 PR35 封裝或 8 腳 SOIC 封裝,管腳排列如圖 32 所示。光刻 ROM 的作用是使每一個DS18B20 都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個 DS18B20 的目的。 10 表 32 DS18B20 溫度數(shù)字對應(yīng)關(guān)系表 DS18B20 溫度傳感器的內(nèi)部存儲器包括一個高速暫存 RAM 和一個非易失性的可電擦除的 E2RAM,后者存放高溫度和低溫度觸發(fā)器 TH、 TL和結(jié)構(gòu)寄存器。 RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。 K [ k { 1100 , L 165。 AT24C08 是 ATMEL公司生產(chǎn)的串行 EEPROM( 8K, 1024 8),直接通過 I2C 總線的 SDA 中的器件地址碼變更來變換讀寫功能,當(dāng)從串行時鐘線 SCL 輸入正邊緣時鐘信號時,數(shù)據(jù)進(jìn)入每一個EEPROM 器件,在負(fù)邊緣時數(shù)據(jù)從每個器件中輸出 ,串行數(shù)據(jù)線 SDA 雙向輸送時,該腳用漏極開路驅(qū)動, 3腳作器件地址輸入。在寫入時,寫入數(shù)據(jù)按照字地址( WORDADR)的最低部分,定為在數(shù)據(jù)寄存器的頁地址空間、數(shù)據(jù)寄存器地址的低位部分,溢出時不會向字地址的高位部分進(jìn)位,這就造成寫入數(shù)據(jù)在地址的“翻卷”。但由于 RS232C的邏輯電對地是對稱的,與 TTL、 MOS 邏輯電平完全不同,邏輯0電平規(guī)定為 +5~ +15V 之間,邏輯 1 是電平為 5~ 15V 之間,因此利用 MAX232 芯片 進(jìn)行電平轉(zhuǎn)換,電路連接如圖 310。 圖 44 AT24C08存儲模塊程序流程圖 程序源碼 見附錄 A AT24C08 程序源碼 單片機(jī)端通信程序設(shè)計(jì) 程序流程 AT89S52 單片機(jī)串行口是全雙工串行通信口,有 4 種工作方式:方式 0作移位寄存器使用;方式 1 是波特率可變的 8 位 UART;方式 2 是波特率固定為兩種的 9 位 UART;選擇存模式 選擇保存或刪除 數(shù)據(jù)再現(xiàn)模式( 5) 選擇再現(xiàn)數(shù)據(jù) 調(diào)用 保存或刪除模塊 調(diào)用顯示模塊 存儲模式( 4) 22 方式 3是波特率可變的 9位 UART。而無需額外電源,因而使用 DS18B20 可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性高。 //數(shù)據(jù)保存 void Dele_data(void)。 void delay02s(void)。 unsigned long temperarue。 //用于液晶顯示 的字符串變量 unsigned char temp。 //數(shù)據(jù)低 8位的變量 unsigned char Point。 unsigned long Data。 Delay(20)。 } void write1820_byte (uchar wr) //單字節(jié)寫入 { uchar i。//45us DQ=1。 if(DQ==1) u|=0x80。 if (init_18b20 ()) { write1820_byte (0xcc)。//顯示模式設(shè)置三次 (此時不管 lcd 空閑與否 ) delay_nms(5)。//顯示清屏 lcd_write_mand(0x06,1)。 dig=amp。//RW=1 _nop_()。 else position_tem=position+0x80。 35 } AT24CO8 程序源碼 void Save_data(void) { temp = Read24(0x3f0)。 Write24( 0x3f1 , (temp + 1 ))。 36 Write24( (2 * temp) ,0x00 )。 // mov th1, 0fdh 。 // scon,50h 。 Datashow(DataH1,DataL1)。 Write24( 0x3f1 , (temp + 1 ))。 //若 col 為 1(即在 LCD 第二行顯示字符串 ),先把 col 左移 4位 //使顯示字符的首位置改到第二行首位 ,即位置 16 col_tem=col4。//等待 LCD_DB7 為 0 RD=1。 } //正常讀寫操作之前必須檢測 LCD 控制器狀態(tài) //E=1 RS=0 RW=1。 //若 wait_en 為 1,則要檢測 LCD 忙
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1