毕业设计(论文)-基于单片机的家庭防火防盗系统(6)

2019-04-23 20:31

信息工程学院 家用多功能报警器的设计

作为驱动使用,U2为位选驱动,U3为段码驱动,单片机的P0口接LED的段码驱动,单片机的P2口接LED的位选码驱动,该器件驱动电流可以达到100mA,而LED数码管全亮时,最大电流可以达到32mA,如果全部驱动输出会将数码管烧坏,所以在程序中使用PWM输出的控制,在消隐时,也就是禁止数码管的输出,之后加上一段时间的延时,要确保加入的时间与显示时间和不能超过20ms,同时74HC573具有锁存功能,在本设计中没有使用该功能。

5 软件部分设计

5.1 主程序

主程序完成对程序的初始化设置与按键程序的执行,初始化单片机的I/O口与定时器0的设置,I/O口的初始化主要有关闭蜂鸣器,关闭报警指示灯,检测口复位,然后进行定时器的设置,设置定时器0,选择模式1,然后将定时值设定为1ms,开定时器,之后进入按键扫描与按键执行程序,对按键的扫描在中断的空闲时将会一直执行,流程图如图5.1所示。

开 始 关闭显示 延时等待1s 定时器0设置 开定时器 按键扫描 按键动作

图5.1 主程序流程图

5.2 按键扫描程序

信息工程学院 家用多功能报警器的设计

按键扫描程序是按键判断的程序,判断按键是否按下,哪个按下,由于密码锁程序所需按键为8个,所以我们使用矩阵式键盘,4个I/O口即可完成对按键的扫描与判断,其中P1口的低四位作为行扫口,高四位作为列扫口,先将行清0,判断列值,如果有按键按下,延时50ms进行延时去除抖动,以防止有勿动产生,然后再次判断是否有按键按下,如果第二次判断成功,有按键按下,则将此时的列值储存,其中有一列值为0,然后将列值全置0,去扫描行,行中也同时又一行为0,记录这个值,然后将记录的行列值组合起来,在取反,则会得到按键处行列相交的两个I/O口都为0的键码值,返回这个键码值,以待处理,同时进行按键释放的等待程序,如果按键不释放,按键程序将不会继续进行判断,如果没有按键按下,返回值为0,流程图如图5.2所示。

信息工程学院 家用多功能报警器的设计

开 始 全行置0 N 有按键动作 Y 延时50ms N 再次判断 Y 储存列键值 全列置0 储存行键值 行列值组合 取 反 N 按键释放 Y 行列全置1 返回键值 行列全置1 返 回 图5.2 按键扫描流程图

5.3 按键执行程序

按键执行程序流程图如图5.3所示,此程序主要接收在按键扫描程序返回的键码值,并对键码值进行查询,查询出需要执行的按键对应程序,执行后判断是

信息工程学院 家用多功能报警器的设计

否有数字按键输入,如果有按键输出,在判断是否是在密码输入界面,如果两者俱全则进入屏幕的移动程序,后面的密码数字的输入推动前面的都向前移动一位,当输入满六个数字后在输入的密码将无效,8个按键的功能如下:

按键1:菜单切换按键,在主测量界面与设置温度界面来回切换。 按键2:在设置温度界面,为温度值加1。 按键3:在设置温度界面,为温度值加10。

按键4:屏蔽所有判断程序,即屏蔽对温度、红外、烟感的检测。 按键5:单独屏蔽红外检测。 按键6:开启红外检测。 按键7:单独屏蔽烟感检测。 按键8:开启烟感检测。

图5.3 按键执行程序流程图

5.4 中断服务子程序

信息工程学院 家用多功能报警器的设计

开 始 重装初始值 中断累计值加1 N 中断300次 Y 中断次数清0 半秒位取反 显示子程序 N 判断位为1 Y 判断程序 N 中断次数 Y 初始化 开始测温 初始化 转换数据 读取温度 温度值转换 返 回 图5.4 中断服务程序流程图

在本设计中,中断服务程序为定时器0中断服务程序,中断程序中完成对外部检测的判断、数码管显示的扫描、对时间的定时、温度值的提取,为程序中的重要部分,进入中断后,先重装初始值,然后将中断累加为加1,记录中断次数,


毕业设计(论文)-基于单片机的家庭防火防盗系统(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:飞机的空气动力学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: