61阅读

stc89c52rc单片机-STC89C52RC单片机手册

发布时间:2017-09-22 所属栏目:80c196kc单片机介绍

一 : STC89C52RC单片机手册

STC89C52用户手册

[键入作者姓名]

[选取日期]

单片机

stc89c52rc STC89C52RC单片机手册

STC89C52RC单片机介绍

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。[www.61k.com]

主要特性如下:

1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.

2. 工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz

4. 用户应用程序空间为8K字节

5. 片上集成512字节RAM

6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片

8. 具有EEPROM功能

9. 具有看门狗功能

10. 共3个16位定时器/计数器。即定时器T0、T1、T2

11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒

12. 通用异步串行口(UART),还可用定时器软件实现多个UART

13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

14. PDIP封装

STC89C52RC单片机的工作模式

? 掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序

stc89c52rc STC89C52RC单片机手册

? 空闲模式:典型功耗2mA

? 正常工作模式:典型功耗4Ma~7mA

? 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

stc89c52rc STC89C52RC单片机手册

STC89C52RC引脚图

STC89C52RC引脚功能说明

VCC(40引脚):电源电压

VSS(20引脚):接地

P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。[www.61k.com)作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要

stc89c52rc STC89C52RC单片机手册

求外接上拉电阻。(www.61k.com]

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),具体参见下表:

在对Flash ROM编程和程序校验时,P1接收低8位地址。

表XX P1.0和P1.1引脚复用功能

stc89c52rc STC89C52RC单片机手册

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寄存器的内容),在整个访问期间不会改变。

在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。

stc89c52rc STC89C52RC单片机手册

在对Flash ROM编程或程序校验时,P3还接收一些控制信号。[www.61k.com)

P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:

表XX P3口引脚复用功能

stc89c52rc STC89C52RC单片机手册

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位)的设置对微控制器处于外部执行模式下无效。

stc89c52rc STC89C52RC单片机手册

(29引脚):外部程序存储器选通信号()是外部程序存储器选

扩展:stc89c52rc单片机 / stc89c52rc单片机介绍 / stc89c52rc单片机程序

在每个机器周通信号。[www.61k.com)当AT89C51RC从外部程序存储器执行外部代码时,

期被激活两次,而访问外部数据存储器时,将不被激活。

/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁

也定位RESET。为了执行内部程序指令,

接收12伏VPP电压。 应该接VCC。在Flash编程期间,

XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。

特殊功能寄存器

在STC89C52RC片内存储器中,80H~FFH共128个单元位特殊功能寄存器(SFR),SFR的地址空间如下表1所示。

并非所有的地址都被定义,从80H~FFH共128个字节只有一部分被定义。还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。

不应将“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。

STC89C52RC除了有定时器/计数器0和定时器/计数器1之外,还增加了一个一个定时器/计数器2.定时器/计数器2的控制和状态位位于T2CON(见表2)和T2MOD(见表4)。

定时器2是一个16位定时/计数器。通过设置特殊功能寄存器T2CON中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2CON的描述如表2所列)。定时器2有3种操作模式:捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式由T2CON中的位进行选择(如表2所列)

stc89c52rc STC89C52RC单片机手册

表1 STC89C52RC的特殊功能寄存器

stc89c52rc STC89C52RC单片机手册

表2特殊功能寄存器T2CON的描述

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

表3定时/计数器2控制寄存器各位功能说明

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

表4定时器2工作方式

stc89c52rc STC89C52RC单片机手册

1、 捕获模式

在捕获模式中,通过T2CON中的EXEN2设置2个选项。[www.61k.com]如果EXEN2=0, 定时器2作为一个16位定时器或计数器(由T2CON中的C/位选择),溢出时置位

stc89c52rc STC89C52RC单片机手册

