


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電路原理圖程序K1=P20; sbit K2=P21; sbit K3=P22; sbit K4=P23; extern int th=20; extern int tl=-10; sbit beep=P10;void main()LcdInit();LcdWriteCom(0xc7);LcdWriteData('C');while(1)if(K1=0)Delay1ms(500);if(K1=0);th+;if(K2=0)Delay1ms(500);if(K2=0);th-;if(K3=0)Delay1ms(500);if(K3=0);tl+;if(K4=0)Delay1ms(
2、500);if(K4=0);tl-;LcdDisplay(Ds18b20ReadTemp();void LcdDisplay(int temp)int i,tt,rr,mm;unsigned char datas = 0, 0, 0, 0,datas1 = 0, 0, 0,datas2 = 0, 0, 0;float tp;if(temp< 0)LcdWriteCom(0xc0);LcdWriteData('-');i=1;temp=temp-1; temp=temp; tp=temp; temp=tp*0.0625*10+0.5; mm=-temp;elseLcdWri
3、teCom(0xc0);LcdWriteData('+');tp=temp;temp=tp*0.0625*10+0.5; mm=temp;datas0 = temp / 1000; datas1 = temp % 1000 / 100; datas2 = temp % 100 / 10; datas3 = temp% 10;if(th < 0)LcdWriteCom(0x89);LcdWriteData('-'); tt=-th; else LcdWriteCom(0x89);LcdWriteData('+');tt=th;datas10
4、= tt / 100; datas11 = tt% 100 / 10; datas12 = tt % 10; LcdWriteCom(0x87); LcdWriteData('H'); LcdWriteCom(0x88); LcdWriteData(':'); LcdWriteCom(0x8a); LcdWriteData('0'+datas10); LcdWriteCom(0x8b);LcdWriteData('0'+datas11); LcdWriteCom(0x8c);LcdWriteData('0'+dat
5、as12);if(tl < 0)LcdWriteCom(0x90); LcdWriteData('-');rr=-tl; else LcdWriteCom(0x90);LcdWriteData('+');rr=tl;datas20 = rr / 100; datas21 = rr% 100 / 10; datas22 = rr % 10; LcdWriteCom(0x8e); LcdWriteData('L'); LcdWriteCom(0x8f); LcdWriteData(':'); LcdWriteCom(0x91);
6、 LcdWriteData('0'+datas20); LcdWriteCom(0x92);LcdWriteData('0'+datas21);LcdWriteCom(0x93);LcdWriteData('0'+datas22);if(mm>=(th*10)|mm<=(tl*10)|th<=tl) beep=0;elsebeep=1;LcdWriteCom(0x80);LcdWriteData('T');LcdWriteCom(0x81);LcdWriteData('A');LcdWriteCo
7、m(0x82);LcdWriteData('I');LcdWriteData(' ');LcdWriteCom(0x84);LcdWriteData('A');LcdWriteCom(0x85);LcdWriteData('N');LcdWriteCom(0xc1);LcdWriteData('0'+datas0);LcdWriteCom(0xc2);LcdWriteData('0'+datas1);LcdWriteCom(0xc3); LcdWriteData('0'+datas2
8、);LcdWriteCom(0xc4); LcdWriteData('.');LcdWriteCom(0xc5); LcdWriteData('0'+datas3);LcdWriteCom(0xc6); LcdWriteData('"');#ifndef _LCD_H_#define _LCD_H_ /* 當(dāng)使用的是 4 位數(shù)據(jù)傳輸?shù)臅r(shí)候定義, 使用 8 位取消這個(gè)定義*/ #define LCD1602_4PINS/*包含頭文件#include<reg51.h>/- 重定義關(guān)鍵詞 -/#ifndef uchar#defin
9、e uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif/*PIN 口定義*/ #define LCD1602_DATAPINS P0 sbit LCD1602_E=P27;sbit LCD1602_RW=P25;sbit LCD1602_RS=P26;/*函數(shù)聲明 /*在 51 單片機(jī) 12MHZ 時(shí)鐘下的延時(shí)函數(shù) */ void Lcd1602_Delay1ms(uint c); / 誤差 0us /*LCD1602 寫入 8 位命令子函數(shù) */ void LcdWriteCom(uchar com);/*
10、LCD1602 寫入 8 位數(shù)據(jù)子函數(shù) */ void LcdWriteData(uchar dat) ;/*LCD1602 初始化子程序 */void LcdInit();#endif#ifndef _TEMP_H_#define _TEMP_H_#include<reg51.h>sbit DSPORT=P37;void Delay1ms(unsigned int ); unsigned char Ds18b20Init();void Ds18b20WriteByte(unsigned char com); unsigned char Ds18b20ReadByte();void
11、 Ds18b20ChangTemp();void Ds18b20ReadTempCom();int Ds18b20ReadTemp();#endif#include"lcd.h"void Lcd1602_Delay1ms(uint c)/ 延時(shí)uchar a,b;for (; c>0; c-)for (b=19;b>0;b-)for(a=1;a>0;a-);#ifndef LCD1602_4PINS /LCD1602_4PINS 時(shí)void LcdWriteCom(uchar com)當(dāng)沒(méi)有定義這個(gè)/寫入一個(gè)字節(jié)命令LCD1602_E = 0;LCD160
12、2_RS = 0;LCD1602_RW = 0;LCD1602_DATAPINS = com;Lcd1602_Delay1ms(1);LCD1602_E = 1;Lcd1602_Delay1ms(5);LCD1602_E = 0;#elsevoid LcdWriteCom(uchar com)LCD1602_E = 0;LCD1602_RS = 0;LCD1602_RW = 0;P0LCD1602_DATAPINS = com; /由于 4 位的接線是接到 口的高四位,所以傳送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E = 1;Lcd1602_Delay1ms(5)
13、;LCD1602_E = 0;LCD1602_DATAPINS = com << 4; / 發(fā)送低四位Lcd1602_Delay1ms(1);LCD1602_E = 1;Lcd1602_Delay1ms(5);LCD1602_E = 0;#endif#ifndef LCD1602_4PINSvoid LcdWriteData(uchar dat) /寫入一個(gè)字節(jié)數(shù)據(jù) LCD1602_E = 0;LCD1602_RS = 1;LCD1602_RW = 0;LCD1602_DATAPINS = dat;Lcd1602_Delay1ms(1);LCD1602_E = 1;Lcd1602_
14、Delay1ms(5);LCD1602_E = 0;#elsevoid LcdWriteData(uchar dat)LCD1602_E = 0;LCD1602_RS = 1;LCD1602_RW = 0;P0LCD1602_DATAPINS = dat;/由于 4 位的接線是接到口的高四位,所以傳送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E = 1;/寫入時(shí)序Lcd1602_Delay1ms(5);LCD1602_E = 0;LCD1602_DATAPINS = dat << 4; / 寫入低四位Lcd1602_Delay1ms(1);LCD1602_
15、E = 1;/寫入時(shí)序Lcd1602_Delay1ms(5);LCD1602_E = 0;#endif#ifndef LCD1602_4PINSvoid LcdInit() /LCD 初始化子程序 LcdWriteCom(0x38);LcdWriteCom(0x0c);LcdWriteCom(0x06);LcdWriteCom(0x01);LcdWriteCom(0x80);#elsevoid LcdInit()LcdWriteCom(0x32);LcdWriteCom(0x28);LcdWriteCom(0x0c);LcdWriteCom(0x06);LcdWriteCom(0x01);Lc
16、dWriteCom(0x80);#endif#include"temp.h"void Delay1ms(unsigned int y) / 延時(shí) unsigned int x;for(y;y>0;y-)for(x=110;x>0;x-);unsigned char Ds18b20Init() / 初始化 unsigned int i;DSPORT=0;i=70;while(i-);DSPORT=1;i=0;while(DSPORT) i+;if(i>5000)return 0;/ 失敗return 1;/ 成功void Ds18b20WriteByte(u
17、nsigned char dat) / 寫字節(jié) unsigned int i,j;for(j=0;j<8;j+)DSPORT=0; / 每寫入一位數(shù)據(jù)之前先把總線拉 低 1us (數(shù)據(jù)手冊(cè)上模糊)i+;DSPORT=dat&0x01;i=6;while(i-);DSPORT=1;dat>>=1;unsigned char Ds18b20ReadByte() unsigned char byte,bi;unsigned int i,j;for(j=8;j>0;j-)DSPORT=0;i+;DSPORT=1;i+;i+;bi=DSPORT;byte=(byte>>1)|(bi<<7);i=4;while(i-);return byte;void Ds18b20ChangTemp() / 溫度轉(zhuǎn)換Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0xcc);Ds18b20WriteByte(0x44);/讀取溫度命令void Ds18b20Re
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應(yīng)商采購(gòu)合同協(xié)議
- 現(xiàn)代農(nóng)業(yè)種植技術(shù)操作手冊(cè)
- 建材供應(yīng)居間協(xié)議合同
- 互聯(lián)網(wǎng)企業(yè)員工培訓(xùn)服務(wù)合同
- 總工程師聘用合同
- 短期個(gè)人借款合同范本與短期臨時(shí)工合同7篇
- 2023年高考全國(guó)乙卷數(shù)學(xué)(文)真題(原卷版)
- XX學(xué)校民主生活會(huì)個(gè)人剖析材料模板2
- 裝修提升工程合同范本
- 原水供水協(xié)議合同范本
- 犬的訓(xùn)練課件
- 五年級(jí)英語(yǔ)下冊(cè)素材-Unit1 Cinderella課文翻譯 譯林版(三起)
- 2022年南京信息職業(yè)技術(shù)學(xué)院職業(yè)適應(yīng)性測(cè)試模擬試題及答案解析
- 英語(yǔ)演講素材OfMiceandMen課件
- 歐洲鼻竇炎共識(shí)解讀 EPOS 2020
- 第5章 海洋資源開發(fā)與管理
- 工業(yè)氣體企業(yè)公司組織架構(gòu)圖職能部門及工作職責(zé)
- 稅收基礎(chǔ)知識(shí)考試題庫(kù)
- 1t燃?xì)庹羝仩t用戶需求(URS)(共13頁(yè))
- 廣發(fā)證券分支機(jī)構(gòu)人員招聘登記表
- 機(jī)電一體化系統(tǒng)設(shè)計(jì)課件姜培剛[1]
評(píng)論
0/150
提交評(píng)論