《微处理器原理与接口》课案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计密码锁
1.设计内容及意义.........................................................................2. 2.整体设计原理及方案 (2)
3.硬件电路图 (3)
4.程序设计流程图 (6)
5.实验结果及数据 (7)
6.问题及心得 (7)
7.完整程序 (8)
1.设计内容及意义
1.1设计内容
①密码通过键盘输入,若密码正确,则将锁打开。②报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次锁定键盘。电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED 提示灯。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:①密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。②密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。③开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
1.2 设计意义
随着经济的发展,人们对日常生活质量的要求也越来越高,从工作、学习、出行、购物等的各个方面,人们也对现代安全设施提出来更高的要求。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。密码锁具有安全性高、成本低、功耗低、易操作等优点,同时还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
2.整体设计原理及方案
2.1 整体设计原理
本设计主要由单片机、4*4矩阵键盘、LED和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行比较,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。
2.2 整体设计方案
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LED数码管用于显示作用,连线时LED1接P1.1,LED2接P1.2,LED3接P1.3。当用户需要开锁时,先按键盘的数字键任意输入密码,密码输完后按下确认键,若输入正确则开门;不正确
则重新输入密码,再按下确认键;当输入三次密码错误则以灯亮显示,延时一秒后进入密码锁定状态,即不能进行任何键盘输入;当用户需要撤销密码时,按下MEM/SBRK 键撤销输入的密码后可再重新输入密码。
3.硬件电路图;
在本设计中选用ATMEL 公司的AT89S51单片机作为主控芯片。它是一款低功耗,AT89S51就是一款广泛应用的,高性能CMOS 8位单片机,由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL 公司的AT89S51单片机作为主控芯片。主控模块采用单片机最小系统是由于AT89S51芯片内含有8 B的E2PROM ,无需外扩存储器,电路简单可靠,其时钟频率为0~24 MHz,并且价格低廉,批量价在10元以内。AT89S51是一款功能强大的微型计算机,它可为许多嵌入式控制应用系统提供高性价比。
单片机的最小系统是由复位电路、时钟电路和电源组成。复位操作有上电自动复位、按键复位和外部脉冲复位3种方法。本文采用的是上电复位它是通过系统外部的复位电路来实现的。根据电路原理可知电容两极板间的电压不能突变当单片机电源接通电源的瞬间单片机的9管脚会产生一个阶跃信号,所以RTS端维持高电平由于这个充电时间远远大于1ms,一般就可以实现对单片机的上电自动复位,即接通电源就完成了系统的初始化。
8279显示电路由6位共阴极数码管显示,74LS244为段驱动器,75451为位驱动器,可编程键盘电路由1片74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选都已经接好,键盘行列扫描线均有插孔输出。键盘行扫描线插孔号为KA0~KA3;列扫描线插孔号为RL0~RL7;8279还引出CTRL、SHIFT插孔。六位数码管的位选、段选信号可以从8279引入,也可以有外部的其他电路引入。(2)、电路测试见整机测试六位数码管电路的测试:除去电路板上数码管右侧的跳线,系统加点,用导线将插孔LED1接低电平(GND),再将插孔LED-A,LED-B,LED-C,LED-D,LED-E,LED-F,LED-G,LED-DP依次接高电平(VCC),则数码管SLED1的相应段应点亮,如果所有的段都不亮,则检查相应的芯片75451,如果个别段不亮,则检查该段的连线、及数码
管是否损坏。用同样的方法依次检查其它数码管。
3.1电路图
(1)8279内部结构:
3.2 8279电路图
3.3 8279和8051的一般接口框图:3.4 4*4键盘电路原理图:
4. 程序设计流程图
选择模式
密码输入
新密码输入
存入缓存
密码输入
比较密码 重新输入
返回
Y N 是否大于3次
锁定 N
Y
5.实验结果及数据;
初始设定密码为023320,输入密码时,只显示“8”,任意输入六位密码,错误一次LED2灯亮一秒;错误三次LED3亮一秒,为报警显示;输入正确LED1亮,此时表示门开。6.问题及心得;
作为一名自动化专业的大学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。
在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。
其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:protel99制图、汇编语言等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;
在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
另外,这次课程设计让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。
几周的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。