TF2(定时器2溢出标志位)。该位可用于产生中断(通过使能IE寄存器中的定时器2中断使能位)。如果EXEN2=1,与以上描述相同,但增加了一个特性,即外部输入T2EX由1变0时,将定时器2中TL2和TH2的当前值各自捕获到RCAP2L和RACP2H。另外,T2EX的负跳变使T2CON中的EXF2置位,EXF2也像TF2一样能够产生中断(其向量与定时器2溢出中断地址相同,定时器2中断服务程序通过查询TF2和EXF2来确定引起中断的事件),捕获模式如图X所示。在该模式中,TL2和TH2勿重新装载值,甚至当T2EX产生捕获时间时,计数器仍以T2EX的负跳变或振荡频率的1/2(12时钟模式)或1/6(6时钟模式)计数。

图XX 定时器2捕获模式

2、 自动重装模式(递增/递减计数器)

16位自动重装模式中,定时器2可通过C/T2配置为定时器/计数器,编程控

stc89c52rc STC89C52RC单片机手册

制递增/递减。(www.61k.com]计数的方向有DCEN(递减计数使能位)确定,DCEN位于T2MMOD寄存器中,T2MOD寄存器各位的功能描述如表XX所示。当DCEN=0时,定时器2默认为向上计数;当DCEN=1时,定时器2可通过T2EX确定递增或递减计数。图XX显示了当DCEN=0时,定时器2自动递增计数。在该模式中,通过设置EXEN2位进行选择。如果EXEN2=0,定时器2递增计数到0FFFFH,并在溢出后将TF2置位,然后将RCAP2L和RCAP2H中的16位值作为重新装载值装入定时器2。RCAP2L和RCAP2H的值是通过软件预设的。

表5 定时器2模式(T2MOD)控制寄存器的描述

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

*用户勿将其置1.这些为在将来80C51系列产品中用来实现新的特性。在这种情况下,以后用到保留位,复位时或非有效状态时,它的值应为0;而在这些位有效状态时,它的值为1.保留位读到的值不确定。

如果EXEN2=1,16位重新装载可通过溢出或T2EX从1到0的负跳变实现。此负跳变同时将EXF2置位。如果定时器2中断被使能,则当TF2或EXF2置1时,定时器2递增计数,计数到0FFFFH后溢出并置位TF2,还将产生中断(如果中断被使能)。定时器2的溢出将使RCAP2L和RCAP2H中的16位值作为重新装载值放入TL2和TH2。

当T2EX置零时,将使定时器2递减计数。当TL2和TH2计数到等于RCAP2L和RCAP2H时,定时器产生中断。

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

图XX 定时器2自动重装模式(DCEN=0)

stc89c52rc STC89C52RC单片机手册

图XX 定时器2自动重装模式(DCEN=1)

3、 波特率发生器模式

寄存器T2CON的位TCLK和(或)RCLK允许从定时器1或定时器2获得串行口发送和接收的波特率。(www.61k.com]当TCLK=0时,定时器1作为串行口发送波特率发生器;当TCLK=1时,定时器2作为串行口发送波特率发生器。RCLK对串行口接收波特率有同样的作用。通过这2位,串行口能得到不同的接收和发送波特率,一个通过定时器1产生,另一个通过定时器2产生。

扩展:stc89c52rc单片机 / stc89c52rc单片机介绍 / stc89c52rc单片机程序

如图XX所示为定时器工作在波特率发生器模式。与自动重装模式相似,当TH2溢出时,波特率发生器模式使定时器2寄存器重新装载来自寄存器RCAP2H和RCAP2L的16位的值,寄存器RCAP2H和RCAP2L的值由软件预置。当工作与模式1和模式3时,波特率由下面的公式所决定:

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

图XX 定时器2波特率发生器模式

定时器可配置成“定时”或“计数”方式,在许多应用上,定时器被设置为“定时”方式(

stc89c52rc STC89C52RC单片机手册

C/=0)。[www.61k.com]当定时器2作为定时器时,它的操作不同于波特率发生器。通常定时器2作为定时器,它会在每个机器周期递增(1/6或1/12振荡频率)。当定时器2作为波特率发生器时,它在6时钟模式下,以振荡器频率递增(12时钟模式时为1/12振荡频率)。

