DHT11測(cè)溫濕度程序lcd1602顯示_第1頁(yè)
DHT11測(cè)溫濕度程序lcd1602顯示_第2頁(yè)
DHT11測(cè)溫濕度程序lcd1602顯示_第3頁(yè)
DHT11測(cè)溫濕度程序lcd1602顯示_第4頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DHT11測(cè)溫濕度程序lcd1602 顯示#include<reg52.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned int #define DataP0 / 數(shù)據(jù)端口sbit RS=P24;sbit RW=P25;sbit E=P26;sbit DHT=P10;uchar FirstLine ="wen:00.00" /第一行數(shù)據(jù)uchar SecondLine="shi:00.00" /第二行數(shù)據(jù)unsigned char shiZ

2、,shiX,wenZ,wenX,check;unsigned char tr_shiZ,tr_shiX,tr_wenZ,tr_wenX;unsigned char flag;unsigned int n=20,m;void delay_1ms(unsigned int i) unsigned int j=88;for(;i>0;i-)while(j>0)j-;void delay_10us()unsigned char i;i-;i-;i-;i-;i-;i-;/*/*溫濕度讀取函數(shù) */*/char read_data()unsigned char i,num,temp;num=0

3、;for(i=0;i<8;i+)flag=2;while(!DHT)&&flag+);delay_10us();delay_10us();delay_10us();if(DHT=1)temp=1;flag=2;while(DHT&&flag+);elsetemp=0;num<<=1;num|=temp;return(num);void delay(uchar ms) /延時(shí)函數(shù)uchar i,j;for(i=ms;i>0;i-) for(j=100;j>0;j-); ms毫秒void DelayUs(unsigned char us

4、) /-延時(shí)函數(shù)unsigned char uscnt;uscnt=us>>1; /*12MHz頻率 */while(-uscnt); void DelayMs(unsigned char ms)while(-ms)DelayUs(250);DelayUs(250);DelayUs(250);DelayUs(250);void lcd_write_com(uchar c) /寫命令 DelayMs(5);/操作前短暫延時(shí),保證信號(hào)穩(wěn)定E=0;RS=0;RW=0;_nop_();E=1;Data=c;E=0;void lcd_write_dat(uchar c) /寫數(shù)據(jù) Delay

5、Ms(5); /操作前短暫延時(shí),保證信號(hào)穩(wěn)定E=0;RS=1;RW=0;_nop_();E=1;Data=c;E=0;RS=0;void lcd_init() /LCD初始化DelayMs(15);lcd_write_com(0x38); /display modelcd_write_com(0x38); /display modelcd_write_com(0x38); /display modelcd_write_com(0x06); /顯示光標(biāo)移動(dòng)位置lcd_write_com(0x0c); /顯示開及光標(biāo)設(shè)置lcd_write_com(0x01); /顯示清屏void ShowChar

6、(uchar pos,uchar c) /顯示單個(gè)字符unsigned char p;if (pos>=0x10)p=pos+0xb0; /是第二行則命令代碼高4 位為0xcelsep=pos+0x80; /是第二行則命令代碼高4 位為0x8lcd_write_com(p);/寫命令lcd_write_dat(c); /寫數(shù)據(jù)void ShowString (uchar line,char *ptr) /unsigned char l,*p;顯示字符串p=ptr;l=line<<4;while(*p)!='0')ShowChar(l+,*(p);p+;void

7、 disp(void) /主函數(shù)調(diào)用的顯示函數(shù)ShowString(0,FirstLine);ShowString(1,SecondLine); /*/*初始化及采集程序 */*/void read_init()DHT=0; / 主機(jī)使 DHT11低電平并延時(shí)至少18msdelay_1ms(21);DHT=1; / 主機(jī)置 DHT11高電平 2040us, 并等待從機(jī)相應(yīng)delay_10us();delay_10us();delay_10us();delay_10us();DHT=1;if(!DHT) /從機(jī)發(fā)出相應(yīng)信號(hào)flag=2;while(!DHT)&&flag+);fl

8、ag=2;while(DHT&&flag+); /開始采集數(shù)據(jù)tr_shiZ=read_data();/采集濕度整數(shù)部分tr_shiX=read_data();/采集濕度小數(shù)部分tr_wenZ=read_data();/采集溫度整數(shù)部分tr_wenX=read_data();/采集溫度小數(shù)部分check=read_data(); /采集校驗(yàn)位DHT=1;void main()unsigned char temp;lcd_init();delay(50);while(1)disp();read_init();temp=tr_shiZ+tr_shiX+tr_wenZ+tr_wenX;if(check=temp)shiZ=tr_shiZ;shiX=tr_shiX;wenZ=tr_wenZ;wenX=tr_wenX;FirstLine4='0'+wenZ/10;FirstLine5='0'+wenZ%10;FirstLine8='0'+wenX/10;FirstLine9='0'+w

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論