电子密码锁单片机设计完整程序电路(共31页).doc
《电子密码锁单片机设计完整程序电路(共31页).doc》由会员分享,可在线阅读,更多相关《电子密码锁单片机设计完整程序电路(共31页).doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上单片机课程设计1 系统的总体设计和主要元器件介绍(1)设计要求 以STC89C516单片机为核心器件,结合按键电路、LCD1602显示电路、报警指示电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的以下基本功能: (1)输入密码时显示所输入“*”,具有一定防偷看功能。 (2)密码通过键盘输入,若密码正确,则显示灯发光,将锁打开 (3)密码输入错误,蜂鸣器将报警提示。密码输错四次,则蜂鸣器报警15秒,显示灯亮。 (4)用户可以自由设定密码 本密码锁具有设计方法合理,简单易行成本低,安全实用等特点,具有一
2、定的推广价值。(2)系统的总体思路设计以STC89C516单片机为主控制单元,键盘为主要输入单元,结合开锁装置、报警器和显示器完成整个系统设计。 系统的运行过程大致如下: 假设初始状态为闭锁,此时整个系统只等待按键输入,显示屏显示“Input password Press key A”。按下A后,每按下一个数据键(即每输入一个密码),lcd1602显示一个“*”,当密码全部输入完成后,需按下确认键“#”,此时系统判断密码是否正确,正确则开锁,错误则报警。若按下密码重置键“*”,则需先输入原密码,正确后请输入新密码,还要确认一遍新密码。按下删除键可以删除输错的密码。(3)主要元器件介绍1、stc
3、89C52介绍图一 stc89C52引脚图本次课程设计选用的是AT89C52,AT89C52是一种带8K字节FLASH(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器。AT89C52单片机为很多提供了一种灵活性高且价廉的方案。振荡器特性: XTA
4、L1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(2)LCD1602显示器接口信号说明:1602型LCD的接口信号说明如表2-2所示。表2-2 LCD1602接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA
5、背光源正极8D1数据16BLK背光源负极1602型LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm1602型LCD基本操作程序如下表所示:表2-3 LCD1602基本操作程序读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无(3) AT24C02 1. 概述AT24C02是一个2K位串行
6、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 可靠性参数
7、符号 参数 最小 最大 单位 参考测试模式 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万次擦写周
8、期 10.数据保存可达100年 11.商业级、工业级和汽车温度范围 5. 功能描述AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。 6. 管脚描述表2 管脚描述 管脚名称 功能 A0 A1 A2 器件地址选择 SDA 串行数据/地址 SCL 串行时钟 WP 写保护 Vcc +1.8V 6.0
9、V 工作电压 Vss 地 SCL 串行时钟 AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。 SDA 串行数据/地址 AT24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。 A0、A1、A2 器件地址输入端 这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个
10、地址输入脚(A0、A1、A2 )必须连接到Vss。 WP 写保护 如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss 或悬空允许器件进行正常的读/写操作2、 硬件电路设计(1) 设计原理本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与AT24C02中保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用
11、继电器的常开触点去控制电磁铁吸合线圈。stc89C52键盘输入复位电路AT24C02密码存储电路晶振电路电源输入显示电路报警电路开锁电路图二(2) 电路总体构成图三(3) 单片机主控制模块(含晶振、复位基本工作电路)图四(4)键盘电路设计按键模块采用44行列矩阵结构,由4条行线和4条列线构成。行线和列线共有16个交叉点每个交叉点可以放置一个按键,这样共可以放置16个按键。按键电路如图五所示。图五KEYL0KEYL3为行线,分别接单片机的P1.0P1.3;KEYR0KEYR3为列线,分别接单片机的P1.4P1.7。软件编程采用行扫描法,程序编写比较复杂,但是理解较容易切。图中顺序前十个按键为09
12、,最后3个按键分别为修改密码键、确认键和关机键。(5)显示电路设计显示电路由LCD1602构成。其结构图如图六所示。图六(6) 报警电路设计报警电路主要由PNP三极管和蜂鸣器构成。报警电路图如图七所示。图七LS1为一个5V的压电蜂鸣器,当对其1、2号引脚施加5V电压时,便会鸣叫。由图七可知,当P3.7输出低电平时蜂鸣器鸣叫;当P3.7输出高电平时,蜂鸣器停止鸣叫。通过控制P3.7输出低电平的时间长短来控制蜂鸣器长叫或短叫。(7) 电子锁控制电路电子锁控制电路主要由继电器、三极管和发光二极管构成。电子锁控制电路图如图5所示。图八继电器线圈的一个引脚接电源正极,另一端接NPN三极管的集电极。三极管
13、的基极通过一个电阻接单片机的引脚。当LOCKCON输出高电平时,三极管导通,继电器线圈得电,触点闭合,发光二极管发光,相当于电子锁闭锁;当LOCKCON输出低电平时,三极管截止,继电器线圈失电,触点释放,发光二极管熄灭,相当于电子锁开锁。图中普通二极管是继电器线圈的续流二极管,为感应电动势提供回路,以免损坏三极管。(8) 密码存储电路AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路原理如图九
14、所示。图九图中1、2、3脚是三条地址线,用于确定芯片的硬件地址,在AT89S51上它们都能接地,第5脚和第8脚分别为正、负电源。AT24C02中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个储存单元的读写,所有字节均以单一操作方式读取。 图十 本电路中的应用图(9) 复位电路 单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外
15、部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图十所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放电结束后,RST端的电位由R11与R15分压比决定。由于R11R15 因此RST为高
16、电平,CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU脱离复位状态。R11的作用在于限制按键按下瞬间电容C1的放电电流,避免产生火花,以保护按键触电 。图十 一复位电路原理图(10) 单片机电路及PCB图单片机电路主要由单片机、振荡电路和复位电路构成。单片机电路图如图十一所示。图十二AT89C52单片机的P0口用于输出LCD显示。P1口用于构成行列矩阵键盘。P3.7用于控制蜂鸣器的鸣叫。P3.3用于控制电子锁的开闭。P3.1 P3.0控制储存芯片的sda、sck。P3.4 控制lcd显示的E P3.5 控制rs P3.6控制rw。 1、 软件设计 软件设计主要是对键盘进行扫描
17、,根据按键控制报警电路、电子锁电路,并将结果显示。因此整个软件分为按键子程序、显示子程序、储存子程序,电子锁控制子程序及主程序。主函数按键子程序unsigned char keyscan()unsigned char temp,key;key = 0xff;JPJK = 0xfe; temp = JPJK;/temp &= 0xf0;/ temp = temp & 0xf0 if(temp != 0xf0)delay_ms(10);temp = JPJK;temp &= 0xf0; if(temp != 0xf0)temp = JPJK;baoj1();switch(temp)case 0xe
18、e: key = 1;break;case 0xde: key = 2;break;case 0xbe: key = 3;break;case 0x7e: key = 0x0a;break;while(temp != 0xf0)temp = JPJK;temp &= 0xf0;JPJK = 0xfd;temp = JPJK; temp &= 0xf0;/ temp = temp & 0xf0if(temp != 0xf0)delay_ms(10);temp = JPJK;temp &= 0xf0; if(temp != 0xf0)temp = JPJK;baoj1();switch(temp)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁 单片机 设计 完整 程序 电路 31
限制150内