2.1.2 AT89S51单片机的功能
AT89S51主要功能列举如下:
1)为一般控制应用的8位单芯片 2)晶片内部具有时钟振荡器
3)内部程式存储器(ROM)为 4KB 4)内部数据存储器(RAM)为 128B
5)外部程序存储器可扩充至 64KB 6)外部数据存储器可扩充至 64KB
7)32 条双向输入输出线,且每条均可以单独做 I/O 的控制
8)5个中断向量源 9)2组独立的 16 位定时器
10)1个全多工串行通信端口 11)8751 及 8752 单芯片具有数据保密的功能
12)单芯片提供位逻辑运算指令
2.1.3 AT89S51各引脚功能介绍:
VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:AT89S51的重置引脚,高电平动作。
EA/Vpp:存取外部程序代码,低电平动作。
ALE/PROG:地址锁存器启用信号。
PSEN:程序储存启用,通常这支脚是接到EPROM的OE脚。
PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。
本系统所采用的AT89S51芯片如下图所示: