版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、赵秋帆、李华东、刘志君:电子密码门锁设计赵秋帆、李华东、刘志君:电子密码门锁设计 计算机硬件技术基础课程设计课题名称:电子密码门锁设计专业:自动化专业班级:组长:组员:组员:指导老师:重庆大学自动化学院2016年9月基本功能要求主要内容:设计一个密码门锁系统,以扬声器作为发声装置,以4*4键盘作为功能按键,根据预设的密码对门锁实现安全控制。只有密码完全符合才能开门,密码不符时控制扬声器发声报警。在计算机硬件实验系统基础上,自行完成扬声器模块的设计。密码为6位,输入密码可以开门或修改密码。.用LED显示门的当前状态,以及当前功能状态。.按下开门键,LED显示“输入密码”提示信息,用户输入密码后,
2、若正确则门打开,按下关门键或打开5秒后关门。若密码错误则三色LED用红色显示“密码错”提示信息后,要求用户重新输入密码,3次错误后三色1口红绿交错显示错误提示信息,并且扬声器同时发声报警,按下返回键返回。.若按下设置键,LED显示“输入密码”提示信息,用户输入密码,若正确则LED显示修改密码“提示信息,要求用户输入新开门密码,按确认键保存新密码后返回,按返回键则放弃修改直接返回。若错误处理规则与开门相同。组员分工赵秋帆:开门和设置程序的编写,编写主程序将其他子程序整合以及整体调试。李华东:硬件连线和8259部分中断程序、三色LED子程序的编写。刘志君:8254部分硬件连线及程序的编写、相关例题
3、的查询以及实验报告的撰写。硬件设计器件选择实验箱上的5片可编程并行I/O口接口芯片8255A,1片可编程定时/计数器8254,1片中断控制器8259(A),6位8段共阴极LED,两个LED小灯以及三色共阳极LED和蜂鸣器。器件功能分配设计4片固定可编程并行I/O口接口芯片8255A控制三个LED显示错误信息扩展可编程并行I/O口接口芯片8255A控制8段共阴极LED显示信息,同时控制扫描键盘。可编程定时/计数器8254完成关门定时,扬声器报警频率信号。中断控制器8259(A)控制中断。扬声器完成报警。3.3硬件连线根据前面的分析以及器件功能分配,进行硬件连线地址:可编程并行I/O口接口芯片82
4、55A接300H可编程定时/计数器8254接320H中断控制器8259A接340H接线:.可编程定时/计数器8254计数器0CLK接频率信号47KHZ,GATE接+5V,OUT接计数器1的CLK.可编程定时/计数器8254计数器1CLK接计数器0的OUT口,GATE接+5V,OUT接8259IRQ0.可编程定时/计数器8254计数器2CLK接频率信号3MHZ,GATE接+5V,OUT接扬声器信号输入端.扩展可编程并行I/O口接口芯片8255AA口接LED段选,B口接LED位选,b0接开关状态LED灯,b1接功能状态LED小灯,C口高四位接键盘列信号,低四位接键盘行信号.中断控制器8259(A)
5、INT1接INTR,SP/1接+5V,IRQ0接8254计数器1OUT.蜂鸣器信号接8254计数器2OUT硬件连线原理图如图DOD2D3D43iD6D7csRDDOD2D3D43iD6D7csRD*R-JOQ7J口二二8454gateiCLKll00二9OQUQ|O:,8|UouroGATEOCMsOUT2GATEJCLQOTTOGATEOCLKOU二GATEICLK1OUT:GATKCLK2图3.3.18254定时/计数器原理图图3.2.2键盘接口原理图跖“71:-:.7-.7:&片3口:s图3.3.3三色LED原理图图3.3.48259原理图经过分析,电子密码门锁设计程序分两大部分。其一,
6、开门功能程序,流程图如图2.2.1;其二,修改密码程序,流程图如图2.2.2。使用可编程并行I/O口接口芯片8255A控制6位8段共阴极LED显示提示信息和输入的密码、控制键盘扫描以及控制两个LED小灯分别显示功能状态和开关门状态;使用可编程定时/计数器8254完成计时5S和蜂鸣器信号生成;使用中断控制器8259A控制计时5s后完成自动关门与三色1口红绿交替功能,使用三色1口提示错误。以下分别为开门程序流程图和设置程序流程图:图4.1.1开门程序流程图图4.1.2设置程序流程图使用说明功能及显示说明系统初始密码为000000(密码只能是6位);密码可以由09组成;开门5s后,自动返回关门状态;
7、.左侧LED小灯:功能指示灯,亮表示开门功能状态,灭表示设置功能状态;.右侧LED小灯:开关门状态指示灯,亮表示打开,灭表示关闭;.提醒输入密码显示为:INPUT;.提醒修改密码显示为:CHANGE;.提示密码错误显示为:Error;.密码错误三色1口显示为:Error(红色);.错误三次三色LED显示为:Error(红绿交替);.错误三次蜂鸣器报警。3.2操作说明A键-待机界面时进入开门功能;B键-待机界面时进入设置功能;E键返回键,开门后,按下返回键返回关门状态F键-确定键,显示提醒时,需按确定键继续;输入密码后,按确认键确认提示密码错误,需按确认键重新输入;报警后,需按确认键返回关门状态
8、。在实验板上结果显示根据题目的要求,通过调试运行程序,得到了各种情况如下:(1)关门状态显示INPUT,如下图6.1.1田&riibq田&riibqaa心e图6.1.1关门状态显示情况(2)输入密码状态显示,结果如图4.1.2图6.1.2输入密码状态显示情况(2)开门状态显示,结果如图6.1.3(2)开门状态显示,结果如图6.1.3图4.1.3开门状态显示(3)改密码界面显示CHANGE,结果如图6.1.4图6.1.4改密码界面显示密码输错三次,三色LED交替闪烁,结果如图6.1.5图6.1.5输错三次密码7总结赵秋帆(20134692)心得体会:赵秋帆(20134692)心得体会:这次课程设
9、计中,我主要负责开门功能和设置功能的实现,并编写主函数,将其他成员编写的子函数整合在一起,在这次课程设计中,遇到了不少难点,比如,在实现开门后5秒后关门,或者按关门键关门该功能中,实现起来就颇为费劲,首先因为按键盘关门,有一个扫描的问题,在扫描程序中,如果不按键,就会一直扫描,没法跳出扫描程序段,就更没法执行5秒关门这一指令,于是,在这里使用了定时中断的方法,利用8254定时5秒,触发中断,使一自定义标志位置1,在按键扫描的程序中加入判断该标志位是否为1,为1则直接跳出扫描程序段,从而解决键盘扫描子程序不按键不可跳出的问题,使得开门后5秒后关门,或者按关门键关门该功能得以实现。再比如实现显示开
10、门或设置的功能状态和门的开关状态这一功能时,原本是打算,将该两个状态的显示合二为一,一同显示在LED上,后来发现此举不太妥当,一方面因为,不能实时显示门的开关状态以及开门或者设置功能的状态,像显示输入密码或是修改密码之类需要占用LED显示的时候,就无法显示。另外一方面因为,这样所表示出来门的状态,实际上是比较虚假的,只是取了3个静止状态来表示门的状态:1.开门功能,关门状态2.开门功能,开门状态3.设置功能,关门状态。而门的开关状态,应该是独立出来,这样才更加符合实际。因此我们在这问题的解决上,使用了2个小灯,其中1盏的亮灭代表开门和设置状态,另外一盏的亮灭代表门的开关状态。但是这样后,便有了
11、新的问题,没有足够的输出口供使用,我们唯一能找到的输出口,只有控制LED6位位选的B口所剩下了2个输出口A1和A0,而要使用A1,A0,且使A1,AO独立起来,就必须在程序里面下功夫,使LED在正常显示的同时,且不影响A1,A0位。为了解决这一问题,我设置了一个名为LEG的存储单元,用来保存A1,A0的状态,在每个需要LED显示的地方,先将LEG的值赋予AL,再用或运算来控制前面六位的位选,从而达到LED正常显示,且不影响A1,A0的目的。通过这次课程设计,我更加熟练地掌握了硬件基础的知识,复习了8254,8259,8255以及4*4键盘、单色LED、三色LED等硬件的使用,在这次课设中,我们
12、遇到了不少困难,但都在小组的共同努力下,逐一解决,使我们虽然辛苦,却乐在其中。李华东(20134678)的心得体会:刚拿到这次课程设计的题目乍看了一下感觉并不难,刚有点松懈下来,结果到了实验室却发现这次实验大方向虽然简单,但是其中充满了复杂的小细节,在程序编写过程中也多次让我们小组的成员们绞尽脑汁。其中最突出的就是用led来显示提示信息,这本来是一个很简单的任务,在去年课程的学习中我们也对此驾轻就熟,但是到了实战却发现有好多我们想用的字母都拼不出来,为了避免引起界面混乱,我们不得不重新更改了我们的计划,添加了两个led小灯作为指示灯来显示工作状态与门的开关。这虽然加大了我们的工作量,但是却在理
13、论上简化操作界面。但是难题又接踵而至)输出接口不够用了,在上述情况下我们的8255的a口用于段选,b口用于位选,c口用于接键盘,那么仅有的两个输出口就只能从位选上省,但是在led显示程序上位选的扫描显示程序又会影响到led小灯的暗灭。在我们百思不得其解的时候,组里的大神灵机一动,想出了先将寄存器数值(如10000000)与一个00000011再或一个01000000,保护了最后两位不受位选扫描的影响,这种解决问题的方法给了我很大的启发。这之后我们小组一路过关斩将,排除了一个个问题,终于将课设圆满完成。这其中也不乏各种难题,比如8259a中断部分程序的编写就给我造成了很大的困扰,在连续看了一天书
14、之后我终于把它搞懂并完成了程序的编写。总的来说,这次课程设计使我们熟悉了以前学过的知识,也是我们逐渐的掌握了一些思考方法以及提升了部分技能,同时,团队协作能力也得到了提升,收获不小,也让自己对未来增加了一些自信心。这次的课程设计我对为指令的设计和流程都有了更深的理解,进一步熟悉了计算机硬件技术原理的基本知识,同时也加深了解了模块化程序设计的基本过程,掌握了一些基本的软硬件设计知识并对其进行了基本的运用,在模块化程序设计中运用了很多知识,以及几块芯片8255、8254、8259来实现计数器、定时器、查询的功能等,即实现了对以往所学内容的复习,也让自己更加对他们的实际运用能力得到了增强,使自己比以
15、前的动手能力与对课题的思考能力得到了增强。通过实践,提高了我的实际操作能力,从以前所学理论上升到实践,真正做到了学有所用,同时也认识到了自己的不足之处,对转移指令、芯片工作方式等都不是很熟悉,但是自己受益匪浅。刘志君(20134679)的心得体会:以前上微机课的时候,因为自己的不重视,我都不知道,硬件到底是什么,用来做什么,怎样实现。当理论和实际发生隔阂,不知道怎样将学的枯燥无味了理论知识融入实际中,这种学习当然会十分苦恼,以至于学习激情大打折扣,所以对硬件连接和汇编语言掌握得一塌糊涂,这也使得这次课程设计一直跟不上组员的节奏。因此我只能尝试着完成组长赵秋帆交给我的一些简单的工作,同时边做边向
16、他们请教。在程序的编写和调试方面我一直是出于半懵状态,在组长对各种状况想方设法进行解决的时候,虽然我并没有能力去给出什么决定性的建议,但是我也还是强迫自己尽可能的加入,尽可能的提出自己的见解。而在这半学习半时间的过程中,我也是学到了很多以前被抛却脑后的硬件连接和汇编知识。虽然现在让我独自去完成这个课程设计我照样会感到困难,但是课程设计工作中的一部分事情我却相信自己可以做到很好了,比如说8255模块的硬件连接以及8254部分相关程序的编写。现在的我也理解了八段LED位选和段选的具体含义,位选用来控制几个LED灯的显示,而段选则控制这些LED灯显示的内容,也就是各笔画数码管的亮灭。虽然是很基础的知
17、识,但是对于理解硬件连接和数据写入有很大的帮助。总之,这次实践,补习了我理论课漏掉的知识,提高了我的实际操作能力,从以前所学理论上升到实践,真正做到了学有所用,同时也认识到了自己的不足之处,并且意识到所学理论知识的重要性,这虽然只是一次课程设计,却也是对以后工作的映射,理论学习是工作时间的基础,所以万万不可忽视。而且课程设计可以体现出团队合作程度,紧密合作加上明确分工,能够大大地提高设计速度,在动手设计之前,最好将设计所需要的数据,程序准备好,为了判断设计结果是否正确,有必要在准备阶段计算理论值。仔细分析指令的每一位,以及理清思路,在设计时做到胸有成竹。8附录程序清单.486CODESEGME
18、NTUSE16ASSUMECS:CODEORG1000HBEGIN:JMPSTARTSHOWINPUTDB06H,37H,73H,3EH,31H,00H显示输入密码SHOWCHANGEDB39H,76H,77H,37H,7DH,79H显示修改密码SHOWERRORDB79H,50H,50H,5CH,50H,00H显示错误SHOWSTOPDB40H,40H,40H,40H,40H,40H显示横杠INPUTWATDB40H,40H,40H,40H,40H,40H输入密码暂存PASSWORDDB3FH,3FH,3FH,3FH,3FH,3FH密码储存PASSWORD1DB3FH,3FH,3FH,3FH
19、,3FH,3FH密码备份PASSNUMDB6输入密码计数标志CHECKFDB0;密码检测标志ERRORNUMDB3;错误计数OTCOUTDB0;开门后关门程序跳出标志KEYZHIDB0LEGDB1;*主程序开始START:LEASI,INPUTWATCALLCLR;清除输入密码存储单元MOVDX,20CH;四片8255初始化MOVEAX,80808080HOUTDX,EAXMOVDX,30CH;扩展8255控制字,AB输出,C高出低入MOVAL,81HOUTDX,ALMOVDX,32CH工作在方式2下MOVAL,34HOUTDX,ALMOVDX,32CH工作在方式0下与计数器0级联计时5sMO
20、VAL,50HOUTDX,ALMOVDX,32CH工作在方式3下MOVAL,10110110BOUTDX,ALMOVDX,340HMOVAL,000010011BOUTDX,ALMOVDX,348H40H47HMOVAL,40HOUTDX,ALMOVDX,348HMOVAL,01HOUTDX,ALMOVDX,348HMOVAL,00HOUTDX,ALCLI;填开门后关门跳出中断向量;8254计数器0;8254计数器0初始化;8254计数器1初始化;8245计数器2初始化;初始化8259写ICW1;写ICW2中断类型号为;写ICW4;写OCW1,开放所有IRMOVBX,4*40HMOVAX,OF
21、FsETINTOTCOUTMOVBX,AXMOVAX,sEGINTOTCOUTMOVBX+2,AX;*开门功能程序OPENDOOR:ANDLEG,11111101BMOVDX,304HMOVAL,LEGOUTDX,AL;功能指示灯亮;显示输入密码提示,按下FOsHOWINP:LEABX,sHOWINPUT确认;功能指示灯亮;显示输入密码提示,按下FCALLSHOWANDKEYCMPCL,0B7HJZSETTINGCMPCL,77HJNZOSHOWINPPAA:LEASI,INPUTWATCALLCLRPA0:MOVPASSNUM,06H;输入密码,按下D键可以消除上一次输入,按下E键可以重新输
22、入,输入完成后按下F键确认LEASI,INPUTWATPAL:LEABX,INPUTWATCALLSHOWANDKEYJMPPAPASSN:LEABX,INPUTWATCALLSHOWANDKEYPA:CALLKEYTOSHOWINCSIDECPASSNUMJNZPASSNPA3:CALLSHOWANDKEYCMPCL,77HJZPA2JMPPA3;调用密码匹配;功能指示灯亮;调用密码匹配;功能指示灯亮;密码正确,开门指示灯亮,PASSRI:ANDLEG,11111110BMOVDX,304HMOVAL,LEGOUTDX,AL按下键或者5秒后关门STICALLOPENTOCLOSECALLSH
23、OWANDKEYCMPCL,7BHJNZPASSRICLIORLEG,00000001BMOVERRORNUM,3JMPSTARTPASSER:CALLLER3MOVDX,328H;计数器2报警解除计数初MOVDX,328HMOVAX,0OUTDX,ALMOVAL,AHOUTDX,ALJMPSTART;*设置功能程序;功能指示灯灭SETTING:MOVDX,304H;功能指示灯灭ORLEG,00000010BMOVAL,LEGOUTDX,ALSSHOWINP:LEABX,SHOWINPUT;提示输入密码CALLSHOWANDKEYCMPCL,0BBHJZOPENDOORCMPCL,77HJNZ
24、SSHOWINPPBB:LEASI,INPUTWATCALLCLR;输入密码PB0:MOVPASSNUM,06H;按下D键可以消除上一次输入,按下E键可以重新输入,输入完成后按下F键确认LEASI,INPUTWATPBL:LEABX,INPUTWATCALLSHOWANDKEYJMPPBPASSN1:LEABX,INPUTWATCALLSHOWANDKEYPB:CALLKEYTOSHOWINCSIDECPASSNUMJNZPASSN1PB3:CALLSHOWANDKEYCMPCL,77HJZPB2JMPPB3PB2:MOVPASSNUM,06H;调用密码匹配;密码正确,提示修改密码,;调用密码
25、匹配;密码正确,提示修改密码,CMPCHECKF,01HJNZPASSERLPASSRI1:按下F继续LEABX,SHOWCHANGECALLSHOWANDKEYCMPCL,77HJNZPASSRI1PCC:LEASI,PASSWORD1CALLCLR;输入新密码PC0:MOVPASSNUM,06H;按下口键可以消除上一次输入,按下E键可以重新输入,输入完成后按下F键确认LEASI,PASSWORD1PCL:LEABX,PASSWORD1CALLSHOWANDKEYJMPPCCHANGE:LEABX,PASSWORD1CALLSHOWANDKEYPC:CALLKEYTOSHOWINCSIDEC
26、PASSNUMJNZCHANGEPC3:CALLSHOWANDKEYCMPCL,77HJZYESNOJMPPC3YESNO:LEABX,PASSWORD1CALLSHOWANDKEYCMPCL,7BHJZNOYES:CMPCL,77H回JNZYESNOLEABX,PASSWORD1LEASI,PASSWORDMOVAH,0CLEAR1:MOVAL,AHXLATMOVBYTEPTRSI,ALINCSIINCAHCMPAH,06HJNZCLEAR1NO:JMPSTARTPASSERL:CALLLER3;按下键取消修改并返回;修改成功,按F确定并返;计数器;按下键取消修改并返回;修改成功,按F确定并
27、返;计数器2报警解除MOVAX,0OUTDX,ALMOVAL,AHOUTDX,ALLEASI,INPUTWATCALLCLRJMPSTARTCLRPROCNEARMOVAL,6INPUTWATL:MOVBYTEPTRSI,40HINCSIDECALJNZINPUTWATLRETCLRENDPSHOWANDKEYPROCNEARSHOWSTATEL:MOVAH,00H;位选;送段;位选;送段;送位选;位选向右移位;按键扫描XLATMOVDX,300HOUTDX,ALMOVDX,304HMOVAL,LEGORAL,KEYZHIOUTDX,ALRORKEYZHI,1INCAHKSCANL:MOVCL
28、,0EFHNXTCOLL:MOVAL,CLMOVDX,308HOUTDX,ALINAL,DXANDAL,0FHCMPAL,0FHJNZFNDKEYLROLCL,1JCNXTCOLLCMPOTCOUT,1JNZLLMOVCL,7BHMOVOTCOUT,0RETLL:CMPAH,06HJZSHOWSTATELJMPSHOWSTATEL1FNDKEYL:ANDCL,0F0H;键特征值形成ORCL,ALCALLSHOWHENGCALLDELYKEYUPL:MOVAL,0;按键防抖动MOVDX,308HOUTDX,ALINAL,DXANDAL,0FHCMPAL,0FHJNZKEYUPLRETSHOWAN
29、DKEYENDP;*键特征值到短代码的转换KEYTOSHOWPROCNEARTOC o 1-5 h zCMPCL,0EEH;0JNZKL1MOVBYTEPTRSI,3FHRETKL1:CMPCL,0EDH;1JNZKL2MOVBYTEPTRSI,06HRETKL2:CMPCL,0EBH;2JNZKL3MOVBYTEPTRSI,5BHRETKL3:CMPCL,0E7H;3JNZKL4MOVBYTEPTRSI,4FHRETKL4:CMPCL,0DEH;4JNZKL5MOVBYTEPTRSI,66HRETKL5:CMPCL,0DDH;5JNZKL6MOVBYTEPTRSI,6DHRETKL6:CMP
30、CL,0DBH;6JNZKL7MOVBYTEPTRSI,7DHRETKL7:CMPCL,0D7HJNZKL8MOVBYTEPTRSI,07HRET;7KL8:CMPCL,0BEHJNZKL9MOVBYTEPTRSI,7FHRET;8KL9:CMPCL,0BDHJNZKLAMOVBYTEPTRSI,6FHRET;9KLA:CMPCL,0BBHJNZKLBMOVBYTEPTRSI,77H;ARETKLB:CMPCL,0B7HJNZKLCMOVBYTEPTRSI,7CHRET;BKLC:CMPCL,7EHJNZKL0MOVBYTEPTRSI,39H;CKL0:RETKEYTOSHOWENDP;*密码
31、检测程序CHECKPROCNEARLEASI,INPUTWATLEADI,PASSWORDCHECKL0:MOVAL,BYTEPTRSIMOVAH,BYTEPTRDICMPAL,AHJNZCHECKERINCSIINCDIDECPASSNUMJZCHECKRIJMPCHECKL0CHECKER:MOVCHECKF,0MOVPASSNUM,06HRETCHECKRI:MOVCHECKF,1MOVPASSNUM,06HRETCHECKENDP;*延时子程序DELYPROCNEARPUSHCXMOVCX,0FFFFHDELY_L0:LOOPDELY_L0POPCXRETDELYENDP;*三色led子程序LER3PROCNEARDECERRORNUMJZWAR;5片8255;5片8255给段选(每MOVEAX,0FFAFAF86HOUTDX,EAXMOVDX,204H片后一个)MOVEAX,0FFFFA3AFHOUTDX,EAXMOVDX,208HMOVEAX,05050505HOUTDX,EAXABC:LEABX,SHOWERRORCALLSHOWANDKEYCMPCL,77HJNZ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年门窗安装项目协议范本
- 2024矿石产品销售协议模板大全
- 建筑劳务分包协议模板2024
- 2023-2024学年重庆一中高高三第二次联考高三数学试题
- 2024年航空物流销售代表协议范本
- 2024进口商品订购协议模板集锦
- 2024年订餐服务详细协议样本
- 2024年化妆设备租赁协议条款
- 吊装设备及运输服务协议模板2024
- 创业合作伙伴股份转移协议范本
- 统编语文四年级上册第六单元教材解读及集体备课
- 2024年档案知识竞赛考试题库300题(含答案)
- (新版)婴幼儿发展引导员(高级)技能鉴定理论试题库资料(含答案)
- 民事案件卷宗目录封面11
- 2022年2022年古籍样式排版模板
- 艺术装饰艺术运动
- 樊登读书会营销策略分析
- 建设单位安全生产管理体系(完整版)
- 国潮风喜迎中秋节传统节日介绍主题班会PPT模板
- 幼儿园参观学校活动方案5篇
- 苏州大学实验报告专用纸
评论
0/150
提交评论