物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx

上传人:b****6 文档编号:16239496 上传时间:2022-11-21 格式:DOCX 页数:17 大小:1.62MB
下载 相关 举报
物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx_第1页
第1页 / 共17页
物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx_第2页
第2页 / 共17页
物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx_第3页
第3页 / 共17页
物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx_第4页
第4页 / 共17页
物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx

《物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx

图4.5.2干黄门磁/霍尔开关传感器硬件接口

图4.5.3ZIGBEE模块主板J5接口

系统配套的干黄门磁/霍尔开关传感器,与ZIGBEE模块的J5排线相连,这样我们可以知道,干黄门磁传感器模块的信号线与ZIGBEE模块的P0_0IO引脚相连,霍尔开关传感器与P0_1IO引脚相连。

因此我们需要在代码中将相应引脚配置成中断输入模式,来监测干黄门磁/霍尔开关传感器状态。

♦CC2431相关寄存器

表4.5.1P0DIR寄存器

表4.5.2P0INP寄存器

表4.5.3PICTL寄存器

表4.5.4P1寄存器

表4.5.5P1DIR寄存器

以上图表列出了关于CC2431处理器的P0和P1IO端口相关寄存器,其中P0DIR、P1DIR为IO方向寄存器,P0INP为P0端口输入配置寄存器,PICTL用来控制P0端口中断使能和中断触发模式寄存器。

表4.5.6IEN0寄存器

表4.5.7IEN1寄存器

表4.5.8P0IFG寄存器

以上为与P0端口中断控制和配置相关寄存器,其中IEN0为系统中断总开关控制寄存器,IEN1用来控制P0端口中断使能,P01FG寄存器用来监测P0端口中断状态的标志寄存器。

表4.5.9CLKCON寄存器

表4.5.10SLEEP寄存器

表4.5.11PERCFG寄存器

表4.5.12U0CSR寄存器

表4.5.13U0GCR寄存器

表4.5.14U0BUF和U0BAUD寄存器

以上图表列举了和CC2431处理器串口相关寄存器,用来初始化串口0配置的。

详情见软件代码部分。

3.2软件设计

源码分析:

#include<

ioCC2430.h>

string.h>

#defineuintunsignedint

#defineucharunsignedchar

//定义控制灯的端口

#defineLED1P1_0

#defineLED2P1_1

//函数声明

voidDelay(uint);

voidinitUARTtest(void);

voidUartTX_Send_String(char*Data,intlen);

unsignedintswitch_flag;

unsignedintswitch2_flag;

/****************************************************************

*函数功能:

延时

*入口参数:

定性延时

*返回值:

*说明:

****************************************************************/voidDelay(uintn)

{

uinti,t;

for(i=0;

i<

5;

i++)for(t=0;

t<

n;

t++);

}

初始化串口

57600-8-n-1

****************************************************************/voidinitUART(void)

CLKCON&

=~0x40;

//晶振while(!

(SLEEP&

0x40));

//等待晶振稳定

=~0x47;

//TICHSPD128分频,CLKSPD不分频

SLEEP|=0x04;

//关闭不用的RC振荡器

PERCFG=0x00;

//位置1P0口

P0SEL=0x3c;

//P0用作串口

P2DIR&

=~0XC0;

//P0优先作为串口0

U0CSR|=0x80;

//UART方式

U0GCR|=10;

//baud_e

U0BAUD|=216;

//波特率设为57600

UTX0IF=0;

串口发送字符串函数

*入口参数:

data:

数据

*len:

数据长度

****************************************************************/voidUartTX_Send_String(char*Data,intlen)

intj;

for(j=0;

j<

len;

j++)

U0DBUF=*Data++;

while(UTX0IF==0);

voidUartTX_Send_word(charword)

U0DBUF=word;

/*****************************************

//IOP0_0中断模式初始化

*****************************************/voidInit_IO(void)

P1DIR=0X03;

//设置LED

LED1=1;

LED2=1;

P0DIR&

=~(0X03<

<

0);

//P0_0输入模式P0INP&

=~0X03;

//P0_0开开上拉、下拉PICTL|=0X08;

//P0_0中断使能

//PICTL&

=~(0X01<

//P0上升沿触发

PICTL|=0X01;

//P0下降沿触发

IEN0|=0x80;

//全局允许中断IEN1|=0x20;

//P0端口中断允许

P0IFG&

=~(0x03<

//P0_0中断标志清0

};

主函数

****************************************************************/voidmain(void)

switch_flag=0;

switch2_flag=0;

initUART();

Init_IO();

//P1_0IO初始化

while

(1)

//麦克声感中断处理

if((1==switch_flag)&

&

(P0IFG==0)){switch_flag=0;

LED1=0;

//LED2=0;

UartTX_Send_String("

SWITCHWarning!

"

14);

UartTX_Send_word(0x0A);

UartTX_Send_word(0x0D);

Delay(10000);

//延时

//光感传感器中断处理

if((1==switch2_flag)&

(P0IFG==0)){switch2_flag=0;

//LED1=0;

LED2=0;

SWITCH2Warning!

/*********************************************************************

//中断服务程序(P0_0端口)

*********************************************************************/

#pragmavector=P0INT_VECTORinterruptvoidP0_ISR(void)

if(P0IFG&

0x01)//麦克声感中断

P0IFG=0;

switch_flag=1;

0x02)//光感中断

switch2_flag=1;

P0IF=0;

//清中断标志

程序通过配置CC2431处理器的IOP0_0、P0_1引脚为输入中断引脚,用来监测干黄门磁/霍尔开关传感器传感器的状态,如果干黄门磁关闭或霍尔开关开关监测到磁力信号则产生相应中断,则将分别点亮LED1和LED2,并向串口输出“SWITCHWarning!

”和“SWITCH2Warning!

”字符串。

4.实验步骤

♦使用USB仿真器连接PC机和ZIGBEE(CC2431)模块,将ZIGBEE调试板的电源拨到3.3V段,打开ZIEBEE模块开关供电。

将系统配套串口线一端连接PC机,一端连接ZIGBEE调试板的串口上。

将系统配套干黄门磁/霍尔开关传感器连接到ZIGBEE模块的主板上,连接J5线排端,且保证RJ1电阻跳线跳至5V供电端。

勿要连接错!

♦启动IAR开发环境,新建工程,将Exp5实验工程中代码拷贝到新建工程中。

♦在IAR开发环境中编译、运行、调试程序。

♦使用PC机自带的超级终端连接串口,将超级终端设置为串口波特率57600、8位、无奇偶奇校验、无硬件流模式,当干黄门磁开关检测到磁力,则点亮ZIGBEE模块的LED1灯、且串口输出“SWITCHWarning!

”。

当霍尔开关监测到磁力则点亮ZIGBEE模块的LED2灯、且串口输出“SWITCH2Warning!

”字符串。

♦备注:

所有传感器实验,在运行测试时候,请使用5V电源给ZIGBEE供电,否则传感器供电将不足。

即使用仿真器下载万程序后,将ZIGBEE调试板电源开关拨至5V供电,下载调试时候再改回3.3V供电。

♦备注说明:

干黄门磁和霍尔开关可以使用磁铁来测试状态。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1