6.与上位机串行通信 7.IO口扩展功能
2.3 AT89C51 在实验板中的应用
AT89C51是美国Ateml公司生产的低电压,高性能CMOS 8位单片机,片内含4Kb的可反复擦写的Flash只读程序存储器和128b的随机存取数据存储器(RAM),器件采用Ateml公司的高密度,非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
AT89C51在此整个实验板系统中处于核心地位。硬件电路板设计中,几乎其它所有的元器件的选取都要依据AT89C51的性能参数来决定。例如电源电路中基于AT89C51的工作电压为+5V所以稳压芯片选择7805系列。
在软件设计中,AT89C51 接收并处理键盘输入的信号,将其发送给显示器件,实现液晶显示功能,或发送给PC机 实现串行通信功能。另一方面,它也接收上位机发送的数据,处理后传送给显示器件 。
第3章 实验板的硬件设计 3. 1 硬件总体设计
此设计的单片机实验开发板是以AT89C51 作为主控制芯片,串口通信芯片MAX232,DB9插座,液晶显示器,按键开关等元器件组成,通过软硬件结合实现键盘扫描,液晶显示,与上位机串行通信,IO口扩展功能.一方面,它能作为学生简单实验的工具,另一方面,它也是综合型单片机系统设计的基础,可扩展许多其它功能。
总体设计硬件方框图如下所示: 外围电路 时钟 复位 AT89C51 单片机 电源电路 键盘电路 显示电路
IO口扩展电路
串行通信电路 PC机
3.1实验板总体设计硬件方框图
外围电路是AT89C51工作的基础保障——电源电路提供稳定的+5V工作电压;时钟电路用于产生单片机工作所需的时钟信号;复位电路使单片机实现初始化状态复位。键盘电路用于向系统输入运行参数,控制系统的运行状态。通过键盘扫描等程序设计把键盘输入的数据在液晶显示器上显示或把数据发送到PC机 实现串行通信。LCD电路用来显示键盘输入的数据,上位机发送到AT89C51的数据,其功能也是靠硬件电路的设计和软件程序的结合来实现的。串行通信电路主要是为了单片机与上位机之间数据传送而设计的。 3. 2 各功能模块设计 3.3.1 单片机外围电路 1.时钟电路
时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
在AT89C51单片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。在AT89C51芯片内部有一个高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。 AT89C51的时钟电路如图3.2所示:
图3.2 AT89C51的时钟电路
用晶振和电容构成谐振电路。电容C1 、C2容量在15~40pF之间,大小与晶振频率和工作电压有关。但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精度,本实验板采用30pF的电容作为微调电容。在设计电路板时,晶振、电容等均应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。
2.复位电路
复位是单片机的初始化操作,其主要功能是使单片机从0000H单元开始执行程序。除了进入系统的正常初始化以外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境也需按复位键以重新启动。AT89C51 芯片内部有复位电路,RST引脚是复位信号的输入端高电平有效,复位方式有自动复位和手动复位两种。本实验板采用手动复位方式复位。
AT89C51的复位电路如图3.3所示: 图3.3 AT89C51的复位电路
当电源刚开始送电瞬间,电容C11相当于短路,RST端输入高电平,AT89C51复位。短路瞬间之后,C11充电,RST端低电平。AT89C51需要复位时,按下手动复位键K1,电容C11通过R7放电,当电容C11放电结束后,RST端的电位由R7,R8分压比决定。因R7 (270欧)<<R8(8.2K欧),RST为高电平,AT89C51进入复位状态,松手后,电容C11充电,RST端高电位下降,CPU脱离复位状态。R7的作用在于限制K1按下瞬间电容C11放电电流,避免产生火花,以保护K1的触点。发光二级管D2在无复位操作时灯暗。当电源送电瞬间和按下K1键时灯亮,表明AT89C51进入复位状态,否则复位键操作无效,AT89C51未复位。 3.2.2 4×4矩阵键盘电路
键盘是人与AT89C51 联系的重要手段,用于向CPU输入运行参数,控制系统的运