《msp430dht11程序.docx》由会员分享,可在线阅读,更多相关《msp430dht11程序.docx(2页珍藏版)》请在三一文库上搜索。
1、#ifhdef_DHT!CTYPE#define_DHT!CTYPEinclude <msp430g2553.h>#define CPU(1000000)define delay_us(x)(_delay_cycles(double)x*CPU/1000000.0)define delay_ms(x)(delay_cycles(double)x*CPU/1000.0)#define HIGH P2OUT|= BIT1;#define LOW P2OUT BIT1;unsigned char RH.TH;unsigned char temphjempLhumdhJiumdLcheck
2、.cal;char leceive(void)接受函数(unsigned char num=0,tem,cnt;临时变量用于存储接受数据fbi(cnt=O ;cnt<8;cnt-H-) (tem=0;wlule(?(P2IN&BITl);/等待 14us 的低电平结束delay_us(30);if(P2IN&Bm)/长于 30us 定义为 1( tem=l; wlule(P2IN&BITl);等待一位的采集结束 num«=l; num|=tem; return num; void receive_iiiit() (P2DIR|=BIT1;LOW;dela
3、y_ms(20);HIGH;/20-40delay_us(30);P2DIR BIT1;if(! (P2IN&BIT1);从机发出响应信号(while(! (P2IN&BIT1);等待响应响应结束 while(P2IN&Brri);/开始采集humdh=receive();humdl=receiveQ;temph=receiveQ;templ=receive();check=receive(); /void niain( void)void readRH_TH(void) / 读数据ieceive_init();cal=humdh+humdl+temph+templ; if(cal=check)(RH=humdh:TH=temph;#endif