6位数字密码锁控制器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
得分:_______ 南京林业大学
研究生设计报告
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 动态显示电路图 AT89C51 最 小 应 用 系
统 按键电路
晶振电路
复位电路 LE D 动 态 显 示
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)所示。