STC89C52单片机用户手册.docx
- 文档编号:29508243
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:11
- 大小:21.89KB
STC89C52单片机用户手册.docx
《STC89C52单片机用户手册.docx》由会员分享,可在线阅读,更多相关《STC89C52单片机用户手册.docx(11页珍藏版)》请在冰豆网上搜索。
STC89C52单片机用户手册
STC89C52F单片机介绍
STC89C52F单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
工作电压:
〜(5V单片机)/〜(3V单片机)
工作频率范围:
0〜40MHz相当于普通8051的0〜80MHz实际工作频率可达48MHz
用户应用程序空间为8K字节
片上集成512字节RAM
通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒即可完成一片
具有EEPROM能
具有看门狗功能
共3个16位定时器/计数器。
即定时器TO、T1、T2
外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外
部中断低电平触发中断方式唤醒
通用异步串行口(UART,还可用定时器软件实现多个UART工作温度范围:
-40〜+85C(工业级)/0〜75C(商业级)
PDIP封装
STC89C52F单片机的工作模式
掉电模式:
典型功耗<卩A,可由外部中断唤醒,中断返回后,继续执行
原程序
空闲模式:
典型功耗2mA正常工作模式:
典型功耗4Ma-7mA
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携
设备
STC89C52R引脚图
STC89C52R引脚功能说明
VCC(40引脚):
电源电压
VSS(20引脚):
接地
P(端口(〜,39〜32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“T时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在FlashRO编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(〜,1〜8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL1入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为
有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。
此外,和还可以作为定时器/计数器2的外部技术输入(T2)和定时器/计数器2的触发输入(T2EX,具体参见下表:
在对FlashROMS程和程序校验时,P1接收低8位地址。
表XX和引脚复用功能
引脚号功能特性
T2(定时器/计数器2外部计数输入),时钟输出
T2EX(定时器/计数器2捕获/重装触发和方向控制)
P2端口(〜,21〜28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,
因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流()。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DF”R指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVXgRl指令)时,P2口引脚上的内容(就是专用寄存器(SFR区中的P2寄存器的内容),在整个访问期间不会改变。
在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
P3端口(〜,10〜17引脚):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL俞入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3故输入口使用时,因为有
内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。
在对FlashROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:
表XXP3口引脚复用功能
引脚号
复用功能
RXD(串行输入口)
TXD(串行输出口)
(外部中断0)
(外部中断1)
T0(定时器0的外部输入)
T1(定时器1的外部输入)
(外部数据存储器写选通)
(外部数据存储器读选通)
RST(9引脚):
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RSTH脚输出96个晶振周期的高电平。
特殊寄存器AUXR地址8EH上的DISRTO&可以使此功能无效。
DISRTO
默认状态下,复位高电平有效。
ALE/(30引脚):
地址锁存控制信号(ALE是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚()也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE永冲将会跳过。
如果需要,通过将地址位8EH勺SFR勺第0位置“T,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVXMO指令时有效。
否则,ALE各被微弱拉高。
这个ALE使能标志位(地址位8EH勺SFR勺第0位)的设置对微控制器处于外部执行模式下无效。
(29引脚):
外部程序存储器选通信号()是外部程序存储器选通信号。
当AT89C51R从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。
/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的控制和状态位位于T2CO(见表2)和T2MO(见表4)。
定时器2是一个16位定时/计数器。
通过设置特殊功能寄存器T2C0中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2C0的描述如表2所列)。
定时器2有3种操作模式:
捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式由T2C0I中的位进行选择(如表2所列)
表1STC89C52RC的特殊功能寄存器
表2特殊功能寄存器T2C0I的描述
表3定时/计数器2控制寄存器各位功能说明
符号
功能
TF2
EXF2
定时器2溢出标志。
定时器2溢出时,又由硬件置位,必须由软件请
0.当RCLK=®TCLK=时,定时器2溢出,不对TF2置位。
定时器2外部标志。
当EXEN2=,1且当T2E刈脚上出现负跳变而出现捕获或重装载时,EXF2S位,申请中断。
此时如果允许定时器2中断,CPU!
响应中断,执行定时器2中断服务程序,EXF2必须由软件清除。
当定时器2工作在向上或向下计数方式时(DCEN=)1,EXF2不能激活中断。
接收时钟允许。
RCLK=时,用定时器2溢出脉冲作为串口(工作于
RCLK
工作方式1或3时)的接收时钟,RCLK=0用定时器1的溢出脉冲作
为接收脉冲
发送时钟允许。
TCLK=时,用定时器2溢出脉冲作为串口(工作于
TCLK
工作方式1或3时)的发送时钟,TCLK=0用定时器1的溢出脉冲作
为发送脉冲
定时器2外部允许标志。
当EXEN2=#,如果定时器2未用于作串行
EXEN2
口的波特率发生器,在T2E端口出现负跳变脉冲时,激活定时器2捕获或者重装载。
EXEN2-时,T2EX端的外部信号无效。
TR2
定时器2启动/停止控制位。
TR2=1寸,启动定时器2.
C/
疋时器2疋时方式或计数方式控制位。
C/=0时,选择疋时方式,C/=1时,选择对外部事件技术方式(下降沿触发)。
捕获/重装载选择。
CP/=1时,如EXEN2=1且T2EX端出现负跳变脉冲时发生捕获操作。
CP/-1时,若定时器2溢出或EXEN2-条件下,
CP/
T2EX端出现负跳变脉冲,都会出现自动重装载操作。
当RCLK=®
TCLK=时,该位无效,在定时器2溢出时强制其自动重装载。
表4定时器2工作方式
RCLK+TCLK
CP/
TR2
模式
0
0
1
16位自动重装
0
1
1
16位捕获
1
X
1
波特率发生器
X
X
0
(关闭)
捕获模式
在捕获模式中,通过T2C0中的EXEN设置2个选项。
如果EXEN2=0,定时器2作为一个16位定时器或计数器(由T2C0中的C/位选择),溢出时置位TF2(定时器2溢出标志位)。
该位可用于产生中断(通过使能IE寄存器中的定时器2中断使能位)。
如果EXEN2=,1与以上描述相同,但增加了一个特性,即外部输入T2EXS1变0时,将定时器2中TL2和TH2勺当前值各自捕获到RCAP2和RACP2H另外,T2EX勺负跳变使T2C0N
中的EXF2S位,EXF也像TF2-样能够产生中断(其向量与定时器2溢出中断地址相同,定时器2中断服务程序通过查询TF2和EXF2来确定引起中断的事件),捕获模式如图X所示。
在该模式中,TL2和TH2勿重新装载值,甚至当T2EX产生捕获时间时,计数器仍以T2EX勺负跳变或振荡频率的1/2(12时钟模式)或1/6(6时钟模式)计数。
图XX定时器2捕获模式
自动重装模式(递增/递减计数器)
16位自动重装模式中,定时器2可通过C/T2配置为定时器/计数器,编程控制递增/递减。
计数的方向有DCEN递减计数使能位)确定,DCE位于T2MM0寄存器中,T2M0寄存器各位的功能描述如表XX所示。
当DCEN=J,定时器2默认为向上计数;当DCEN=1,定时器2可通过T2EX确定递增或递减计数。
图XX显示了当DCEN=Qf,定时器2自动递增计数。
在该模式中,通过设置EXEN位进行选择。
如果EXEN2=0定时器2递增计数到0FFFFH并在溢出后将TF2置位,然后将RCAP2SRCAP2中的16位值作为重新装载值装入定时器2。
RCAP2SRCAP2的值是通过软件预设的。
表5定时器2模式(T2M0D控制寄存器的描述
符号
T2OE
DCEN
功能
不可用,保留将来之用*
定时器2输出使能位
向下计数使能位。
定时器2可配置成向上/向下计数器
*用户勿将其置1.这些为在将来80C5係列产品中用来实现新的特性。
在这种情况下,以后用到保留位,复位时或非有效状态时,它的值应为0;而在这些
位有效状态时,它的值为1•保留位读到的值不确定。
如果EXEN2=116位重新装载可通过溢出或T2EXA1到0的负跳变实现。
此负跳变同时将EXF置位。
如果定时器2中断被使能,则当TF2或EXF2置1时,定时器2递增计数,计数到0FFFF!
后溢出并置位TF2,还将产生中断(如果中断被使能)。
定时器2的溢出将使RCAP2和RCAP2中的16位值作为重新装载值放入TL2和TH2
当T2EX置零时,将使定时器2递减计数。
当TL2和TH2计数到等于RCAP2和RCAP2H时,定时器产生中断。
图XX定时器2自动重装模式(DCEN=O
图XX定时器2自动重装模式(DCEN=)1
波特率发生器模式
寄存器T2C0的位TCLKP(或)RCLI允许从定时器1或定时器2获得串行口发送和接收的波特率。
当TCLK=时,定时器1作为串行口发送波特率发生器;当TCLK=时,定时器2作为串行口发送波特率发生器。
RCLK寸串行口接收波特率有同样的作用。
通过这2位,串行口能得到不同的接收和发送波特率,一个通过定时器1产生,另一个通过定时器2产生。
如图XX所示为定时器工作在波特率发生器模式。
与自动重装模式相似,当TH2
溢出时,波特率发生器模式使定时器2寄存器重新装载来自寄存器RCAP2和RCAP2L的16位的值,寄存器RCAP2和RCAP2的值由软件预置。
当工作与模式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是作为波特率发生器,仅当寄存器T2C0中的RCLK和(或)TCLK=时,定时器2作为波特率发生器才有效。
注意:
TH2溢出并不置位TF2,也不产生中断。
这样当定时器作为波特率发生器时,定时器2中断不必禁止。
如果
EXEN(T2外部使能标志)被置位,在T2EX中由1到0的转换会置位EXF2(T2外部标志位),但并不导致(TH2,TL2)重新装载()。
当定时器2用作波特率发生器时,如果需要,T2E河用作附加的外部中断。
当计时器工作在波特率发生器模式下,则不要对TH2和TL2进行读/写,每隔一个状态时间()或由T2进入的异步信号,定时器2将加1.在此情况下对TH2和TL2进行读/写是不准确的;可对RCAP寄存器进行读,但不要进行写,否则将导致自动重装错误。
当对定时器2或寄存器RCA进行访问时。
应关闭定时器(清零TR2。
表XX列出了常用的波特率和如何用定时器2得到这些波特率。
表XX由定时器2产生的常用波特率
看门狗应用
STC89C52F单片机看门狗定时器特殊功能寄存器
符号
功能
EN_WDT
看门狗允许位,当设置为1,看门狗启动
CLR_WDT
看门狗清“0”位,当设为“1”时,看门狗将重新计数。
硬件将自动
清“0”此位
IDLE_WD「
-看门狗“IDLE”模式位,当设置为“1”时,看门狗定时器在“空闲
模式”计数;当清“0”该位时,看门狗在“空闲模式”时不计数
PS2PS1,
看门狗定时器预分频值,不同值对应预分频数如表XX所示
PS0
表XX20MHz晶振看门狗定时器预分频值
PS2
PS1
PS0
预分频
看门狗溢出时间
0
0
0
2
0
0
1
4
ms
0
1
0
8
ms
0
1
1
16
ms
1
0
0
32
ms
1
0
1
64
1
1
0
128
1
1
1
256
5s
看门狗溢出时间与预分频值有直接的关系,公式如下:
式中,N表示ST(单片机的时钟模式。
ST(单片机有两种时钟模式,一种是单倍速,也就是12时钟模式,在该模式下,ST(单片机与其他公司51系列单片机具有相同的机器周期,即12个振荡周期为一个机器周期;另一种是双倍速,又称6时钟模式,在该模式下,ST(单片机比其他公司的51单片机运行速度快一倍。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STC89C52 单片机 用户手册