摘要:本设计是以单片机STC89C51作为核心芯片,外部加以4×4矩阵键盘、1602液晶显示器、AT24C02存储芯片、继电器、蜂鸣器等元件,并且利用C语言编写程序完成对单片机端口的控制。该密码锁设计实现了以下功能:输入正确密码时电子锁打开、输入错误的密码蜂鸣器报警、输错3次锁定键盘以及修改密码的功能,真正做到简单且实用。
该密码锁采用6位数密码,简单安全。输入正确密码后,内部芯片响应0.6秒即可开锁。当输入不正确密码3次后,键盘锁定且蜂鸣器持续报警。在进入修改密码阶段后,需要连续2次新密码才能成功更换密码。
关键词 单片机;密码锁;报警;继电器
目录
摘要
Abstract
1 绪论-1
1.1 课题背景-1
1.2 课题的目的和意义-1
1.3 任务要求-2
2 设计方案-3
3 硬件的介绍与设计-6
3.1 单片机STC89C51的功能介绍-6
3.1.1 STC89C51单片机简述-6
3.1.2 STC89C51的主要参数-6
3.1.3 STC89C51的内部结构-6
3.1.4 STC89C51的引脚图跟相应的说明-7
3.1.5 时钟电路、复位电路及电源电路-9
3.1.6 单片机的中断系统和定时器-10
3.2 1602液晶的功能介绍-11
3.2.1 1602液晶主要技术参数-11
3.2.2 1602液晶的指令说明及时序图-11
3.3 AT24C02的功能介绍-12
3.3.1 AT24C02概述-12
3.3.2 AT24C02的引脚说明-12
3.3.3 AT24C02的时序图-13
3.4 键盘模块的设计介绍-13
3.5 电磁锁模块的设计介绍-14
3.6 报警(声音)模块的设计介绍-15
4 软件程序及仿真设计-16
4.1 程序编写软件和仿真软件介绍-16
4.1.1 程序编写软件Keil uVision3-16
4.1.2 仿真设计软件Proteus-16
4.2 软件程序设计-16
4.2.1 主函数-16
4.2.1.1 主函数的设计介绍-16
4.2.1.2 主函数的流程图和程序-17
4.2.2 1602LCD显示子函数-17
4.2.2.1 1602LCD显示子函数部分的设计介绍-17
4.2.2.2 1602LCD显示子函数部分流程图-17
4.2.3 AT24C02读写子函数-18
4.2.4 延时子函数-18
4.2.5 键盘扫描子函数-18
4.2.5.1 键盘扫描子函数部分介绍-18
4.2.5.2 键盘扫描子函数部分介绍-19
4.2.6 设置密码子函数-19
4.2.6.1 设置密码子函数部分介绍-19
4.2.6.2 设置密码子函数的流程图和程序-20
4.2.7 keil软件程序调试结果-20
4.3 电路仿真设计-21
5 实物的焊接及调试-24
5.1 实物的焊接-24
5.2 实物电路的检测与调试-25
结论-26
致谢-27
参考文献-28
附录-29