《基于单片机的电子密码锁设计毕业设计论文(32页).docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁设计毕业设计论文(32页).docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的电子密码锁设计毕业设计论文-第 27 页毕业设计(论文)基于单片机的电子密码锁设计基于单片机的电子密码锁设计摘 要随着科技和人们生活水平的提高,如何实现防盗这一问题也变的尤其突出。由于传统机械锁构造简单,被撬事件源源不断;而电子密码锁保密性高,使用灵活性好,安全系数高,所以受到了广大用户的青睐。电子密码锁是一种通过密码输入来控制电路或芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。设计以STC89C51单片机作为密码监控装置和控制核心,结合键盘电路,LCD显示电路,报警电路和开锁机构,利用单片机灵活的编程设计和
2、丰富的I/O端口及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能。软件设计采用自上而下的模块化思想,使系统朝着分布式、小型化方向发展,使系统的可靠扩展性和运行稳定性增加。测试结果表明,设计各项功能已达到设计要求。关键字: 单片机;STC89C51;电子密码锁;报警Design of Electronic Combination Lock Based on Single Chip MicrocomputerAbstractAlong with the improvement of science and technology and the living level of pe
3、ople, how realize to guard against theft this problem also become especially. Because of the simple construct of traditional machine lock, the affairs of theft is commonly;The electronic combination lock is safer because of its confidentiality, use flexibility is good, the safety coefficient is high
4、, being subjected to the large custom close.The electronic combination lock is electronic products, which control the mechanical switch by the control circuit or chip when you input a password. Now the widely used electronic locks are based on the chip and achieve the function by programming.The des
5、ign by single chip microcomputer STC89C51 act as the combination lock monitoring device detection and control core, combining with key circuit, LCD display circuit, an alarm circuit and unlocking mechanism, using a flexible programming design and rich I/O port of microcontroller, and its control by
6、software program to control the whole system to realize the electronic combination lock. The design thought from top to down, to make the system toward wear distribute type, turn to the direction development of small, strengthen the system and can expand the stability and circulate. Test the result
7、state, various functions of this system are already all request of this design.Keyword: Single Chip Microcomputer; STC89C51; Electronic Combination Lock目录摘 要IAbstractII1. 绪论22. 系统设计22.1 主控方案选择22.2 密码方案选择22.3 设计思路23. 硬件设计23.1 STC89C51单片机23.1.1 STC89C51单片机内部结构23.1.2 STC89C51单片机引脚说明23.1.3 STC89C51单片机中断
8、系统23.1.4 STC89C51单片机内部时钟电路23.1.5 STC89C51单片机复位电路23.2 LCD1602液晶显示器23.2.1 LCD1602引脚说明23.2.2 LCD1602显示原理23.2.3 LCD1602控制指令23.2.4 LCD1602显示电路23.3 AT24C02存储芯片23.3.1 AT24C02引脚说明23.3.2 AT24C02存储电路23.4 矩阵键盘23.5 继电器23.6 电源模块23.7 其他电路23.7.1 报警电路23.7.2 独立按键电路24. 软件设计24.1 主程序流程图24.2 开锁程序流程图24.3 密码修改程序流程图25. 系统调
9、试25.1 Keil C51调试25.1.1 Keil C51介绍25.1.2 Keil C51调试25.2 Proteus 仿真25.2.1 Proteus软件介绍25.2.2 Proteus仿真调试25.3 实物制作25.3.1 制作过程25.3.2 实物调试2结论2致谢2参考文献2附录21. 绪论 科技发展和生活水平提高的同时,安全问题也随之而来,被撬事件屡见不鲜,那么如何更好的防盗呢?由于传统的机械锁抵抗不了强力破坏,制作工艺简单,技术落后,极易被开启,所以它只能保存着锁的原始意义,而与此同时涌现出一批满足人们需求的安全可靠不易被破解的电子锁。其中键盘式的电子密码锁使用最为广泛,本产品
10、主要用于保险箱、防盗门、保险柜之类的,还有一部分用于保管箱和运钞车。该产品在键盘上输入密码,易于掌握,由于密码是记在用户的脑子里,所以既准确又可靠,不易破解,除非自己丢失或者泄露。如今电子密码锁向着“随意设定密码”“显示乱序”“多重设定密码”“锁定键盘”等方向发展,使得不法分子无从入手。尽管新型电子防盗锁层出不穷,但是键盘式电子密码锁仍在市场上占据着主流地位,并且经常作为其他类型防盗锁的辅助功能。本设计从经济实用角度出发,采用STC89C51单片机作为密码监控装置和控制核心,结合AT24C02存储单元电路,4*4矩阵键盘电路,LCD1602显示电路,报警电路和开锁电路构成的,通过键盘输入正确的
11、密码来控制电路,从而完成开锁、机械上锁、智能锁定键盘、修改密码等功能的电子产品。通过编程来实现,其性能和安全性已远远超过传统的机械锁。本设计具有保密性好、成本低、 功耗低、 操作简单、随机开锁成功率几乎为零、密码可变、误码输入保护、多次错误报警、断电记忆等优点。本设计主要可实现:(1)密码通过键盘输入,若密码正确,则开锁并提示。(2)若密码输入错误,提示错误信息,如若连续错误超过三次,报警提示并智能锁定键盘。(3)每输入一个密码,在LCD1602显示器上对应显示一个“*”。(4)密码可根据用户的需求进行修改,但必须要输入正确的旧密码。(5)两分钟内操作完成密码的输入,大于两分钟,即使密码正确也
12、不会开锁。(6)非法开锁即不经过密码强制开锁,则连续报警,直到用户主人来关掉声音,解除报警。2. 系统设计 2.1 主控方案选择方案一:采用数字电路控制用以74LS112双JK触发器构成的数字电路作为密码锁的核心控制,将密码保存在JK触发器中,用其与输入密码通过比较器比较,判断密码正确与否。其优点是设计原理简单,但是控制的准确性和灵活性比较差,物理结构较为复杂,操作不便。方案二:采用STC89C51单片机为核心的控制由于单片机的性能、存储、运行速度、I/O口、定时/计数器、功耗、晶振、复位等因素,用以STC89C51单片机作为核心,利用单片机灵活的编程设计和丰富的I/O端口及其控制的准确性,来
13、实现电子密码锁的基本功能。利用外接AT24C02存储芯片存储密码,LCD1602液晶显示,蜂鸣器作为报警驱动。单片机控制原理如图2.1。图2.1 单片机控制原理图结合上述两种方案,结合现实生活需求,本设计选用方案二。2.2 密码方案选择方案一:指纹识别指纹识别步骤为读取指纹图像,提取特征,保存图像数据和比较图像四个过程。通过指纹读取设备读取指纹图像再加以处理使其清晰化,再通过指纹辨识设备建立此指纹特征数据。通过计算机将输入指纹与保存指纹进行比较判断,计算他们的相似度,从而判断输入是否正确。本方案由计算机控制,运用方法简单,但是操作比较耗时而且指纹可复制或者破坏,不是很稳定可靠 。方案二:键盘密
14、码识别密码由矩阵键盘上的数字输入,而每一个按键又赋予其固定的程序,密码可由用户自行修改,并且六位数字记忆简单,操作方便。结合上述两种方案,结合现实生活需求,本设计选用方案二。2.3 设计思路本设计以STC89C51单片机为主控单元,AT24C02存储芯片为存储单元,矩阵键盘为主输入单元,LCD1602为显示单元,蜂鸣器为报警装置以及继电器为开锁装置完成整个系统设计。本设计的运行流程:初始状态为上锁,LCD1602显示器上显示“输入密码:A”和“设置密码:B”,当按下键A后,显示“输入密码”,当六位密码全部输入完后按下确认键“E”时系统判断密码是否正确,正确则显示“密码正确”并开锁,然后等待机械
15、关闭,当按下“S”键则上锁。密码错误则显示“密码错误”并且错误次数自加一,然后返回到选择输入状态等待下一次选择。当密码未达到六位而按下确认键“E”时,显示“错误”并且错误次数自加一,然后返回到选择输入状态等待下一次输入;若按下键B后则修改密码,不过必须先输入旧密码,此时显示器上显示“输入旧密码”,旧密码正确输入后才可以输入新的密码,否则显示“密码错误”并将错误次数加一。输入新密码时两次密码相同则修改成功,显示器上显示“密码已修改”,否则显示“两次输入密码不同”并且返回。以上输入密码过程中LCD1602显示器上均显示“*”。当错误次数累加至三次时,系统报警并且智能锁定键盘两分钟禁止输入。若从按下
16、键“A”到按下键“E”或者从按下键“B”到按下键“E”之间的时间大于两分钟时,即使密码正确也不进行下一步操作,显示器上显示“超时错误”。在此过程的任意时刻,如遇到非法入门即不经过密码强制开锁,系统则持续报警,并显示“警告:有人非法进入!”,直到用户主人来关闭报警,显示“从危险模式进入安全模式”,然后返回至初始状态。由于LCD1602显示不了汉字,所以以上显示均为英文。密码存入AT24C02时,系统先将密码进行加密处理;进行密码比较时,系统先进行解密处理密码。3. 硬件设计本设计涉及到的主要器件有:主控芯片STC89C51单片机、LCD1602液晶显示器、AT24C02存储芯片、4*4矩阵键盘、
17、继电器、独立按键以及蜂鸣器等。3.1 STC89C51单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,它主要是将微处理器、部分存储器、输入/输出接口电路都集成在一块集成电路芯片上,一块芯片就成为一台计算机。STC89C系列是STMicroelectronics公司的8位Flash单片机,与8051系列单片机相兼容。STC89C51是低电压,高性能的8位CMOS微处理器,俗称单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)
18、。该器件采用STMicroelectronics高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集相兼容。STMicroelectronics的STC89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。STC89C51单片机的主要特性:与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作三级程序存储器锁定128*8位内部RAM32条可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.1.1 STC89C51单片机内部结构51系列单片机是按照工业标准设计制
19、造的。其内核是基于使用多个内部寄存器结构的累加器,用于数据储存和外部设备管理。包括运算器、控制器、存储器、输入/输出接口电路这五个基本组成部分。中央处理器简称CPU,是单片机的核心,完成运算和控制的功能,包括运算器和控制器。(1)运算器运算电路是单片机的运算部件,用于实现算术和控制功能。其包括算术逻辑单元ALU、累加ACC、程序状态字PSW、B寄存器等。其中算术逻辑单元ALU是运算电路的核心。(2)控制器控制电路是单片机的指挥控制部件,用于发出控制信号,指挥单片机各部件协调工作。其包括程序计数器PC、指令控制器、指令译码器、定时与控制电路等。STC89C51单片机芯片内部有用户使用的RAM共2
20、56个字节,地址范围00HFFH;ROM共4KB,地址范围000HFFFH。STC89C51单片机共有2个16位的定时器/计数器,以实现定时/计数功能,并以其定时/计数结果对计算机进行控制。STC89C51单片机共有4个8位的并行I/O口(P0,P1,P2,P3),以实现数据的并行输入输出。STC89C51单片机有一个全双工UART(通用异步接收发送器)的串行I/O口(是P3.0和P3.1口线的第二功能),用于实现单片机之间或者单片机与PC机之间的串行通信。STC89C51单片机的中断功能较强,以满足控制应用的需要。STC89C51单片机共有5个中断源(其中有2个外部中断源),每一个中断源都有
21、自己的中断矢量地址、中断标志位、中断优先级和中断允许标志。STC89C51单片机内部有一个振荡器,可通过引脚XTAL1和XTAL2外接晶体振荡器和微调电容,为单片机产生时钟脉冲序列。总线是一组进行互连和传输信息的信号线,单片机是通过三总线(地址总线、数据总线、控制总线)与外部器件(外部RAM,外部ROM和I/O)互联沟通信息的。3.1.2 STC89C51单片机引脚说明引脚排列图和实物外形图如图3.1。VCC(40脚):接+5V电压。GND(20脚):接地。XTAL1(19脚):反向放大器的输入端。XTAL2(18脚):反向放大器的输出端。(a) (b)图3.1 STC89C51单片机引脚排列
22、和实物外形图RST(9脚):复位输入,高电平有效;使单片机恢复到初始状态,上电后,考虑到振荡器有一定的起振时间,晶振工作后有2个机器周期的高电平复位CPU。PSEN(29脚):外部程序存储器的读选通信号,输出,低电平有效,在访问片外数据存储器时,信号将不再出现。ALE(30脚)地址锁存信号,输出,高电平有效,ALE的输出脉冲用于锁存P0端口8位复用的地址/数据总线上的低8位地址。复位期间,ALE被强制输出高电平。EA(31脚):访问程序存储器控制信号,当低电平时,对ROM的读操作限定在外部ROM。P1口(18脚):是一个通用的内部提供上拉电阻的8位准双向I/O端口,口线P1.0P1.7;P1口
23、缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P0口(3239脚)、P2口(2128脚)以及P3口(1017脚)均是复用端口:第一功能:都是通用的8位准双向I/O端口,口线分别为P0.0P0.7、P2.0P2.7和P3.0P3.7,进行数据并行输入/输出。所不同的是:P0口是一个8位漏极开路双向I/O口,每个脚可接收输出8个TTL门电流。当P0口的管脚第一次被写入“1”时,被定义为高阻抗输入。能够用于外部程序数据存储器,它可以被定义为数据/地址
24、的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P2口是一个内部带上拉电阻的8位双向I/O口,P2口缓冲器可接收输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口为输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号
25、。P3口管脚是内部带8个上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。第二功能:是主要功能。P0是复用的地址/数据总线AD0AD7。在ALE为高电平时,外部存储器的第八位地址A0A7在总线上出现;反之,端口变成了双向8位数据总线D0D7。P2作为高位地址总线使用。当访问外部存储器或者I/O口时,P2口作为高位地址总线,把高位地址A8A15送出。P3口各引脚第二功能定义如下:P3.0:RXD串行口输入端;P3.1:TXD串行口输出端;P3.2:外部中断0请
26、求输入端,低电平有效;P3.3:外部中断1请求输入端,低电平有效;P3.4:T0定时/计数器0计数脉冲输入端;P3.5:T1定时/计数器1计数脉冲输入端;P3.6:WR外部数据存储器写选通信号输出端,低电平有效;P3.7:外部数据存储器读选通信号输出端,低电平有效。其他引脚的第二功能:(31脚):是使用STC89C51内部程序存储器时,所用的编程电压(+12V)。(30脚):是使用具有内部程序存储器的单片机时,所用的编程脉冲。(9脚):是单片机的备用电源。当电源发生故障时,电压降低到下限值时,备用电源可以由此端向内部数据存储器RAM提供电压,以保护内部RAM中的信息不丢失。3.1.3 STC8
27、9C51单片机中断系统外界突然发生紧急情况,要求CPU暂时停下现行程序的执行,转向为临时发生的事件进行处理,处理完之后,再返回继续执行原来程序,这个过程叫“中断”。是一种在发生了一个外部的事件时调用相应的处理函数的过程。中断服务程序与中断时CPU正在执行的主要程序互不影响,是相互独立的,不传递数据的。其主要实现了CPU与外设的速度配合、实时控制、故障的及时处理、人机联系的功能。51单片机有5个中断源,分别为内部串行口中断源,串行口缓冲器SBUF发送或接受完一个字符数据时,可通过内部逻辑申请中断;内部定时器中断源T0、T1,发生溢出时,通过内部逻辑申请中断;2个外部中断源、,可通过(P3.2、P
28、3.3)输入申请中断。(1)串行中断:是为数据传送的。每当串行口接收或发送完一组串行数据时,就产生一个中断请求。因为串行中断请求也是在单片机芯片内部自动发生的,同样不需再芯片上设置引入端。(2)定时中断:是为了满足定时或计数的需要而设置的。为此在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当计数结构发生计数溢出时,即表示定时时间到或计数值已满,这时就以计数溢出信号作为中断请求。去置位一个溢出标志位,作为单片机接收接受中断请求的标志。由于这种中断请求是在单片机芯片内部发生的,因此无需在芯片上设置引入端。(3)外部中断:是由外部信号引起的,共有2个中断源,
29、即外部中断“0”和外部中断“1”。它们的中断信号分别有引脚(P3.2)和(P3.3)引入。常用的外部中断源有输入/输出设备的实时事件中断请求、掉电和设备等硬件故障、定时时钟、为调试程序而设置的中断源等。良好的中断系统,应具有结构上合理,逻辑上严密,不仅可使CPU提高随机应变的能力,高效而有秩序地工作,扩大其应用范围,也是鉴别机器性能重要指标之一。3.1.4 STC89C51单片机内部时钟电路内部时钟方式电路如图3.2。晶体振荡器是首选的时钟源,此驱动内部时钟电路的方法比较常用。图中电容一般取30pF33pF。晶振的振荡器的频率范围通常是在1.2MHz-12MHz之间,51单片机常选择振荡器的频
30、率为6MHz或是12MHz的石英晶体,晶体振荡频率高,那么系统的时钟频率也高,单片机运行速度也越快。晶振和电容应该尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定,可靠地工作,为了提高温度稳定性,应该采用温度稳定性能好的电容。(a) (b)图3.2 内部时钟方式图3.2中,图3.2(a)为Proteus接线图。3.1.5 STC89C51单片机复位电路由单片机提供的RST引脚,外接电阻电容组成复位电路。复位电路如图3.3。(a) (b)图3.3 复位电路图3.3中,图3.3(a)为Proteus接线图。必须在51单片机的RST引脚,保持两个机器周期(24个振荡周期)以上的高电
31、平时,将完成一次单片机复位。复位后片内各专用寄存器的状态见表3.1所示。表3.1 复位后片内各专用寄存器的状态寄存器内容寄存器内容寄存器内容PC00HTMOD00HP0P30FFHA00HTCON00HIP(XXX0000)BB00HTH000HIE(0XX0000)BPSW00HTL000HSCON00HSP07HTH100HSBUF不变DPTR0000HTL100HPCON(0XXXXXXX)B复位是对单片机的片内电路进行初始化,使有关部件恢复到规定的初始状态,并使得PC=0000H。3.2 LCD1602液晶显示器LCD1602液晶显示器也叫LCD1602字符型液晶显示器,是一种专门用来
32、显示字母、数字、符号等的点阵型液晶模块。它由2行16个5*7点阵字符组成的,每个点阵字符位都可以显示一个字符,可以显示ASCII码中的所有可显示的字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形与汉字。LCD1602的主要技术参数:显示容量: 2*16 个字符芯片工作电压:4.55.5V工作电流:2.0 mA (5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm3.2.1 LCD1602引脚说明LCD1602字符型显示器通常有14或16条引脚的。16脚的LCD多出来的2条线是背光电源线VCC(15脚)和地
33、线GND(16脚),它的控制原理与14脚的LCD完全相同。本设计中LCD1602采用标准的16脚接口,LCD1602引脚排列和实物外形图如图3.2。(a) (b)图3.2 LCD1602引脚排列和实物外形图其引脚说明见表3.1所示。表3.1 LCD1602引脚说明引脚号符号电平输入/输出说明1VSS电源地2VDD电源+5V3V0对比度调整,接正电源时对比度最弱,接地电源时最强。4RS0/1输入寄存器选择输入:1代表数据寄存器,可以读写数据;0代表指令寄存器,可以写指令,读忙标志或地址计数器5R/W0/1输入读写操作:1表示读操作;0表示写操作6E1,10输入使能信号:1表示取数据;10表示行命
34、令7DB00/1输入/输出数据总线8DB10/1输入/输出数据总线9DB20/1输入/输出数据总线10DB30/1输入/输出数据总线11DB40/1输入/输出数据总线12DB50/1输入/输出数据总线13DB60/1输入/输出数据总线14DB70/1输入/输出数据总线15BL1+VCC输入背光电源正极16BL2接地输入背光电源负极在端口中,RS、R/W、E为LCD的控制信号,真值表见表3.2所示。表3.2 控制信号真值表RSR/WE功能0010写指令011读忙标志和AC值1010写数据111读数据3.2.2 LCD1602显示原理LCD1602的显示数据存储器DDRAM用来寄存待显示的代码。共
35、有80个字节,其地址和屏幕显示位置的对应关系见表3.3所示。但是LCD1602每行只能显示16个字符,所以DDRAM的前16位地址与LCD1602显示屏上的字符显示位置一一对应的。主控系统如单片机等需要将字符显示在显示屏幕上某一位置时,首先将对应位置的DDRAM的地址写到指令寄存器中,然后将写入字符的ASCII码写到DDRAM中,就完成了一个字符的显示。表3.3 DDRAM地址和屏幕显示位置的对应关系显示地址1234.15161740DDRAM地址第一行00H10H02H03H0EH0FH10H27H第二行40H41H42H43H4EH4FH50H67H3.2.3 LCD1602控制指令LCD
36、1602显示器模块内部有两种寄存器:指令寄存器与数据寄存器,共有11中控制指令,LCD1602指令集见表3.4所示。表3.4 LCD1602指令集指令功能指令编码执行时间/msRSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏00000000011640光标归位000000001X1640进入模式设定00000001I/DS40显示开关控制0000001DCB40光标或字符移位000001S/CR/LXX40功能设置00001DLNFXX40设定CGRAM地址0001CGRAM地址码(6位)40设定DDRAM地址001DDRAM地址码(7位)40读忙信号或地址计数器01BF当前显示
37、地址码(7位)40数据写入CGRAM/DRAM108位数据40从CGRAM/DRAM中读出数据118位数据40表中:X:0或1。 I/D:显示地址计数器(AC)模式选择,I/D=0,AC减1,光标左移;I/D=1,AC加1,光标右移。 S:0表示显示屏不移动,1表示显示屏整体平移,此时若I/D=0,画面右移;I/D=1,画面左移。 D:显示器开关控制位。1表显示器开;0表显示器关。 C:光标开关控制位。1表光标开;0表光标关。 B:光标闪烁开关控制位。1表光标闪烁;0表光标不闪烁。 S/C:显示器或者光标移位选择。1表显示器移位;0表光标移位。 R/L:移位方向选择。1表右移;0表左移。 DL
38、:传输数据有效位选择。1表示数据总线为8位;0表数据总线为4位。 N:显示器显示行选择。1表显示2行;0表显示1行。 F:字符显示块的点阵选择。1表示选择5*10点阵;0表示选择5*7点阵。 BF:读忙标志位。1表忙;0表闲。3.2.4 LCD1602显示电路LCD1602显示器的1、2、3号引脚分别接地、电源、电位器,主要作用是调节字符显示亮度。LCD1602显示器的4、5、6号引脚分别接STC89C51单片机的P2.0、P2.1、P2.2口线,STC89C51单片机的P0口接LCD1602的8位双向数据线DB0DB7。 LCD1602显示器与STC89C51单片机的接口电路如图3.3。图3
39、.3 LCD1602显示器与STC89C51单片机的接口电路3.3 AT24C02存储芯片I2C总线(Inter IC Bus)由PHILPS公司推出的一种双向二线总线。是同步通信的一种特殊形式,具有接口少、控制简单、器件封装形式小、通信速率较高等优点。I2C总线有一条数据线SDA和一条串行时钟线SCL,既可发送数据,也可接受数据,可以很方便的构成外围器件扩展系统。总线上各器件均采用漏极开路结构与总线相连,因此SCL和SDA均需接上拉电阻,总线在空闲状态下均保持高电平,连到总线上的任一器件输出的低电平,都将时总线的信号变低,即器件的SDA与SCL都是线“与”关系。AT24CXX系列是最为常见的
40、I2C总线串行EEPROM数据存储器,是ATMEL公司生产的电可擦写的可编程存储器。其特点:功耗小,电源电压取值范围宽(1.85.5V),工作电流约为3mA,静态电流随电源电压不同,范围为30110uA。AT24CXX系列的EEPROM有11种型号,它们是AT24C01/02/04/08/16/32/64/128/256/512/1024,其存储容量分别是1/8、1/4、1/2、1、2、4、8、16、32、64、128KB。AT24C02内含256*8位存储空间,擦写次数多(大于10000次),写入速度快,抗干扰能力强,数据不易丢失,体积小等特点。并且它是采用I2C总线式进行数据读写的串行操作
41、,只占用很少的资源和I/O线。有一个16字节的写缓冲器。该器件通过I2C总线接口进行操作,有一个专门的写保护功能。3.3.1 AT24C02引脚说明AT24C02引脚图和实物外形图如图3.4。(a) (b)图3.4 AT24C02引脚和实物外形图VCC:接电源+5V。GND:接地。A0A2:可编程地址引脚。SDA:串行数据I/O端。SCL:串行时钟输入端。WP:写保护端。接VCC时对芯片实施写保护,接地时允许执行一般读/写操作。每当送入一个数据,系统就自动调用存储程序,将数据信息保存在AT24C02芯片中;此芯片具有掉电记忆功能,当系统重新上电的时候,会自动调用存储程序,将存储器内的数据信息读
42、到存储单元中,从而供主程序使用。AT24C02支持总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件作为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式, A0、A1和A2可以组成000111的八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件。3.3.2 AT24C02存储电路系统存储电路如图3.5。图3.5 系统存储电路图中R1和R2为上拉电阻,其作用是减少AT24C0
43、2的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SDA(数据/地址)和SCL(移位脉冲)与STC89C51单片机传送数据。3.4 矩阵键盘键盘是单片机系统中最常用的一种设备,也是本设计必不可少的一部分。用户可以通过键盘向单片机CPU输入指令、地址以及数据等。键盘的识别方法可分为专门的硬件电路识别和软件识别两种,虽然硬件电路识别使用起来方便,可是它价格昂贵,所以在单片机系统中一般不采用;而软件识别键盘结构简单,价格便宜并且应用灵活。单片机系统中最常用的是由软件来识别的非编码键盘,非编码键盘分为独立式键盘和行列式键盘两种形式,本次采用行列式键盘,可以
44、节省I/O端口线。每条水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连接,利用这种行列式矩阵结构只需n条行线和m条列线,即可组成n*m矩阵键盘。在这种由软件来识别的非编码键盘中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下时,就识别哪一个键被按下。键的识别通常有两种方法:一种是常用的逐行扫描法;另一种是速度较快的线反转法。线反转法中行线和列线分别作为输入和输出,先行线输入、列线输出,即键盘口输出0x0f,读行值;再列线输入、行线输出,即键盘口输出0xf0,读列值;再把行值与列值合并,得到键值后转换成所需键号。键盘的连接图如图3.6。 (a) (b)图3.6 键盘的连接图将STC89C51的并行口P1接4*4矩阵键盘,以P1.0P1.3作为行线,以P1.4P1.7作为列线。键盘电路如图3.7。图3.7 键盘电路键盘按键、键名及功能见表3.5所示。表3.5 键盘按键、键名及功能按键键名功能说明09数字键输入密码A输入键输入密码键B设置键修改密码键E确定键比较密码F退格键清除一位密码3.5 继电器继电器是一种电控制器件,具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种