sht10和PIC单片机程序.docVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 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)

almm118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档