湖 北 汽 车 工 业 学 院 毕 业 论 文
图5.3检测电路输出信号波形图
5.3 单片机控制电路
主要有外接电源,时钟电路,报警信号输入,报警信号输出等。各个电路都已经设计好了,剩下的就是选单片机引脚以及编程调试了。
主控制模块由按键与上电复位电路、晶振电路组成。其连接如图5.4所示,主机控制模块负责处理传感器信号、声光报警,SPI接收发射模块的数据包。单片机采用内部振荡方式,电容C1和C2都是20PF,晶振采用12M的,复位方式可以使按键电平手动考虑带检测电路输出的是数字脉冲信号,所以选择中断端IRQ的触发方式选择为下降沿触发,单片机就可以正确的检测到检测电路输入的信号。选择P0口作为报警信号的输出端主要因为P0口是通过I/O双向静态接口,具有输出锁存功能,这样可以比较方便的通过软件来实现报警的控制。
27
湖 北 汽 车 工 业 学 院 毕 业 论 文
图5.4单片机控制整体电路
5.4 声光报警电路
①光报警系统
LED显示控制硬件接口电路如图5.5所示,当单片机P07引脚为高电平时,LED熄灭;当该引脚为低电平时,LED亮。
图5.5光报警电路
28
湖 北 汽 车 工 业 学 院 毕 业 论 文
②声报警系统
设计电路如图5.6所示:本设计利用现有的单片机试验箱上蜂鸣器模块作为发生元件,在其两端施加直流电压就可以发声。
图5.6声报警电路(PNP型三极管)
蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机I/O引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。飞思卡尔单片机实验板通过一个三极管来放大电流驱动蜂鸣器。
如上图所示,蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R3后由单片机的P06引脚控制,当P06输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P06输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P06脚的电平来使蜂鸣器发出声音和关闭。
程序中改变单片机P06引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P06输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。
29
湖 北 汽 车 工 业 学 院 毕 业 论 文
6 软件设计
系统软件设计采用模块化设计,由主程序、初始化程序、中断检测、遥控发射和接收程序及报警控制等模块子程序组成。
6.1 主程序
主程序流程图如图6.1所示。先进行硬件的初始化,红外遥感模块为接收状态,初始化后,电源处于低功耗节能状态,当系统检测到振动信号后,启动声光报警。
图6.1主程序流程图
6.2 初始化程序
初始化程序如图6.2所示首先初始化串口,包括选择串口工作方式和波特率的设定。初始化单片机的I/O电平。
30
湖 北 汽 车 工 业 学 院 毕 业 论 文
图6.2初始化程序流程图
6.3中断检测程序与定时器程序
外部中断IRQ服务程序与定时器TIM1程序如图6.3所示。外部中断IRQ服务程序,主要检测振动传感器的电平信号,进入中断服务程序后要关闭总中断和外部IRQ中断, 若检测到低电平,则启动定时器TIM1,TIM1的工作方式为16位计数,定时1秒,定时1秒主要用于LED灯在1秒间隔内闪烁和蜂鸣器的报警。
31