基于单片机的电子密码锁的设计课程设计任务书(编辑修改稿)内容摘要:
A L E / P R O G30E A /V P P31P 0. 7 (A D 7)32P 0. 6 (A D 6)33P 0. 5 (A D 5)34P 0. 4 (A D 4)35P 0. 3 (A D 3)36P 0. 2 (A D 2)37P 0. 1 (A D 1)38P 0. 0 (A D 0)39V C C40 图 3 1 STC89C52 引脚 分布图 5 STC89C52 具体介绍如下: ① 主电源引脚( 2 根) VCC(Pin40):电源输入,接+ 5V 电源 GND(Pin20):接地线 ② 外接晶振引脚( 2 根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③ 控制引脚( 4 根) RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选 通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 ④ 可编程输入 /输出引脚( 32 根) STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、 P P P3 口,每个口有 8 位( 8 根引脚),共 32 根 [8]。 P0 口( Pin39~ Pin32): 8 位双向 I/O 口线,名称为 ~ P1 口( Pin1~ Pin8): 8 位准双向 I/O 口线,名称为 ~ P2 口( Pin21~ Pin28): 8 位准双向 I/O 口线,名称为 ~ P3 口( Pin10~ Pin17) : 8 位准双向 I/O 口线,名称为 ~ 硬件电路设计 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。 其中矩阵键盘用于输入数字密码和进行各种功能的实现。 由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路。 本系统共有两部分构成,即硬件部分与软件部分。 其中硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分,软件部分对应的由主程序、初始化程序、 LCD 显示程序、键盘 扫描程序、启动程序、关闭程序、键功 6 能程序、密码设置程序、 EEPROM 读写程序和延时程序等组成。 复位电路 单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后 PC= 0000H,使单片机从第 —个单元取指令。 无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。 在复位期间(即 RST 为高电平期间), P0 口为高组态, P1- P3 口输出高电平;外部程序存储器读选通信号 PSEN 无效。 地址锁存信号 ALE 也为高电平。 根据实际情况选择如图 34 所示的复位电 路。 该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容 C1 上的电压很小,复位下拉电阻上的电压接近电源电压,即 RST 为高电平,在电容充电的过程中 RST 端电压逐渐下降,当 RST 端的电压小于某一数值后, CPU 脱离复位状态,由于电容 C1 足够大,可以保证 RST 高电平有效时间大于 24 个振荡周期, CPU 能够可靠复位。 增加手动复位按键是为了避免死机时无法可靠复位。 当复位按键按下后电容 C1 通过 R5 放电。 当电容 C1 放电结束后, RST 端的电位由 R1 与 R2 分压比决定。 由于 R11R15 因此 RST 为高电平, CPU 处于复位状态,松手后,电容 C1 充电,RST 端电位下降, CPU 脱离复位状态。 R1 的作用在于限制按键按下瞬间电容C1 的放电电流,避免产生火花,以保护按键触电。 图 3 2 复位电路原理图 晶振电路 ST89C52 引脚 XTAL1 和 XTAL2 与晶体振荡器及电容 C C1 按图 35 所示方式连接。 晶振、电容 C2/ C3 及片内与非门(作为反馈、放大 元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容 C C2 的容量有关,但主要E1 R1 K1 R2 10K 7 由晶振频率决定,范围在 0~ 33MHz 之间,电容 C C3 取值范围在 5~ 30pF 之间。 根据实际情况,本设计中采用 12MHZ 做系统的外部晶振 [11]。 电容取值为20pF。 C2C3X T A L 图 3 3 晶振电路原理图 存储电路 AT24C02 是一个 2K 位串行 CMOS E2PROM, 内部含有 256 个 8 位字节, CATALYST 公司的先进 CMOS 技术实质上减少了器件的功耗。 AT24C02有一个 16 字节页写缓冲器。 该器件通过 IC 总 线接口进行操作,有一个专门的写保护功能。 采用两线串行的总线和单片机通讯,电压最低可以到 ,额定电流为 1mA,静态电流 10Ua(),芯片 内的资料可以在断电的情况下保存 40 年以上,而且采用 8 脚的 DIP 封装,使用方便。 AT24C02 支持 IC,总线数据传送协议 IC,总线协议规定任何将数据传送到总线的器件作为发送器。 任何从总线接收数据的器件为接收器。 数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。 主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器 件地址输入端 A0、 A1 和 A2 可以实现将最多 8 个 AT24C02器件连接到总线上。 其电路如图 3- 6 所示。 图 3 4 掉电存储电路原理图 A0 1 A1 2 A2 3 GND 4 VCC 5 WP 6 SCL 7 SDL 8 U3 AT24C02 VCC R20 510 R21 510 VCC 8 图中 3 脚是三条地址线,用于确定芯片的硬件地址,在 AT89S51 上它们都能接地,第 5 脚和第 8 脚分别为正、负电源。 AT24C02 中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个储存单元的读写,所有字节均以单一操作方式读取。 键盘输入电路 由于本设计所用到的按键数量 较多而不适合用独立按键式键盘。 采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多 I/O 口。 本设计中使用的这个 4*4 键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。 键盘的每个按键功能在程序设计中设置。 其大体功能(看键盘按键上的标记)及与单片机引脚接法如图 37 所示: 图 3 5 键盘输入原理图 显示电路 为了提高密码锁的密码显示效 果能力。 本设计的显示部分由液晶显示器LCD1602 取代普通的数码管来完成。 只有按下键盘上的开启按键后,显示器才处于开启状态。 同理只有按下关闭按键后显示器才处于关闭状态。 否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键 0- 9 输入密码,每按下一个数字键后在显示器上显示一个 *,输入多少位就显示多少个 *。 当密码输入完成时,按下确认键,如果输入的密码正K4 K3 K2 K1 K5 K6 K7 K8 K12 K11 K10 K9 K13 K14 K15 K16 R1 10k R2 10k R3 10k R4 10k R5 10k R6 10k R16 10k R17 10k VCC 1 9 确的话, 再按“ D”键 ,单片机其中 引角会输出低电平,使三极管 T2 导通,电磁铁吸合,电子密码锁被打开,如果密码不正确 , LCD 显示屏会显示 “000000”, 输出的是高电平,电子密码锁不能被打开。 通过 LCD 显示屏,可以清楚的判断出密码锁所处的状态。 其显示部分引脚接口如图 38 所示: 图 3 6 显示电路原理图 电源输入电路 密码锁主要控制部分电源需要用 5V 直流电源供电,其电路如图 3。基于单片机的电子密码锁的设计课程设计任务书(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。