这时的波特率公式如下:

式中:n=16(6时钟模式)或32(12时钟模式)

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

的内容,为16位勿符号整数。

如图XX(上面)所示,定时器2是作为波特率发生器,仅当寄存器T2CON中的RCLK和(或)TCLK=1时,定时器2作为波特率发生器才有效。注意:TH2溢出并不置位TF2,也不产生中断。这样当定时器作为波特率发生器时,定时器2中断不必禁止。如果EXEN2(T2外部使能标志)被置位,在T2EX中由1到0的转换会置位EXF2(T2外部标志位),但并不导致(TH2,TL2)重新装载()。当定时器2用作波特率发生器时,如果需要,T2EX可是用作附加的外部中断。

当计时器工作在波特率发生器模式下,则不要对TH2和TL2进行读/写,每隔一个状态时间()或由T2进入的异步信号,定时器2将加1.在此情况下

stc89c52rc STC89C52RC单片机手册

对TH2和TL2进行读/写是不准确的;可对RCAP2寄存器进行读,但不要进行写,否则将导致自动重装错误。[www.61k.com]当对定时器2或寄存器RCAP进行访问时。应关闭定时器(清零TR2)。表XX列出了常用的波特率和如何用定时器2得到这些波特率。 表XX 由定时器2产生的常用波特率

stc89c52rc STC89C52RC单片机手册

看门狗应用

STC89C52RC单片机看门狗定时器特殊功能寄存器

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

stc89c52rc STC89C52RC单片机手册

表XX 20MHz晶振看门狗定时器预分频值

stc89c52rc STC89C52RC单片机手册

看门狗溢出时间与预分频值有直接的关系,公式如下:

式中,N表示STC单片机的时钟模式。[www.61k.com]STC单片机有两种时钟模式,一种是单倍速,也就是12时钟模式,在该模式下,STC单片机与其他公司51系列单片机具有相同的机器周期,即12个振荡周期为一个机器周期;另一种是双倍速,又称6时钟模式,在该模式下,STC单片机比其他公司的51单片机运行速度快一倍。

扩展:stc89c52rc单片机 / stc89c52rc单片机介绍 / stc89c52rc单片机程序

二 : 单片机音乐-输出口P0.4 STC89C52RC测试通过

/**

*编写时间: 2013.05.16

*作者: 小苏

*函数功能: 单片机音乐-世上只有妈妈好

*使用说明: 输出口P0.4STC89C52RC测试通过

******************************************************************************/

#include <reg52.h>

#define uchar unsigned char

sbitbeep=P0^4;//定义蜂鸣器输出端口

uchar timer0h,timer0l,time;

//世上只有妈妈好数据表

code uchar sszymmh[]={6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,5,2,1,

6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,

6,1,1,5,2,1,3,2,1,2,2,4,2,2,3,3,2,1,5,2,2,

5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,

2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0

};

// 音阶频率表 高八位

code uchar FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,

0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i

0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,} ;

// 音阶频率表 低八位

code uchar FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,

0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i

0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,

0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};

void delay(uchar t)// 延时函数

{

uchar t1;

unsigned long t2;

for(t1=0;t1<t;t1++)

{

for(t2=0;t2<8000;t2++);

}

TR0=0;

}

void song()//音乐处理函数

{

TH0=timer0h;

TL0=timer0l;

TR0=1;

delay(time);

}

/******************************************************************

主函数

******************************************************************/

void main(void)

{

uchar k,i;

TMOD=1;//置CT0定时工作方式1

EA=1;

ET0=1;//IE=0x82 //CPU开中断,CT0开中断

while(1)

{

i=0;

while(i<100)//音乐数组长度 ,唱完从头再来

{

k=sszymmh[i]+7*sszymmh[i+1]-1;

timer0h=FREQH[k];

timer0l=FREQL[k];

time=sszymmh[i+2];

i=i+3;

song();

}

}

}

void t0int() interrupt 1//定时器中断函数

