![LCD1602和DS18B20顯示溫度_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/ed2cfe3e-58b1-444c-8046-2a4892ce8402/ed2cfe3e-58b1-444c-8046-2a4892ce84021.gif)
![LCD1602和DS18B20顯示溫度_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/ed2cfe3e-58b1-444c-8046-2a4892ce8402/ed2cfe3e-58b1-444c-8046-2a4892ce84022.gif)
![LCD1602和DS18B20顯示溫度_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/ed2cfe3e-58b1-444c-8046-2a4892ce8402/ed2cfe3e-58b1-444c-8046-2a4892ce84023.gif)
![LCD1602和DS18B20顯示溫度_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/ed2cfe3e-58b1-444c-8046-2a4892ce8402/ed2cfe3e-58b1-444c-8046-2a4892ce84024.gif)
![LCD1602和DS18B20顯示溫度_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/ed2cfe3e-58b1-444c-8046-2a4892ce8402/ed2cfe3e-58b1-444c-8046-2a4892ce84025.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、您研究一下以下這個(gè)程序,然后就可以加上時(shí)間功能.多做一點(diǎn)就能多學(xué)一點(diǎn).開機(jī)時(shí)對(duì)DS18B20進(jìn)行檢測(cè),如果DS18B20檢測(cè)不正常,LCD1602顯示: DS18B20 ERROR PLEASE CHECK 蜂鳴器報(bào)警。DS18B20檢測(cè)正常,LCD1602顯示: DS18B20 OK TEMP: 100.8如果溫度值高位為0,將不顯示出來(lái)。你可以通過(guò)拔插DS18B20查看DS18B20的檢測(cè)功能。/* ME300B單片機(jī)開發(fā)系統(tǒng)演示程序 - DS18B20溫度顯示 */* LCD1602顯示 */* 作者: gguoqing */*Copyright(C)偉納電子 www.willar.co
2、m All Rights Reserved */*/#include #include #define uchar unsigned char#define uint unsigned intsbit DQ = P33 ; /定義DS18B20端口DQ sbit BEEP=P37 ; /蜂鳴器驅(qū)動(dòng)線bit presence ;sbit LCD_RS = P20 ; sbit LCD_RW = P21 ;sbit LCD_EN = P22 ;uchar code cdis1 = DS18B20 OK ;uchar code cdis2 = TEMP: . C ;uchar code cdis3
3、= DS18B20 ERR0R ;uchar code cdis4 = PLEASE CHECK ;unsigned char data temp_data2 = 0x00,0x00 ;unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00 ;unsigned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09 ;void beep() ; unsigned char code mytab8
4、= 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00 ;#define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;/*/void delay1(int ms)unsigned char y ; while(ms-) for(y = 0 ; y250 ; y+) _nop_() ; _nop_() ; _nop_() ; _nop_() ; /*/*檢查L(zhǎng)CD忙狀態(tài) */*lcd_busy為1時(shí),忙,等待。lcd-busy為0時(shí),閑,可寫指令與數(shù)據(jù)。 */*/ bit lcd_busy() bit resu
5、lt ; LCD_RS = 0 ; LCD_RW = 1 ; LCD_EN = 1 ; delayNOP() ; result = (bit)(P0&0x80) ; LCD_EN = 0 ; return(result) ; /*寫指令數(shù)據(jù)到LCD */*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */*/void lcd_wcmd(uchar cmd) while(lcd_busy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P0 = cmd ; delayNOP() ; LCD_EN = 1 ; d
6、elayNOP() ; LCD_EN = 0 ; /*/*寫顯示數(shù)據(jù)到LCD */*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */*/void lcd_wdat(uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P0 = dat ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD初始化設(shè)定 */*/void lcd_init() delay1(15) ; lcd_wcmd(0x01) ; /清除LCD的顯示內(nèi)容 lcd_wcmd
7、(0x38) ; /16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x0c) ; /顯示開,關(guān)光標(biāo) delay1(5) ; lcd_wcmd(0x06) ; /移動(dòng)光標(biāo) delay1(5) ; lcd_wcmd(0x01) ; /清除LCD的顯示內(nèi)容 delay1(5) ;/* 設(shè)定顯示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80) ; /數(shù)據(jù)指針=80+地址變量/*自定義字符寫入CGRAM
8、*/*/void writetab() unsigned char i ; lcd_wcmd(0x40) ; /寫CGRAM for (i = 0 ; i 0 ; i-) DQ = 0 ; / 給脈沖信號(hào) dat = 1 ; DQ = 1 ; / 給脈沖信號(hào) if(DQ) dat |= 0x80 ; Delay(4) ; return (dat) ;/* 寫一個(gè)字節(jié) */*/WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) DQ = 0 ; DQ = dat&0x01 ; Delay(5)
9、; DQ = 1 ; dat=1 ; /* 讀取溫度 */*/Read_Temperature(void) Init_DS18B20() ; WriteOneChar(0xCC) ; / 跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44) ; / 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20() ; WriteOneChar(0xCC) ; /跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE) ; /讀取溫度寄存器 temp_data0 = ReadOneChar() ; /溫度低8位 temp_data1 = ReadOneChar() ; /溫度高8位 /* 數(shù)據(jù)轉(zhuǎn)換與溫度顯示
10、*/*/Disp_Temperature() display4=temp_data0&0x0f ; display0=ditabdisplay4+0x30 ; /查表得小數(shù)位的值 display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)4) ; display3=display4/100+0x30 ; display1=display4%100 ; display2=display1/10+0x30 ; display1=display1%10+0x30 ; if(display3=0x30) /高位為0,不顯示 display3=0x20 ; if(dis
11、play2=0x30) /次高位為0,不顯示 display2=0x20 ; lcd_pos(0x48) ; lcd_wdat(display3) ; /百位數(shù)顯示 lcd_pos(0x49) ; lcd_wdat(display2) ; /十位數(shù)顯示 lcd_pos(0x4a) ; lcd_wdat(display1) ; /個(gè)位數(shù)顯示 lcd_pos(0x4c) ; lcd_wdat(display0) ; /小數(shù)位數(shù)顯示 /*/* 蜂鳴器響一聲 */*/void beep() unsigned char y ; for (y=0 ;y100 ;y+) Delay(60) ; BEEP=!
12、BEEP ; /BEEP取反 BEEP=1 ; /關(guān)閉蜂鳴器Delay(40000) ; /* DS18B20 OK 顯示菜單 */*/void Ok_Menu () uchar m ; lcd_init() ; /初始化LCD lcd_pos(0) ; /設(shè)置顯示位置為第一行的第1個(gè)字符 m = 0 ; while(cdis1m != 0) /顯示字符 lcd_wdat(cdis1m) ; m+ ; lcd_pos(0x40) ; /設(shè)置顯示位置為第二行第1個(gè)字符 m = 0 ; while(cdis2m != 0) lcd_wdat(cdis2m) ; /顯示字符 m+ ; writetab() ; /自定義字符寫入CGRAM delay1(5) ; lcd_pos(0x4d) ; lcd_wdat(0x00) ; /顯示自定義字符/* DS18B20 ERROR 顯示菜單 */*/void Error_Menu () uchar m ; lcd_init() ; /初始化LCD lcd_pos(0) ; /設(shè)置顯示位置為第一行的第1個(gè)字符 m = 0 ; while(cdis3m != 0) /顯示字符 lcd_wdat(cdis3m) ; m+ ; lcd_pos(0x40) ; /設(shè)置顯示位置為第二行第1個(gè)字符 m = 0 ; while
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)性化健身計(jì)劃會(huì)員服務(wù)合同
- 臨時(shí)借調(diào)人員合同范本
- 產(chǎn)品定做合同
- 個(gè)人成長(zhǎng)培訓(xùn)合同模板
- 個(gè)人信用貸款合同及保險(xiǎn)附加協(xié)議
- 個(gè)人消費(fèi)借款擔(dān)保合同標(biāo)準(zhǔn)版
- 一卡通充值與結(jié)算業(yè)務(wù)合同
- 中小企業(yè)貸款抵押擔(dān)保合同
- 個(gè)人家政服務(wù)合同標(biāo)準(zhǔn)版
- 產(chǎn)品全國(guó)總經(jīng)銷合同范本
- 小學(xué)語(yǔ)文閱讀教學(xué)落實(shí)學(xué)生核心素養(yǎng)方法的研究-結(jié)題報(bào)告
- 一年級(jí)的成長(zhǎng)歷程
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 正月十五元宵節(jié)介紹課件
- 病毒性肺炎疾病演示課件
- 中考英語(yǔ)語(yǔ)法填空專項(xiàng)練習(xí)附答案(已排版-可直接打印)
- 口腔醫(yī)學(xué)中的人工智能應(yīng)用培訓(xùn)課件
- 軟星酒店網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)
- 自然辯證法概論(新)課件
- 基層醫(yī)療機(jī)構(gòu)基本情況調(diào)查報(bào)告
- 六西格瑪(6Sigma)詳解及實(shí)際案例分析
評(píng)論
0/150
提交評(píng)論