51单片机的特殊功能寄存器详细表
- 格式:doc
- 大小:244.50 KB
- 文档页数:2


特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了MCS-51单片机的运行状态。
很多功能也通过特殊功能寄存器来定义和控制程序的执行。
MCS-51有21个特殊功能寄存器,它们被离散地分布在内部RAM的80H—FFH地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。
表2是特殊功能寄存器分布一览表,我们对其主要的寄存器作一些简单的介绍。
表2 特殊功能寄存器标识符号地址寄存器名称ACC 0E0H 累加器B 0F0H B寄存器PSW 0D0H 程序状态字SP 81H 堆栈指针DPTR 82H、83H 数据指针(16位)含DPL和DPHIE 0A8H 中断允许控制寄存器IP 0B8H 中断优先控制寄存器P0 80H I/O口0寄存器P1 90H I/O口1寄存器P2 0A0H I/O口2寄存器P3 0B0H I/O口3寄存器PCON 87H 电源控制及波特率选择寄存器SCON 98H 串行口控制寄存器SBUF 99H 串行数据缓冲寄存器TCON 88H 定时控制寄存器TMOD 89H 定时器方式选择寄存器TL0 8AH 定时器0低8位TH0 8CH 定时器0高8位TL1 8BH 定时器1低8位TH1 8DH 定时器1高8位程序计数器PC(program Counter)程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。
PC是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。
PC本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。
累加器ACC(Accumulator)累加器A是一个最常用的专用寄存器,大部分单操作指令的一个操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。
加、减、乘、除法运算的指令,运算结果都存放于累加器A或AB累加器对中。
51单片机寄存器功能一览表fe51单片机的CPU中,有21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF存储空间中,地址空间为80H-FFH,在这片SF空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有OM,用来存放程序,有AM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):MCS-51单片机的特殊功能寄存器符号地址功能介绍BF0HB寄存器ACCE0H累加器PSWD0H程序状态字TH2*CDH定时器/计数器2(高8位)TL2*CCH定时器/计数器2(低8位)CAP2H*CBH外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CAP2L*CAH外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位T2CON*C8HT2定时器/计数器控制寄存器IPB8H中断优先级控制寄存器P3B0HP3口锁存器IEA8H中断允许控制寄存器P2A0HP2口锁存器SBUF99H串行口锁存器SCON98H串行口控制寄存器P190HP1口锁存器TH18DH定时器/计数器1(高8位)TH08CH定时器/计数器1(低8位)TL18BH定时器/计数器0(高8位)TL08AH定时器/计数器0(低8位)TMOD89HT0、T1定时器/计数器方式控制寄存器TCON88HT0、T1定时器/计数器控制寄存器DPH83H数据地址指针(高8位)DPL82H数据地址指针(低8位)SP81H堆栈指针P080HP0口锁存器PCON87H电源控制寄存器分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能 介绍单片机的40个引脚大致可分为 4类:电源、时钟、控制和 I/O 弓|脚。
1. 电源:⑴VCC -芯片电源,接+5V; ⑵VSS -接地端;2. 时钟:XTAL1、XTAL2 -晶体振荡电路反相输入端和输出端。
3. 控制线:控制线共有4根,⑴ALE/PROG 地址锁存允许 /片内EPRO 陶程脉冲 ① ALE 功能:用来锁存 P0 口送出的低8位地址② PROG 功能:片内有 EPROM 勺芯片,在EPRO 嘲程期间,此引脚输入编程脉冲。
fl. 0 — Fl. 1 — P1 2 — P1.3 — FL 4 — FL5 — FL6 —FL7 — EST/Vm — RXD/F3. 0 — TXD/F3, 1 — IFT0/F3. 2 — IKTT/F3. 3 —T0/F3. 4 — T1/F3 5 — 阀F3. S — 而 P3 T —XTAL1 —JITALE —焰一 —Vm —FO.O —F0 1一F0 7—P0.3 —F0.4 —F。
S—F0 6 —FO T —EA/VfT —AU/PBDG —FSEN —F2T—F2 6—F2 S一E2 4 —F2.3—P22—F2 1 —F2 0Vce — ViS ____ XT AMXTAL2EST/Vn^EA/V IF +*FSEM^— ALE/P ROG +—二二二二r i — L口F51口 口口 扣P2F3地址数催总皴 地址德鳗双噬口 fTHTTH 克习(如下图所示 ),引脚的具体功能将在下面详细⑵PSEN:夕卜RO皿选通信号。
⑶RST/VPD:复位/备用电源。
①RST (Reset)功能:复位信号输入端。
②VPD功能:在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:内外RO曜择/片内EPRO陶程电源。
①EA功能:内外ROM先择端。
②Vpp功能:片内有EPROM勺芯片,在EPRO惭程期间,施加编程电源Vpp。
MCS51单片机SFR特殊寄存器MCS51单片机SFR特殊寄存器功能说明程序壮态字PSW(Program Status Word)(可以位寻址)若P=1,表示累加器A中的个数为奇数。
若P=0,累加器A中的个数为偶数。
2.OV益出标志位若OV=1,表示运算时有益出产生。
否则OV=03.RS1 RS0寄存器选择位用户自行设置。
5.AC辅助进位位若AC=1,表示在加减法运算时,低4位A3有进位或借位。
否则CY=06.CY进位标志位若CY=1,表示在加减法运算时,最高位A7有进位或借位。
否则CY=0电源控制器&波特率(不可以位寻址)若IDL=1,进入空闲模式。
(硬件或重新上电可复位)。
若IDL=0,正常方式2.PD为停止运行控制位若PD=1,进入停止模式。
(硬件或外部中断可复位)。
若PD=0,正常方式3.GF0 CF1为通用标志位用户可通过指改变它的壮态。
4.SMOD为波特率倍率控制位若SMOD=1,则串行口的波特率为16位若SMOD=0, 则串行口的波特率为32位定时器/计数器模式寄存器TMOD(不可以位寻址)若使C/T=0,为内部定时器模式。
(由TH和TL做定时器)若使C/T=1,为外部计数器模式。
(从T0/P3.4口或从T1/P3.5口输入计数脉冲)(前一次检测为高电平,后一次检测为低电平时,才会使计数器加1。
由于二次的检测需要24个时钟脉冲,通常T0,或T1输入线上的计数脉冲频率总是<100KHZ)3.GATE为定时器/计数器控制位当GATE=1时,TR控制位置位1时,而且只有在INT0或(INT1)为高时,才可以打开定时器/计数器工作。
(与INT0或INT1有关)(当GATE=1时,则INT0或INT1作为辅助控制线,不再用作中断请求输入线。
GATE的这种控制作用可使定时器/计数器用来测量脉冲的宽度)当GATE=0时,定时器/计数器工作与INT0或INT1无关。
定时器初值的计算:TC=M-T X/T P 左公式可转换为TC=M-T X*fosc/ 12(12T)或6(6T)或1(1T)TC为实际定时时间初值M为模值 (M=8或M=13,或M=16)Fosc为时钟频率T X为定时器需要的定时时间T P为机器周期时钟周期 T CLK=1/Fosc (如:STC的开发板的Fosc是11.0592MHZ)T CLK =1/11.0592MHZT CLK≈0.09042us机器周期TP=12*T CLK或(6*T CLK)或(1*T CLK) 左公式转换为:≈12*0.09042us TP= 12/Fosc(12T CLK)或6/Fosc(6T CLK) 或1/Fosc (1T CLK)≈1.08507us1.IT0为外部中断INT0的中断触发标志位若使IT0=1,INT0为负边沿触发。