本科毕业设计说明书(论文)
表2.1 P3口功能
第 7 页 共 41页
(P3口同时为闪烁编程和编程校验接收一些控制信号)
2.1.3 振荡器特性
单片机AT89C51允许用户自行外接合适频率的晶体振荡器,最常使用的不
外乎石晶振荡和陶瓷振荡。当配置为片内振荡器时,反向放大器输入端口应接XTAL1、输出端口应当接XTAL2。当使用外部时钟源时,不接XTAL2。此处外部时钟信号的脉冲宽度可以是任意的。 2.1.4 芯片擦除
想在任何已存有信息的存储字节上重复编程,首先必须对芯片进行擦出操作。
AT89C51芯片的擦出方法为:ALE管脚接低电平10ms,同时搭配以适当的控制信号组合,此种操作会将代码阵列全部写为“1”。此外,AT89C51设有两种掉电模式。用户可以自主选择:一是“闲置模式”,此模式下CPU将会挂起,但RAM,定时器,计数器,串口以及中断系统仍会处于工作状态;二是“掉电模式”,此时保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止[9]。
2.2 LCD1602显示器介绍
液晶显示模块主要用于为系统提供输出,可显示图形、数字或专用符号等信息,这一元件在电子产品中相当常见。在本次设计中我们选用LCD1602显示模块,
本科毕业设计说明书(论文)
第 8 页 共 41页
这一型号有诸多优点,如显示自由度高、体积小、耗能少等。 LCD1602可显示2*16 个字符,有RS,R/W,EN三个控制端口和8位数据总线D0-D7,工作电压为5V,并且具有字符对比度调节和背光功能[10]。
它的主要特性如下:
1内含复位电路,对比度可调 ○
2通过控制命令可以实现实现多种功能。 ○
3内部有一显示数据存储器DDRAM,其容量为80字节。 ○
4拥有200个5*7的字符发生器CGROM,其中8个可由用户自定义。 ○
1602型LCD的接口引脚说明如表2.2所示。
表2.2 LCD1602引脚说明
编号 1 2 3 4 5 6 7 8 符号 VSS VDD VL RS R/W E D0 D1 功能 电源地 电源正极 液晶显示偏压 数据/命令选择 读/写选择 使能信号 数据 数据 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 功能 数据 数据 数据 数据 数据 数据 背光源正极 背光源负极 1602型LCD主要技术参数: 显示容量:16×2个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA 模块最佳工作电压:5.0V
字符尺寸:2.95×4.35mm(宽×高)
常用指令见下表:
本科毕业设计说明书(论文)
表2.3 LCD1602常见指令
第 9 页 共 41页
2.3 晶体振荡器
晶体振荡器(简称晶振)可以产生一定频率的时钟信号,这一信号经过调频后可成为处理器中各处的总线频率。
现在使用最多当属石英晶体振荡器,也称石英晶体谐振器。石英晶体振荡器具有精度高和稳定度高的优点,它同时可以作为一种晶体谐振元件实现LC谐振回路的功能:稳定频率和选择频率。石英晶体振荡器在生活中的电子设备里随处可见,为它们产生时钟信号,应用在在单片机中时也是如此。
石英晶体具有压电效应,石英晶体振荡器就是利用这一特点制作成的,简称为石英晶体或晶体、晶振。大多数晶振是这样构成的:从特定角度切下矩形或圆形的石英晶体薄片,并在其对应面上敷银制成电极,并在上面各焊一根引线接到管脚上,再加上封装外壳 [11]。
本科毕业设计说明书(论文)
3 系统设计
3.1 整体思路
第 10 页 共 41页
本系统主要包括单片机、矩阵键盘、复位电路、晶振电路和液晶显示器等部分。作为整个系统的输入,矩阵键盘担当着与用户交互的核心任务,用户可以再此输入密码或控制程序的运行方向。
功能上,首先由用户由矩阵键盘输入密码,而后与事先存储的密码进行比较,判断出密码的正确与否,然后单片机会控制特定引脚的电平以触发开锁电路或者报警电路。实用产品只须将单片机的负载由发光二极管替换为实际锁具的开锁电路即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈[12]。
具体的讲,本设计可以分为硬件部分与软件部分俩大部分。其中硬件部分又分为键盘输入电路、复位电路、晶振电路、显示电路、报警或解锁提示电路等几大模块;相应的,软件部分由主程序、按键检测子程序、LCD显示子程序、密码修改子程序、报警声音子程序等组成。
图3.1 系统框图
本科毕业设计说明书(论文)
3.2 系统硬件部分设计
第 11 页 共 41页
本系统外围电路包括键盘输入电路、复位电路、晶振电路、显示电路、报警或解锁提示电路等。结合本设计的原定目标,键盘输入电路选择4×3矩阵键盘,显示电路选择显示屏LCD1602来完成。其原理图如图4.1所示。
图3.2 系统原理图
3.2.1 键盘输入电路
单片机系统中,常用的键盘设计方式有独立式键盘和矩阵式键盘两种。 独立式键盘是指每个I/O输入端口对应一个物理按键的键盘。其优点是键盘结构简单,按键识别容易;缺点是占用I/O口较多。
矩阵式键盘适合用在按键数量较多的系统中,它将I/O口分别引出线,并分为行线和列线,在每一个行线和列线相交的地方放置一个按键,这种方案下,一个占用7个I/O端口的4×3的行列结构可以构成一个12键的键盘。显然这种方式与独立式键盘相比节省了很多I/O端口,但算法相对复杂[13]。常用的矩阵式键盘扫描原理有反转和行/列扫描法。本设计中采用行扫描法,具体原理将在软件部分介绍。
键盘功能及其引脚接法如图4.2所示: