新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 51单片机做的温湿度测量仪

51单片机做的温湿度测量仪

作者:时间:2016-11-29来源:网络收藏
本人去年用51单片机做的温湿度传感器模块,有实物,有程序,供大家分享。

该1602液晶的D0~D7数据口连接单片机的P17~P10口,所以程序里的指令和数据都是逆向输入的。
程序和电路图下载:http://www.51hei.com/f/温湿度传感器+1602原理图.rar

本文引用地址:http://www.eepw.com.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数据,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--); } //启动时序 void transstart() { SCK=1;_nop_(); DATA=0;_nop_(); SCK=0;_nop_();_nop_();_nop_(); SCK=1;_nop_(); DATA=1;_nop_(); SCK=0; } //写入命令子函数 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 下一页

评论


技术专区

关闭