欢迎来到天天文库
浏览记录
ID:30173808
大小:87.04 KB
页数:6页
时间:2018-12-27
《温湿度传感器sht10程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#include#includesbitDATA=P1^1;//定义通讯数据端口//#defineDATA_IOTRISC7//用于设置IO状态sbitSCK=P1^0;//定义通讯时钟端口#definenoACK0//继续传输数据,用于判断是否结束通讯#defineACK1//结束数据传输;//地址命令#defineMEASURE_TEMP0x03//00000011#defineMEASURE_HUMI0x05//00000101//voidinit_uart(void);//
2、初始化voids_connectionreset(void);voids_transstart(void);chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode);chars_write_byte(unsignedcharvalue);chars_read_byte(unsignedcharack);voidcalc_sth11(float*p_humidity,float*p_temperature);floatcalc_dewpoint(floath,
3、floatt);voiddelay(unsignedinttime);union{unsignedinti;floatf;}humi_val,temp_val;//定义两个共同体,一个用于湿度,一个用于温度/*******************************************************************************延时1MS带参数(int)子程序*******************************************************************************/
4、voiddelay(unsignedinttime){unsignedinta,b;for(a=0;a5、/{//TRISC7=0;//TRISC6=0;//}//----------------------------------------------------------------------------------voids_connectionreset(void)//----------------------------------------------------------------------------------//连接复位;//________________________________________________6、_____________//DATA:7、_______8、//_______________//SCK:__9、10、__11、12、__13、14、__15、16、__17、18、__19、20、__21、22、__23、24、__25、26、______27、28、___29、30、______{unsignedchari;DATA=1;SCK=0;//准备for(i=0;i<9;i++)//DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位{SCK=1;SCK=0;}s_transstart();//启动传输}//------------------------------------------------------31、----------------------------voids_transstart(void)//----------------------------------------------------------------------------------//启动传输//_____________//DATA:32、_______33、//______//SCK:___34、35、___36、37、______{DATA=1;SCK=0;_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_38、();SCK=1;_nop_();DATA=1;_nop_();SCK=0;}//------
5、/{//TRISC7=0;//TRISC6=0;//}//----------------------------------------------------------------------------------voids_connectionreset(void)//----------------------------------------------------------------------------------//连接复位;//________________________________________________
6、_____________//DATA:
7、_______
8、//_______________//SCK:__
9、
10、__
11、
12、__
13、
14、__
15、
16、__
17、
18、__
19、
20、__
21、
22、__
23、
24、__
25、
26、______
27、
28、___
29、
30、______{unsignedchari;DATA=1;SCK=0;//准备for(i=0;i<9;i++)//DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位{SCK=1;SCK=0;}s_transstart();//启动传输}//------------------------------------------------------
31、----------------------------voids_transstart(void)//----------------------------------------------------------------------------------//启动传输//_____________//DATA:
32、_______
33、//______//SCK:___
34、
35、___
36、
37、______{DATA=1;SCK=0;_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_
38、();SCK=1;_nop_();DATA=1;_nop_();SCK=0;}//------
此文档下载收益归作者所有