基于MSP430的土壤温湿度及光照参数检测模块_第1页
基于MSP430的土壤温湿度及光照参数检测模块_第2页
基于MSP430的土壤温湿度及光照参数检测模块_第3页
基于MSP430的土壤温湿度及光照参数检测模块_第4页
基于MSP430的土壤温湿度及光照参数检测模块_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、各个模块与MSP430F5309连接图:作者:Edison.NO1116各个模块实物图:DHT11温湿度模块DHT11是数字的湿度传感器.6元一个买的.与它的通信方式类似于I2C总线通信.串行数据一次返回40位.数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。如果模块离芯片距离近,建议在数据线接一5k电阻上拉.时序图如下:第一次拉低要求至少18ms,之后拉高20-40us,之后DHT拉低80us后再拉

2、高80us.之后进入数据阶段.每个数据,0,1以高电平的 时间长短区分.0数据高电平时间为26-28us,1为70us.不论1或者0,之前都先输出50us的低电平.数据传输完成后拉高总线.TSL245光照模块MSP430程序代码:#include #include /P2.1dht11温湿度测量接口/P2.2-illu value read enabledtsl245片选、供电接口/P2.3-soilresi value read enabled土壤电阻率测量片选、供电接口/P2.4-soil frequent and illu frequent inputtsl245和土壤电阻率模块频率输入

3、口#define HIGH P2OUT|=BIT1;#define LOW P2OUT&=BIT1;long int count,freqvalue;int i,temp16,humd16,freqmeasureenabled;char temph,templ,humdh,humdl,check,cal;void DelayNus(int n)TA1CCR0 = n; /syb changedTA1CCTL0 |= MC_1; /增计数到CCR0while(!(TA1CTL & BIT0); /等待TA1CTL &= MC_1; /停止计数TA1CTL &= BIT0; /清除中断标志char

4、 receive(void) /接受函数char tem,cnt=0; /临时变量用于存储接受数据while(cnt8)while(!(P2IN&BIT1); /等待50us的低电平结束DelayNus(45);if(P2IN&BIT1) /长于30us定义为1tem+;tem=1;while(P2IN&BIT1); /结束高电平elsetem=1;if(cnt!=7)while(!(P2IN&BIT1); /最后一次给函数返回留下时间cnt+;return tem;int dht11read( void ) /dht11温湿度读取函数,读取数据成功返回值1,不成功返回0,读取的数据保存在te

5、mph,templ,humdh,humdl,humd16,temp16中P2DIR|=BIT1;P2OUT|=BIT1;/1M clock-UCSCTL0 = 0x0000; / Set lowest possible DCOx, MODxUCSCTL1 = DCORSEL_2; / Select DCO range 2MHz operationUCSCTL2 = FLLD_1 | 31; / Set DCO Multiplier for 1MHz / (N + 1) * FLLRef = Fdco / (31 + 1) * 32768 = 1MHz / Set FLL Div = fDCOC

6、LK/2/1M clock-TA1CCTL0 &= CCIE; / CCR0 interrupt enabled-? i am not sure it is rightTA1CTL = TASSEL_2 | TACLR; / SMCLK, contmode, clear TARLOW;DelayNus(18000);HIGH;DelayNus(30);P2DIR&=BIT1;while(P2IN&BIT1);while(!(P2IN&BIT1);while(P2IN&BIT1);/Data comeshumdh=receive();humdl=receive();temph=receive()

7、;templ=receive();check=receive();cal=humdh+humdl+temph+templ;if(check=cal)temp16=templ+temph*256;humd16=humdl+humdh*256;return 1;elsetemp16=0;humd16=0;return 0;/-frequent read start-long int frequentread(void)freqvalue=0;count=0;freqmeasureenabled=1;P2DIR&=BIT4;TA1CCTL0 = CCIE; / CCR0 interrupt enab

8、ledTA1CCR0 = 60000;/8M clock-UCSCTL0 = 0x0000; / Set lowest possible DCOx, MODxUCSCTL1 = DCORSEL_5; / Select DCO range 16MHz operationUCSCTL2 = FLLD_1 | 243; / Set DCO Multiplier for 8MHz / (N + 1) * FLLRef = Fdco / (243 + 1) * 32768 = 8MHz / Set FLL Div = fDCOCLK/2/8M clock-TA1CTL = TASSEL_2 | MC_2

9、 | TACLR | ID_3; / SMCLK, contmode, clear TAR, 8-divider(0.2s time)_bis_SR_register(GIE); / Enter LPM0, enable interruptswhile(freqmeasureenabled)if(i=(P2IN&BIT4)i=!i;count=count+1;/1M clock-UCSCTL0 = 0x0000; / Set lowest possible DCOx, MODxUCSCTL1 = DCORSEL_2; / Select DCO range 2MHz operationUCSCT

10、L2 = FLLD_1 | 31; / Set DCO Multiplier for 1MHz / (N + 1) * FLLRef = Fdco / (31 + 1) * 32768 = 1MHz / Set FLL Div = fDCOCLK/2/1M clock-return freqvalue;/freqvalue=0;/-frequent read end-/-illu and soilresi read start-int illuread()/光照强度读取函数,函数直接返回光照强度int ii;P2DIR|=BIT2;ii=frequentread()/333;P2DIR &=

11、BIT2;return ii;int soilresiread()/土壤电阻率读取函数,函数直接返回土壤电阻率值int ii;P2DIR|=BIT3;ii=0.5*(1/(0.7*0.00001*frequentread()-1); /频率换算成电阻值 单位KOhmP2DIR &= BIT3;return ii;/-illu and soilresi read end-main()/int testsoilresivalue,testilluvalue,testhumdvalue,testtempvalue;WDTCTL=WDTPW+WDTHOLD;for(i=0;i5;i+)if(dht11read()=1)/testhumdvalue=humd16;/空气湿度值/testtempvalue=temp16;/空气温度值break;/testilluvalue=illuread();/光照强度值/testsoilresivalue=soilresiread();/土壤电阻率值单位:千欧姆/ Timer1 inter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论