欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    实训四温湿度传感器实验.doc

    • 资源ID:4251607       资源大小:628.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实训四温湿度传感器实验.doc

    实训 温湿度传感器实验1. 实验环境¨ 硬件:ZIGBEE(CC2431)模块,ZIGBEE下载调试板,配套温湿度传感器,USB仿真器,PC机¨ 软件:IAR Embedded Workbench for MCS-512. 实验内容¨ 阅读UP-CUP IOT-6410系统ZIGBEE模块硬件部分文档,熟悉ZIGBEE模块相关硬件接口。¨ 阅读SHTX0温湿度传感器芯片文档,熟悉该传感器的使用及时序操作。¨ 使用IAR开发环境设计程序,利用CC2431的IO中断来监测温湿度传感器的状态。3. 实验原理3.1 硬件接口原理¨ ZIGBEE(CC2431)模块LED硬件接口图4.6.1 LED硬件接口ZIGBEE(CC2431)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2431的P1_0、P、1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。¨ 温湿度传感器模块硬件接口图4.6.2 温湿度传感器硬件接口图4.6.3 ZIGBEE模块主板J5接口系统配套的温湿度传感器,与ZIGBEE模块的J5排线相连,这样我们可以知道,温湿度传感器模块的时钟线与ZIGBEE模块的P0_0 IO引脚相连,温湿度传感器的数据线与P0_1 IO引脚相连。因此我们需要在代码中将相应引脚进行输入输出控制模拟该传感器时序,来监测温湿度传感器状态。¨ CC2431 相关寄存器表4.6.1 P0DIR寄存器表4.6.2 P0INP寄存器表4.6.3 P2INP寄存器表4.6.4 P1寄存器表4.6.5 P1DIR寄存器以上图表列出了关于CC2431处理器的P0和P1 IO端口相关寄存器,其中P0DIR、P1DIR为IO方向寄存器,P0INP为P0端口输入配置寄存器,P2INP用来控制P0端口的上拉下拉电阻设置寄存器。表4.6.6 CLKCON寄存器表4.6.7 SLEEP寄存器表4.6.8 PERCFG寄存器表4.6.9 U0CSR寄存器表4.6.10 U0GCR寄存器表4.6.11 U0BUF和U0BAUD寄存器以上图表列举了和CC2431处理器串口相关寄存器,用来初始化串口0配置的。详情见软件代码部分。3.2 软件设计关键源码分析:设置CC2430 IO 状态,模拟温湿度传感器时序,其中将数据线上拉电阻功能打开:#define Sensor_DATA_IN() doP0DIR &= (0X02<<0);P0INP &= 0X02;P2INP &= (0x01<<5);while(0); #define Sensor_CLK_IN() doP0DIR &= (0X01<<0);while(0); #define Sensor_DATA_OUT() doP0DIR |= (0X02<<0);P0INP &= 0X02;P2INP &= (0x01<<5);while(0);#define Sensor_CLK_OUT() doP0DIR |= (0X01<<0);while(0);#define set_DATA_1() (P0_1 = 1)#define set_DATA_0() (P0_1 = 0)#define set_CLK_1() (P0_0 = 1)#define set_CLK_0() (P0_0 = 0)#define IS_DATA_1() ( P0_1 )#define IS_CLK_1() ( P0_0 )温湿度采集模拟时序代码参见工程代码sht11.c文件,其中大部分采用官方提供DEMO代码完成,稍加时序控制即可使用。函数定于如下:void uDelay(uint n);void _nop_(void);void s_connectionreset(void);char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);void calc_sth11(float *p_humidity ,float *p_temperature);float calc_dewpoint(float h,float t);char s_read_byte(unsigned char ack);char s_write_byte(unsigned char value);主函数如下:/*函数功能 :主函数*入口参数 :无*返 回 值 :无*说 明 :无*/void main(void) value humi_val,temp_val; unsigned char error=0,checksum; char temp_buf10; char humi_buf10; float dew_point; / 初始化串口 波特率57600initUART(); Init_IO();/ P1、P0 IO初始化 Delay(200); Sensor_DATA_OUT(); set_DATA_0(); Sensor_CLK_OUT(); set_CLK_0(); s_connectionreset(); / 复位温湿度传感器 Delay(20); / 循环采集温湿度状态并通过串口发送数据 while(1) error=0; LED2 =1; error+=s_measure(unsigned char*) &humi_val.i,&checksum,HUMI); /measure humidity Delay(50000); error+=s_measure(unsigned char*) &temp_val.i,&checksum,TEMP); /measure temperature Delay(50000); if(error!=0) s_connectionreset();UartTX_Send_String("error",5);LED1 = 0;Delay(50000);LED1 = 1; else LED2 = 0; humi_val.f=(float)humi_val.i; temp_val.f=(float)temp_val.i; / 进行温湿度原始数据参照校准 calc_sth11(&humi_val.f,&temp_val.f); /calculate humidity, temperature dew_point=calc_dewpoint(humi_val.f,temp_val.f); /calculate dew point Delay(50000); / 格式化数据输出 sprintf(humi_buf, (char *)"%f", (float)humi_val.f); sprintf(temp_buf, (char *)"%f", (float)temp_val.f); UartTX_Send_String("temp:",5); UartTX_Send_String(temp_buf,sizeof(temp_buf); UartTX_Send_String("humi:",5); UartTX_Send_String(humi_buf,sizeof(humi_buf); UartTX_Send_word(0x0A); UartTX_Send_word(0x0D); /Delay(50000); 程序通过配置CC2431 处理器的IO P0_0、P0_1引脚来模拟温湿度传感器时序,进而取得传感器的状态,如果顺利采集到温湿度状态,则LED2闪烁且在串口输出相应的温湿度数据。4. 实验步骤¨ 使用USB仿真器连接PC机和ZIGBEE(CC2431)模块,将ZIGBEE调试板的电源拨到3.3V段,打开ZIEBEE模块开关供电。将系统配套串口线一端连接PC机,一端连接ZIGBEE调试板的串口上。将系统配套温湿度传感器连接到ZIGBEE模块的主板上,连接J5线排端,且保证RJ1电阻跳线跳至3.3V供电端。勿要连接错!。¨ 启动IAR开发环境,新建工程,将Exp6实验工程中代码拷贝到新建工程中。¨ 在IAR开发环境中编译、运行、调试程序。¨ 使用PC机自带的超级终端连接串口,将超级终端设置为串口波特率57600、8位、无奇偶奇校验、无硬件流模式。运行程序观察串口数据输出。¨ 备注:所有传感器实验,在运行测试时候,请使用5V电源给ZIGBEE供电,否则传感器供电将不足。即使用仿真器下载万程序后,将ZIGBEE调试板电源开关拨至5V供电,下载调试时候再改回3.3V供电。

    注意事项

    本文(实训四温湿度传感器实验.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开