基于单片机数字密码锁的设计要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
单片机也被称微控器,是因为它最早被用在工业控制领域。单片机是靠程序运行的,并且可以修改。
本设计系统主机采用8052单片机,MCS-51单片机的程序存储器和数据存储器的地址空间是相互独立的,而且程序存储器一般为ROM或EPROM,只能读出不能写入。扩展用的程序存储器芯片大多采用EPROM芯片,最大可扩展到64K字节。该设计使用矩阵键盘输入。LED数码管显示输入密码,用74HC245驱动数码管发光显示数码,LCD1602控制显示。密码正确,二极管发光。输入密码错误次数超过三次系统报警,蜂鸣器发出报警音。
关键词:单片机软件电路硬件电路
目录
第一章设计要求 (1)
第二章系统组成及工作原理 (2)
第三章硬件电路设计 (3)
3.1 STC89C52单片机的介绍 (3)
3.2单片机最小系统 (5)
3.3键盘电路设计 (6)
3.4 LCD1602显示电路 (8)
3.5开锁电路 (11)
3.6报警电路 (11)
3.7仿真效果图 (12)
第四章软件设计 (13)
4.1 PROTEUS仿真软件 (13)
4.2 KEIL编译设计 (15)
4.3 普中ISP自动下载软件 (16)
4.4程序流程图 (18)
第五章设计、调试和测试结果与分析 (19)
第六章设计小结 (23)
参考文献 (24)
附录 (25)
第一章设计要求
采用单片机、LCD等芯片,设计电子密码锁,能随时修改密码,具有防多次试探功能,连续输入密码达到一定次数,发出光声报警密码输入错误时有报警功能,连续输入3次错误,键盘自锁,等待管理解锁;开锁后或修改密码后可以选择退出,返回开锁前状态。掌握Proteus软件的基本应用,用于设计与仿真,需要用PROTEUS软件绘制电路原理图及局部原理图;掌握单片机编程语言,可选用汇编语言或C语言;
本次课程设计是要设计一个数字密码锁,设计要求如下:
1、设计一个数字式密码锁。
2、密码由4 – 6位数字组成。
3、密码相符开锁,三次不符报警。
4、密码可以更新。
第二章 系统组成及工作原理
STC89 C52
图2.1 系统总设计图
该电子密码锁采用4*4键盘作为输入信号,输入到作为主机STC89C52单片机,通过软件编程的程序,做出判断,结果再经1602LCD 液晶显示器作为输出显示。晶振电路提供单片机运行脉冲。
● STC89C52单片机:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。具有以下标准功能: 8k 字节Flash ,512字节RAM , 32 位I/O 口线,看门狗定时器,内置4KB EEPROM ,复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
● 复位电路:复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。使CPU 及系统各部件处于确定的初始状态。
● 键盘控制电路:在此次的设计中,输入密码,修改密码等都需要通过键盘来实现,键盘采用矩阵键盘,这样可以减少I/O 口的使用。
● LCD 显示电路:本次实验采用的是LCD1602液晶显示,好处是相比于LED 数码管显示方便许多,也比较符合消费者的要求。
● 超次报警电路:密码箱最重要的是保护消费者的财产及隐私,若非本人操作很难一下子输对密码,本次设计是三次输入密码不正确蜂鸣器会响,模拟报警的装置。
● 开门电路:输对密码之后,继电器吸合,小灯点亮,模拟开保险箱的动作。
第三章硬件电路设计
3.1 STC89C52单片机的介绍
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图3.1 STC89C52功能引脚图
●VCC:电源
●GND:地
●P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL
逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
●P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动
4 个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以
作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。
●P2口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动
4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以
作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
●P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4
个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如表3-1所示。在flash编程和校验时,P3口也接收一些控制信号。
表3-1 P3口的第二功能表