- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
sht10和PIC单片机程序
#include pic.h#include math.h #define?DATA?? ?RC7 //定义通讯数据端口#define DATA_IO TRISC7 //用于设置IO状态#define?SCK?? ?RC6 //定义通讯时钟端口 #define noACK 0?????? //继续传输数据,用于判断是否结束通讯#define ACK?? 1?????? //结束数据传输; ??????????????????????????? //地址? 命令#define MEASURE_TEMP 0x03?? //000?? 00011#define MEASURE_HUMI 0x05?? //000?? 00101 void init_uart(void);void s_connectionreset(void);void s_transstart(void);char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);char s_write_byte(unsigned char value);char s_read_byte(unsigned char ack);void calc_sth11(float *p_humidity ,float *p_temperature);float calc_dewpoint(float h,float t);void delay (unsigned int time); ?union{ unsigned int i;? float f;}humi_val,temp_val; //定义两个共同体,一个用于湿度,一个用于温度 /*******************************************************************************延时 1MS 带参数(int)子程序*******************************************************************************/void delay (unsigned int time){?unsigned int a,b;?for(a=0;atime;a++){??for(b=0;b88;b++);?}} //----------------------------------------------------------------------------------void init_uart(void)//----------------------------------------------------------------------------------// 端口初始化{?TRISC7=0;?TRISC6=0;} //----------------------------------------------------------------------------------void s_connectionreset(void)//----------------------------------------------------------------------------------// 连接复位;//?????? _____________________________________________________???????? ________// DATA:????????????????????????????????????????????????????? |_______|//????????? _??? _??? _??? _??? _??? _??? _??? _??? _??????? ___???? ___// SCK : __| |__| |__| |__| |__| |__| |__| |__| |__| |______|?? |___|?? |______{? ? unsigned char i; ? DATA=1; SCK=0;??????????????????? //准备? for(i=0;i9;i++)????????????????? //DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位? { SCK=1;??? SCK=0;? }? s_transstart();?????????????????? //启动传输} //-------
文档评论(0)