SHT11溫湿度传感器与1602应用的程序代码.doc

SHT11溫湿度传感器与1602应用的程序代码.doc

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
SHT11溫湿度传感器与1602应用的程序代码

#ifndef __TOU_H__ #define __TOU_H__ #includereg51.h #include intrins.h //#include math.h //Keil library #define uchar unsigned char enum {TEMP,HUMI}; #define uchar unsigned char #define uint unsigned int #define DELAY delay_ms(10) sbit DATA = P1^0; sbit SCK = P1^1; sbit RS = P2^0; sbit RW = P2^1; sbit E = P2^2; sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口 /******** DS1602函数声明 ********/ void LCD_Initial(); void GotoXY(unsigned char x, unsigned char y); void Print(unsigned char *str); void LCD_Write(bit style, unsigned char input); /***********************************************************************************************************************************************************/ //SHT10程序(SHT10.c): //#includetou.h #define noACK 0 //继续传输数据,用于判断是否结束通讯 #define ACK 1 //结束数据传输; //地址 命令 读/写 #define STATUS_REG_W 0x06 //000 011 0 #define STATUS_REG_R 0x07 //000 0111 1 #define MEASURE_TEMP 0x03 //000 0011 1 #define MEASURE_HUMI 0x05 //000 0101 1 #define RESET 0x1e //000 1111 0 //写字节程序 char s_write_byte(unsigned char value) { unsigned char i,error=0; for (i=0x80;i0;i=1) //高位为1,循环右移 { if (ivalue) DATA=1; //和要发送的数相与,结果为发送的位 else DATA=0; SCK=1; _nop_();_nop_();_nop_(); //延时3us SCK=0; } DATA=1; //释放数据线 SCK=1; error=DATA; //检查应答信号,确认通讯正常 _nop_();_nop_();_nop_(); SCK=0; DATA=1; return error; //error=1 通讯错误 } //读字节程序 char s_read_byte(unsigned char ack) //---------------------------------------------------------------------------------- { unsigned char i,val=0; DATA=1; //释放数据线 for(i=0x80;i0;i=1) //高位为1,循环右移 { SCK=1; if(DATA) val=(val|i); //读一位数据

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档