C51特殊功能寄存器列表
C51单片机引脚功能与特殊功能寄存器详解
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。
MCS-51单片机的特殊寄存器
MCS-51单片机的特殊寄存器
1、B寄存器
3、PSW寄存器
4、IP寄存器
5、P3接口寄存器
6、IE寄存器
P2寄存器
8、SCON串口控制寄存器
9、P1口寄存器
10、TCON寄存器
11、P0接口寄存器
12、TMOD寄存器
13、PCON寄存器
⏹SMOD:波特率倍增位。
当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加
倍。
⏹GF1、GF0:两个通用标志位,用户使用。
⏹当将PD置1的指令执行后,80C51进入掉电方式,此时片内振荡器停止工作,
仅片内RAM内容被保持,SFR内容也被破坏。
掉电方式下Vcc可降到2V,耗电仅50μA。
退出掉电方式唯一方法是硬件复位。
应当保证进入掉电方式前Vcc不降下来,在通
过硬件复位退出掉电方式之前应当先保证Vcc恢复到正常值。
⏹当将IDL位置1指令执行后,80C51进入节电方式。
这时供给CPU的时钟信号
被切断,但时钟信号仍送给片内RAM、定时器、中断系统和串口,同时CPU状态被
保存,即堆栈指针、程序计数器PC、程序状态字PSW、累加器ACC及通用寄存器的
内容。
节电方式下Vcc仍为5V,但耗电从24mA降到3.7mA。
退出掉电方式有两种,一种是任一中断被激活,一种是硬件复位,前者较为常用。
⏹。
MCS-51单片机的特殊功能寄存器
MCS-51单片机的特殊功能寄存器从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在一个51单片机的内部包含了这么多的东西。
对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O 口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表下面,我们介绍一下几个常用的SFR。
1、ACC---是累加器,通常用A表示。
这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器。
在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC = 0000H(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H(3)数据指针DPTR@R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。
DPTR = DPH + DPL。
可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。
分成DPL(低8位)和DPH(高8位)两个寄存器。
用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作4、PSW-----程序状态字。
C51单片机21个特殊功能寄存器
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有相加可能会超过2550CY==1;无进、借位,进、借位,CY )78H+97H(01111000+10010111例:。
51单片机寄存器汇总表
51单片机寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
C51单片机引脚功能与特殊功能寄存器详解
80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
MCS-51单片机的(SFR)特殊功能寄存器
MCS-51单片机的特殊功能寄存器从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在一个51单片机的内部包含了这么多的东西。
对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O 口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表下面,我们介绍一下几个常用的SFR。
1、ACC---是累加器,通常用A表示。
这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器。
在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC = 0000H(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H(3)数据指针DPTR@R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。
DPTR = DPH + DPL。
可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。
分成DPL(低8位)和DPH(高8位)两个寄存器。
用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作4、PSW-----程序状态字。
C51特殊功能寄存器地址表
80C51特殊功能寄存器地址表/*--------- 8051内核特殊功能寄存器 -------------*/sfr ACC = 0xE0; 8F0M0M1M1M2M2M3M3M4M4M5M5M/*----------------- 定时器特殊功能寄存器-----------------*/sfr TCON = 0x88; //定时/计数控制寄存器sbit TF1 = TCON^7; //定时器1溢出中断标志sbit TR1 = TCON^6; //定时器1运行控制位sbit TF0 = TCON^5; //定时器0溢出中断标志sbit TR0 = TCON^4; //定时器0运行控制位sbit IE1 = TCON^3; //外部中断1请求标志sbit IT1 = TCON^2; //选择外部中断请求1为边沿触发方式的控制位sbit IE0 = TCON^1; //外部中断0请求标志sbit IT0 = TCON^0; //选择外部中断请求0为边沿触发方式的控制位sfr TMOD = 0x89; //定时/计数模式控制寄存器sfr TL0 = 0x8A; //定时/计数器0低字节sfr TH0 = 0x8C; //定时/计数器0高字节sfr TL1 = 0x8B; //定时/计数器1低字节sfr TH1 = 0x8D; //定时/计数器1高字节/*-------------- 串行口特殊功能寄存器 ------------------*/sfr SCON = 0x98; //串行口控制寄存器sbit SM0 = SCON^7; //串行口工作方式设定控制位0(与FE功能复用)sbit FE = SCON^7;sbit SM1 = SCON^6; //串行口工作方式设定控制位1sbit SM2 = SCON^5; //UART的SM2设定sbit REN = SCON^4; //接收允许位sbit TB8 = SCON^3; //发送数据的第九位sbit RB8 = SCON^2; //接收数据的第九位sbit TI = SCON^1; //发送中断标志sbit RI = SCON^0; //接收中断标志sfr SBUF = 0x99; //串口数据缓冲器sfr SADEN = 0xB9; //从机地址掩码寄存器sfr SADDR = 0xA9; //从机地址寄存器sfr S2CON = 0x9A; //串行口2控制寄存器sfr S2BUF = 0x9B; //串行口2数据缓冲器sfr BRT = 0x9C; //独立波特率定时器/*---------------- 看门狗定时器寄存器 ------------------*/sfr WDT_CONTR = 0xC1; //看门狗定时器控制寄存器/*---------------- PCA 寄存器 -----------------*/sfr CCON = 0xD8; //PCA控制寄存器sbit CF = CCON^7; //PCA计数器溢出(CH,CL由FFFFH变为0000H)标志sbit CR = CCON^6; //PCA计数器计数允许控制位sbit CCF1 = CCON^1; //PCA模块1中断标志sbit CCF0 = CCON^0; //PCA模块0中断标志sfr CMOD = 0xD9; //PCA工作模式寄存器sfr CL = 0xE9; //PCA计数器低8位sfr CH = 0xF9; //PCA计数器高8位sfr CCAPM0 = 0xDA; //PAC模块0的工作模式寄存器sfr CCAPM1 = 0xDB; //PAC模块1的工作模式寄存器sfr CCAP0L = 0xEA; //PAC模块0捕捉/比较寄存器低8位sfr CCAP0H = 0xFA; //PAC模块0捕捉/比较寄存器高8位sfr CCAP1L = 0xEB; //PAC模块1捕捉/比较寄存器低8位sfr CCAP1H = 0xFB; //PAC模块1捕捉/比较寄存器高8位sfr PCA_PWM0 = 0xF2; //PCA模块0 PWM寄存器sfr PCA_PWM1 = 0xF3; //PCA模块1 PWM寄存器/*----------------- ADC 寄存器 -----------------*/sfr ADC_CONTR = 0xBC; //ADC控制寄存器, 本寄存器不支持位操作sfr ADC_RES = 0xBD; //ADC转换结果高8位寄存器sfr ADC_RESL = 0xBE; //ADC转换结果低2位寄存器/*---------------- SPI 寄存器 --------------------*/sfr SPSTAT = 0xCD; //SPI状态寄存器,本寄存器不支持位操作sfr SPCTL = 0xCE; //SPI控制寄存器sfr SPDAT = 0xCF; //SPI数据寄存器/*----------------- ISP_IAP_EEPROM 寄存器 ------------------*/sfr IAP_DATA = 0xC2; //ISP/IAP Flash数据寄存器sfr IAP_ADDRH = 0xC3; //ISP/IAP Flash地址高字节sfr IAP_ADDRL = 0xC4; //ISP/IAP Flash地址低字节sfr IAP_CMD = 0xC5; //ISP/IAP Flash命令寄存器sfr IAP_TRIG = 0xC6; //ISP/IAP Flash命令触发器sfr IAP_CONTR = 0xC7; //ISP/IAP控制寄存器。
51系列单片机特殊功能寄存器总结
51系列单片机特殊功能寄存器总结第一节:片内RAM映射:51:00H_7FH 128B片内(DATA),其中00H-07H: bank0,08H-0FH: bank1, 10H-17H: bank2,18H-1FH:bank3. 20H-2FH: 位寻址区(bdata)30H-7FH: 堆栈区。
80H-FFH: SFR区52:增加了80H-FFH间接寻址的片内RAM(IDATA)第二节:特殊功能寄存器(51)①TCON,地址:88H,定时器计数器控制,中断控制IT0/1:外部中断触发方式控制,置0,为低电平触发,置1,为下降沿触发。
每个机器周期的S5P2器件多外部触发采样。
响应中断需要两个机器周期。
IE0/1:外部中断请求标志,CPU响应中断后,硬件自动将IE清0TFx,定时器Tx溢出标志,计数溢出时,硬件将其置位,响应中断后,硬件将其清0,该位可由程序查询。
TRx, 定时器x运行控制,置1则启动定时器,清0则停止定时器。
②TMOD,地址:89H, 定时器计数器工作方式控制对外部输入外冲计数,计一次数需要两个机器周期。
GATE: 取反后与外部中断输入或运算后再同TCON的TRx位相与控制计数器的启与停,GATE为0时,允许TRx开启或停止计数器,为1时,允许INTx开启或停止计数器。
③TL0, 地址:8AH, 定时器0低八位④TL1, 地址:8BH, 定时器1低八位⑤TH0, 地址:8CH, 定时器0高八位⑥TH1, 地址:8DH, 定时器1高八位1⑦SCON, 地址:98H,串行通信控制寄存器S M2:方式2和方式3的多机通信控制位,在方式0中,SM2应置0。
REN:允许串行接收位,由软件置1时,允许接收,清0时。
禁止接收TB8:方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。
RB8: 方式2和方式3中,接收到的第9位数据,在方式1时,RB是接收到停止位,在方式0时,不使用RB8.TI:接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。
C51单片机21个特殊功能寄存器
C51单片机21个特殊功能寄存器21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83 个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O 口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有相加可能会超过2550 CY==1;无进、借位,进、借位,CY )78H+97H (01111000+10010111例:。
51单片机寄存器表
【51单片机寄存器功能一览表】21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):MCS-51单片机的特殊功能寄存器符号地址功能介绍B F0H B寄存器ACC E0H 累加器PSW D0H 程序状态字TH2*CDH 定时器/计数器2(高8位)TL2*CCH 定时器/计数器2(低8位)RCAP2H*CBH 外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位RCAP2L*CAH 外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位T2CON*C8H T2定时器/计数器控制寄存器IP B8H 中断优先级控制寄存器P3B0H P3口锁存器IE A8H 中断允许控制寄存器P2A0H P2口锁存器SBUF99H 串行口锁存器SCON98H 串行口控制寄存器P190H P1口锁存器TH18DH 定时器/计数器1(高8位)TH08CH 定时器/计数器1(低8位)TL18BH 定时器/计数器0(高8位)TL08AH 定时器/计数器0(低8位)TMOD89H T0、T1定时器/计数器方式控制寄存器TCON88H T0、T1定时器/计数器控制寄存器DPH83H 数据地址指针(高8位)DPL82H 数据地址指针(低8位)SP81H 堆栈指针P080H P0口锁存器PCON87H 电源控制寄存器分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
51—52系列单片机特殊功能寄存器一览表
51—52系列单片机特殊功能寄存器总结P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/V PD P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD XTAL2XTAL1V SSV CC P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/V PP ALE/PROG PSEN P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RST P3.0/RXD P3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDV CC P1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.7注:类似的还有Philips公司的 87LPC64,20引脚8XC748/750/(751),24引脚 8X749(752),28引脚 8XC754,28引脚 等等P3第二功能各引脚功能定义: P3.0:RXD 串行口输入 P3.1:TXD 串行口输出 P3.2:INT0外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外部输入 P3.5:T1定时器1外部输入 P3.6:WR 外部写控制 P3.7:RD 外部读控制C -51的数据类型扩充定义 sfr:特殊功能寄存器声明 sfr16:sfr 的16位数据声明 sbit:特殊功能位声明 bit:位变量声明例:sfr SCON = 0X98; sfr16 T2 = 0xCC;sbit OV = PSW^2;第一节:片内RAM 映射:51:00H —7FH 128B 片内(DA TA ),其中00H —07H : bank0。
08H —0FH::bank1。
10H —17H :bank2。
18H —1FH :bank3。
20H —2FH::位寻址区(bdata )。
C51单片机引脚功能与特殊功能寄存器详解
51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O 引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其xx正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1xx画法连好,至于复位是何含义及为何需要复要复位,在单片机功能xx介绍。
4、 EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
51单片机寄存器集(包括所有的寄存器位的详细介绍)
(1)SM0、SM1:串行口工作方式控制位。
SM0,SM1 工作方式00 方式0-波特率由振荡器频率所定:振荡器频率/1201 方式1-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/3210 方式2-波特率由振荡器频率和SMOD所定:2SMOD ×振荡器频率/6411 方式3-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/32(2)SM2:多机通信控制位。
< br> 多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。
接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。
当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
工作于方式0时,SM2必须为0。
(3)REN:允许接收位。
< br> REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
(4)TB8:发送接收数据位8。
< br> 在方式2和方式3中,TB8是要发送的——即第9位数据位。
在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5)RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
(6)TI:发送中断标志位。
可寻址标志位。
方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
(7)RI:接收中断标志位。
可寻址标志位。
接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。
11、PCON-----电源管理寄存器PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:。
C51系列RAM寄存器表
**************************************************************************************** SMOD 波特率加倍位;如果将定时器1作为串行端口的波特率时钟,且工作于模式1、2或3,那么将SMODH设置为1可使波特率加倍GF1 通用标志位1GFV 通用标志位VPD 掉电模式位;对于CMOS版本的8V51,将该位置1可以进入掉电模式IDL 空闲模式位;对于CMOS版本的8V51,将该位置1可以进入空闲模式*****************************************************************************************TF1 定时器1溢出标志;当定时器Y计数器发生溢出时由硬件置位;该位可以用软件清零,当CPU 转向中断服务程序时该位被自动清零。
TR1 定时器1运行控制,由软件置位和清零,分别可以启动和停止定时Y计数器1。
TF0 定时器0溢出标志。
TR0 定时器0运行控制。
IE1 外部中断1的中断标志,当探测到外部中断1时由硬件置位,当转入中断服务程序后用软件清零。
IT1 外部中断1控制位,其置位和清零由软件设置,分别对应着外部中断1的下降沿触发和低电平触发IE0 外部中断0的中断标志。
IT0 外部中断0控制位。
******************************************************************************************* SM0 串行端口方式位V,参阅表DX1SM1 串行端口方式位1,参阅表DX1SM2 串行端口方式位2,可将方式2和方式3设置为多处理器通信方式。
在方式2和方式3中,如果将SM2位设置为1,当接收到的第9数据位(RB8)为V时RI不置位。
在方式1中,如果未接收到有效停止位则RI不被置位。
C51单片机21个特殊功能寄存器
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A ≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。
AT89C51特殊功能寄存器列表
AT89C51特殊功能寄存器列表(适用于同一架构的芯片)带*号的特殊功能寄存器都是可以位寻址的寄存器符号地址注释*ACC E0H 累加器*B F0H 乘法寄存器*PSW D0H 程序状态字SP 81H 堆栈指针DPL 82H 数据存储器指针低8位DPH 83H 数据存储器指针高8位*IE A8H 中断允许控制器*IP D8H 中断优先控制器*P0 80H 端口0*P1 90H 端口1*P2 A0H 端口2*P3 B0H 端口3 PCON 87H 电源控制及波特率选择*SCON 98H 串行口控制器SBUF 99H 串行数据缓冲器*TCON 88H 定时器控制TMOD 89H 定时器方式选择TL0 8AH 定时器0低8位TL1 8BH 定时器1低8位TH0 8CH 定时器0低8位TH1 8DH 定时器1高8位附表4 运算符优先级和结合性级 别类 别名 称 运算符 结合性1强制转换、数组、结构、联合强制类型转换( )右结合下标[ ]存取结构或联合成员->或. 2逻 辑 逻辑非 ! 左结合字 位 按位取反 ~ 增 量 加一 ++ 减 量减一--指 针取地址&取内容* 算 术 单目减 - 长度计算长度计算 sizeof 3算 术乘* 右结合除 / 取模 % 4算术和指针运算加+ 减 - 5字 位左移<< 右移 >> 6关系大于等于 >= 大于>小于等于<= 小于 < 7恒等于== 不等于!=8 字 位按位与 & 9 按位异或 ^ 10 按位或 | 11逻 辑逻辑与 && 左结合12 逻辑或 || 13条 件 条件运算 ?: 14 赋 值赋值= 复合赋值Op= 15 逗 号 逗号运算,右结合。
51特殊寄存器表
SMOD 串口波特率倍率控制 TF1 T1溢出标志位 GATE T1门控位
TR1 T1运行控制位
C /T
T1定时、计数方式选择位
TF0 T0溢出标志位 M1 T1工作方式选择位
SM0
SM1 串行口方式选择位
SM2 方式2和方式3的多机通信位
EA CPU中断开放标志
CY 进位标志/布尔累加器C
AC 辅助进位标志
PCON 节电方式控制寄存器 *TCON 定时器控制寄存器 TMOD 计数器工作方式寄存器 *P1 *SCON 串行口控制寄存器 *IE 中断允许寄存器 *IP 中断优先级寄存器 *PSW 程序状态字 *ACC 累加器 *B 工作寄存器 SP 8位堆栈指针 DPL 外部存储器地址低8位 DPH 外部存储器地址高8位 TL0 T0计数器低八位 TL1 T1计数器低八位 TH0 T0计数器高八位 TH1 T1计数器高八位 SBUF 串行口输入输出缓冲器 *P2 *P3 *P0
RI 接收中断标志 EX0 外部中断0中断允许位 PX0 外部中断0优先级控制 P 奇偶标志
F0 用户标志
Hale Waihona Puke R0 T0运行控制位 MO 工作方式选择位
GF1 通用标志位 IE1 外部中断1请求源标志 GATE T0门控位
GF0 通用标志位 IT1 外部中断1触发方式标志
C /T /T
TO定时、计数方式选择位
REN TB8 允许串行接收位 对于方式2、3,是发送的第9位 ES ET1 串行口中断允许位 T1的溢出中断允许位 PS PT1 串行口中断优先级控制 T1中断优先级控制 RS1 RS0 工作寄存器区高位 工作寄存器区低位
RB8 对于方式2、3,是接收到的第9位 EX1 外部中断1中断允许位 PX1 外部中断1优先级控制 OV 溢出标志
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)TMOD(定时器模式控制寄存器)
1、字节地址89H,不可位寻址
2、各位定义
(MSB) (LSB)
7 6 5 4 3 2 1 0
GATE C/T M1 M0 GATE C/T M1 M0
---------------- -----------------
控制 T1 控制 T0
GATE:门控位。
当GATE=1时计数器受外部中断信号控制
C/T :计数器和定时器选择位。
C/T=0为定时器
M1M0 操作方式 功能
0 0 方式0 13位计数器
0 1 方式1 16位计数器
1 0 方式
2 可以自动重新装载的8位计数器
1 1 方式3 T0分为2个独立的计数器、T1停止计数。
注意:当单片机复位时TMOD各位都为0。
(二)TCON(定时器/外部中断控制寄存器)
1、字节地址88H,可位寻址。
2、各位定义
MSB LSB
7 6 5 4 3 2 1 0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF1:T1溢出标志。
当T1溢出时,有硬件置1,可向CPU发出中断请 求,CPU响应中断后由硬件 TR1:启动T1标志。
IE1:外部中断1请求标志
IT1:外部中断触发方式,IT1=0为电平触发方式,低电平有效。
IT1=1为边沿触发标志高电平(三)IE(中断允许寄存器)
1、字节地址A8H,可位寻址。
2、各位定义
MSB LSB
7 6 5 4 3 2 1 0
EA *ET2 ES ET1 EX1 ET0 EX0
EA:总中断允许位 ==1允许
ES:串口中断允许位
ET1:T1中断允许位
(四)IP(中断优先级寄存器)
1、字节地址B8H,可位寻址。
2、各位定义
MSB LSB
7 6 5 4 3 2 1 0
/ / PT2 PS PT1 PX1 PT0 PX0
-----------------------------------》
优先级从低到高
(五)T2CON(T2方式控制寄存器)
1、字节地址:C8H
2、各位定义:
MSB LSB
7 6 5 4 3 2 1 0
TF2 EXF2 RCLK TCLK EXEN2 RT2 C/T2 CP/RL2
(六)TL0,THO,TL1,TH1,TL2,TH2,RCAP2L,RCAP2H
(七)SCON(串口控制寄存器)
1、位地址98H,可以位寻址
2、各位定义
MSB LSB
7 6 5 4 3 2 1 0
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0SM1 工作方式 功能说明
0 0 0 移位寄存器方式(用于IO扩展)
0 1 1 8位UART波特率可变
1 0
2 9位UART
1 1 3 9位UART
REN:允许接收控制位。
==1允许接收,==0禁止接收
TI : 发送中断,硬件置位,软件清0
RI :接收中断,硬件置位,软件清0
(八)PCON
MSB LSB
SMOD
SMOD=1波特率加倍
中断后由硬件自动清0。
为边沿触发标志高电平到低电平的变化产生一个中断。