《C语言学习与应用》教学课件14-入侵监控系统设计_第1页
《C语言学习与应用》教学课件14-入侵监控系统设计_第2页
《C语言学习与应用》教学课件14-入侵监控系统设计_第3页
《C语言学习与应用》教学课件14-入侵监控系统设计_第4页
《C语言学习与应用》教学课件14-入侵监控系统设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

实训目标掌握CC2530的时钟原理及应用;掌握CC2530的定时器原理及应用;掌握CC2530的串口原理及应用;掌握入侵监控系统程序的编写方法;掌握分析一个项目的C语言源程序的顺序。项目分析

1.任务说明用基于CC2530芯片ZigBee模块实现入侵监测小系统,当人体红外传感器监测到有人时,在串口助手上显示“有人”,反之显示“无人”。(1)设置系统时钟32MHz。(2)ZigBee模块上连接的人体传感器周期性地将人体传感数据通过串口发送出去,格式为:“有人”或“无人”,串口波特率为38400。2.任务方案本项目的硬件结构比较简单,由ZigBee模块、人体传感器模块和PC组成。入侵监控系统结构如图8所示。项目分析图8入侵监控系统结构图CC2530简介01CC2530单片机是一款完全兼容8051内核,同时支持IEEE802.15.4协议的无线射频单片机。(1)强大的5通道DMA。(2)IEEE802.5.4MAC定时器,通用定时器(一个16位定时器,一个8位定时器)。(3)IR发生电路。(4)具有捕获功能的32-kHz睡眠定时器。(5)硬件支持CSMA/CA。(6)支持精确的数字化RSSI/LQI。(7)电池监视器和温度传感器。(8)具有8路输入和可配置分辨率的12位ADC。(9)AES安全协处理器。(10)2个支持多种串行通信协议的强大USART。(11)21个通用I/O引脚(19×4mA,2×20mA)。(12)看门狗定时器。通用I/O02

CC2530有21个数字输入/输出引脚,可以配置为通用数字I/O或外设I/O信号,配置为连接到ADC、定时器或USART外设。这些I/O口的用途可以通过一系列寄存器配置,由用户软件加以实现。I/O端口具备如下重要特性。(1)21个数字I/O引脚。(2)可以配置为通用I/O或外部设备I/O。(3)输入口具备上拉或下拉能力。(4)具有外部中断能力。系统时钟03CC2530的CLKCONSTA寄存器是一个只读寄存器,用于获得当前时钟状态。设备的C语言学习与应用292振荡器可以选择高精度的晶体振荡器,也可以选择低功耗的高频RC振荡器,应根据实际情况进行选择。当设备运行RF收发器时,因为要求精度高,所以必须使用32MHz晶体振荡器。(1)振荡器。①设备有两个高频振荡器:a.32MHz晶振。b.16MHzRC振荡器。②设备有两个低频振荡器:a.32kHz晶振。b.32kHzRC振荡器。系统时钟03(2)系统时钟。系统时钟是从所选的主系统时钟源获得的,主系统时钟源可以是32MHzXOSC或16MHzRCOSC。CLKCONCMD.OSC位选择主系统时钟的源。注意要使用RF收发器,必须选择高速且稳定的32MHz晶振。注意改变CLKCONCMD.OSC位不会立即改变系统时钟。时钟源的改变首先在CLKCONSTA.OSC=CLKCONCMD.OSC时生效。这是因为在实际改变时钟源之前需要有稳定的时钟。还要注意CLKCONCMD.CLKSPD位反映系统时钟的频率,因此是CLKCONCMD.OSC位的映像。选择了32MHzXOSC且稳定之后,即当CLKCONSTA.OSC位从1变为0时,16MHzRC振荡器就被校准。异步串行通信(UART)04UART模式提供异步串行接口。在UART模式中,接口使用2线或者含有引脚RXD、TXD、可选RTS和CTS的4线。UART模式的操作具有下列特点。·8位或9位负载数据;·奇校验、偶校验或无奇偶校验;·配置起始位和停止位电平;·配置LSB或MSB首先传送;·独立收发中断;·独立收发DMA触发;·奇偶校验和帧校验出错状态。人体传感器简介05人体接近传感器又称无触点接近传感器,是理想的电子开关量传感器。具有穿透墙壁和非金属门窗的功能;能探测人体距离的远近,而且远近可以调节,可调节半径为半米左右;探测区域范围广,因为探测区域呈双扇形;对环境温度范围具有较高的适应性,且灵敏度高;实现了非接触性探测;能够适应恶劣环境,如高温、潮湿、噪音、气流、灰尘、光线等;对射频具有很强的抗干扰能力,如图9所示。图9人体接近传感器1人体传感器简介05人体接近传感器还可以用在安全防盗领域,如资料档案、金融、财会、博物馆、金库等重要地方,同时,在测量技术和控制技术中也得到了广泛使用,如长度和位置的测量,位移、速度、加速度的测量和控制等。在机床、冶金、化工、轻纺、印刷等行业的应用时,当金属监测体通过检测区时,开关就会无接触、无火花、无压力迅速发出电气指令,准确地反映出这些物体的具体的位置和行程,如图10所示。图10人体接近传感器2项目实例源码及代码解析

1.项目实例源码#include<ioCC2530.h>#defineLED1P1_0#defineLED2P1_1#defineIN0P0_2voidinit_gpio(){P1SEL&=~0x03;P1DIR|=0x03;P0SEL&=~0x04;P0DIR&=~0x04;IN0=0;}项目实例源码及代码解析voidinit_sysclk(){CLKCONCMD&=0X80;while(CLKCONSTA&0X40);}voidinit_uart(){PERCFG=0X00;P0SEL|=0X3C;P2DIR&=~0xC0;U0CSR=0X80;U0GCR=10;U0BAUD=59;UTX0IF=0;}项目实例源码及代码解析voiduart_tx_string(char*data_tx,intlen){unsignedintj;for(j=0;j<len;j++){U0DBUF=*data_tx++;while(UTX0IF==0);UTX0IF=0;}}项目实例源码及代码解析voidDelay(unsignedinti){unsignedj,k;for(k=0;k<i;k++){for(j=0;j<500;j++);}}项目实例源码及代码解析voidmain(void){init_gpio();init_sysclk();init_uart();while(1){if(IN0==0){uart_tx_string("有人!",sizeof("有人!"));LED1=1;LED2=0;项目实例源码及代码解析Delay(1000);}else{uart_tx_string("无人!",sizeof("无人!"));LED1=0;LED2=1;Delay(1000);}}}微课创建IAR工程项目实例源码及代码解析

2.代码解析

(1)通用I/O口初始化。voidinit_gpio(){P1SEL&=~0x03;//通用IOP1DIR|=0x03;//输出P0SEL&=~0x04;//通用IOP0DIR&=~0x04;//输入IN0=0;}项目实例源码及代码解析

(2)系统时钟配置。voidinit_sys_clk(){CLKCONCMD&=0X80;//设置系统时钟为32MHzwhile(CLKCONSTA&0X40);//等待晶振稳定}项目实例源码及代码解析

(3)异步串行通信(UART)初始化。voidinit_uart(){PERCFG=0X00;//选择USART0的I/O口位置P0SEL|=0X3C;//将对应P0_2、P0_3、P0_4、PO_5配置成外设功能P2DIR&=~0xC0;//P0优先作为UART模式U0CSR=0X80;//uart模式U0GCR=10;U0BAUD=59;//设置波特率为38400UTX0IF=0;//uart0tx中断标志位清零}项目实例源码

温馨提示

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

评论

0/150

提交评论