目录
基于单片机的密码锁系统 3
一、选题背景 3
二、方案论证(设计理念) 3
1.键盘扫描 3
2.中断处理 4
3.显示指示器 4
4.蜂鸣器 4
三、过程论述 5
(一)分立模块的设计 5
(二)综合模块的设计 20
四、结果分析 36
五、课程设计总结 39
1、心得体会 39
2、关于《微机系统与接口》课程建议 40
3、自我评价 40
参考文献 41
基于单片机的密码锁系统
一、选题背景
随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。电子锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。
基于这种情况,本课题在于设计一个程序,利用单片机实现通过按下按键,数码管会显示出相应按键所代表的键值,只有当你输入的键值符合要求时,才能进行下一道程序,否则,将提示错误信息。
通过设计任务,把所学的理论与实际相联系,加深、巩固“单片机”课程所学的知识并学会综合、灵活地运用,培养、训练单片机开发、应用的基本技能。
二、方案论证(设计理念)
1.键盘扫描
(1)矩阵键盘的介绍
单片机中的矩阵键盘是由51芯片中的P2端口所拉出来的8根引线组成的,其中P2.0~P2.3作为行线,P2.4~P2.7作为列线。在行线和列线的每个交叉点上设置一个按键,这样键盘上按键的个数就为4×4个。
(2)识别矩形键盘按键的方法
对矩阵键盘按键识别常用的有扫描法,反极法和位操作法:
①扫描法
首先判断是否有键按下,使全部行线输出低电平,检测列线的电平状态;确认有键按下后,每条行线分别单独输出低电平,检测列线为零的交点,由此得到的一个八位二进制可利用穷举法进行键值赋值。
②反极法
行线全送出低电平,检测列线状态,出现低电平的列线即被按下;此后,相反的,将全部列线送出低电平,检测行线状态,出现低电平的行线即被按下。将得到的两个表示状态的八位二进制进行或运算,就在进行查找键值。
③位操作法
把行输出线逐位置为低电平,对列输入线逐位扫描,有键按下时列线变为低电平。再把行线逐条置为低电平,其余行线置为高电平,用位比较指令逐列扫描,确定按下的键所在的列。赋予键值。把行输出线逐位置为低电平,对列输入线用位比较指令逐位扫描,若列线全部为高电平,表示按键已释放。
本实验采用位操作法得到的一个八位二进制,利用穷举法进行键值赋值。