![](https://csdnimg.cn/release/download_crawler_static/87945184/bg4.jpg)
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(外部数据存储器读选通)
P3 口同时为闪烁编程和编程校验接收一些控制信号。
I/O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外
部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁
存器。只有读端口时才真正地把外部的数据读入到内部总线。上面图中的两个三角形表示的就是
输入缓冲器 CPU 将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬
件自动完成的,不需要我们操心,1 然后再实行读引脚操作,否则就可能读入出错,为什么看上
面的图,如果不对端口置 1 端口锁存器原来的状态有可能为 0Q 端为 0Q^为 1 加到场效应管栅极
的信号为 1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为 1,也会因端口
的低阻抗而使信号变低使得外加的 1 信号读入后不一定是 1。若先执行置 1 操作,则可以使场效
应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准
备动作,所以这类 I/O 口被称为准双向口。89C51 的 P0/P1/P2/P3 口作为输入时都是准双向口。
/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否
有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此
间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
(三)STC89C51 单片机最小系统:
最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常
的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的
核心部分,通过对其进行存储器扩展、A/D 扩展等,使单片机完成较复杂的功能。
STC89C51 是片内有 ROM/EPROM 的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用 STC89C52 单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,结构如
图 3 所示,由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
图 3 单片机最小系统原理框图
(1) 时钟电路
STC89C51 单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。
内部时钟方式如图 2-4 所示。在 STC89C51 单片机内部有一振荡电路,只要在单片机的 XTAL1(18)
和 XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲
信号。图中电容 C1 和 C2 的作用是稳定频率和快速起振,电容值在 5~30pF,典型值为 30pF。晶
振 CYS 的振荡频率范围在 1.2~12MHz 间选择,典型值为 12MHz 和 6MHz。