电子密码锁单片机设计完整程序电路
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计
1 系统的总体设计和主要元器件介绍
(1)设计要求
✧以STC89C516单片机为核心器件,结合按键电路、LCD1602显示
电路、报警指示电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的以下基本功能:
✧(1)输入密码时显示所输入“*”,具有一定防偷看功能。
✧(2)密码通过键盘输入,若密码正确,则显示灯发光,将锁打
开
✧(3)密码输入错误,蜂鸣器将报警提示。密码输错四次,则蜂
鸣器报警15秒,显示灯亮。
✧(4)用户可以自由设定密码
✧本密码锁具有设计方法合理,简单易行成本低,安全实用等特点,
具有一定的推广价值。
(2)系统的总体思路设计
以STC89C516单片机为主控制单元,键盘为主要输入单元,结合开锁装置、报警器和显示器完成整个系统设计。
✧系统的运行过程大致如下:
✧假设初始状态为闭锁,此时整个系统只等待按键输入,显示屏显
示“Input password Press key A”。按下A后,每按下一个数据键(即每输入一个密码),lcd1602显示一个“*”,当密码全部输入完成后,需按下确认键“#”,此时系统判断密码是否正确,正确则开锁,错误则报警。
若按下密码重置键“*”,则需先输入原密码,正确后请输入新密码,还要确认一遍新密码。按下删除键可以删除输错的密码。
(3)主要元器件介绍
1、stc89C52介绍
图一 stc89C52引脚图
本次课程设计选用的是AT89C52,AT89C52是一种带8K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(2)LCD1602显示器
接口信号说明:
1602型LCD的接口信号说明如表2-2所示。
表2-2 LCD1602接口信号说明
1602型LCD主要技术参数:
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
1602型LCD基本操作程序如下表所示:
表2-3 LCD1602基本操作程序
(3)AT24C02
1. 概述
AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节,CATALYST 公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
2. 管脚配置
管脚封装如右图1所示。
图1 管脚封装
DIP:双列直插式封装,是最简单的一种封装技术。
3. 极限参数
工作温度工业级-55℃ +125℃
商业级0 ℃+75℃
贮存温度-65℃ +150℃
各管脚承受电压-2.0 Vcc+2.0V
Vcc管脚承受电压-2.0 +7.0V
封装功率损耗(Ta=25℃) 1.0W
焊接温度(10 秒) 300℃
输出短路电流100mA
表1 可靠性参数
符号参数最小最大单位参考测试模式
NEND 耐久性1,000,000 周期/字节MIL-STD-883 测试方法1033
TDR 数据保存时间100 年MIL-STD-883 测试方法1008
VZAP ESD 2000 V MIL-STD-883 测试方法3015
ILTH 上拉电流100 mA JEDEC 标准17
4.特性:
1.数据线上的看门狗定时器
2.可编程复位门栏电平
3.高数据传送速率为400KHz和1C总线兼容
4.2.7V至7V的工作电压
5.低功耗CMOS工艺
6.16字节页写缓冲区
7.片内防误擦除写保护
8.高低电平复位信号输出
9.100万次擦写周期
10.数据保存可达100年
11.商业级、工业级和汽车温度范围
5. 功能描述
AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。
6. 管脚描述
表2 管脚描述
SCL 串行时钟
AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA 串行数据/地址
AT24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。
A0、A1、A2 器件地址输入端
这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。
WP 写保护
如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss 或悬空允许器件进行正常的读/写操作
2、硬件电路设计
(1)设计原理
本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与AT24C02中保存的密码进行对