欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    微机课程设计小区楼道开门控制系统方案.docx

    • 资源ID:976092       资源大小:330.52KB        全文页数:25页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机课程设计小区楼道开门控制系统方案.docx

    将立工功考核FujianUniversityofTechnology微机应用设计与实践课程设计设计题目小区楼道开门控制系统系另U专业班级学生学号指导教师2012年07月05日一、设计任务1.1 设计课题31.2 设计目的31.3 设计任务3L4基本设计要求31.5 扩展功能提示41.6 设计环节与进程安排4二、总体方案设计与方案论证1 .1总体方案设计52 .2方案论证与选择5三、总框图与总体软件设计说明3 .1总流程图74 .2总体软件设计说明9四、系统资源分配说明5 .1硬件资源分配104.2片系统资源存储空间分配12五、局部程序设计说明5. 1入口程序初始化135.2拆字与显示容送显缓模块135. 3显示更新子程序145. 4消抖动子程序模块155. 5有按键时发出按键声子程序模块165. 6无按键后30秒自动返回到时钟状态模块165. 7定时器Tl中断服务模块176 .8房间处理模块模块错误!未定义书签。5.9密码处理子模块195.10时钟修改子模块205.11用户密码修改子模块20六、系统功能与操作说明6.1系统功能描述与操作说明21七、存在问题与程序改进说明7.1按键处理问题227.2房号输入问题227.3修改密码问题227.3延时问题22八、设计总结23九、参考文献23附录、源程序24第一章设计任务1.l设计课题:小区楼道开门控制系统1.2设计目的:通过小型微机应用产品的设计与调试过程,运用微机原理与接口技术课程所学的基本知识,在设计中加以应用,进而得到理解、巩固和提高发展,通过实践的过程学习与掌握分析与解决实际问题的方法与手段,提高设计、编程与调试的实际动手能力,作为工程技术工作的一次基本训练。1.3设计任务:设计一个以单片机为核心的楼道开门装置,该装置平时显示时钟信息,也可加入按照一定的节拍交替显示环境温度数据功能,住户通过输入由物业管理员预先设置的密码开启楼道门,住户也可输入房号开启与相应住户之间的对讲门铃并可由住户发来开门信号。装置可由管理员设置新的通行密码、时钟等参数。本课程设计环节进行编程并在单片机实验板上模拟调试实现。1.4基本设计要求:1、八位LED7段数码管显示时钟、密码输入界面、房号输入面以与设定修改参数界面信息。2、基本显示模式为按照24小时制动态显示时、分、秒实时钟信息。3、4X4键盘用于操作与输入参数,应回馈短促的按键音以提供良好的操作手感。4、住户输入6位密码过程为了而逐位仅显示”符号,按“确定”键后在住户输入正好6位密码的情况下进行密码核对,密码吻合则输出开门驱动控制信号,5秒钟后撤销,输入位数不符或密码不吻合则发出相应提示音。5、住户输入3位房号(IOI601、102602)过程逐位如实显示数码,按“确定”键后在房号符合的情况下发出开启与相应住户之间的对讲门铃的控制信号,该信号维持1秒钟后撤销,此后住户若发来开门信号,则输出开门驱动控制信号,5秒钟后撤销,输入的房号不符则发出相应提示音。6、设置一个外接的“开门”按钮开关,安装于门用于人员出来时开门操作,检测到该按钮压下后,发出开门驱动控制信号,5秒钟后撤销。对开关量输入信号须进行软件消抖动处理。7、输入管理员密码(6位)经判断吻合的话,进入设定时钟、住户开门密码参数界面,先设定时钟参数,按“确定”键后保存新时钟数据转入设定住户开门密码参数,期间按“取消”键则不保存且退出设定界面,设定参数的过程可用闪烁方式指示当前修改位。8、非基本显示模式下无操作时间超过30秒钟后自动恢复为基本的显示时钟状态。1.5功能扩展提示:(选做)1、开机进行接口部件与数码显示器、指示灯、讯响器等自检。2、在基本显示模式下,每隔一定的时间,穿插显示环境温度信息,包括温度值(保留一位小数)与温度单位符号“oC”,设选用的温度传感变送器将检测的0oC+100OC温度成比例变换为05V电压信号。3、判别错误密码输入三次则封锁密码开门功能五分钟,以限制无止境地探测密码,此后管理员可通过断电后重新上电解除封锁的限制。4、管理员密码修改功能,应判断输入两遍的新密码一致的情况下才替换密码。5、其他功能扩展。1.6设计环节与进程安排:1、布置课题,明确任务、总体方案设计1天2、基本功能控制程序设计与调试3天3、程序功能完善、改进、扩展3天4、答辩与编写设计说明书3天第二章总体方案设计与方案论证2.1总体方案设计根据设计要求,把各个功能按模块式进行编写,注意模块之间的联系。总体有以下几个模块:有定时器O中断服务子程序、程序的总初值化(自检包括蜂鸣器,L0-L15和数码管)、主流程程序。主流程对各个基本子模块进行反复循环调用,其中基本子模块包括:拆字与显示容送显缓子程序、键盘扫描子程序、调用房间处理子程序(包含对应驱动LOT5灯子程序)、调用密码处理子程序(对应驱动开门并延时灯子程序)、调用时钟修改子程序、调用用户密码修改子程序(包含修改住户开门密码界面子程序)、对PB口输入并消抖子程序、独立按键PB0-7的检测且对应控制门控位子程序、非基本时钟显示界面无操作30S返回子程序、显示更新子程序、按键声处理子程序。每个模块联系密切,相辅相成。2.2方案论证2.2.ILED数码管显示方式:1.ED数码管为常用的输出外设,基本运行模式时,2路电压值通过它来巡回的显示;节拍设定模式的显示;扩展电压显示模式时,2路电压同时的显示;扩展时间显示模式时,实时钟的显示。实验板上的LED数码管为是8段共阳极的。、LED静态显示方式1.ED显示器工作于静态显示方式时,各位的共阳极连接在一起并接+5V,每位的段码线分别与一个8位的锁存器输出相连。静态显示方式虽然接口编程容易,但是占用口线较多,如果要增加显示器的位数,则需要增加I/O的数目,而该设计中需要用到8个LED数码管,单片机的I/O口又是有限的,所以静态显示方式不能采用。(2)、LED动态显示方式将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阳极由相应的I/O线控制,形成各位的分时选通,即为LED动态显示方式。采用这种方式虽然牺牲了单片机的时间,但是换取了I/O端口的减少。2. 2.2数码管自检方案的选择:方案一:通过逐一检查一个数码管的每段是否正常,逐个数码管进行检查,达到自检目的。这种方法效果很好观察,是一种不错的选择,但不好实现。方案二:让八段数码管都亮“8.”这种方案程序较为简单,显示效果也比较好。只要在总初始化上给30H37H赋全亮的立即数(OCH),再调用显示更新子程序,大约保留显示2s左右,即可判断数码管是否正常,与第一种相比较容易实现。3. 2.3消抖动方案选择:消抖动的方案包含有硬件方法(电容滤波法、RS触发器消抖电路),消除抖动的软件方法(表决法、滚动滤波法、调用软件延时子程序)。方案一:延时消抖动。通过在按键执行动作后,加入一个延时子程序,延时结束后再检测一下按键的动作,以此来达到消抖动的目的。即检测出键闭合后执行一个延时程序,产生5msIOnlS的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5msIOmS的延时,待后沿抖动消失后才能转入该键的处理程序。在键数较少时可用硬件方法消抖动。常利用电容的放电延时,采用并联电容法。方案二:滚动滤波消抖动。比较几个连续的电平值,相等则将其存起来与原态相比,假如该状态与原态不等就认为按键有动作。在本次程序设计中采用了这种消抖动。用几个连续的单元存放最近几次的电平值,比较几个电平值,若相等则存起来与原态相比较,若新态与原态不等则认为一次电平变化。该子程序简单,速度快,所以选择该方案。2. 2.4延时时间的选择:由于主程序要不断地循环,在每个子模块中不允许调用软件延时子程序。在这边有两种方法可实现延时;第一,就是累计主程序循环时间(一个周期大概IOms),然后借助DJNZ指令,对某个单元的容进行减1不为0,返回继续计时,只有将这个单元的容减到等于0时,才执行下面的容,这样就起到了延时的效果。第二,就是借助定时器中断服务子程序。第三章、总框图与总体软件设计说明3. 1总流程图返回主流层3.2总体软件设计说明总初始化:主要由自检包括蜂鸣器,L0-L15LED灯,还有八位LED7段数码管。还有U3,U5芯片的初始化,和一些要用到的单元进行初始化。拆字与显示容送显缓子程序:对要进行显示的容进行拆字,当为基本进程(OIH)让实时钟3AH、3BH、3CH单元进行拆字,为其他进程时,不进行拆字,直接把需显示的容直接送给数码管显示缓存单元。键盘扫描子程序:利用反转法得键码再进行查表得出对应的键号,还有按下数字键做出相应事情,按下功能键置某位以便识别。按键声处理子程序:当检测到有按键按下时,会发出短促的声音。定时器TO中断服务子程序:此字程序是对时间进行计时,以致能时钟显示调用房间处理子程序:当输入数据为三位以的时候,需要将数据按移位的顺序将数字存入数据缓存单元,并完全在数码管上显示数据,等到输入数据为三位时,要进行跟房号(101-601,102-602)对比,正确时要开启对讲信号灯,此时也有可能是密码输入的前三位。调用密码处理子程序:当输入数据位大于三位时,即为输入密码状态,在此过程中,要对不同的进程下,对功能键(确定,撤销,退格)和数字键进行识别,并作出不同的处理动作。只有在输入为六位时,才进行先用户密码后管理员密码的比对,符合用户密码,作出开启开门信号控制灯,为管理员密码时,为时钟修改做准备。显示更新子程序:三种显示状态:正常显示时钟,闪烁显示某位其它照常显示,对输入的数字进行显示。有显示一位数字,一直到能显示六位数字,其中前三位可以直接看见,后三位看不见真正的数字,只显示”符号(直接将要显示的容先存储在数据缓存单元,在送到数码管显示缓冲单元)。调用时钟修改子程序:当密码比对为管理员密码时,先进入时钟修改界面进行时钟修改,而后进行用户密码修改。对PB口输入并消抖子程序:对PB口的输入进行滚动消抖,就是按下按钮后,只有检测到五次地电平数据都相等时,才把这次电平存入新态2EH中,2EH单元的容推进前态2FH单元中。独立按键PBO-7的检测且对应控制门控位子程序:设置为PB为按下时为有效,且当相应的房号输入正确后,按下相应的PB按键时开启开门控制灯。非基本时钟显示界面无操作30S返回子程序:无按键操作时,无论数码管显示什么,不为时钟显示时,只要延时30s后,自动会返回时钟显示。报警子程序:由于该子程序较小,故直接放在以上需要报警的子程序里面。第四章、系统资源分配说明4.1 硬件资源分配本次课程设计小区楼道开门控制系统的硬件电路主要由键盘输入模块,数码管显示控制模块,LED灯显示模块,蜂鸣器模块组成。根据实验电路板来设计各个模块的资源分配,使用一片AT89C51芯片作为主驱动的芯片,并使用82C55芯片对I/O引脚进行扩展,由82C55的C(地址为FEFE)作为键盘的输入模块,由82C55的A(地址为FEFe)字段码输入口和B口(地址为FEFD)字位码输入口共同组成数码管显示控制模块,由89C51的PI口作为LED灯的显示模块,由P3.2作为蜂鸣器的驱动模块。硬件资源分配名称实现的功能房间号对应的LED灯PBO-PB5住户开门按键LED灯房间号PB7外接开门按钮LO101KO输入OLl201Kl输入1L2301K2输入2L3401K3输入3L4501K4输入4L5601K5输入5L7开门信号指示灯K6输入6L8102K7输入7L9202K8输入8LlO302K9输入9Lll402KA确定键L12502KB撤消键L13602KC退格键P3.2接蜂鸣器键盘表0123456789确定撤销退格无无无4.2 片系统资源存储空间分配AT89C51片的数据存储空间的围是OOH7FH,其中OOHIFH为4组通用工作寄存器区,20H2FH的16个单元的128位可进行位寻址,30H7FH为用户的RAM区,所以,选择29H2FH作为滚动滤波的地址单元1CH:存放进程单元1DH,1EH,1FH:为用户密码存储单元2DH,2EH,2FH:为管理员密码存储单元22H:为101601各用户对讲标志位23H:为102602各用户对讲标志位16H-1BH:六位输入数字缓存单元26H.0:为确定键标志位26H.1:为撤销键标志位26H.2:为退格键标志位29H2FH:开关量与消抖动30H37H:显缓38H3CH:实时钟4EH.4FH:为30s无键按下返回子程序的存放新旧态50H-56H:为利用软件延时控制单元64H,65H:为键盘扫描的新态和旧态的存放单元进程码安排:基本时钟进程:OlH输房号进程:10H、UH、12H输密码进程:13H、14Ik1511设时钟进程:20H25H设住户开门密码:30H35H第五章、局部程序设计说明5.1人口程序初始化(包含数码管自检程序)单片机上电后,第一步,调用30InS的延时程序,使实验板上的各个芯片都能完成复位功能,第二步,让蜂鸣器响1秒以检测蜂鸣器的好坏,接着给八个数码管置亮码,驱动八个数码管全亮,检测数码管能否正常显示,第三步,对两片外扩的8255芯片的接口模式以与工作方式进行初始化,第四步,对显示缓冲单元以与存放时钟的单元进行初始化,以确定上电后八个数码管显示数据,第五步,将定时计数器TI赋初值,开启定时计数中断,所赋值的初值要实现定时计数器TI精确定时,在数码管上显示精确时钟信号,第六步,对所用到的存储单元进行初始化,例如,存放用于用户初始密码单元(1DH-IFH),存放用于管理员初始密码单元(2DH-2FH),数码管缓存单元(30H-37H),标志单元(22H,23H),循环次数存放单元(50II-56H)o5.2拆字与显示容送显缓子程序模块CZ:MOVA,ICH;对进程单元容进行判断,只有(ICH)=OlH时才进行拆字CJNEA,#0111,CZN;MOVRO,#3AH;显示容送显缓子程序(拆字子程序)。置时钟数据单元首地址(秒单元)MOV Rl,#3011CZhMOV A,ROANL MOV INC MOVA,#OFHRl,ARlA,R0ANL A,#OFOH SWAP AMOV Rl,AINC RlINC RlINC RO;置显示缓冲单元首地址(对应于最右显示位) ;取当前数据单元BCD码;保留低4位(个位);送显缓当前个位单元;指向显缓当前十位单元;再取当前数据单元BCD码;保留高4位(十位);交换到低4位;送显缓当前十位单元;指向显缓下一个个位单元;指向下一个时钟数据单元CJNERO,#3DH,CZ1;未完继续MOV 32H,tflOHMOV 35H,#10H CZN=RETDISP:MOV R0,#30HMOV R3,#01HMOV A,R3DISPhMOV DPTR,#0FEFDHMOVX DPTR,A ; JNB 21IL5,DISP2 MOV A,ROCJNE A,5FH,DISP2 21H. 6,DISP2 ;MOV A,#OFFHLJMP NEXTPCDISP2:M0V A,ROADD A,#TAB-NEXTPC MOVC A,A+PCNEXTPC:MOV DPTR,#0FEFCH MOVX DPTR,A LCALL DIMS INC RO MOV A,#OFFH MOVX DPTR,A MOV A,R3ACC. 7,DISP3 RL A MOV R3,A LJMP DISPl DISP3:RETDB OBFH,OFFH,00HJ空格全亮";32H单元显示对应的值为IOH;35H单元显示对应的值为IOH;子程序返回工作原理:只有当进程单元为01H(为显示时钟进程),才进行拆字,其他进程直接把需要显示的数据送到数码管显示缓存单元(30H-37ID,拆字时,将实时钟的单元(3AH,3BH,3CH)对应的各自拆完后存放于(30H,31H),(32H,33H),(34H,35H);利用RO指向实时钟单元,Rl指向数码管显示缓存单元,逐次的将时钟高低字节拆开后分别存放于高低位单元。5. 3显示更新子程序模块源程序如下:;显示更新子程序。置显示缓冲单元首地址;字位码初值(从最右位起);8255-B口(字位码输出口)输出当前字位码;判断是否有输入正确管理员密码,如无跳转;跟5尸11中的容比较哪位需要闪烁判断该位要显示还是不显示;显不空格;取当前位显示数据码;加TAB与NEXTPC差址;查表得相应字段码;8255-A口(字段码输出口);输出字段码;保持显示1毫秒;指向下一显示缓冲单元;关掉段码;取出字位码;判已显示到最左位否;未完,字位码左移1位;回存新字位码;转下一位的显示驱动TAB:DBOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8H,80H,90H;显示字段码表°U"9"工作原理:显示模块的作用是将显示缓存的单元(30H-37H)中的容在数码显示管上显示出来。首先将显示缓存第一个单元中的容(30H)的字段码送入到82C55的B口,之后将右边第一位的位码送入到82C55的A口,则30H单元中的容可以显示在显示数码管的最左边,在利用循环控制语句就可以将30H37H中的容从左到右依次显示在数码管上了。5.4 消抖动子程序用几个连续的单元存放最近几次的电平值,比较几个电平值,若相等则存起来与原态相比较,若新态与原态不等则认为一次电平变化。源程序清单如下:XDPB : MOV 2FH,2EHMOV 2DH,2CHMOV 2CH,2B1IMOV 2B,2AMOV 2AH,29HMOV DPTR,#0FDFDH;PB 口输入并消抖子程序。原新态存为前态 ;前4次输入的电平值前推至2AH2DH单元;291I-2FH 递存;输入PB(T7新电平值存29H单元MOVX A,DPTRMOV 29H,A;取PO到P7的值;存入首单元MOVA,2D1I;比较近5次输入的电平值不一致则新态照旧CJNE,2CH,XDRCJNEA,2B1I,XDRCJNEA,2A1I,XDRCJNEA,29H,XDR;取29H-2CH与2DH分别比较MOV2EH,A;递存XDR:RET;循环子程序说明:执行这条子程序时,先把前4次输入的电平值前推至2AH2DH单元,然后从地址OFDFDH中读取Po到P7的值,然后对29H,2AH,2BH,2CH,2DH这五个单元进行比较,只有这五个单元的容一样时,才能把2DH中的容存入2EH中,这样就比较有效地避免开关量抖动的影响了。5.5 有按键时发出按键声子程序Ajyiiandle:mova,65H;判断是否是(65H)=IOH且(64H)WlOH,有则说明有新键按下,否则无键按下直接跳出子程序CJNEA,#10H,AHHMOVA,64HCJNEA,#IOAAHHCLRP3.2DJNZ5011,AIIlI;软件延时30ms,主流程大概IOnISMOV50H,#3SETBP3.2AI11I:RET工作原理:首先先识别有键按下,但(65H)=IOH且(64H)WIOH才是有键按下,再对蜂鸣器进行清0,利用软件延时,50H单元控制延时时间(主流程大约为10ms),延时30msO5.6 无按键后30秒自动返回到时钟状态WCZ:MOVA,ICH;判断3AH的前后态来计时CJNEA,#01H,WCZKMOV4DH,#30RETWCZKrMOVR6,65HCJNER6,#10H,WCZ3MOVR6,6411CJNER6,#10H,WCZ3MOV4EH,3AIIMOVA,4EHCJNEA,4FH,WCZ1RETWCZhMOV4FH,4EHDJNZ4D1I,WCZ2MOVICILttOllIMOV3EH,#80HMOVPL#OFFHWCZ3:M0V4DH,#20WCZ2:RET工作原理:只有在非时钟显示情况下,利用秒单元3AH,4EH,4FH用于存放实时钟的新旧态,当新旧态不同时,说明有IS时间,在利用一个控制次数的4DH来控制延时时间5.7定时器Tl中断服务子程序:IT1P:PUSH ACCPUSH PSW INC 3811 MOV A,38H CJNE A,#50,DONEMOV 3811, #0INC 39HMOV A, 3911CJNE A,#100,DONEMOV 39H,#0MOV A,3AIIADD A,#lDA AMOV 3AH,ACJNE A, #6011, DONEMOV 3AH,#0MOV A,3B1IADD A,ftlDA AMOV 3B1I,ACJNE A,#6011,DONEMOV 3BII,ftOMOV A,3CHADD A,#lDA AMOV 3CH,CJNE A,#24H,D0NEMOV 3CH,#0DONE:POP PSWPOP ACC;定时器1服务子程序。保护现场;每 200uS 加 1;满 IOmS?;200US计数单元清0;每IOmS加1;满 is?;IOmS计数单元清0;秒单元(按BCD码)加1;满1分钟?;秒单元清零;分钟单元(按BCD码)加1;满1小时?;分钟单元清零;小时单元(按BCD码)加1;满24小时?;小时单元清零;恢复现场RETl工作原理:中断服务程序流程,其中每277.77777778us中断一次对38H单元进行加L当38H单元满36时,就对39H单元容加1,同时对38H单元清0,重新计数。当39H单元的容满100时,就对3AH单元容加1,同时对39H单元清0,重新计数.当3AH单元的容满60时,就对3BH单元容加1,同时对3AH单元清0,重新计数.当3B1I单元的容满60时,就对3CH单元容加1,同时对3BII单元清0,重新计数.当3CH单元的容满24时,只对3CH单元容清0,回到初始继续这样循环下去。5. 8房间处理模块工作原理:对应房号输入处理的流程图如上所示,通过在不同的进程里面来判断是否是功能键(确定键,退格键,撤消键)或者数字键(0-9),在OlH进程里,是功能键时直接返回(进程改为01H),数字键时,将数据送到数据缓存单元16H(进程改为(HH);在IOH进程里,是功能键的确定键时,直接返回,进程改为01H,为撤消键时,直接返回(进程改为OlH),为退格键时,也直接返回(进程改为01H),为数字键时,数据往高位滚存(到达17H),进程加1(变为IlH)。以此,在不同进程里判断不同按键后,做出相应的动作,当进程为12H时,按下确定键时,要注意比对房间号,比对正确就开启对讲信号灯(进程码变为OIH),为其他键时,做出其他的相应动作。5.9 密码处理子模块工作原理:密码输入流程图如上所示,它是建立在房间处理模块的基础之上,在进程为12H时,还继续输入数字键时,必为要输入用户密码或者管理员密码,一次将数字继续往高地址的数据缓存单元缓存后返回(进程码加1)。依次下去,退格键时,直接将数据从高位往低位滚存,最低位覆盖掉(进程码减1);撤消键时,直接返回(进程码为OIH)。当进程为15H时,按下确定键时,先进行用户密码的比对,相符时开启相应的对讲信号灯(进程码变为OlH),不符时再进行管理员密码的核对,相符时进入时钟修改界面,不符时直接告警(进程码变为01H)后返回。5.10 时钟修改子模块进行判断相应键后作出不同的动作,在时钟修改进程(201I-25H),一旦确定键按下就要直接保存修改数据于数据缓存单元,按下数字键时,要在不同进程里判断输入的数据是否符合实际情况,不符时不让该位执行修改并停留在该位修改的位置,等待修改。5.11 用户密码修改子模块工作原理:在设时钟进程,20H25H,按下确定键,则改进程为30H,每输入1位数字,则进程码加1,进程为35H时,再输1位数字,进程仍为35H。进程35H时,按下确定键,则保存住户开门密码,进程改为设管理员密码40H,30H35H时,按下取消键则不保存退出,进程改为OllIo第六章、系统功能与操作说明6.1系统功能描述1.总初始化自检功能:把由keil软件生成的.HEX文件下载到实验板上单板机中,先上电等待各芯片均上电复位后自检,先是蜂鸣器响IS后关闭,U3和U5芯片初始化,L8-L15点亮,L0-L7点亮IS后熄灭,数码管每段全亮大约IS检测设备是否完好。2 .自检完后显示时钟初始为08:59:45,如果不进行任何操作,一直显示时钟。当你输入正确用户密码,PL7会亮,延时5s后熄灭,输入位数不符或密码不正确都会报警。密码在界面上前三位可看见,后三位看不见(用“一”表示)。也可以通过按下PB7(外接开门按钮)来使PL7亮,同样延时5s后熄灭。3 .用键盘做输入时,按下键的瞬间,会发出短促的按键声。4 .设置了取消键,按下此键无论数码管显示什么,都会返回时钟显示。5 .输入正确的房间号(12间)会让对应的LED(对讲门铃)亮IS后熄灭,此后再按下PB6也可使PL7点亮,同样5s后会自动熄灭。没有输入正确房间号,按下PB6,PL7不会亮。6 .当输入出错时会报警,就是蜂鸣器响IS后停止。7 无任何操作时,经过30s会自动返回时钟显示。8.按下输管理员按键时,就可以输入管理员密码,如果输入正确,变成时钟界面,可通过键盘进行修改时间。改完时间后按确定键,如果修改正确,则进入住户开门密码参数界面,否则返回时钟继续修改。进入住户开门密码参数界面,当你通过键盘输入六位数时,再按确定键,就把你刚才输入的六位数变成了用户密码,如果不想改用户密码按取消键即可返回时钟显示。第七章、存在问题与程序改进说明问题1:在输入按键后,只能执行一轮解决方法:出现这种问题的主要原因是用来作标志位的存储单元在用完之后没有与时的清零,由于执行第一轮执行时,在初始化时已经将标志位清零了,所以可以正常执行,但是在后面的程序中,如果没有软件将它清零,会导致该模块一直执行,从而造成出错。所以只要在每次用完标志位后马上将它清零掉。问题2:当房号输入正确时,对应对讲的灯不能保持点亮1秒解决方法:添加一个让它保持点亮1秒的子程序,通过利用主流程执行的一次的时间大概IOms来设定适当的循环计数值,从而达到定时1秒的目的,。问题3:修改用户密码时,输入修改密码时,密码会跟之前输入的不同解决方法:通过对程序的分析知道,是由于数据从缓存单元送入(IDHjEH,1FH)出错了。问题4:调试过程主流程直接调用IS的子程序,之后的程序在利用软件延时会出现不精准解决方法:主流层增加了调用IS的子程序,让主流程的循环一次的时间大大的超出IOms,之后全部改用软件延时,果真能达到延时的时间。第八章设计总结在这两周的课程设计中,仅仅是对小型微机应用产品的设计与调试,但却学到了很多的具体的微机应用知识,将以前学到的理论知识在设计中得到应用,进而会对知识更深的理解,巩固,并且在实践的过程中也提高了对问题的仔细分析与解决实际问题能力,真的使自己受益良多。设计一个以单片机为核心的楼道开门装置,该装置平时显示时钟息,也可加入按照一定的节拍交替显示环境温度数据功能,住户通过输入由物业管理员预先设置的密码开启楼道门,住户也可输入房号开启与相应住户之间的对讲门铃并可由住户发来开门信号。装置可由管理员设置新的通行密码、时钟等参数。本课程设计环节进行编程并在单片机实验板上模拟调试实现。要完成这个任务就要对单片机有充分的了解,也就是把课堂上所学到的理论知识用在实际的产品中,并且还要根据实验电路板TEST2012的模块用到自己所设计的产品中来。课程设计初期就是把所要写的整个程序划分为几个模块,也就是把整体电路大的流程图构思出来,从硬件的结构出发,需要按键的输入模块,需要数码管的显示模块,在根据所要达到的基本要求考虑,要对输入密码进行处理,所以程序必要的模块为键盘扫描模块,拆字模块,显示模块,按键处理的模块等,在有了整体的思路后,在接下来的一周中,就是根据基本的设计要求,来写各个模块的程序,当各个模块写好之后,组合完整的程序进行调试时出现了很多问题,最后在老师的帮助下,找到了原因,就是各个模块之间缺少联系的关系,其实在主流程序中的执行的就是调用各个模块,而各个模块之间的程序是有联系的,在找到原因之后,在原理的基础上增加了一些模块之间的联系。在第二周,就是对程序的调试,以与做了功能的扩展,最后在自己的努力下,完成了这次课程设计的基本要求与一些的扩展功能。通过这次的设计,对单片机知识有了根据具体的学习与理解,把平时学到的理论知识应用到了实践中,在对产品的设计与调试的过程中,也提高了自己的思维与要考虑整体设计的思想,既加深了理论知识的理解,也提高了自己的动手能力,同时对团队合作也加深了理解,这在对以后的生活与工作中,都会是很大的帮助。第九章参考文献1单片机原理与接口技术人民邮电毅刚,喜元编著

    注意事项

    本文(微机课程设计小区楼道开门控制系统方案.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开