{

TR0=0;

beep=!beep;

TH0=timer0h;

TL0=timer0l;

TR0=1;

}

三 : STC89C52RC单片机用户手册

STC89C52RC单片机介绍

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

主要特性如下:

1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意

选择,指令代码完全兼容传统8051.

2. 工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作

频率可达48MHz

4. 用户应用程序空间为8K字节

5. 片上集成512字节RAM

6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,

P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为

I/O口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无

需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程

序,数秒即可完成一片

8. 具有EEPROM功能

9. 具有看门狗功能

10. 共3个16位定时器/计数器。即定时器T0、T1、T2

11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可

由外部中断低电平触发中断方式唤醒

12. 通用异步串行口(UART),还可用定时器软件实现多个UART

13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

14. PDIP封装

STC89C52RC单片机的工作模式

? 掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原

程序

? 空闲模式:典型功耗2mA

? 正常工作模式:典型功耗4Ma~7mA

? 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

STC89C52RC引脚图

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),具体参见下表:

在对Flash ROM编程和程序校验时,P1接收低8位地址。

表XX P1.0和P1.1引脚复用功能

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寄存器的内容),在整个访问期间不会改变。

在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。

在对Flash ROM编程或程序校验时,P3还接收一些控制信号。

P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:

表XX P3口引脚复用功能

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。为了执行内部程序指令,

接收12伏VPP电压。 应该接VCC。在Flash编程期间,

XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。

特殊功能寄存器

在STC89C52RC片内存储器中,80H~FFH共128个单元位特殊功能寄存器(SFR),SFR的地址空间如下表1所示。

并非所有的地址都被定义,从80H~FFH共128个字节只有一部分被定义。还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。

不应将“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。

STC89C52RC除了有定时器/计数器0和定时器/计数器1之外,还增加了一个一个定时器/计数器2.定时器/计数器2的控制和状态位位于T2CON(见表2)和T2MOD(见表4)。

定时器2是一个16位定时/计数器。通过设置特殊功能寄存器T2CON中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2CON的描述如表2所列)。定时器2有3种操作模式:捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式由T2CON中的位进行选择(如表2所列)

表1 STC89C52RC的特殊功能寄存器

表2特殊功能寄存器T2CON的描述

表3定时/计数器2控制寄存器各位功能说明

表4定时器2工作方式

1、 捕获模式

在捕获模式中,通过T2CON中的EXEN2设置2个选项。如果EXEN2=0, 定时器2作为一个16位定时器或计数器(由T2CON中的C/位选择),溢出时置位

TF2(定时器2溢出标志位)。该位可用于产生中断(通过使能IE寄存器中的定时器2中断使能位)。如果EXEN2=1,与以上描述相同,但增加了一个特性,即外部输入T2EX由1变0时,将定时器2中TL2和TH2的当前值各自捕获到RCAP2L和RACP2H。另外,T2EX的负跳变使T2CON中的EXF2置位,EXF2也像TF2一样能够产生中断(其向量与定时器2溢出中断地址相同,定时器2中断服务程序通过查询TF2和EXF2来确定引起中断的事件),捕获模式如图X所示。在该模式中,TL2和TH2勿重新装载值,甚至当T2EX产生捕获时间时,计数器仍以T2EX的负跳变或振荡频率的1/2(12时钟模式)或1/6(6时钟模式)计数。

图XX 定时器2捕获模式

2、 自动重装模式(递增/递减计数器)

16位自动重装模式中,定时器2可通过C/T2配置为定时器/计数器,编程控

制递增/递减。计数的方向有DCEN(递减计数使能位)确定,DCEN位于T2MMOD寄存器中,T2MOD寄存器各位的功能描述如表XX所示。当DCEN=0时,定时器2默认为向上计数;当DCEN=1时,定时器2可通过T2EX确定递增或递减计数。图XX显示了当DCEN=0时,定时器2自动递增计数。在该模式中,通过设置EXEN2位进行选择。如果EXEN2=0,定时器2递增计数到0FFFFH,并在溢出后将TF2置位,然后将RCAP2L和RCAP2H中的16位值作为重新装载值装入定时器2。RCAP2L和RCAP2H的值是通过软件预设的。

