新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)做的溫濕度測(cè)量?jī)x

51單片機(jī)做的溫濕度測(cè)量?jī)x

作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
本人去年用51單片機(jī)做的溫濕度傳感器模塊,有實(shí)物,有程序,供大家分享。

該1602液晶的D0~D7數(shù)據(jù)口連接單片機(jī)的P17~P10口,所以程序里的指令和數(shù)據(jù)都是逆向輸入的。
程序和電路圖下載:http://www.51hei.com/f/溫濕度傳感器+1602原理圖.rar

本文引用地址:http://butianyuan.cn/article/201611/323404.htm
#include #include #include #define uchar unsigned char #define uint unsigned int #define noACK 0 #define ACK 1#define STATUS_REG_W 0x06#define STATUS_REG_R 0x07#define MEASURE_TEMP 0x03 #define MEASURE_HUMI 0x05 #define RESET 0x1esbit SCK =P1^0;sbit DATA=P1^1;sbit led1=P1^7; sbit  rs=P2^3; //H數(shù)據(jù),L命令sbit  en=P2^5; //高脈沖使能,使能脈寬最小150nssbit  rw=P2^4;uchar code table_temp[]=" TEMP: ";uchar code table_humi[]=" HUMI: ";uchar code table_c[]=" C  ";uchar code table_p[]=" %  ";uchar error=0; void delayms(uint z) { uint i,j; for(i=z;i>0;i--) for( j=110;j>0;j--); } //啟動(dòng)時(shí)序 void transstart() { SCK=1;_nop_(); DATA=0;_nop_(); SCK=0;_nop_();_nop_();_nop_(); SCK=1;_nop_(); DATA=1;_nop_(); SCK=0; } //寫入命令子函數(shù) uchar write_byte(uchar value) { uchar i; for(i=0x80;i>0;i=i/2) { if(i&value) DATA=1; else DATA=0; SCK=1; _nop_();_nop_();_nop_(); SCK=0; } DATA=1; SCK=1; error=DATA; SCK=0; return error; } 				   
				
            
                
			
							
上一頁 1 2 3 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