版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、zigbee模块裸板开发之温湿度传感器DHT11-华丽的分界线-DHT11.C :#include #define uint unsigned int#define U8 unsigned char#define DATA_PIN P1_3 /温湿度定义U8 U8FLAG,U8temp;U8 ShiDu_H,ShiDu_L;/定义湿度存放变量U8 WenDu,ShiDu;/定义温度存放变量U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_dat
2、a_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;/* 延时函数*/void Delay_us() /1 us延时 asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); void Delay_10us() /10 us延时 Delay_us(); Delay_us(); Delay_us(); Delay_us(); Delay_us(); Delay_us(); Delay_us(); Delay_us()
3、; Delay_us(); Delay_us(); void Delay_ms(uint Time)/n ms延时 unsigned char i; while(Time-) for(i=0;i100;i+) Delay_10us(); /* 温湿度传感*/void COM(void) / 温湿写入 U8 i; for(i=0;i8;i+) U8FLAG=2; DATA_PIN=0; DATA_PIN=1; while(!DATA_PIN)&U8FLAG+); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(DATA_PIN)U8t
4、emp=1; U8FLAG=2; while(DATA_PIN)&U8FLAG+); if(U8FLAG=1)break; U8comdata=1; U8comdata|=U8temp; /- /-湿度读取子程序 - /- /-以下变量均为全局变量- /-温度高8位= U8T_data_H- /-温度低8位= U8T_data_L- /-湿度高8位= U8RH_data_H- /-湿度低8位= U8RH_data_L- /-校验 8位 = U8checkdata- /-调用相关子程序如下- /- Delay();, Delay_10us();COM(); /- void DHT11(void)
5、 /温湿传感启动 DATA_PIN=0; Delay_ms(19); /主机拉低18ms DATA_PIN=1; /总线由上拉电阻拉高 主机延时40us P1DIR &= (13); /重新配置IO口方向 Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!DATA_PIN) U8FLAG=2; /判断从机是否发出 80us 的低电平响应信号是否结束 while(!DATA_PIN)&U8FLAG+); U8FLAG=2;/判断从机是否发出 80us 的高电平,如
6、发出则进入数据接收状态 while(DATA_PIN)&U8FLAG+); COM();/数据接收状态 U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; DATA_PIN=1; /数据校验 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_da
7、ta_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; WenDu=U8T_data_H; ShiDu=U8RH_data_H; else WenDu=0; ShiDu=0; P1DIR |= (13); -华丽的分界线-DHT11.H:#ifndef _DHT11_H_#defin
8、e _DHT11_H_extern unsigned char WenDu,ShiDu; extern void Delay_ms(unsigned int xms); /延时函数extern void DHT11(void); /温湿传感启动#endif-华丽的分界线-main.c:#include #include UART.H #include DHT11.H /* 主函数*/void main(void) unsigned char WenDuChars2; unsigned char ShiDuChars2; Delay_ms(1000);/让设备稳定 InitUart(); /串口
9、初始化 while(1) DHT11(); /获取温湿度 if(WenDu!=0) WenDuChars0=WenDu/10+0; WenDuChars1=WenDu%10+0; Uart_Send_String(采集到的温度是:,16); Uart_Send_String(WenDuChars,2); else Uart_Send_String(Its Wrong,10); if(ShiDu!=0) ShiDuChars0=ShiDu/10+0; ShiDuChars1=ShiDu%10+0; Uart_Send_String(采集到的湿度是:,16); Uart_Send_String(S
10、hiDuChars,2); Uart_Send_String(n,1); else Uart_Send_String(Its Wrong,10); Uart_Send_String(n,1); Delay_ms(1000); /延时,使周期性2S读取1次 佳杰科技 -华丽的分界线-UART.C:#include #define uchar unsigned char#define uint unsigned intvoid InitUart(); /初始化串口void Uart_Send_String(unsigned char *Data,int len);/* 串口初始化函数 */void
11、 InitUart() CLKCONCMD &= 0 x40; / 设置系统时钟源为 32MHZ晶振 while(CLKCONSTA & 0 x40); / 等待晶振稳定 CLKCONCMD &= 0 x47; / 设置系统主时钟频率为 32MHZ PERCFG = 0 x00; /位置1 P0口 P0SEL = 0 x3c; /P0_2,P0_3,P0_4,P0_5用作串口,第二功能 P2DIR &= 0XC0; /P0 优先作为UART0 ,优先级 U0CSR |= 0 x80; /UART 方式 U0GCR |= 11; /U0GCR与U0BAUD配合 佳杰科技 U0BAUD |= 216; / 波特率设为115200 UTX0IF = 0; /UART0 TX 中断标志初始置位0 /* 串口发送字符串函数 */ void Uart_Send_String(uchar *Data,int len) int j; for(j=0;jlen;j+) U0DBUF = *Data+;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版四年级下册《品德与社会》教案
- 苏教版数学三年级下册第二单元《千米和吨》教案
- 心脏瓣膜病治疗新进展
- 《翻译概论》课程教学大纲
- 2024年制剂辅料项目资金需求报告
- 2024年真空泵项目资金需求报告
- 2020年部编人教版六年级下册数学全册教案
- 2024年圆柱型锌空气电池项目资金需求报告
- 2024年硬面堆、药芯焊线项目资金需求报告
- 2023年中国交响乐团应届毕业生招聘考试真题及答案
- 污染场地土壤修复 投标方案(技术方案)
- 2024年河南省智慧交通行业分析报告
- 贵州省遵义市2022-2023学年八年级下学期语文期中试卷(含答案)
- 2024年电商相关公司行业营销方案
- 档案整理及数字化服务方案(技术标 )
- 2023新清单计价规范(word打印版)
- 24《认识人民币(例7)》教学设计
- 粘液纤毛清除系统.ppt
- 机械加工企业工艺流程图.doc
- 国内外信贷差异.docx
- GB_T 32066-2015 煤基费托合成 液体蜡
评论
0/150
提交评论