物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx
- 文档编号:16239496
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:17
- 大小:1.62MB
物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx
《物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《物联网传感器原理与应用课程实验指导书实训3Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
图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供电。
♦备注说明:
干黄门磁和霍尔开关可以使用磁铁来测试状态。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联网 传感器 原理 应用 课程 实验 指导书