DHT11傳感器STC12單片機程序_第1頁
DHT11傳感器STC12單片機程序_第2頁
DHT11傳感器STC12單片機程序_第3頁
DHT11傳感器STC12單片機程序_第4頁
DHT11傳感器STC12單片機程序_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、DHT11傳感器STC12單片機程序#in clude#in clude#in cludesbit DHT = P0A0;/管腳定義,DHT11 總線輸入輸出;uchar data_byte;uchar Tem_Z,Tem_X,Hum_Z,Hum_X,Check;void LCD_Display();/聲明LCD_Display液晶顯示函數(shù);void Rec_DHT();聲明Rec_DHT,DHT11接收數(shù)據(jù)函數(shù);void receive。;主函數(shù)void mai n()lcd_in it();while(1)Rec_DHT();LCD_Display();delayms(1000);延時函數(shù)

2、,/延時msvoid delays()/12.000MHz uchar i, j, k;i = 1;j = 234;k = 113;dodowhile (-k); while (-j); while (-i);延時iusvoid delay10us()uchar i;for(i=0;i6;i+)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/*主機發(fā)出開始信號*/void DHT11_Start()DHT=1;delay10us();DHT=0;delays();保持電平時間大于18ms,延時20msDHT=1;

3、delay10us();/延遲等待 20-40us,延時20usdelay10us();delay10us();delay10us();DHT=1;/拉高等待DHT11響應(yīng)/DHT11接收一個字節(jié)數(shù)據(jù)uchar receive_data()uchar i,temp,co unt;data_byte=O;for(i=0;i8;i+)coun t=2;while(!DHT)&cou nt+);/ 等待50us低電平結(jié)束delay10us();/ 等待40us咼電平,后判斷電平咼低低:DHT為0delay10us();delay10us();delay10us();temp=0;if(DHT=1)/

4、DHT為高:1,位為1coun t=2;while(DHT)&cou nt+);待DHT高電平結(jié)束if(co un t=1)break;為低:0,位為0data_byte35)write(注意防署);else if(Tem_Z70)write(注意除濕);else if(Hum_Z0;i-)片機晶振頻率為12MHZ ;for(j=120;j0;j-);單片機12倍速度運行 /12864寫命令void write_com(uchar com) uchar i;/11111000寫指令 0uchar i_data; i_data=0xf8;cs=1;sclk=0;for(i=0;i8;i+)sid

5、=(bit)(i_data&0x80); sclk=0;sclk=1;i_data=i_data1;i_data=com; i_data&=OxfO; for(i=0;i8;i+)sid=(bit)(i_data&0x80); sclk=O;sclk=1;i_data=i_data1; i_data=com; i_data=i_data4; for(i=0;i8;i+)sid=(bit)(i_data&0x80); sclk=0;sclk=1;i_data=i_data1;cs=0;delayms(10);/12864寫數(shù)據(jù)void write_data(uchar date)uchar i;

6、uchar i_data;i_data=Oxfa;/ 寫數(shù)據(jù)cs=1;for(i=0;i8;i+)sid=(bit)(i_data&0x80); sclk=0;sclk=1; i_data=i_data1;i_data=date;i_data&=0xf0;for(i=0;i8;i+)sid=(bit)(i_data&0x80); sclk=0;sclk=1;i_data=i_data1;i_data=date;i_data=i_data4;for(i=0;i8;i+)sid=(bit)(i_data&0x80);sclk=O;sclk=1;i_data=i_data1;cs=0;delayms

7、(IO);lcd12864初始化void lcd_i nit()psb=0;液晶屏為串行數(shù)據(jù)傳輸模式rst=0;復位delayms(2);rst=1;delayms(2);write_com(0x30);II基本指令,擴充指令為34Hdelayms(4); write_com(0x02); delayms(4); write_com(OxOc); delayms(4); write_com(0x01); delayms(4);II清除 ddramII顯示開,關(guān)光標II清屏設(shè)定顯示位置,x、y為12864軸坐標,x:1-4 ; y:1-16;void lcd_pos(uchar x,uchar y)uchar pos;if(x=1)x=0x80;IIx 為第幾行1-4;else if(x=2)x=0x90;else if(x=3)x=0x88;else if(x=4)x=0x98;pos=x+y-1; write_com(pos);指定位置顯示任意文字、字符void write(uchar * str)uchar i =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論