STC89C52 是 一 种 带 8K 字 节 闪 烁 可 编 程 可 檫 除 只 读 存 储 器
(FPEROM-Flash Programable and Erasable Read Only Memory )的
低电压,高性能 COMOS8 的微处理器,俗称单片机。该器件采用 ATMEL 搞密
度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼
容。
单片机总控制电路如下图 4—1:
图 4—1 单片机总控制电路
1.时钟电路
STC89C52 内部有一个用于构成振荡器的高增益反相放大器,引脚 RXD 和
TXD 分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式
产生。内部方式的时钟电路如图 4—2(a) 所示,在 RXD 和 TXD 引脚上外接定
时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的
并联谐振回路。晶体振荡频率可以在 1.2~12MHz 之间选择,电容值在 5~30pF
之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图 4—2(b)所示,RXD 接地,TXD 接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于 12MHz
的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟 P1 和 P2,
供单片机使用。
示,RXD 接地,TXD 接外部振荡器。对外部振荡信号无特殊要求,只要求
保证脉冲宽度,一般采用频率低于 12MHz 的方波信号。片内时钟发生器把振荡
频率两分频,产生一个两相时钟 P1 和 P2,供单片机使用。
RXD 接地,TXD 接外部振荡器。对外部振荡信号无特殊要求,只要求保证
脉冲宽度,一般采用频率低于 12MHz 的方波信号。片内时钟发生器把振荡频率
两分频,产生一个两相时钟 P1 和 P2,供单片机使用。
(a)内部方式时钟电路
(b)外部方式时钟电路
图 4—2 时钟电路
2.复位及复位电路
(1)复位操作
复位是单片机的初始化操作。其主要功能是把 PC 初始化为 0000H,使单
片机从 0000H 单元开始执行程序。除了进入系统的正常初始化之外,当由于程
序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新
启动。
除 PC 之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一
所示。
表一 一些寄存器的复位状态
寄存器
PC
复位状态
0000H
寄存器
TCON
复位状态
00H
ACC
PSW
SP
DPTR
P0-P3
IP
IE
TMOD
00H
00H
07H
0000H
FFH
XX000000B
0X000000B
00H
TL0
TH0
TL1
TH1
SCON
SBUF
PCON
00H
00H
00H
00H
00H
不定
0XXX0000B
(2)复位信号及其产生
RST 引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持
续 24 个振荡周期(即二个机器周期)以上。若使用颇率为 6MHz 的晶振,则复位
信号持续时间应超过 4us 才能完成复位操作。
产生复位信号的电路逻辑如图 4—3 所示:
图 4—3 复位信号的电路逻辑图
整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至
施密特触发器,再由片内复位电路在每个机器周期的 S5P2 时刻对施密特触发器
的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图 4—4
(a)所示。这佯,只要电源 Vcc 的上升时间不超过 1ms,就可以实现自动上
电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复
位端经电阻与 Vcc 电源接通而实现的,其电路如图 4—4(b)所示;而按键脉
冲复位则是利用 RC 微分电路产生的正脉冲来实现的,
其电路如图 4—4(c)所示:
(a)上电复位
(b)按键电平复位
图 4—4 复位电路
(c)按键脉冲复位
上述电路图中的电阻、电容参数适用于 6MHz 晶振,能保证复位信号高电
平持续时间大于 2 个机器周期。
本系统的复位电路采用图 4—4(b)上电复位方式。
STC89C52 具体介绍如下:
① 主电源引脚(2 根)
VCC(Pin40):电源输入,接+5V 电源
GND(Pin20):接地线
②外接晶振引脚(2 根)
XTAL1(Pin19):片内振荡电路的输入端
XTAL2(Pin20):片内振荡电路的输出端
③控制引脚(4 根)
RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机
复位。
ALE/PROG(Pin30):地址锁存允许信号
PSEN(Pin29):外部存储器读选通信号
EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读
指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32 根)
STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、P1、P2、P3
口,每个口有 8 位(8 根引脚),共 32 根。
PO 口(Pin39~Pin32):8 位双向 I/O 口线,名称为 P0.0~P0.7
P1 口(Pin1~Pin8):8 位准双向 I/O 口线,名称为 P1.0~P1.7
P2 口(Pin21~Pin28):8 位准双向 I/O 口线,名称为 P2.0~P2.7
P3 口(Pin10~Pin17):8 位准双向 I/O 口线,名称为 P3.0~P3.7
STC89C52 主要功能如表二所示。
表二 STC89C52 主要功能
主要功能特性
兼容 MCS51 指令系统
32 个双向 I/O 口
3 个 16 位可编程定时/计数器中断
2 个串行中断
2 个外部中断源
2 个读写中断口线
8K 可反复擦写 Flash ROM
256x8bit 内部 RAM
时钟频率 0-24MHz
可编程 UART 串行通道
共 6 个中断源
3 级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能