- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一.设计目的
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需要携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为了满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少,安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的只能密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误就有提示,为了提高安全性,当密码输入错误次将报警。密码可以由用户自己修改设定,锁开后才能修改密码。修改密码前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
二.设计要求和方案选择
方案:用AT89C52设计的多功能密码锁。以单片机作为微控制器,可以实现基于以上优点,按键有效指示、输入错误、控制开锁、错误报警、密码修改等功能,工作稳定可靠,保密性高,实用性强。
电子密码锁总体设计
三.硬件部分
AT89C52简介:
单片机AT89C52简介
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,AT89C52单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。
主要特性:
? 与MCS-51 兼容
? 4K字节可编程FLASH存储器(寿命:1000写/
擦循环)
? 全静态工作:0Hz-24KHz
? 三级程序存储器保密锁定
? 128*8位内部RAM
? 32条可编程I/O线
? 两个16位定时器/计数器
? 5个中断源
? 可编程串行通道
? 低功耗的闲置和掉电模式
? 片内振荡器和时钟电路
总电路图
键盘电路
按键与家庭电话式的按键方式
复位电路
晶振电路
显示电路
显示容量 芯片工作电压 工作电流 字符尺寸 16*2个字符 4.5~5.5V 2.0mA(5v) 3.95*4.35mm 时刻显示输入输出的内容以及操作过程。
报警电路
当输入密码错误次数大于等于3次时,会发出声响报警。
开锁电路
四.软件设计
1.程序设计流程图
2.程序代码
#include REG52.h
#includeintrins.h
#define LCM_Data P0
#define uchar unsigned char
#define uint unsignedint
#define w 6 //定义密码位数
sbit lcd1602_rs=P2^5;
sbit lcd1602_rw=P2^6;
sbit lcd1602_en=P2^7;
sbitScl=P3^4; //24C02串行时钟
sbitSda=P3^5; //24C02串行数据
sbit ALAM = P2^1; //报警
sbit KEY = P2^0; //开锁
sbitopen_led=P2^2; //开锁指示灯
bit operation=0; //操作标志位
bit pass=0; //密码正确标志
bit ReInputEn=0; //重置输入充许标志
bit s3_keydown=0; //3秒按键标志位
bit key_disable=0; //锁定键盘标志
unsigned char countt0,second; //t0中断计数器,秒计数器
void Delay5Ms(void);
unsigned char code a[]={0xFE,0xFD,0xFB,0xF7}; //控盘扫描控制表
unsigned char code b[]={0123456789};
unsigned char code start_line[] = {password: };
unsigned char code name[] = {===Coded Lock===}; /
您可能关注的文档
- 毕业设计(论文)-基于ANSYS的输电线路杆塔有限元分析.doc
- 毕业设计(论文)-基于ARM的WEB远程视频实时监控系统设计与实现.doc
- 毕业设计(论文)-基于DSP的三维LED显示器.doc
- 毕业设计(论文)-基于GIS和智能手机漫游定位系统的设计与实现.doc
- 毕业设计(论文)-基于GSM的煤气泄漏报警装置设计.doc
- 毕业设计(论文)-基于GSM短消息的LED点阵信息屏的控制.doc
- 毕业设计(论文)-基于Javaweb_Struts_hibernate课程教学网站的设计与实现.doc
- 毕业设计(论文)-基于MATLAB对信号调制与解调的仿真.doc
- 毕业设计(论文)-基于OpenCV的图像轮廓提取方法的实现.doc
- 毕业设计(论文)-基于PLC控制的花式喷泉系统.doc
文档评论(0)