可修改密码的多功能自动门控制器_第1页
可修改密码的多功能自动门控制器_第2页
可修改密码的多功能自动门控制器_第3页
可修改密码的多功能自动门控制器_第4页
可修改密码的多功能自动门控制器_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可修改密码的多功能自动门控制器农业电气化与自动化 xxx指导教师:xxx1.绪 论2.总体设计 2.1总体设计概述2.2 系统主要功能3.控制器的具体实现3.1硬件电路3.1.1 单片机模块 电源模块 键盘部分3.1.4 LED显示灯和蜂鸣器部分3.1.5 继电器部分3.2 软件设计 主程序模块 中断处理模块键盘控制模块 密码处理模块功能选择模块密码修改模块4.系统调试.4.1 功能解释:4.2 测试内容4.3 测试工具4.4 测试过程及结果 硬件部分测试 软件测试部分5.总结参考文献:致谢:附录1:实物图附录2: 程序附录3: 原理图 AUTODOOR.SCH附录4: 印制板图 AUTODO

2、OR.PCB可修改密码的多功能自动门控制器农业电气化与自动化 xxx指导教师:xxx摘 要:本文介绍了SM5964单片机的性能特点和以它为核心的自动门控制系统的工作原理、硬件结构和软件设计,特别介绍了SM5964单片机的ISP功能。利用ISP功能,可对单片机的FLASH存储器进行操作,重新设置密码。本控制器采用12 只外接的按钮开关组成密码输入键盘,完成对单片机上的相应I/O口的操作,分别控制“风幕”电机、“自动门”电机和“出错报警”等外围电路,充分发挥了单片机的性能。其优点是硬件电路简单,软件功能完善,控制系统可靠等,具有一定的实用和参考价值。关键字:单片机; 自动门控制; 密码修改; IS

3、PThe Multifunction Automatic Door Controller of May Revise the PasswordTang AnlinAbstract: In this paper, the characters of SM5964 are introduced, the work principle, hardware structure and the design of the software of the Automatic Door Controller based on the MCU also are described. Especially th

4、e ISP function of SM5964 is emphasized. By the ISP function, we can manipulate the FLASH memory of the MCU, and reset the password. The password input keyboard of this controller is made up of 12 peripheral push-button switches. Manipulate the I/O mouth of the MCU, separately controls the electrical

5、 machinery of "the wind curtain" , the electrical machinery of "the automatic door" and the "makes a mistake reports to the police" periphery electric circuit, it has fully displayed the performance of the MCU. Its merit is that the hardware electric circuit is simple,

6、software function is perfect, and the control system is reliable and so on. Certainly it has some practical and reference value.Key word: MCU; automatic door controller; password modification; ISP1绪 论随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的自动门系统就是其中之一。同时也标志了自动控制领域成为了数字化时代的一员。它实用性

7、强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化操作功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。但是,作为智能控制系统,简单的密码输入,控制发动机开门的自动门,其应用受到一定的限制,特别是对于高度机密的地方,密码应定期做修

8、改,不同使用者有权更换控制密码。基于现在市面上的密码自动门控制器都是不可通过键盘输入修改密码,只能通过修改硬件电路(如通过固化连线来确定该自动门密码),或是电路制作完成后,通过改变软件来改变密码,但由于硬件电路的限制,多数只能改变密码输入顺序,实际密码的内容不能改变,这样就造成了当密码位数较少时,可以利用报警信号等,进行密码的猜测,使安全性、应用领域等都受到了限制,基于以上对市面上的实际产品进行分析,本人设计了一款可修改密码的自动门控制器,以下将介绍以SM5964单片机为核心的智能密码锁,详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程。1,22总体设计 2.1总体设计概述本设计

