基于51单片机密码锁课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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===}; /

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档