西南科技大学本科生毕业论文
2.2 系统结构
本设计系统主要由单片机芯片、矩阵键盘、LCD显示模块、掉电存储模块、
报警机构和开锁机构组成。如图2-1所示。
LCD显示 时钟电路 单片机 掉电存储 复位电路 开锁机构 矩阵键盘 报警机构
图2-1 系统总体设计结构图
时钟电路给单片机提供晶振频率,复位电路不但使单片机上电复位,还能
在使用过程中通过需要通过按键再次手动复位,矩阵键盘提供按键的输入,LCD模块显示信息,掉电存储负责密码的存储,开锁机构和报警机构分别负责开锁和报警功能。
设计中,单片机选用AT89C51,LCD显示模块选用LCD1602液晶显示器,串行存储器选用电可擦除存储器AT24C02,开锁机构用发光二极管代替,报警机构选用蜂鸣器。
4
西南科技大学本科生毕业论文
第3章 硬件电路设计
3.1 单片机接口分配
AT89C51单片机在一块芯片上集成了CPU、RAM、ROM、定时器/计数器
和多种I/O功能部件,具有一台微型计算机的基本结构,按功能可以将其分成八个组成部分:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、I/O口、串行口、定时器/计数器及中断系统。
在本设计中,单片机的各个接口我是这样分配的:P0口接一个上拉电阻后
与LCD1602的8位双向数据端D0~D7相接,P1口用作矩阵键盘接口,P2口的P2.0~P2.2和LCD1602的4~6引脚相接,P2.5和P2.6接串行存储器AT24C02,P3口用作开锁电路和报警电路的接口。
3.2 单片机最小系统设计
单片机最小系统就是指能使单片机工作的最少的器件构成的系统。因
为单片机已经包含了数据存储器和程序存储器,所以只要在其外部加上时钟电路和复位电路就可以构成单片机最小系统。
3.2.1 时钟电路
单片机工作需要晶振给CPU提供频率,时钟电路就是给单片机提供晶振频率的电路。图3-1是时钟电路的PROTEUS仿真图。
图3-1 时钟电路
5
西南科技大学本科生毕业论文
单片机允许的振荡晶体可在1.2~24MHz之间选择,一般为11.0592MHz,电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20~100pF之间选择,典型值位30pF。
3.2.2 复位电路
计算机每次开始工作,CPU和系统中的其他部件都必须要有一个确定
的初值,即复位状态。图3-2是单片机复位电路仿真图。
图3-2 复位电路
单片机RST引脚是高电平有效。单片机在上电瞬间C1充电,RST引脚端
出现正脉冲,只要RST断保持两个机械周期(大约10ms)以上的高电平,单片机就能复位。在单片机工作后,如果还想再次复位,只需按下开关,单片机就能重新变成复位状态。
当晶体振荡频率为12MHz时,RC的典型值为C=10μF,R=8.2KΩ。 3.2.3 最小系统
单片机加上时钟电路和复位电路就构成了能使其正常工作的最小系统。 单片机最小系统是单片机正常工作的基础,任何一个单片机系统设计都是基于单片机最小系统的基础上来完成的,而在单片机系统实物设计中,最应该首先解决的也应该是单片机最小系统问题,只有保证了单片机最小系统的正确性,才能保证接下来的其他模块的正确设计。
图3-3是单片机最小系统的完整仿真图。
6
西南科技大学本科生毕业论文
图3-3 单片机最小系统
3.3 矩阵键盘设计
一组键或者一个键盘,需要通过接口电路和CPU相连接,CPU可以采用查
询接口或者中断的方式了解有没有键被按下,并检查是哪个键被按下。无论是查询方式还是中断方式都要用到单片机的I/O口。由于单片机I/O口较少的原因,当系统中需要用到较多按键时,为了能够更合理更有效地利用单片机的I/O口,一般采用矩阵键盘的方式来实现多按键的功能。
图3-4是4x4矩阵键盘在PROTEUS中的电路原理仿真图。
图3-4 4x4矩阵键盘
7
西南科技大学本科生毕业论文
矩阵键盘又叫做行列式键盘。行列式键盘的硬件结构比较简单,由行输出口和列输出口构成行列式键盘,按键设置在行、列交点上。图3-4中,P1.0~P1.3是行输出口,P1.4~P1.7是列输出口。行输出口和列输出口不相交,只有当键被按下时相应的行和列才能相连。如此,只要检测行和列是否相连就可以知道是否有键按下。
由于按键设置在行、列线交点上,行、列分别连接到按键开关的两端,平时无键按下时,行线处于高电平,假设列线为低电平,当有键按下时,按下的键就会将相应的行和列连通,使得对应的行线被列线拉低,也变为低电平。这就是识别矩阵键盘是否有键被按下的关键。
当确定有键被按下时,通过逐行扫描,读出I/O口的值可以知道哪一行的值被改变了,被改变了的行即是被按下的按键所在行。同时,由于每个键都有它的行值和列值,行值和列值得组合就是这个按键的编码,当算法一定时,每个按键的编码是固定的,且各个按键的编码互不相同,所有通过读I/O的值还能具体知道是哪一个键被按下,这样就实现了键盘的识别。
3.4 LCD显示模块设计
在单片机应用系统中,常用的显示设备有单个发光二极管、八段LED
显示器、液晶显示器(LCD)、屏幕显示器(CRT)等。在本次设计中,基于设计所要实现的功能和节约成本等实际情况,我采用LCD1602作为本次设计的显示器。
LCD1602是一种字符型液晶显示器,是一种专门用于显示字母、数字、符号等的点阵式液晶显示器。LCD1602的显示容量为16x2个字符(可以显示2行,每行显示16个字符),芯片工作电压为4.5~5.5V,工作电流为2.0mA(5.0V),模块最佳工作电压是5.0V。
LCD1602具有16个引脚,如表3-1所示。在LCD1602的有关设计中,主要是通过编写程序控制LCD1602的4、5、6引脚来实现数据或者指令的写入和执行,再通过数据或者指令的写入和执行来进一步实现LCD1602的显示功能。
表3-1是LCD1602的16个引脚和引脚对应功能。
8