9、主要分单片机、电源、键盘、LED显示灯、继电器五个大块,采用SM5964单片机作为控制核心,由P0口发出扫描信号,P2口接收键盘扫描码,读取键盘状态,P1口作为输出信号口,控制LED灯的点亮、熄灭,蜂鸣器的发声,以及继电器的通断,继而控制外围设备发动机的转动,以带动“风幕”、“开门”、“关门”装置,实现自动门的控制。2.2 系统主要功能(1)系统采用上电自动复位。(2)系统采用5V电源供电。(3)本电路的密码键盘共有12 位按键,其中密码由09中的任意数字组合,共6位。另有两位用于“清零”和“确定”的按键。(4)在密码输入时,同时具有“数字、排列顺序、位数”的三重要求,任意一个要求不满足,都不

10、能将自动门开启。本系统所设置的初始密码是1 2 3 4 5 6 ,系统将给控制者3次机会,若3次密码均输入错误,系统将自动出错报警,5秒后,系统自动解除报警,回到初始密码等待接收的正常工作状态。且输入一次错误密码,系统都将用一短音提示一次。 (5)若能正确输入全部密码,则电路进入功能选择阶段。此时的键盘被赋予了新的意义。1开门、2关门、3密码修改、0退出;(6)开门阶段,系统将首先控制“风幕”的先行开启(注:“风幕”就是将一台风机的出风口安装在门口上方。当其运行时,垂直向下吹风,让风在门的出入口处形成一个“风帘”,用于防止人员出入开门时,自然界的潮湿空气进入和室内温度与自然环境温度进行交换,通

11、常是将其安装在坑道、洞库等对温湿度有较严格要求场合的门口),经过5秒的延时,使“风幕帘”稳定形成后,自动门才被开启3。关门阶段,系统先控制发动机关门,而“风幕”要再运转5秒,实现“延期关闭”。每次进行完一项功能命令,整个电路将自动恢复到功能选择阶段,可进行其它操作,直到按下0退出键为止,回到加电时的等待密码输入控制状态,准备再次对输入的密码进行判别。(7)密码修改阶段,用户可重新设置6位的新密码,用户确定后,若新密码符合位数,数字规范,系统将接收新密码,同时熄灭所有提示灯,重新回到初始上电状态,此时用户可输入新的密码以待验证。(8)当本电路处于“启动风幕”开启自动门和出错报警状态,以及密码修改

12、阶段,功能选择阶段,均在电路板上通过点亮相应的发光二极管给予指示。4,53控制器的具体实现3.1硬件电路该控制器硬件电路,考虑了其可实现性、合理性、经济性、实用性等因素,采用单片机SM5964作为控制核心,外接5V的电源为整个系统供电,通过外接的键盘不同的输入操作,单片机系统识别,作出相应的反应,控制继电器开关,接通外部发动机运转,并用相应的I/O口控制外部LED灯显示和蜂鸣器的鸣叫6。具体实现框图见图1。单片机键盘输入LED显示和蜂鸣器鸣叫继电器输出电源图1 控制器总体实现硬件框图311 单片机模块SM5964作为本电路的核心,其特殊的ISP功能是本设计的一大特色,这也是本人选择这款单片机的

13、原因。与传统的51系列单片机相比,SM5964是一种内嵌64KB 闪存和1K字节RAM 的8 位单片微控制器,具有在系统可编程(ISP)功能,其PDIP 封装具有32 个I/O 口,而PLCC/QFP封装则具有多达36 个I/O 口,64K 字节的闪存既可以当作程序空间,又可以当作数据空间或者数据和程序混合空间,掉电后,数据不会丢失。其硬件特征和强大的指令系统,使它成为一种性能价格比高的控制器。下面首先详细介绍ISP寄存器及其功能。(1) ISP 寄存器7ISP主要有以下几个寄存器,分别对其编程,就可以实现对闪存地擦除和编写,现将各寄存器的内容介绍如下:ISP Registers - ISPF

