
红外声控报警系统电路及程序设计方案.doc
9页系统电路设计报警电路模块发光二极管模块 系统采用一个发光二极管来作为报警系统,如图4.1所示,当p1.4=1时,二极管获得一个高电平,又因二极管另一端接地,所以二极管被点亮 图 4.1 显示电路蜂鸣器模块 系统采用一个蜂鸣器来作为报警系统, 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路S52增强型单片机实验板通过一个三极管2N3906来放大驱动蜂鸣器.蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R7后由单片机的P1.3引脚控制,当P1.3输出高电平时,三极管Q1截止,没有电流流过线圈,蜂鸣器不发声;当P1.3输出低电平时,三极管Q1导通,这样蜂鸣器的电流形成回路,发出声音因此,我们可以通过程序控制P1.3脚的电平来使蜂鸣器发出声音和关闭 图4.1.2 蜂鸣器模块4.2红外报警模块本次采用PT334、IR333红外传感元件,来判断元件之间光线是否有断开的采集并转换成电平信号,直接输出数字量,可以直接和单片机进行通讯,然后单片机根据这个信号做出报警反应,如图4.3所示 图 4.2 红外模块4.2.1 红外模块功能的实现 电路见上图,电源为电路提供5V的电压。
UA741的正向输入端的led既是工作指示又有一定的稳压作用反向输入端有由红外接收管VD2和R2构成分压器红外接收管的反向暗阻,一般都在几十兆以上,而在有红外照射的情况下,电阻会降至200k至500k左右(由光照强度和管子的特性决定)在VD2受到VD1的红外光照时,电阻较小,R2上的分压大于2V,UA741输出低电平,当人走到VD1和VD2之间,挡住红外光线的时候,VD2电阻急剧上升,R2两端分压小于2V,UA741输出高电平4.3 声控模块本次采用声控元件驻极体话筒也叫咪咪头作为声控传感器,来实现对声音的采集和转换,直接输出数字量,可以直接把数据传给单片机,与单片机进行通讯,大大简化了电路的复杂度 图 4.34.4 键盘电路模块 本系统采用行列式矩阵键盘如图4.4所示键盘的列线一端经电阻接+5V电源,另一端接单片机的输入口,各行线接输出口,另一端悬空为判断有没有键被按下,可先经输出口向所有列线输出低电平,然后再经输入口输入各行线状态若各列线状态皆为低电平,则表明没有键按下;若各列线状态中有低电平出现,则表明有键按下 图 4.4在扫描键盘过程中应该注意一下问题:(1)当操作者按下或松开按键时,按键会产生机械抖动。
这种抖动经常发生在按下或松开的瞬间,一般持续几到十几毫秒,抖动时间随按键的结构不同而不同,在扫描键盘键盘过程中,必须想办法消除按键抖动,否则会引起错误 消除按键抖动可以用硬件电路来实现,例如,用R-S触发器来锁定按键的状态,以消除抖动的影响也可以利用现成的专用消抖电路,如MC14490就是六路消抖电路较为简单的方法是用软件延时方法来消除按键的抖动,也就是说一旦发现有键按下,就延时20ms以后再检测按键的状态这样就避开按键发生抖动的那一段时间,使CPU能可靠地读按键状态在编制键盘扫描程序时,只要发现按键状态有变化,即无论是按下还是松开,程序都应当延时20ms以后在进行其他操作2)在键盘扫描时,应防止按一次键而有多个对应键值输入的情况这种情况的发生是由于扫描速度和键处理速度较快,当某一个按下的键还未松开时,键扫描程序和键处理程序已经执行多遍这样由于程序执行和按键动作不同步而造成按一次键有多个键值输入的错误状态为避免发生这种情况,必须保证一次键,CPU只对该键作一次处理为此,在键扫描程序中不仅要检测是否有按键按下,在有按键按下的情况,做一次处理,而且在键处理完毕后,还应检测按下的键是否松开,只有当按下的键松开以后,程序才往下执行。
这样每按一个键,只作一个键处理,使两者达到同步,消除按一次按键有多次键值输入的错误情况开关编号对应的键值如表4.5所示开关编号键值开关编号键值S10X11S90X44S20X12S100X81S30X14S110X82S40X21S120X84S50X22S130X18S60X24S140X28S70X41S150X48S80X42S160X88 图 4.5系统软件设计5.1 主程序流程图总设计流程图如图5.1所示本系统软件设计采用循环查询来处理红外与声控模块,一旦触发就通过中断来处理信息,并给出警报开始初始化 键盘扫描子程序否扫描红外声控程序是红外或声控触发数据处理子程序发光二极管子程序蜂鸣器子程序是键盘扫描子程序延时程序5.2 各个子程序流程图5.2.1 红外线扫描子程序开始红外元件扫描否是红外元件触发发光二极管程序蜂鸣器程序5.2.2 声控扫描子程序开始声控元件扫描否是声控元件触发发光二极管程序蜂鸣器程序5.2.3键盘处理子程序流程图键盘扫描程序是否 开始(A)键A 子程序是否 暂停(B)键B子程序是设置(C)键否C子程序是 复位(D)键D 子程序否结束(E)键是E 子程序5.2.3.1 键盘程序 A子程序 开始否 扫描红外声控元件是 处理报警程序B 子程序 开始 暂停扫描红外声控C 子程序输入设置值启动中断 开始运行扫描红外声控D 子程序复位单片机重新启动 E 子程序停止程序运行。












