3.1.2 STC89C52单片机的中断系统 7
3.1.3 单片机最小系统设计 7
3.2液晶显示部分与STC89C52的接口 8
3.3矩阵键盘模块设计 10
3.4继电器模块设计 10
3.5数据存储模块设计 11
3.5.1 存储芯片AT24C02芯片介绍 11
3.5.2 管脚定义及接口实现 12
3.6蜂鸣器模块设计 13
4系统软件总体设计 13
5.2软件调试 16
5.3调试结果 17
结 论 18
参考文献 19
致 谢 20
附 录 21
系统源程序 21
系统整体电路图 36
1 引言
科学技术日益发达的今天,人们对于电子密码锁的需求越来越大,应运而生出各式各样的电子密码锁,目前,市场上出现了各种各样的电子密码锁,键盘,卡式,远程控制等。
迄今为止最流行的是键盘式电子密码锁,该密码锁主要用于保险柜,保险箱等,键盘式电子密码锁的密码在键盘上输入,操作简单,容易掌握,容易记住密码,非常可靠。主要优点如下:
(1)密码量多,保密性好。
(2)密码可以随时改变。
(3)耐磨损,寿命长久。
(4)方便快捷有别于传统钥匙。
(5)键入密码连续多次错误,系统自动报警。
1.1 本系统主要研究内容
本系统设计制作一个基于单片机的密码锁。能实现以下几种功能:
(1)按键扫描,对比用户输入的密码与存储器的密码是否一样,一样的话驱动继电器把门打开,屏幕显示CORRECT,反之显示ERROR。
(2)密码输入正确后,这时可以修改密码,密码可以掉电保存于存储器(AT24C02)中。
(3)密码输入正确后,此时可以修改密码输入错误的最大次数,次数可以掉电保存。
(4)当输入不正确次数等于最大允许输入次数时,单片机控制蜂鸣器发声报警。
2 总体方案论证与设计
据需要实现的功能划分,本设计主要分为以下几个模块,主控模块(STC89C52)、显示模块(LCD1602)、存储模块(AT24C02)、按键模块。
2.1主控模块的选型和论证
方案一:采用MSP430系列单片机,该系列单片机是16位超低功耗的混合信号处 理器。其内部集成了很多模拟电路、数字电路和微处理器,提供强大的功能。不过该芯片价格高,不适合正常的设计开发。[1]
方案二:采用STC89C52单片机,该单片机是一个稳定性好,价格低廉,安全性好,性能优越的8位单片机,32个I/O口,且STC89C52单片机可以在线编程、调试,可实现程序的下载。
因此选用方案二中的STC89C52单片机作为主控模块。
2.2显示模块的选型和论证
方案一:采用LED 数码管静态显示,驱动程序简单,静态显示无闪烁,用元器件比较多,占有I/O线也比较多,增高了成本,浪费系统硬件资源。
方案二:LED数码管动态显示,有闪烁、占用元器件较少,占用I/O线比较少,但很花费CPU时间,编程比较复杂。