14、AH, ISPFAL, ISPFD and ISPC ISP Flash Address-High Register (ISPFAH, $F4)表1 FLASH高位地址寄存器ISP Flash Address-Low Register (ISPFAL, $F5)表2 FLASH低位地址寄存器ISPFAH & ISPFAL为ISP 功能提供16 位的FLASH 地址,FLASH 存储器地址不包括ISP 服务程序地址空间。如果FLASH 操作的地址空间与ISP 服务程序的地址空间重叠,则相应的FLASH 编程/页擦除操作不会执行。 ISP Flash Data Register (ISPF

15、D,$F,FLASH 数据寄存器)表3 FLASH数据寄存器ISPFD 寄存器为ISP 功能提供8 位数据 ISP Flash Control Register (ISPC, $F7,ISP FLASH 控制寄存器)表4 FLASH控制寄存器The START bit is read-only by default, software must write three specific values 55H, AAH and 55H sequentially to the ISPFD register to enable the START bit write attribute. That

16、is:MOV ISPFD, #55HMOV ISPFD, #AAHMOV ISPFD, #55HAny attempt to set START bit will not be allowed without the procedure above.START 位被置1后SM5964 内部硬件电路会锁存地址和数据总线。且保持住PC指针,直到START 位置0时,ISP功能完成。用户不必对START 位的状态进行软件查询。表5 ISP功能选择位FLASH 存储器的一页为512 字节。在执行字节编程/页擦除的ISP 功能以前,首先需要指定FLASH 地址。执行页擦除时,SM5964 会整个擦除由I

17、SPFAH 和SPFAL 所指定的页。例如FLASH 地址XYMNH,页擦除指令会擦除从XY00H X(Y+1)FFH(Y 偶数)或页擦除指令会擦除从X(Y-1)00H XYFFH(Y:奇数)执行片擦除操作时,擦除掉除ISP 服务程序以外的所有FLASH 存储空间,且芯片也会自动失去保护功能。执行ISP 的保护功能以后,FLASH 存储器读出的数据全部是00H。例如ISP服务程序执行字节编程,在地址1005H写入数据22H:MOV SCONF,#04H ;使能ISP 编程功能 MOV ISPFAH,#10H ;设置FLASH 高位地址寄存器的值为10HMOV ISPFAL,#05H ;设置FL

18、ASH 低位地址寄存器的值为05HMOV ISPFD,#22H ;设置FLASH 数据寄存器的值为22HMOV ISPC,#80H ;设置FLASH 控制寄存器的值为80H 启动ISP 编程功能编程完毕以后START 位被自动置0,PC 指针指向下一条指令。 ISP Registers - System Control Register (SCONF,$BF,系统控制寄存器)表6 系统控制寄存器SCONF 的位2(ISPE)是ISP 功能的使能位,位置1 使能ISP 功能,置0禁止ISP 功能。ISPE 位就象一把安全锁,以防止由于软件设计失误而造成的芯片擦除操作。(2)单片机模块电路设计SM

19、5964为本电路的核心,接5V电源,用于系统供电。其32个I/O口中的P0.0 P0.2通过反相器与矩阵键盘的行线相连, P2.0P2.3口直接与矩阵键盘的列线相连,四条列线通过一个四输入与门接外部中断0口,它们一起作为6个密码输入口使用,并且通过一只上拉电阻与电源相连。XTAL1和XTAL2与晶振电路相连,为单片机系统提供11.0592的晶振。P1.0P1.2作为3个指示输出口使用,各通过一只限流电阻接发光二极管。分别用于提示控制者“密码正确”、“功能选择”、“修改密码”状态的指示,并一起用于“出错报警”时的指示。P1.3口通过一只限流电阻和三极管放大器与蜂鸣器相连,起提示和出错报警的功能。

