基于单片机的电子密码锁的设计

以下是资料介绍,如需要完整的请充值下载. 本资料已审核过,确保内容和网页里介绍一致.  
无需注册登录,支付后按照提示操作即可获取该资料.
资料介绍:

摘  要
本论文详细地论述了以单片机为处理器的密码锁自动控制器的硬件、软件设计和系统编程的问题。本控制器以ATMEL公司的AT89C52单片机为核心,键盘、显示电路,输出控制电路,告警提示电路等构成。
利用目前使用的微处理器AT89C52 作为控制元件设计了一种电子密码锁。其具有可设置多组密码、多次改写和保存密码的优点,克服了普通锁需要随身携带钥匙且易丢失、保密性差的缺点,在宾馆、办公大楼、仓库、保险柜和家庭普遍适用。

关键词:信息存储;密码锁;设计;单片机
 
ABSTRACT
The hardware layout and software development for single chip microprocessor Electronic Trick Lock controller and system programming are presented in detail in this paper. Based on the ATMEL company’s AT89C52 single chip microprocessor, the whole system consists of keyboard and display circuit, output control signal circuit, alarm circuit and so on.
Used present microprocessor AT89C52 as control part, designed a electronic trick lock. It can be set up some cipher code, changed many times and kept cipher code. It overcame the weakness of common lock that must take key and be lost easily. It is suitable to hotel, offices of building, storehouses, safes and families.

Key words: information access; trick lock; design; single chip device

硬件设计
电子密码锁设计的重点就是控制密码信息的存储和读写的软件编写。本章讲述的电子密码锁的硬件设计,其中包括各模块的器件选择和电路设计。下面详细的介绍了信息存储器的选择、单片机的选择、LED数码管显示电路、键盘接口电路、控制电路和告警提示电路的设计。

电路设计的总体方案
电子密码的硬件以单片机AT89C52 为核心。AT89C52 是一种带8k 字节闪烁可编程、可擦除只读存储器FPEROM(Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8 位微处理器。其外接16 个按钮组成的4×4 键盘,通过由CMOS六反相驱动器构成的驱动电路与单片机相连,以实现密码等的显示功能;利用串行E2PROM 存储器AT93C66 实现密码有效的永久保存。
 
基于单片机电子密码锁,具有以下功能:
1.数码输入:每按下一个数字键,就输入一个数值,共4位
2.数码清除:按下此键可清除前面所有的数值,重新输入
3.解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
4.密码修改:按下此键时会将目前的数字设定成新的密码









目    录
前  言 1
第一章  绪论 2
第一节  传统的机械锁 2
第二节  电子密码锁 2
第二章  硬件设计 3
第一节  信息存储器的选择与使用 3
一、  信息存储器的选择 3
二、  存储器(AT93C66) 3
第二节  单片机的选择 4
一、  单片机的发展概况及其选择 4
二、  AT89C52单片机性能与应用 4
第三节  电子密码锁硬件系统电路设计 9
(优秀毕业设计www.2bysj.cn)
一、  电路设计的总体方案 9
二、  信息存储电路设计 9
三、  显示系统的电路设计 12
四、  告警提示电路设计 13
五、  键盘接口电路设计 14
六、  硬件系统电路设计 14
第三章  电子密码锁软件设计 16
第一节  主程序设计 16
第二节  中断服务子程序设计 18
第三节  显示程序设计 19
第四节  键盘扫描程序设计 21
第四章  硬件组装与调试 24
结  论 25
致  谢 26
参考文献 27
附录1:源程序代码 28
附录2:元器件清单 35

参考文献

[1]  马忠梅等. 单片机的C语言应用程序设计. 北京:北京航空航天大学出版社,1999.
[2] 何立民. 单片机高级教程. 北京: 北京航空航天大学出版社,2000年
[3]  许兴存,曾理琳. 微型计算机接口技术. 北京:电子工业出版社,2003年
[4]  高峰. 单片微型计算机原理与接口技术. 北京:科学出版社,2006
[5]  李朝青. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社,2002年
[6]  王福瑞. 单片微机测控系统设计大全. 北京:北京航空航天大学出版社,1999年
[7]  郁文工作室. 嵌入式C语言程序设计——使用MCS-51. 北京:人民邮电大学出版社,2006
[8]  公茂法,马宝甫,孙晨等. 单片机人机接口事例集. 北京: 北京航空航天大学出版社,2002
[9]  周 勇,付大鹏,刘刚强. 新型家用密码锁的研究. 机械, 2002, 29(增刊): 128-129
[10] 李捷. 一种基于单片机电子密码锁的设计. 农机化研究,2004,第5期:146-147
[11] 杨将新,李华军,刘东骏.单片机程序设计及应用从基础到实践. 北京:电子工业出版社,2006

 
附录1:源程序代码
#include<REG51.H>
unsigned char digbit;                  //字位
unsigned char wordbuf[4];              //字型码缓冲区
unsigned char tlcount;                 //定时器1由50ms累积到1s所用的计数器
unsigned char count;                   //密码位计数
unsigned char pw[4];                   //初始密码存储区
unsigned char pwbuf[4];                //输入密码存储区
bit enterflag;                         //确认按键按下与否标志
bit pwflag;                            //密码正确与否标志
bit showflag;                          //数码管显示与否标志
sbit green=P3^0;
sbit red=P3^1;

/*函数声明*/
//void delay(void);
//unsigned char keyscan(void);
//unsigned char getcode(unsigned char i);
//void display(void);
//bit pwcmp(void);

/*键消抖延时函数*/
....