STC89C52RC引脚功能说明
- VCC(40引脚):电源电压
- VSS(20引脚):接地
- P0端口(P0.0~P0.7,39~32 引脚):
P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL 负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0 口也可以提供低8 位地址和8 位数据的复用总线。此时,P0 口内部上拉电阻有效。在Flash ROM 编程时,P0 端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。
- P1端口(P1.0~P1.7,1~8引脚):
P1 口是一个带内部上拉电阻的8位双向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL 输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。
此外,P1.0 和P1.1 还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX),具体参见下表:
在对FlashROM编程和程序校验时,P1 接收低8位地址。
- P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。P2 的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL 输入。 对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16 位地址的外部数据存储器(如执行“MOVX
@DPTR”指令)时,P2 送出高8 位地址。在访问8位地址的外部数据存储器(如
执行“MOVX@R1”指令)时,P2 口引脚上的内容(就是专用寄存器(SFR)区
中的P2寄存器的内容),在整个访问期间不会改变。
在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
- P3端口(P3.0~P3.7,10~17引脚):
P3是一个带内部上拉电阻的8 位双向I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4个TTL 输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一
个电流。
在对FlashROM编程或程序校验时,P3 还接收一些控制信号。
P3口除作为一般I/O 口外,还有其他一些复用功能,如下表所示:
- RST(9引脚):
复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST 引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
- ALE/ (30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在Flash 编程时,此引脚也用作编程输入脉冲。
在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。
如果需要,通过将地址位8EH 的SFR 的第0位置“1”,ALE 操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOV 指令时有效。否则,ALE 将被微弱拉高。这个ALE使能标志位(地址位8EH 的SFR 的第0位)的设置对微控制器处于 外部执行模式下无效。
- 29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC 从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储时, 将不被激活。
- /VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令, 必须接GND。注意加密方式1时, 将内部锁定位RESET。为了执行内部程序指令, 应该接VCC。在Flash 编程期间, 也 接收12伏VPP电压。
- XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。
- XTAL2(18引脚):振荡器反相放大器的输入端。
特殊功能寄存器
在STC89C52RC 片内存储器中,80H~FFH 共128 个单元位特殊功能寄存器(SFR),SFR 的地址空间如下表1所示。
并非所有的地址都被定义,从80H~FFH 共128个字节只有一部分被定义。还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
STC89C52RC 除了有定时器/计数器0 和定时器/计数器1 之外,还增加了一个一个定时器/计数器2.定时器/计数器2 的控制和状态位位于T2CON和T2MOD。
定时器2 是一个16位定时/计数器。通过设置特殊功能寄存器T2CON 中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2CON的描述)。定时器2 有3 种操作模式:捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式由T2CON 中的位进行选择。