微机课程设计小区楼道开门控制系统 精品Word下载.docx
- 文档编号:13449796
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:21
- 大小:326.74KB
微机课程设计小区楼道开门控制系统 精品Word下载.docx
《微机课程设计小区楼道开门控制系统 精品Word下载.docx》由会员分享,可在线阅读,更多相关《微机课程设计小区楼道开门控制系统 精品Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
1.4基本设计要求3
1.5扩展功能提示4
1.6设计环节及进程安排4
二、总体方案设计与方案论证
2.1总体方案设计5
2.2方案论证及选择5
三、总框图及总体软件设计说明
3.1总流程图7
3.2总体软件设计说明9
四、系统资源分配说明
4.1硬件资源分配10
4.2片内系统资源存储空间分配12
五、局部程序设计说明
5.1入口程序初始化13
5.2拆字及显示内容送显缓模块13
5.3显示更新子程序14
5.4消抖动子程序模块15
5.5有按键时发出按键声子程序模块16
5.6无按键后30秒自动返回到时钟状态模块16
5.7定时器T1中断服务模块17
5.8房间处理模块模块17
5.9密码处理子模块----------------------------------------------------19
5.10时钟修改子模块------------------------------------------------------20
5.11用户密码修改子模块--------------------------------------------------20
六、系统功能与操作说明
6.1系统功能描述及操作说明21
七、存在问题与程序改进说明
7.1按键处理问题22
7.2房号输入问题22
7.3修改密码问题22
7.3延时问题22
八、设计总结23
九、参考文献23
附录、源程序24
第一章设计任务
1.1设计课题:
小区楼道开门控制系统
1.2设计目的:
通过小型微机应用产品的设计与调试过程,运用微机原理及接口技术课程所学的基本知识,在设计中加以应用,进而得到理解、巩固和提高发展,通过实践的过程学习与掌握分析与解决实际问题的方法与手段,提高设计、编程与调试的实际动手能力,作为工程技术工作的一次基本训练。
1.3设计任务:
设计一个以单片机为核心的楼道开门装置,该装置平时显示时钟信息,也可加入按照一定的节拍交替显示环境温度数据功能,住户通过输入由物业管理员预先设置的密码开启楼道门,住户也可输入房号开启与相应住户之间的对讲门铃并可由住户发来开门信号。
装置可由管理员设置新的通行密码、时钟等参数。
本课程设计环节进行编程并在单片机实验板上模拟调试实现。
1.4基本设计要求:
1、八位LED7段数码管显示时钟、密码输入界面、房号输入面以及设定修改参数界面信息。
2、基本显示模式为按照24小时制动态显示时、分、秒实时钟信息。
3、4×
4键盘用于操作及输入参数,应回馈短促的按键音以提供良好的操作手感。
4、住户输入6位密码过程为了保密而逐位仅显示“-”符号,按“确定”键后在住户输入正好6位密码的情况下进行密码核对,密码吻合则输出开门驱动控制信号,5秒钟后撤销,输入位数不符或密码不吻合则发出相应提示音。
5、住户输入3位房号(101~601、102~602)过程逐位如实显示数码,按“确定”键后在房号符合的情况下发出开启与相应住户之间的对讲门铃的控制信号,该信号维持1秒钟后撤销,此后住户若发来开门信号,则输出开门驱动控制信号,5秒钟后撤销,输入的房号不符则发出相应提示音。
6、设置一个外接的“开门”按钮开关,安装于门内用于人员出来时开门操作,检测到该按钮压下后,发出开门驱动控制信号,5秒钟后撤销。
对开关量输入信号须进行软件消抖动处理。
7、输入管理员密码(6位)经判断吻合的话,进入设定时钟、住户开门密码参数界面,先设定时钟参数,按“确定”键后保存新时钟数据转入设定住户开门密码参数,期间按“取消”键则不保存且退出设定界面,设定参数的过程可用闪烁方式指示当前修改位。
8、非基本显示模式下无操作时间超过30秒钟后自动恢复为基本的显示时钟状态。
1.5功能扩展提示:
(选做)
1、开机进行接口部件及数码显示器、指示灯、讯响器等自检。
2、在基本显示模式下,每隔一定的时间,穿插显示环境温度信息,包括温度值(保留一位小数)与温度单位符号“oC”,设选用的温度传感变送器将检测的0oC~+100oC温度成比例变换为0~5V电压信号。
3、判别错误密码输入三次则封锁密码开门功能五分钟,以限制无止境地探测密码,此后管理员可通过断电后重新上电解除封锁的限制。
4、管理员密码修改功能,应判断输入两遍的新密码一致的情况下才替换密码。
5、其他功能扩展。
1.6设计环节及进程安排:
1、布置课题,明确任务、总体方案设计1天
2、基本功能控制程序设计及调试3天
3、程序功能完善、改进、扩展3天
4、答辩及编写设计说明书3天
第二章总体方案设计与方案论证
2.1总体方案设计
根据设计要求,把各个功能按模块式进行编写,注意模块之间的联系。
总体有以下几个模块:
有定时器0中断服务子程序、程序的总初值化(自检包括蜂鸣器,L0-L15和数码管)、主流程程序。
主流程对各个基本子模块进行反复循环调用,其中基本子模块包括:
拆字及显示内容送显缓子程序、键盘扫描子程序、调用房间处理子程序(包含对应驱动L0-15灯子程序)、调用密码处理子程序(对应驱动开门并延时灯子程序)、调用时钟修改子程序、调用用户密码修改子程序(包含修改住户开门密码界面子程序)、对PB口输入并消抖子程序、独立按键PB0-7的检测且对应控制门控位子程序、非基本时钟显示界面无操作30S返回子程序、显示更新子程序、按键声处理子程序。
每个模块联系密切,相辅相成。
2.2方案论证
2.2.1LED数码管显示方式:
LED数码管为常用的输出外设,基本运行模式时,2路电压值通过它来巡回的显示;
节拍设定模式的显示;
扩展电压显示模式时,2路电压同时的显示;
扩展时间显示模式时,实时钟的显示。
实验板上的LED数码管为是8段共阳极的。
(1)、LED静态显示方式
LED显示器工作于静态显示方式时,各位的共阳极连接在一起并接+5V,每位的段码线分别与一个8位的锁存器输出相连。
静态显示方式虽然接口编程容易,但是占用口线较多,如果要增加显示器的位数,则需要增加I/O口的数目,而该设计中需要用到8个LED数码管,单片机的I/O口又是有限的,所以静态显示方式不能采用。
(2)、LED动态显示方式
将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阳极由相应的I/O线控制,形成各位的分时选通,即为LED动态显示方式。
采用这种方式虽然牺牲了单片机的时间,但是换取了I/O端口的减少。
2.2.2数码管自检方案的选择:
方案一:
通过逐一检查一个数码管的每段是否正常,逐个数码管进行检查,达到自检目的。
这种方法效果很好观察,是一种不错的选择,但不好实现。
方案二:
让八段数码管都亮“8.”这种方案程序较为简单,显示效果也比较好。
只要在总初始化上给30H~37H赋全亮的立即数(0CH),再调用显示更新子程序,大约保留显示2s左右,即可判断数码管是否正常,与第一种相比较容易实现。
2.2.3消抖动方案选择:
消抖动的方案包含有硬件方法(电容滤波法、RS触发器消抖电路),消除抖动的软件方法(表决法、滚动滤波法、调用软件延时子程序)。
延时消抖动。
通过在按键执行动作后,加入一个延时子程序,延时结束后再检测一下按键的动作,以此来达到消抖动的目的。
即检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
在键数较少时可用硬件方法消抖动。
常利用电容的放电延时,采用并联电容法。
滚动滤波消抖动。
比较几个连续的电平值,相等则将其存起来与原态相比,假如该状态与原态不等就认为按键有动作。
在本次程序设计中采用了这种消抖动。
用几个连续的单元存放最近几次的电平值,比较几个电平值,若相等则存起来与原态相比较,若新态与原态不等则认为一次电平变化。
该子程序简单,速度快,所以选择该方案。
2.2.4延时时间的选择:
由于主程序要不断地循环,在每个子模块中不允许调用软件延时子程序。
在这边有两种方法可实现延时;
第一,就是累计主程序循环时间(一个周期大概10ms),然后借助DJNZ指令,对某个单元的内容进行减1不为0,返回继续计时,只有将这个单元的内容减到等于0时,才执行下面的内容,这样就起到了延时的效果。
第二,就是借助定时器中断服务子程序。
第三章、总框图及总体软件设计说明
3.1总流程图
3.2总体软件设计说明
总初始化:
主要由自检包括蜂鸣器,L0-L15LED灯,还有八位LED7段数码管。
还有U3,U5芯片的初始化,和一些要用到的单元进行初始化。
拆字及显示内容送显缓子程序:
对要进行显示的内容进行拆字,当为基本进程(01H)让实时钟3AH、3BH、3CH单元进行拆字,为其他进程时,不进行拆字,直接把需显示的内容直接送给数码管显示缓存单元。
键盘扫描子程序:
利用反转法得键码再进行查表得出对应的键号,还有按下数字键做出相应事情,按下功能键置某位以便识别。
按键声处理子程序:
当检测到有按键按下时,会发出短促的声音。
定时器T0中断服务子程序:
此字程序是对时间进行计时,以致能时钟显示
调用房间处理子程序:
当输入数据为三位以内的时候,需要将数据按移位的顺序将数字存入数据缓存单元,并完全在数码管上显示数据,等到输入数据为三位时,要进行跟房号(101-601,102-602)对比,正确时要开启对讲信号灯,此时也有可能是密码输入的前三位。
调用密码处理子程序:
当输入数据位大于三位时,即为输入密码状态,在此过程中,要对不同的进程下,对功能键(确定,撤销,退格)和数字键进行识别,并作出不同的处理动作。
只有在输入为六位时,才进行先用户密码后管理员密码的比对,符合用户密码,作出开启开门信号控制灯,为管理员密码时,为时钟修改做准备。
显示更新子程序:
三种显示状态:
正常显示时钟,闪烁显示某位其它照常显示,对输入的数字进行显示。
有显示一位数字,一直到能显示六位数字,其中前三位可以直接看见,后三位看不见真正的数字,只显示“-”符号(直接将要显示的内容先存储在数据缓存单元,在送到数码管显示缓冲单元)。
调用时钟修改子程序:
当密码比对为管理员密码时,先进入时钟修改界面进行时钟修改,而后进行用户密码修改。
对PB口输入并消抖子程序:
对PB口的输入进行滚动消抖,就是按下按钮后,只有检测到五次地电平数据都相等时,才把这次电平存入新态2EH中,2EH单元的内容推进前态2FH单元中。
独立按键PB0-7的检测且对应控制门控位子程序:
设置为PB为按下时为有效,且当相应的房号输入正确后,按下相应的PB按键时开启开门控制灯。
非基本时钟显示界面无操作30S返回子程序:
无按键操作时,无论数码管显示什么,不为时钟显示时,只要延时30s后,自动会返回时钟显示。
报警子程序:
由于该子程序较小,故直接放在以上需要报警的子程序里面。
第四章、系统资源分配说明
4.1硬件资源分配
本次课程设计小区楼道开门控制系统的硬件电路主要由键盘输入模块,数码管显示控制模块,LED灯显示模块,蜂鸣器模块组成。
根据实验电路板来设计各个模块的资源分配,使用一片AT89C51芯片作为主驱动的芯片,并使用8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机课程设计小区楼道开门控制系统 精品 微机 课程设计 小区 楼道 开门 控制系统