6位数字密码锁控制器.docx
- 文档编号:11708145
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:27
- 大小:240.14KB
6位数字密码锁控制器.docx
《6位数字密码锁控制器.docx》由会员分享,可在线阅读,更多相关《6位数字密码锁控制器.docx(27页珍藏版)》请在冰点文库上搜索。
6位数字密码锁控制器
得分:
_______
南京林业大学
研究生设计报告
2011~2012学年第一学期
课程名称:
微机控制与自动化
报告题目:
六位数字密码锁控制器
学号:
作者:
联系电话:
任课教师:
二○一一年十二月
六位数字密码锁控制器
一、设计目的:
随着社会的发展,单片机市场已经形成一个规格齐全、品种繁多的大家族,用户有非常大的选择余地。
单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有非常重要的用途。
本设计作为微机原理与自动化的课程作业,泥实现以下目的:
1.通过自主编程,以熟悉80c51单片机的控制及编程方法;
2.通过设计与编程,熟悉单片机与外设的连接方法;
3.通过使用protel绘画电路图,熟悉protel软件;
4.熟悉液晶显示器的使用方法。
二、设计实现的功能:
1.通过0~9十个数字键实现六位密码的设置,验证和修改,在密码输入错误时系统会自动报警,可按复位键重新输入密码。
2.通过LED七段数码管显示密码。
三、设计所需的芯片器材
ATMEL公司的AT89C51单片机,74LS273的8D锁存器,74LS244的8位三态缓冲器,LED显示器、按键若干。
四、总体方案设计
1.总体框图设计
选用AT89C51单片机,加上相应的按键、晶振、复位、显示电路,并进行各种软件的设计。
密码锁控制器的总体设计框图如图1所示。
2.显示控制方案
在构成多位LED显示时,点亮数码管的方式有静态显示和动态显示两种。
静态显示方式:
LED的静态显示是指当数码管显示某一字符时,相应段的发光二极管处于恒定地导通或截止状态,直到显示另一字符为止。
静态显示方式各位可独立显示。
由于各位分别由一个8位I/O接口控制段选码,故在同一时间里,每一位显示的字符可以各不相同。
这种显示方式接口,较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,便于监测和控制。
图1总体设计框图
动态显示方式:
LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。
对每位数码管来说,每隔一段时间点亮一次,如此循环。
利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人一同时显示的感觉。
在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。
在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。
不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。
但也不能太大,因为毕竟要受限制于临界闪烁频率,而且此时间越长,占用CPU时间也越多。
在这里我选用动态显示方案,74LS273作为LED显示器字段口,位选由AT89C51中P1.0~P1.5控制。
图2动态显示电路图
3.键盘控制方案
键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O接口线上,故只在按键数量不多时采用。
而行列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省I/O接口。
本设计选用独立式键盘。
图3独立式键盘电路图
4.软件总体设计方案
对于软件我的设计思路是:
要有键盘扫描子程序,按下的功能键和数字键的扫描后,送数字键处理程序、开锁程序、密码设定程序进行下一步动作。
并对功能键和复位键设置有效的标志以便于应用。
要有数字处理程序,以下是数字处理程序,将6位密码放入40H~45H单元,并调用显示子程序。
要有开锁程序,开锁程序首先判断密码是否为6位,如不是,重新扫描按键。
如是6位,将密码进行逐位比较,密码正确则开锁,密码错误报警并复位,重新设置密码。
要有密码设置程序,将6位密码写入M24C01中后锁死密码锁并调子程序显示密码。
要有显示子程序,当键入一个数值或符号时显示程序要把这个键入的数字或字符显示出来。
5.电路原理图
图4电路原理总图
五、硬件模块设计
1.AT89C51单片机的简介
AT89C51是MCS-51系列单片机的典型产品,我就这一代表性的机型进行系统的讲解。
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在分别加以说明:
中央处理器
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM)
AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
图5单片机内部结构示意图
程序存储器(ROM)
AT89C51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。
定时/计数器:
AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口:
AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
中断系统
AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
2.AT89C51单片机的引脚
AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的.AT89C51有40条引脚,与其他51系列单片机引脚是兼容的.这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分.AT89C51单片机为双列直插式封装结构,如图6(a)所示,主要性能如图6(b)所示。
(a)AT89C51引脚分配图(b)AT89C51主要特性
图6
AT89C51单机的电源线有以下两种:
(1)VCC:
+5V电源线。
电源线
(2)GND:
接地线。
AT89C51单片机的外接晶体引脚有以下两种:
(1)XTAL1:
片内振荡器反相放大器的输入端和内部时钟工作的输入端。
采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。
(2)XTAL2:
片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。
采用外部振荡器时,该引脚悬空。
外接晶体引脚。
控制线AT89C51单片机的控制线有以下几种:
(1)RST:
复位输入端,高电平有效。
(2)ALE/PROG:
地址锁存允许/编程线。
(3)PSEN:
外部程序存储器的读选通线。
(4)EA/Vpp:
片外ROM允许访问端/编程电源端。
3.AT89C51单片机复位方式
单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位.复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.
AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位.复位后,PC程序计数器的内容为0000H,片内RAM中内容不变.复位电路一般有上电复位、手动开关复位和自动复位电路3种,如图2.3所示.
(1)上电复位电路
(2)手动复位电路(3)自动复位电路
图7单片机复位电路
由于设计所需,我在这里选用手动式复位电路。
由外部扩展M24C01设定功能键控制手动式复位电路。
4.M24C01的功能
串行EEPROM用M24C01,本次设计中此芯片用来存放密码,并控制开锁确认键、复位键、密码设置键等功能键的控制。
引脚含义如下:
E0、E1、E2:
芯片的地址输入端。
SDA:
串行数据输入/输出端。
SCL:
串行时钟输入端。
WC:
写保护输入端,当该端为低电平时不允许向芯片写数据。
图8M24C01管脚图
5.74LS244的功能
74LS244是一种史密特触发的8位三态缓冲器,抗干扰性好。
在这里它被用作键盘控制。
它的引脚封装图如图2.5所示。
74LS244的主要性能如下:
三态输出驱动总线。
抑制噪声设计。
典型逻辑延时为10.5ns(输出状态不改变)/12ns(输出状态改变)。
快速使能为12ns.
在较低功耗下具有很强的驱动能力。
图974LS244管脚图
6.74LS273的功能
74LS273为8D锁存器。
当它的使能端信号有效且触发端信号有效时,输入D1~D8端的数据被锁存到8D触发器中并形成输出Q1~Q8。
74LS273的引脚封装如图10所示。
74LS273在这里作为LED显示器字段口。
图1074LS273管脚图
7.键盘接口工作原理
在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。
按键开关的去除抖动功能
目前,MCS—51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图11所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为5~10ms。
由于抖动,会造成被查询的开关状态无法准确读出。
例如,一次按键产生的正确开关状态,由于键的抖动,CPU多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。
为了保证CPU对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。
图11按键过程
独立式键盘的接口电路
独立式键盘的接口电路:
在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。
这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。
如图12所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。
这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。
故只在按键数量不多时采用这种按键电路。
在此电路中,按键输入都采用低电平有效。
上拉电阻保证了按键断开时,I/O接口线有确定的高电平。
当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。
图12独立式键盘电路
8.七段LED显示工作原理
数码管结构:
数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0~9、字符A~F及小数点“·”。
数码管的外形结构如图13(a)所示。
数码管又分为共阴极和共阳极两种结构,分别如图13(b)和图13(c)所示。
LED显示器是由发光二极管显示字段的MCS-51单片机输出设备。
单片机应用系统常采用七段LED数码管作为显示器,这种显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。
因此应用比较广泛。
LED数码管显示器可以分为共阴极和共阳极两种结构:
(a)外形结构(b)共阴极(c)共阳极
图13数码管结构图
在这里我选用共阴极结构。
共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。
通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
共阳极数码管的工作原理与共阴极的正好相反。
六、软件设计
1.主程序模块
程序初始化和按键控制,首先分别将数据单元进行初始化清0,然后将功能键和复位键原有标志清除,将密码读出单元初始化,并锁定报警器和密码锁,同时显示出提示符“P”,再调用扫描子程序,如此周而复始的循环,如图14所示.
图14主程序流程图
2.键盘扫描子程序模块
要有键盘扫描子程序,按下的功能键和数字键的扫描后,送数字键处理程序、开锁程序、密码设定程序进行下一步动作。
并对功能键和复位键设置有效的标志以便于应用。
图15键盘扫描子程序流程图
CHKEY:
CLRP2.5
MOVXA,@R0
CPLA
JZTZ1
LJMPKEY0
3.数字处理程序模块
要有数字处理程序,以下是数字处理程序,将6位密码放入40H~45H单元,并调用显示子程序。
图16数字处理程序流程图
CHECK:
INC47H
MOVA,47H
CJNEA,#07H,TRAN
DEC47H
LCALLDISPLAY
LJMPJAN
TRAN:
LCALLNEXT
LCALLDISPLAY
LCALLDISPLAY
LJMPCHKEY
4.开锁程序
要有开锁程序,开锁程序首先判断密码是否为6位,如不是,重新扫描按键。
如是6位,将密码进行逐位比较,密码正确则开锁,密码错误报警并复位,重新设置密码。
图17开锁程序流程图
OPEN:
MOVA,47H
CJNEA,#06H,JCHECK
LJMPCMP
JHECK:
LCALLDISPLAY
LJMPCHKEY
CMP:
MOVR0,#35H
MOVR2,#06H
MOVR1,#45H
C1:
MOVA,@R1
XRLA,@R0
JNZC3
DECR1
5.密码设置程序
要有密码设置程序,将6位密码写入M24C01中后锁死密码锁并调用显示子程序显示密码。
图18密码设置程序流程图
EPASS:
MOVA,47H
CJNEA,#06H,ERR
LCALLWRITE
SETBP1.7
LCALLDISPLAY
LJMPPED
ERR:
SETB21H
PED:
RET
6.总的汇编程序
BiaozhiEQU46H
OGR0000H
JMPMAIN
OGR0030H
MAIN:
MOVBiaozhi,#00H
MOVR0,#30H
MOVR3,#00H
MM0:
MOVP2,#0FFH
MOVA,p2
CJNEA,#0FEH,MM0
MOV47H,A
CALLDELAY
MOVA,P2
CJNEA,47H,MM0
LCALLanjianshifang
MM2:
LCALLKEY
JNCMM2
LCALLKEYPD
LCALLanjianshifang
MOVA,#0AAH,MM2
LCALLPDZHI
LJMPMAIN
KEY:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0FFH,M0
M1:
CLRC
RET
M0:
MOVA,P2
MOV47H,A
LCALLDELAY
MOVA,P2
CJNEA,47H,M1
SETBC
RET
KEYPD:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0FEH,RR1
INCR0
MOV@R0,#0AH
MOVBiaozhi,#0AAH
LCALLDISPLAY
RET
RR1:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0FDH,RR2
INCR0
INCR3
MOV@R0,#02H
LCALLDISPLAY
RET
RR2:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0FBH,RR3
INCR0
INCR3
MOV@R0,#03H
LCALLDISPLAY
RET
RR3:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0F7H,RR4
INCR0
INCR3
MOV@R0,#04H
LCALLDISPLAY
RET
RR4:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0FEH,RR5
INCR0
INCR3
MOV@R0,#05H
LCALLDISPLAY
RR5:
MOVP2,#0FFH
MOVA,P2
CJNEA,#0FEH,RR6
INCR0
INCR3
MOV@R0,#06
LCALLDISPLAY
RR6:
RET
PDZHI:
MOV48H,R3
MOVA,R3
CJNEA,#40H,K2
MOVDPTR,#SHU1
LCALLXHPD
LCALLDISPLAY
K2:
MOVA,R3
CJNEA,#41H,K3
LCALLXHPD
LCALLDISPLAY
K3:
MOVA,R3
CJNEA,#42H,K4
LCALLXHPD
LCALLDISPLAY
K4:
MOVA,R3
CJNEA,#43H,k5
LCALLXHPD
LCALLDISPLAY
K5:
MOVA,R3
CJNEA,#44H,K6
LCALLXHPD
LCALLDISPLAY
K6:
MOVA,R3
CJNEA,#45H,K7
LCALLXHPD
LCALLDISPLAY
K7:
RET
XHPD:
MOVR4,#00H
MOVR0,#31H
HH1:
MOVA,R4
MOV48H,@R0
MOVCA,@A+DPTR
CJNEA,48H,HHH
INCR4
INCR0
DJNZ47H,HH1
SETBC
RET
HHH:
CLRC
RET
Anjianshifang:
U1:
MOVA,P2
CJNEA,#0FFH,U1
RET
DISPLAY:
MOVR5,#20H
MOVR6,#01H
MOVDPTR,#TAB
L1:
MOVA,@R5
MOVCA,@A+DPTR
MOVP0,A
MOVP1,R6
LCALLDEALY
INCR5
MOVA,R6
JBACC.5,L2
MOVR6,A
SJMPL1
L2:
SJMPL1
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH,77H,7CH
DB39H,5EH,79H,71H,00H,01H
DEALY:
MOVR7,#05
LL2:
MOVR8,@200
LL1:
DJNZR8,LL1
DJNZR7,LL2
RET
SHU1:
DB02H,40H
SHU2:
DB07H,05H,41H
SHU3:
DB07H,04H,02H,42H
SHU4:
DB06HH,05H,04H,02H,43H
SHU5:
DB06H,06H,03H,01H,07H,44H
SHU6:
DB03H,04H,02H,01H,07H,05H,45H
七、小结
本论文设计是以ATMEL公司开发的型号为AT89C51单片机为核心的密码锁控制器,属于MCS-51系列8位单片机,目前此类单片机在国内获得广泛的应用。
本设计主要做了以下几方面的工作:
1.在选择扩展模块时,针对单片机是8位的,故选择了型号为74LS273的8D锁存器和型号为74LS244的8位三态缓冲器,用来减小键盘按键因抖动而造成的误差。
2.在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,故本设计采用的是独立式键盘接口电路。
3.LED显示器是由发光二极管显示字段的MCS-51单片机输出设备,因为对每位数码管来说,每隔一段时间点亮一次,如此循环。
利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人一同时显示的感觉,故本设计选用LED动态显示。
4.在软件设计方面,首先是对主程序模块的设计,其次是对键盘扫描子程序模块、数字处理程序模块、开锁程序模块、密码设置模块的设计。
本设计中的密码锁具有系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。
在这次课程设计的过程中我学到了不少专业知识。
本设计综合了我在微机原理与自动化课程上所学的大部分,使我所学知识得到更进一步的升华。
许多新知识也是在这次设计中学到的,这次设计挖掘了我的潜能,锻炼了我的组织能力。
在此,感谢陈老师这一学期的谆谆教导。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 密码锁 控制器
![提示](https://static.bingdoc.com/images/bang_tan.gif)