SHT11温湿度传感器与1602应用代码及仿真

上传人:汽*** 文档编号:493649725 上传时间:2022-07-25 格式:DOC 页数:10 大小:76KB
返回 下载 相关 举报
SHT11温湿度传感器与1602应用代码及仿真_第1页
第1页 / 共10页
SHT11温湿度传感器与1602应用代码及仿真_第2页
第2页 / 共10页
SHT11温湿度传感器与1602应用代码及仿真_第3页
第3页 / 共10页
SHT11温湿度传感器与1602应用代码及仿真_第4页
第4页 / 共10页
SHT11温湿度传感器与1602应用代码及仿真_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《SHT11温湿度传感器与1602应用代码及仿真》由会员分享,可在线阅读,更多相关《SHT11温湿度传感器与1602应用代码及仿真(10页珍藏版)》请在金锄头文库上搜索。

1、word 仿真图形运行后结果#ifndef _TOU_H_#define _TOU_H_#include#include /#include /Keil library #define uchar unsigned charenum TEMP,HUMI;sbit DATA = P11;sbit SCK = P10;sbit RS = P20;sbit RW = P21;sbit E = P22;/* DS1602函数声明 */void LCD_Initial();void GotoXY(unsigned char x, unsigned char y);void Print(unsigned

2、char *str);void LCD_Write(bit style, unsigned char input);/* SHT10函数声明 */void s_connectionreset(void);char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);void calc_sth10(float *p_humidity ,float *p_temperature);/float calc_dewpoint(float h,float t);#endif/*/SHT10程序S

3、HT10.c:/#include#define noACK 0/继续传输数据,用于判断是否完毕通讯#define ACK 1 /完毕数据传输;/地址 命令 读/写#define STATUS_REG_W 0x06 /000 0011 0#define STATUS_REG_R 0x07 /000 0011 1#define MEASURE_TEMP 0x03 /000 0001 1#define MEASURE_HUMI 0x05 /000 0010 1#define RESET 0x1e /000 1111 0/写字节程序char s_write_byte(unsigned char val

4、ue) unsigned char i,error=0; for (i=0x80;i0;i=1) /高位为1,循环右移 if (i&value) 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

5、char ack)/- unsigned char i,val=0;DATA=1; /释放数据线for(i=0x80;i0;i=1) /高位为1,循环右移 SCK=1; if(DATA) val=(val|i); /读一位数据线的值 SCK=0; DATA=!ack; /如果是校验,读取完后完毕通讯;SCK=1; _nop_();_nop_();_nop_(); /延时3us SCK=0; _nop_();_nop_();_nop_(); DATA=1; /释放数据线return val;/启动传输void s_transstart(void)/ generates a transmissio

6、n start / _ _/ DATA: |_|/ _ _/ SCK : _| |_| |_ DATA=1; SCK=0; /准备_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0; _nop_();_nop_();_nop_();SCK=1;_nop_();DATA=1; _nop_();SCK=0; /连接复位void s_connectionreset(void)/ munication reset: DATA-line=1 and at least 9 SCK cycles followed by transstart/ _ _/ DATA: |_|/

7、 _ _ _ _ _ _ _ _ _ _ _/ SCK : _| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_ unsigned char i; DATA=1; SCK=0; /准备for(i=0;i=1 in case of no response form the sensor */温湿度测量char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)/ 进展温度或者湿度转换,由参数mode决定转换内容; /enum TEMP,HUMI; /已经在头文件中定义unsigned error=0;unsigned int i;s_transstart(); /启动传输switch(mode) /选择发送命令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号