20、P1.4P1.6作为输出控制口,分别通过一只限流电阻和三极管放大器驱动J1J3放大器,以适时完成“风幕”、“自动门”开门、“自动门”关门功能。另外RET口接复位电路,完成系统上电自动复位。其余I/O口则空闲不用。电路原理图见图2。 图2 单片机接口图 电源模块电路图见图3。通过9V电源插座,引入9V电源,通过整流桥整流,接到三端7805上,7805稳压输出5V电压8。图3 电源原理图 键盘部分 在设计键盘时,经过参考了大量资料,其设计形式主要分以下两种9,10: (1)按键固定键盘 其设计形式见图4。图4 按件固定键盘该设计思想是配合应用程序,将密码分为“有效密码”和“保护密码”,用一个I/O

21、口对地之间并联接5只按钮开关,作为“保护密码”输入口,而分别用5个I/O口分别对地接5只按钮开关,形成“有效密码”输入口。按图3.1 所示接法,当密码开关0 9 中的任意一个按下时,都会使P1.0 P1.5口中相对应的某一个被接至低电平,通过与软件配合,即可完成相应的密码输入功能。显然通过调整密码开关的连线,改变P1.0 P1.5口与各密码开关的对应关系也可以改变本电路的“有效密码”和“保护密码”,这属于通过硬件调整改变密码。一般情况下,电路制作完成后,通过软件调整更改密码更为方便3。特点:硬件电路简单,软件实现也较为容易,但密码位数太少,且硬件一旦形成,就不能修改密码,即使通过软件修改,也只

22、能使密码的顺序重新组合,而不能改变密码内容,这样就使来访者对密码的猜测得到可能,系统安全性不高,一旦有了新的使用者,也只能用以前的密码,使用局限性较大。(2)行列式键盘其硬件电路见图5。行列式键盘电路原理如图3.2所示,每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。键盘中有

23、无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。当确认有按键按下后,下一步就要识别哪一个按键按下。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。 图5 行列式键盘特点: 键盘可扩展性大,可设置任意位数的密码,只需将键码扫描进内存中即可。且每位密码都可以使用09种的任何一位,安全性高,使用面广,给程序设计带来了很大的空间。 通过对两种键盘的分析,结合自身对密码自动门控制器的设计要求,本人选择第二种方法设计键盘部分的电路图,单片机的P2.0P2.0口分别通过一个反向器接键盘的的C1、C2、C3三条行线上。P0.0P0.3分别接键盘的四条列线,并且四条列线一起通过一个四输

24、入与门接到单片机的外部中断0入口,即P3.2口。其具体电路图见图6。 图6 键盘设计部分 LED显示灯和蜂鸣器部分 其电路见图711。三个发光二极管分别接三只限流电阻上拉至高电平。单片机的信号通过一只限流电阻接到三极管的基极,集电极接至蜂鸣器,三极管在这里起着开关的作用,当p13口给一个高电平时,三极管就会导通,蜂鸣器就接通鸣叫。 图7 LED显示和蜂鸣器输出电路 继电器部分 电路图见图812。考虑到外围器件连接的可变性和可展示性,将3个继电器接到6P插座上,方便接入外围设备。 图8 继电器输出电路3.2 软件设计根据硬件电路,和设计所要达到的功能,软件设计采用以下思路:当单片机上电复位后,开

