单片机设计-电子密码锁-实验-解析.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文档。上传文档
查看更多
单片机课程设计 电子密码锁实验报告 学院:电子信息工程学院 班级:自***姓名:*** 学号:******指导教师:*** 单片机课程设计电子密码锁实验报告 (一)实验目的 1、了解电子密码锁工作原理和八段LED数码管显示原理。 2、掌握LED数码管显示器与单片机接口电路设计方法。 3、掌握实现密码锁功能的编程方法。 (二)设计实现功能 由程序设定初始密码,密码输入正确时锁打开,指示灯亮,发出“叮咚”的声音;密码输入不正确时,指示灯闪亮四次,发出“嘀嘀嘀滴”报警声。 具有保护密码的功能,输入密码在数码管上显示可改为“88888”的方式,防止别人偷窥密码。 具有修改密码的功能,密码输入错误可按DEL键进行删除。 具有防止多次试探密码的电子密码锁并加报警功能,密码输入错误超过三次,将一直发出“滴滴滴滴。。。”报警声。 具有设定新密码的功能,输??密码后按CHG键,密码将被重新设定。 (三)整体电路设计思路 核心用单片机AT89S52来实现此实验的要求。 用4*4键盘来输入密码。? 每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。 用8个7段数码管来显示密码。数码管的显示用扫描的方式,利用动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。 在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。 对于显示的字形码数据我们采用查表方法来完成。 (四)设计总框图 89S52 单片机 数码管显示电路 矩阵 键盘 控制 报警电路 复位电路 电源 LED指示电路 图1总体设计框图 (五)按键说明 按键键名功能说明1-9键数字输入密码C键退格键DEL取消刚才输入的密码D键清除密码键CLEAR将数码管上显示的数据清空E密码重置键CHG密码更改F确认键ENTER密码输入完成 (六)仿真原理图 (七)程序框图 开始 系统初始化 提示输入密码 键盘扫描 有键按下 数字键0~9 退格键C 密码重置D 确认键E 灯亮紧接着发出开门的声“叮咚” 存储键值 刷新LED输出数据 清楚上次数字键输入 灯闪四次,发出报警声“滴” 错误3次 报警,并锁定键盘 密码判断 正确? Y Y N N N Y N Y Y N N Y (八)制作过程中所遇到的问题及解决办法 调试时发现数码管一闪一闪的显示,程序刚开始的是扫描8次数码管才显示,最后改成扫描4次数码管才显示,这样动态显示的数码管显示看起来不会晃眼睛了。 (九)体会与总结 通过本次实验,我对单片机有了更一步的认识,以前学习的都只是书本上的知识,对单片机的认识也只是停留课本。这次单片机课程设计,从选题,查资料,画电路图,编程,Proteus仿真,焊板子,调试。。。在这段单片机课程设计时间里,觉得自己很忙碌但很充实,有时很抓狂,因为程序的设计但很快乐。在实验过程中遇到一些困难,比如蜂鸣器不按照设定的程序发出声音,最后经过和同学的帮忙,发现是蜂鸣器的控制三极管接错了,应该接PNP9012接成了NPN9013。以前模拟电路仿真用的是Multisum,这次单片机课程设计显然不再适合,因为有很多元器件Multisum都不包括,接着我开始学习Proteus仿真软件,最后利用Proteus画出了自己仿真图。最后密码锁设计成功。 这次实验我动手能力得到很大的锻炼,受益匪浅,呼吁学校应该多开设类似课程,锻炼学生的能力。 (十)附件:主要程序 #include at89x52.h unsigned char ps[5]={1,2,3,4,5};//程序预先设定的密码 unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; //数码管显示位 unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

文档评论(0)

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

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

1亿VIP精品文档

相关文档