.
AT89C51单片机的基本结构请参见图3-2,各部分情况介绍如下:
中央处理器(CPU):中央处理器是单片机的核心,完成运算和控制功能。AT89C51的CPU能处理8位二进制数或代码。
内部数据存储器(内部RAM):AT89C51芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。
内部程序存储器(内部ROM):AT89C51共有8KB掩膜ROM,用于存放程序、原始数据或表格,因此称之为程序存储器,简称内部ROM。
定时器/计数器:AT89C51共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
T0 T1 时钟电路 ROM RAM 定时/计数器 CPU 并行接口 串行接口 中断系统 P0 P1 P2 P3 TxD x RxD INT0 INT1 图3-2 AT89C51单片机结构框图
并行I/O口:AT89C51共有四个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入输出。
串行口:AT89C51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。
中断控制系统:AT89C51单片机的中断功能较强,以满足控制应用的需要。AT89C51共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。全部中断分为高级和低级共二个优先级别。
时钟电路:AT89C51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电
'.
.
路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6MHZ和12MHZ。
从上述内容可以看出,AT89C51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此实际上它已是一个简单的微型计算机系统了。 3.1.2 AT89C51的信号引脚
AT89C51是标准的40引脚双列直插式集成电路芯片,其引脚排列请参见图3-3。引脚功能见表3-1。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1.0 VCC P1.1 P0.0 P1.2 P0.1 P1.3 P0.2
8051 P1.4 P0.3
P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 RST/VPD P0.7 RXD P3.0 EA/VPP TXD P3.1 ALE/PROG INT0 P3.2 PSEN INT1 P3.3 P2.7 T0 P3.4 P2.6 T1 P3.5 P2.5 WR P3.6 P2.4 RD P3.7 P2.3 XTAL2 P2.2 XTAL1 P2.1 VSS P2.0 图3-3 MCS–51引脚
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 表3-1 AT89C51引脚功能
引脚名称 P0.0~P0.7 P1.0~P1.7 P2.0~P2.7 P3.0~P3.7 ALE PSEN EA 引脚功能 P0口8位双向端口线 P1口8位双向端口线 P2口8位双向端口线 P3口8位双向端口线 地址所存控制信号 外部程序存储器读选通信号 访问程序存储控制信号 复位信号 外部晶体引线端 +5V电源 地线 ALE:在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存器锁存起来,以实现低位地址和数据的隔离。此外由于ALE是以晶振六分之一的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。
RST XTAL1和XTAL2 Vcc Vss PSEN:外部程序存储器读选通信号。在读外部ROM时PSEN有效(低电平),以实
现外部ROM单元的读操作。
EA:访问程序存储控制信号。当EA信号为低电平时,对ROM的读操作限定在外部程
序存储器;而当EA信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
RST:复位信号。当输入的复位信号延续2个机器周期以上高电平即为有效,用以完成单片机的复位初始化操作。
XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
'.
.
VSS:地线。 VCC:+5V电源。
由于工艺及标准化等原因,芯片的引脚数目是有限制的。例如AT89C51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就需要给一些信号引脚赋以双重功能。如果把前述的信号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。最常用的是P3口线的第二功能详见表3-2。
表3-2 P3口各引脚与第二功能表
第一功能 P3.0 P3.1 P3.2 P3.3 P3.4 第二功能 RXD TXD INT0 INT1 第二功能信号名称 串行数据接收 串行数据发送 外部中断0申请 外部中断1申请 定时器/计数器0的外部输入 定时器/计数器1的外部输入 外部RAM写选通 外部RAM读选通 T0 P3.5 P3.6 P3.7 3.1.3 单片机最小系统 T1 WR RD 单片机最小系统以AT89C51单片机为核心,由单片机、时钟电路、复位电路等组成如图3-4所示。主要负责各个模块的初始化工作,读取并处理时间、按键响应、显示等。 单片机的工作就是执行用户程序、指挥各部分硬件完成既定任务。单片机能够工作的最小电路还包括时钟和复位电路。
时钟电路位单片机工作提供基本始终,复位电路用于将单片机内部各电路的状态恢复到初始值。
单片机是一个负载的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。时钟电路用于产生单片机工作所需要的时钟信号。时钟电路是由XTAL1和XTAL2之间跨接的晶体振荡器和微调电容构成。时钟电路中晶体振荡器的频率高则系统的时钟频率就高,所以该系统采用12MHz晶振,工作周期为1us。
'.
.
无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。单片机复位是使CPU和系统中的其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。本系统中采用的是12MHz晶振,时钟频率为12MHz,每个机器周期为1us,需要加上持续2us以上时间的高电平。
复位电路有两种形式:手动按键复位和上电复位,在本系统中采用的是手动按键复位。如图3-4所示,R1、C3和KEY1组成系统手动按键复位电路。
图3-4 单片机最小系统
3.2 感应系统
为了使单片机在液位情况不同时进行判定,从而决定工作情况,我们要给单片机传递液位的信息。感应系统目的就是将感应到的液位的信息传递给单片机,所以需要在容器中放置能够感应出液位情况的感应器件,此系统中我们选用浮球液位计。
浮球液位计由浮球、插杆等组成。根据排开液体体积相等原理浮于液面,当容器的液位变化时浮球也随着上下移动,由于磁性作用,浮球液位计的弹簧受磁性吸合,把液面位置变化成电信号,通过磁耦合作用,使传感器内电阻成线性变化,由智能转换器将电阻变化转换成4~20mA标准电流信号,传供给控制系统可实现液位的自动检测、控制和记录。该仪器适用于石油、化工、电力、轻工及医药等行业污水处理及各类常压和承压容器内介质液位的测量,尤其对于地下贮槽、贮罐的液位测量最为理想。
通过浮球液位计所传出的电流信号,传递给单片机。如图3-5所示,P1.0、P1.1、P1.2、P1.3为液位检测信号传递的接口。P1.0端口接a位,P1.1端口b位,P1.2端口接c位,P1.3端口接d位。
'.
.
图3-5 信号传递系统
3.3 指示系统
为了得知控制系统运转时的情况,我们需要给整个系统添加装置来明示,表明系统的进程、液体的位置,此系统中,采用连接指示灯来提供我们液位控制的必要的信息。如图3-6所示,P0.0、P0.1、P0.2、P0.3、P0.4端口为单片机与液位位置和单片机工作指示灯的控制和通信的数据端口。在单片机工作期间,除了表明工作进行的工作指示D5 会一直保持亮的状态,其它指示灯会为表明液位的情况相应变亮,如表3-3所示。
表3-3 指示灯情况明示表
液位情况 液体到达a位 液体到达b位 液体到达c位 液体到达d位 亮状态指示灯 D1 D1,D2 D1,D2,D3 D1,D2,D3,D4 '.