表5 定时器2模式(T2MOD)控制寄存器的描述

*用户勿将其置1.这些为在将来80C51系列产品中用来实现新的特性。在这种情况下,以后用到保留位,复位时或非有效状态时,它的值应为0;而在这些位有效状态时,它的值为1.保留位读到的值不确定。

如果EXEN2=1,16位重新装载可通过溢出或T2EX从1到0的负跳变实现。此负跳变同时将EXF2置位。如果定时器2中断被使能,则当TF2或EXF2置1时,定时器2递增计数,计数到0FFFFH后溢出并置位TF2,还将产生中断(如果中断被使能)。定时器2的溢出将使RCAP2L和RCAP2H中的16位值作为重新装载值放入TL2和TH2。

当T2EX置零时,将使定时器2递减计数。当TL2和TH2计数到等于RCAP2L和RCAP2H时,定时器产生中断。

图XX 定时器2自动重装模式(DCEN=0)

图XX 定时器2自动重装模式(DCEN=1)

3、 波特率发生器模式

寄存器T2CON的位TCLK和(或)RCLK允许从定时器1或定时器2获得串行口发送和接收的波特率。当TCLK=0时,定时器1作为串行口发送波特率发生器;当TCLK=1时,定时器2作为串行口发送波特率发生器。RCLK对串行口接收波特率有同样的作用。通过这2位,串行口能得到不同的接收和发送波特率,一个通过定时器1产生,另一个通过定时器2产生。

如图XX所示为定时器工作在波特率发生器模式。与自动重装模式相似,当TH2溢出时,波特率发生器模式使定时器2寄存器重新装载来自寄存器RCAP2H和RCAP2L的16位的值,寄存器RCAP2H和RCAP2L的值由软件预置。当工作与模式1和模式3时,波特率由下面的公式所决定:

图XX 定时器2波特率发生器模式

定时器可配置成“定时”或“计数”方式,在许多应用上,定时器被设置为“定时”方式(

C/=0)。当定时器2作为定时器时,它的操作不同于波特率发生器。通常定时器2作为定时器,它会在每个机器周期递增(1/6或1/12振荡频率)。当定时器2作为波特率发生器时,它在6时钟模式下,以振荡器频率递增(12时钟模式时为1/12振荡频率)。

这时的波特率公式如下:

式中:n=16(6时钟模式)或32(12时钟模式)

的内容,为16位勿符号整数。

如图XX(上面)所示,定时器2是作为波特率发生器,仅当寄存器T2CON中的RCLK和(或)TCLK=1时,定时器2作为波特率发生器才有效。注意:TH2溢出并不置位TF2,也不产生中断。这样当定时器作为波特率发生器时,定时器2中断不必禁止。如果EXEN2(T2外部使能标志)被置位,在T2EX中由1到0的转换会置位EXF2(T2外部标志位),但并不导致(TH2,TL2)重新装载()。当定时器2用作波特率发生器时,如果需要,T2EX可是用作附加的外部中断。

当计时器工作在波特率发生器模式下,则不要对TH2和TL2进行读/写,每隔一个状态时间()或由T2进入的异步信号,定时器2将加1.在此情况下

四 : STC89C52RC单片机介绍

STC89C52RC单片机介绍

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

主要特性如下:

1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意

选择,指令代码完全兼容传统8051.

2. 工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作

频率可达48MHz

4. 用户应用程序空间为8K字节

5. 片上集成512字节RAM

6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,

P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为

I/O口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无

需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程

序,数秒即可完成一片

8. 具有EEPROM功能

9. 具有看门狗功能

10. 共3个16位定时器/计数器。即定时器T0、T1、T2

11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可

由外部中断低电平触发中断方式唤醒

12. 通用异步串行口(UART),还可用定时器软件实现多个UART

13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

14. PDIP封装

STC89C52RC单片机的工作模式

??掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原

程序

??空闲模式:典型功耗2mA

??正常工作模式:典型功耗4Ma~7mA

??掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

STC89C52RC引脚图

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),具体参见下表:

在对Flash ROM编程和程序校验时,P1接收低8位地址。

表XX P1.0和P1.1引脚复用功能

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寄存器的内容),在整个访问期间不会改变。

在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(

)。

在对Flash ROM编程或程序校验时,P3还接收一些控制信号。

P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:

P3口引脚复用功能

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

时,

应该接VCC。在Flash

将不将内部锁定位RESET。

为了执行内部程序指令,

编程期间,也接收12伏VPP电压。

XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):振荡器反相放大器的输入端。

五 : STC89C52RC单片机介绍

STC89C52RC单片机介绍

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。(www.61k.com)

主要特性如下:

1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意

选择,指令代码完全兼容传统8051.

2. 工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作

频率可达48MHz

4. 用户应用程序空间为8K字节

5. 片上集成512字节RAM

6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,

P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为

I/O口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无

需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程

序,数秒即可完成一片

8. 具有EEPROM功能

9. 具有看门狗功能

10. 共3个16位定时器/计数器。即定时器T0、T1、T2

11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可

由外部中断低电平触发中断方式唤醒

12. 通用异步串行口(UART),还可用定时器软件实现多个UART

13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

14. PDIP封装

STC89C52RC单片机的工作模式

??掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原

程序

stc89c52rc单片机 STC89C52RC单片机介绍

??空闲模式:典型功耗2mA

??正常工作模式:典型功耗4Ma~7mA

??掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

stc89c52rc单片机 STC89C52RC单片机介绍

STC89C52RC引脚图

STC89C52RC引脚功能说明

VCC(40引脚):电源电压

VSS(20引脚):接地

P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。[www.61k.com)作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编

stc89c52rc单片机 STC89C52RC单片机介绍

程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。[www.61k.com)验证时,要求外接上拉电阻。

P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电

stc89c52rc单片机 STC89C52RC单片机介绍

流()。

此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:

在对Flash ROM编程和程序校验时,P1接收低8位地址。

表XX P1.0和P1.1引脚复用功能

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流()。

在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX @DPTR”指令)时,P2送出高8位地址。在访问

stc89c52rc单片机 STC89C52RC单片机介绍

8位地址的外部数据存储器(如执行“MOVX @R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。

在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(

)。

stc89c52rc单片机 STC89C52RC单片机介绍

在对Flash ROM编程或程序校验时,P3还接收一些控制信号。[www.61k.com)

P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:

P3口引脚复用功能

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

扩展:stc89c52rc单片机 / stc89le52rc单片机 / stc89c52rc单片机优点

ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序

)存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(

也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

(29

stc89c52rc单片机 STC89C52RC单片机介绍

引脚):外部程序存储器选通信号()是外部

程序存储器选通信号。[www.61k.com]当AT89C51RC

stc89c52rc单片机 STC89C52RC单片机介绍

从外部程序存储器执行外部代码时,

在每个机器周期被激活两次,

stc89c52rc单片机 STC89C52RC单片机介绍

而访问外部数据存储器时,

被激活。

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H

到FFFFH

stc89c52rc单片机 STC89C52RC单片机介绍

的外部程序存储器读取指令,必须接GND。注意加密方式1

stc89c52rc单片机 STC89C52RC单片机介绍

stc89c52rc单片机 STC89C52RC单片机介绍

时,

应该接VCC。在Flash

stc89c52rc单片机 STC89C52RC单片机介绍

将不将内部锁定位RESET。

stc89c52rc单片机 STC89C52RC单片机介绍

为了执行内部程序指令,

编程期间,也接收12伏VPP电压。

XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):振荡器反相放大器的输入端。

扩展:stc89c52rc单片机 / stc89le52rc单片机 / stc89c52rc单片机优点

本文标题:stc89c52rc单片机-STC89C52RC单片机手册
本文地址: http://www.61k.com/1083126.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1