1、 单片机原理及系统课程设计单片机原理及系统课程设计 评语: 平时(40) 修改(30) 报告(30) 总成绩 单片机原理及系统课程设计报告 - 1 - 1 引言引言 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开 关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品, 也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心, 通过编程来实现的。其性能和安全性已大大超过了机械锁。其在生活的各个方面 均有应用,前景十分广阔。其特点如下: (1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零; (2) 密码可变,用户可以随时更改密码
2、,防止密码被盗,同时也可以避免因人 员的更替而使锁的密级下降; (3) 误码输入保护,当输入密码多次错误时,报警系统自动启动; (4) 无活动零件,不会磨损,寿命长; (5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 2 设计方案及原理设计方案及原理 2.1 本设计所要实现的目标本设计所要实现的目标 设计一种单片机控制的密码锁,具有按键有效指示、解码有效指示、控制开 锁电平、控制报警、密码修改等功能。8 位十进制密码共一亿组不重复,保密性强。 该密码锁要实现一下功能: (1) 锁的初始状态为“锁合”指示灯亮。输入初始密码“0、1、2、3、4、5、 6、7” ,每输入一位, “按键有效”指
3、示灯亮约半秒钟,输完 8 位按确认键,锁打 开, “锁开”指示灯亮; (2) 按“上锁”键,锁又重新上锁, “锁合”指示灯亮; (3) “锁开”状态下,可输入新密码,可重复修改密码; (4) 如果输入密码错误, “错误指示”灯亮约半秒钟。可重新输入密码; (5) 输入密码错误超过 3 次,蜂鸣器启动发出报警,同时“错误”指示灯常亮。 2.2 设计思路设计思路 对于电子密码锁的设计,需要解决几个问题:键盘输入、数码管显示、单片 机电路、密码比较、修改密码等。其中最主要的就是解决掉电保存以及修改密码 的问题。先写一个循环写入 8 个初始密码到芯片内部 EEPROM 程序,先下载程序 写入初始密码,
4、此时 EEPROM 已存有初始密码,再把密码锁程序下载到单片机, 运行电子密码锁。 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中 单片机原理及系统课程设计报告 - 2 - 单片机原理及系统课程设计报告 - 3 - 矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机 的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对 比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电 路控制开锁还是报警,实际使用的是单片机 P1.2 和 P1.1 来控制锁合和锁开 LED 灯的状态,P0 口用于电子显示屏来显示提示语句和密码输入按键。
5、 本系统共有两部分构成,即硬件部分与软件部分。 3 硬件设计硬件设计 硬件部分由键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、 报警部分、开锁部分组成。 3.1 键盘扫描电路键盘扫描电路 键盘接成 4*4 的矩阵键盘,行线为 LD0-LD3 分别接 P2 口的 P0.0-P0.3,列线 为 HD0-HD3 分别接 P2 口的 P0.7-P0.4。当哪一行的有键按下,则相应行的“按键 有效”指示灯亮一下,其余行所对应的灯不亮。P2 初始时 P2 口第四位为低电平, 高四位为高电平,当哪一行有键按下,则所对应的行和列对应的口变为低电平, 将改为扫描到单片机中。键盘扫描电路如图 3.1
6、所示。 图 3.1 键盘扫描电路 3.2 晶振电路晶振电路 80C31 引脚 XTAL1 和 XTAL2 与晶体振荡器及电容 C2/C1 按图 3.2 所示方式 连接。晶振、电容 C1/C2 振荡器,振荡信号频率与晶振频率及电容 C1/C2 的容量 有关, 但主要由晶振频率决定, 范围在 033MHz之间, 电容 C1/C2 取值范围在 5 30pF 之间。根据实际情况,本设计中采用 1MHZ 做为系统的外部晶振。电容取值 为 30pF。晶振电路如图 3.2 所示。 单片机原理及系统课程设计报告 - 4 - 图 3.2 晶振电路 3.3 复位电路复位电路 上电复位电路如图 3.3 所示。 图 3.3 复位电路 3.4 显示部分显示部分 显示电路是利用 LM016L 系列的 LCD 显示屏,可以双行显示。其 D0-D7 与 P0 口相接,并且给 P0 口外接上拉电阻。LCD 显示电路如图 3.4 所示。 19 18 19 18 122 133 144 122 133 144 LD3LD2LD1LD0 HD0 HD1 HD2 HD3 LD0 LD1 LD2 L