25、始进行初始化,从闪存固定地址中将密码调到将被操作的地址暂存起来,然后等待中断,当有键按下时,产生中断,进行键盘扫描,判是否有键按下,有键按下时判断是什么键,把键码存到指定地址中,当判断出输入的是“ENTER”键时,判断密码“位数”、“数字”、密码输入“次数”(报警前均有3次机会)是否正确。正确,则单片机就会给相应的发光二极管一个低电平,使它发光指示密码输入正确,进入功能选择阶段。否则单片机会给蜂鸣器一个低电平使它报警,它会在响秒后自动停住,三次都输入错误,则系统报警,所有LED灯点亮,闪烁。进入功能选择阶段后,就可以用数字键盘1、2、3分别控制“开门”(开门前先启动“风幕”、“关门”、“修改密

26、码”操作。当你的密码被别人知后,你可以在第一时间修改你的密码。程序是由主程序和各模块程序合成整个流程图。从键盘输入到锁开或报警都是由单片机控制,所以说单片是整个系统的核心,它控制整个电路的运行。 主程序模块主程序模块主要完成初始化程序,等待外部中断0的响应。其主程序流程图见图9。初始化程序等待中断开始图9 主程序流程图 中断处理模块 当键盘上有键闭合时,产生外部中断请求,转入外部中断0入口,开始扫描键盘,将扫描到键号写入堆栈保护,程序根据目前33H(=1,进入“功能键选择”模块)、34H(=1,进入“密码修改模块”)地址中的值,转到相应模块中执行响应程序。具体流程图见图10。外部中断0入口键盘

27、扫描功能键选择处理密码修改密码33H=134H=1图10 外部中断0处理流程图键盘控制模块 (1)键盘扫描方式键盘扫描主要有两种方式:定时扫描控制方式和中断扫描方式13,14定时扫描控制方式的主要优点是:能及时响应键入的命令或数据,便于操作员对正在执行的程序进行干预。但是这种控制方式,不管键盘上有无键闭和,CPU总是定时关心键盘状态,而人工键入动作极慢,所以大多数情况下,CPU对键盘进行空扫描。且CPU一直被占用,当有其它操作时,CPU无法响应,为了进一步提高CPU的使用效率,该控制器采用中断方式,当键盘上有键闭合时,产生中断请求,CPU响应中断,执行中断服务程序,作响应的处理。(2) 键盘扫

28、描程序 键盘扫描一般有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法14。行扫描法 通过行线发出低电平信号, 如果该行线所连接的键没有按下的话, 则列线所接的端口得到的是全“1”信号, 如果有键按下的话, 则得到非全“1”信号。 为了防止双键或多键同时按下, 往往从第 0 行一直扫描到最后 1 行, 若只发现 1 个闭合键, 则为有效键, 否则全部作废。 找到闭合键后, 读入相应的键值, 再转至相应的键处理程序。线反转法 线反转法也是识别闭合键的一种常用方法, 该法比行扫描速度快, 但在硬件上要求行线与列线外接上拉电阻。先将行线作为输出线,列线作为输入线, 行线输出全“0”信

29、号, 读入列线的值, 然后将行线和列线的输入输出关系互换, 并且将刚才读到的列线值从列线所接的端口输出, 再读取行线的输入值。那么在闭合键所在的行线上值必为 0。这样, 当一个键被按下时, 必定可读到一对唯一的行列值。两种方法的电路图见图11。由于两种方法各有可取之处,本设计种选择行扫描法进行键盘扫描。在键盘扫描子程序中需完成下述几个功能。(1)判断键盘上有无键按下。(2)去键的机械抖动影响。每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为520ms。所谓去抖动是指在识别被按键和释放键时必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。 (

30、3)求按下键的键号。 (4)键闭合一次仅进行一次键功能操作。线反转法 行扫描法 图11 线反转法和行扫描法的电路原理图因此,键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。具体实现:检查是否有键按下,其方法是:输出扫描码,使所有行线为0。然后读入列线状态,检查是否有列线为0。若有,则表明有行线和列线接通,意味意有键按下。去抖动:当有键按下时,延时20ms左右,待抖动消失后,在稳定状态下进行被按键识别。被按键识别:从第0行第0列开始,顺序对所有按键编号。通过逐行扫描确定被按键的编号。产生键码:根据扫描得到的键行号加列号的方法,获得与被按键功能对应的键码。键盘扫描框图见图12,具体

31、扫描程序见附录1。调用子程序延时6ms进入中断有键闭合否?有键闭合否?判断闭合键键号 栈闭合键释放否?输入键号 A处理程序N NNYYY中断返回图12 键输入程序框图 密码处理模块密码处理模块是,当判断有键按下后,识别所按下的是什么键。判断时,若按下的是数字键,则先将“键码”(由键盘扫描时按照行、列的规则定义)放到指定内存中暂存起来,直到判断出按下了“enter”键,再判断密码“位数”(6位)是否正确,正确,才转为判断密码的数字是否正确。判断时,将刚才放到指定位置暂存的密码的“键码”与初始化时从闪存中调出的原始密码进行比较、判定。若6位密码均输入正确,则进入“功能选择”阶段,可对系统进行开门等

32、操作。否则作为密码输入错误处理,3次就作“报警”处理。若是“clear”键,则密码个数寄存器中的内容清0,系统等待重新输入所有密码。具体流程图见图13。其密码接收、判别是否正确的设计程序见附录1。 Clear? Enter? 计数器正确?密码正确?点亮灯1,进入功能选择状态密码输入个数计数器值清0密码输入个数计数器值加1,键值存入缓存出错报警R7减1,喇叭响 R7=0?Y跳出中断YYYYNNNNN密码处理图13 密码处理流程图功能选择模块当用户密码输入正确后,就获得了进入“功能选择”阶段的权限。这部分主要完成3个功能命令的操作。这时的输入键盘被赋予了新的意义。(1-开门;2-关门;3-密码修改

33、 ;clear-清楚 ;0-退出)。选择任意一个键,均会点亮相应的LED灯作为指示。并且相关I/O口都会输出低电平,使不同的继电器闭合,控制发电机正、反转,即起到“风幕”、“开门”、“关门”的作用。“密码修改”将单独列出,见。流程图见图14。这部分设计的软件实现见附录1。1开门?3密码修改?2关门?出错报警0退出?Clear?点亮灯2开门点亮灯2关门点亮灯3进入密码修改状态NNNNNYYYYY返回主程序main功能选择模块退出中断图14 功能选择流程图3.2.6密码修改模块在功能选择阶段,有一个功能是密码修改,该部分是本电路的一个特色,也是难点,尤其是对单片机SM5964的ISP功能的应用。这

34、部分详细设计思路流程图见图15。其程序见附录1。Clear?计数器加1键值存缓存退出中断符合规范?Enter?60-65H清0,计数清0,返回主程序mainNNNYYY60-65H内容清0,计数清0退出中断保存密码,返回主程序main修改密码图15 密码修改流程图4 系统调试.4.1 功能解释:(1) 键盘扫描(2) 密码验证(3) 功能控制(4) 密码修改4.2 测试内容(1) 硬件部分电源部分键盘部分SM5964单片机部分(2) 软件部分键盘扫描程序密码验证程序延时程序报警程序密码修改程序(3) 总体测试4.3 测试工具万用表、示波器、Keil uVision34.4 测试过程及结果 硬件

35、部分测试(1) 目测,观测各个器件是否焊接正确。用万用表测试各个器件各个端点是否短路。(2) 电源部分测试见表7:表7 电源测试测试点测试工具测试环境测试内容结果电源插座JB1正负极万用表断电状态是否短路不短路,说明接入电源连接正确网络标号为VCC的各点,见附录3 万用表断电状态是否短路短路,说明各个器件供电正常网络标号为GND的各点,见附录3 万用表断电状态是否短路短路,说明各个器件接地正常整块电路板手接通电源 是否有器件发烫没发烫,说明无短路器件7805输入端电压万用表接通电源是否为9V12V(误差范围为5%)10.2V,说明输入电压正常7805输出端电压万用表接通电源是否为5V±

36、;0.5%5.02V 说明各个器件供电正确(3) 键盘部分测试:断电状态下,用万用表测试每个按键的两个引脚是否短路,不短路说明按键正常,依次按下按键,用万用表测试对应的按键两个引脚是否短路,短路说明按键正常。(4) SM5964部分测试通电状态下,用示波器测试晶振频率是否为11.0592MHZ,测试结果表明晶振频率正确。说明单片机工作正常。 软件测试部分(1) 键盘扫描程序测试程序只实现键盘扫描功能,用灯1来显示扫描状态。流程图见图16。 图16 键盘扫描流程图测试程序代码见附录1。在Keil uVision3仿真程序正确,把程序烧入单片机后能上电观测灯1,按下任意一个键时灯亮,松开按下的键灯

37、熄灭,结果完全正确,说明键盘扫描程序通过测试。(2) 密码验证程序该测试程序中除去键盘扫描程序外,加入密码验证程序,用灯1和灯2 来显示程序运行情况。输入的密码存在40H-45H地址里。有三次输入密码的机会。测试流程图见图17:图17 密码验证测试程序流程图测试程序代码详见附件1。通过仿真正确后,将程序烧入单片机,接入电路,上电后,输入正确的密码和输入错误的密码后,灯1和灯2按测试要求点亮和熄灭,说明密码验证程序正确。(3) 报警程序把密码程序作一点修改,使密码错误是跳到报警程序,报警程序驱动蜂鸣器发声,使三盏灯闪烁。测试程序代码详见附件1。程序仿真无错误后烧入单片机,接入电路,三次输入密码错

38、误后,进入了报警状态,灯和蜂鸣器按照预定状态响应。说明报警程序没有错误。(4) 密码修改程序密码修改程序是采用了对SM5964内部的flash进行操作来实现的,直接测试完整程序就可以观测密码修改程序是否正确。在仿真无错误的情况下,烧入完整程序,接入电路后,测试密码修改程序,完全正确。5. 总结通过对硬件各模块和程序各部分的测试与修改,结果均达到本设计的要求,测试完成后,将完整程序用编程器烧入单片机中,逐一按本设计的功能要求来操作,经过反复的检查,测试,调整,验证,最终本控制器实现了本设计的目标。特别是ISP功能的运用,它既是本设计的难点,也是本设计与一般的密码自动门控制器的不同之处。但是在设计

39、过程中,由于时间的仓促和实验条件等因素的限制,本次设计还是留下了诸多遗憾的地方,和不足之处。比如,在设计键盘时,用数字键同时用作密码的输入和功能的选择两个作用,不够方便,如果加上F、F2、F3三个用于功能选择的按键,会更符合实际的需要,和现代人的习惯。再就是设计还不够人性化,如果加上语音的提示功能,可能会更有生命力。15,16参考文献:1 董继成. 能防止多次试探密码的单片机密码锁J. 国外电子原器件,2004,No.03:19-21. 2 王宽仁. 可靠安全的智能密码锁J. 电子技术应用,2001,Vol.27 No.2:14-16. 3 张继辉,张婧. 多功能密码自动门控制器J. 电子世界

40、,2004,No.05:29-30.4 石文轩, 宋薇. 基于单片机MCS-51的智能密码锁设计J. 武汉工程职业技术学报,2004,Vol.16 No.4: 31-35. 5 John V.Oldfleld and Richard C.Dorf," Field Programmable Gate Arrays," John & Wiley & Sons.Inc.,1995.6 丁朋林. 高档自动门控制系统的设计和实现学位论文. 天津,天津大学,2004.8 李俊,楼顺天. 自动门控制系统电源设计J. 电子科技,2005,No.2:5-8.9 李广军. 实用

41、接口技术M. 成都,电子科技大学出版社,1998.10 胡健. 单片机原理及接口技术M. 北京,机械工业出版社,2005.11 郭海英. 基于单片机的电子安全密码锁的设计J. 现代电子技术,2005,Vol.28 No.13:95-97. 12 徐斌. 基于AT89C52的低价电子密码锁会议论文. 北京,中国微计算机学会第十三届年会2002年嵌入式系统及应用研讨会,2002.13 刘乐善. 微型计算机接口技术及应用M. 华中理工大学出版社,2000.14 张友德,赵志英,涂时亮. 单片微型机原理、应用与实验M. 上海,复旦大学出版社,2004.15 刘志刚,丁朋林,郝长海等. 自动门控制系统J

42、. 电子测量技术,2005 No.6:P8687.16 张丹平 宾馆电子锁及其报警的多机控制系统设计J. 职大学报,2001,No.4:57-58,72.致谢:整过大学生活也以毕业设计的结束而画上了句号。四年的大学学习和生活使我完善了人生观和世界观,增加了对社会和人生的了解,积累了大量的知识,为将来的生存和发展提供了良好的基础。在这里要感谢多年来向我传道受业解惑的老师,没有你们的辛勤工作我就不会有能力去面对挑战。特别是我的指导老师xxx的指导和建议,并为我们提供了实验室和各种实验设备、工具等,使毕业论文能顺利完成。在毕业设计期间得到了电子科技大学钱光弟教授的关心,以及北斗电子公司的支持,它为我

43、提供了工作环境和必须的工具,在这里特别感谢。再就是和我相处4年的同学,没有他们的关心和帮助,我不可能很快适应大学生活,大家互相学习才会有今天的成绩。还有我的家人,他们对我寄予了很高的希望,是我最大的精神动力,感谢他们对我的教诲与培养,是他们的支持陪我一步步走到了今天。也要感谢网上那些发表相关帖子的网友们,他们发表的文章给我很大的帮助。附录1:实物图附录2: 程序附录3: 原理图 AUTODOOR.SCH附录4: 印制板图 AUTODOOR.PCB附录1:实物图附录2:程序 ;“基于SM5964单片机的多功能密码自动门控制器” ; ( 晶体=11.0592MHz ) ; ISPFAHEQU0F4

44、H ISPFALEQU 0F5HISPFD EQU 0F6HISPCEQU 0F7HSCONF EQU 0BFH; ORG 0000H LJMP MAIN ORG 0003HJMPINT00ORG 000BH LJMP TMIN ORG 0030HMAIN: MOV SP , 70H MOV TMOD , #01H ;定时器T0工作于方式1,即为16位的定时器 MOV TCON , #0;禁止T0计数MOV TH0 , #04CH ;定时时间为5妙钟 MOV TL0 , #00H SETB EA ;开所有中断 SETB ET0 ;开T0中断SETBEX0;允许外部中断0 MOV R6 , #0

45、0H ;密码个数计数器MOV R7 , #03H ;密码输入次数计数器MOV DPTR , #MIMA ;设置初始密码MOV R0 , #50HMOV A , #00HMOV R4 , #06H LOOP:MOVC A , A+DPTR MOV R0 , A INC DPTRINC R0MOV A,#00HDJNZ R4 , LOOP MOV 30H , #00H ;CLEAR键键号送30H单元 MOV 31H , #02H ;ENTER键键号送31H单元MOV R0 , #40H ;将要接收密码键号初始位置MOV R1 , #50H ;初始密码首位位置MOVR6,#00HCLR 33H ;判

46、断是否进入功能选择阶段字节CLR 34H ;判断是否进入密码修改阶段字节 MOV P1,#0FFH WAIT:AJMP$ ; ;外部中断0 INT00:CLREX0 ; ;密码扫描 STA: ACALL KEY1 ;调用判断有无键闭合子程序 JZ QUIT0 LK1: ACALL DDR ;延迟6ms ACALL KEY1 ;再次判断有无键闭合 JNZ LK2 QUIT0: LJMP QUIT LK2: CLR P1.3MOV R2 , #01H ;扫描模式 MOV R4 , #00H LK3: MOV A , R2 ;扫描模式到P0口 MOV P0 , A MOV A , P2 ;读P2口,列线状态JB ACC.0,LON ;转判下一列,即第1列 MOV A , #00H ;0列有键闭合,首键号0送A AJMP LKP LON: JB ACC.1 , LTWO ;转判第2列 MOV A , #03H ;1列有键闭合,首键号3送A AJMP LKP LTWO: JB ACC.2 , LTHR ;转判第3列 MOV A , #06H ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论