51单片机常用寄存器速查表

合集下载

51单片机汇编指令速查表

51单片机汇编指令速查表

51单片机汇编指令速查表指令格式功能简述字节数周期一、数据传送类指令MOV A, Rn 寄存器送累加器 1 1MOV Rn,A 累加器送寄存器 1 1MOV A ,@Ri 内部RAM单元送累加器 1 1MOV @Ri ,A 累加器送内部RAM单元 1 1MOV A ,#data 立即数送累加器 2 1MOV A ,direct 直接寻址单元送累加器 2 1MOV direct ,A 累加器送直接寻址单元 2 1MOV Rn,#data 立即数送寄存器 2 1MOV direct ,#data 立即数送直接寻址单元 3 2MOV @Ri ,#data 立即数送内部RAM单元 2 1MOV direct ,Rn 寄存器送直接寻址单元 2 2MOV Rn ,direct 直接寻址单元送寄存器 2 2MOV direct ,@Ri 内部RAM单元送直接寻址单元 2 2 MOV @Ri ,direct 直接寻址单元送内部RAM单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16位立即数送数据指针 3 2MOVX A ,@Ri 外部RAM单元送累加器(8位地址) 1 2 MOVX @Ri ,A 累加器送外部RAM单元(8位地址) 1 2 MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2 MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2 MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2 MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2 XCH A ,Rn 累加器与寄存器交换 1 1XCH A ,@Ri 累加器与内部RAM单元交换 1 1XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,@Ri 累加器与内部RAM单元低4位交换 1 1 SWAP A 累加器高4位与低4位交换 1 1POP direct 栈顶弹出指令直接寻址单元 2 2PUSH direct 直接寻址单元压入栈顶 2 2二、算术运算类指令ADD A, Rn 累加器加寄存器 1 1ADD A,@Ri 累加器加内部RAM单元 1 1ADD A, direct 累加器加直接寻址单元 2 1ADD A, #data 累加器加立即数 2 1ADDC A, Rn 累加器加寄存器和进位标志 1 1ADDC A,@Ri 累加器加内部RAM单元和进位标志 1 1 ADDC A, #data 累加器加立即数和进位标志 2 1 ADDC A, direct 累加器加直接寻址单元和进位标志 2 1 INC A 累加器加1 1 1INC Rn 寄存器加1 1 1INC direct 直接寻址单元加1 2 1INC @Ri 内部RAM单元加1 1 1INC DPTR 数据指针加1 1 2DA A 十进制调整 1 1SUBB A, Rn 累加器减寄存器和进位标志 1 1SUBB A,@Ri 累加器减内部RAM单元和进位标志 1 1 SUBB A, #data 累加器减立即数和进位标志 2 1 SUBB A, direct 累加器减直接寻址单元和进位标志 2 1 DEC A 累加器减1 1 1DEC Rn 寄存器减1 1 1DEC @Ri 内部RAM单元减1 1 1DEC direct 直接寻址单元减1 2 1MUL AB 累加器乘寄存器B 1 4DIV AB 累加器除以寄存器B 1 4三、逻辑运算类指令ANL A, Rn 累加器与寄存器 1 1ANL A,@Ri 累加器与内部RAM单元 1 1ANL A, #data 累加器与立即数 2 1ANL A, direct 累加器与直接寻址单元 2 1ANL direct, A 直接寻址单元与累加器 2 1ANL direct, #data 直接寻址单元与立即数 3 1ORL A, Rn 累加器或寄存器 1 1ORL A,@Ri 累加器或内部RAM单元 1 1ORL A,#data 累加器或立即数 2 1ORL A,direct 累加器或直接寻址单元 2 1ORL direct, A 直接寻址单元或累加器 2 1ORL direct, #data 直接寻址单元或立即数 3 1XRL A, Rn 累加器异或寄存器 1 1XRL A,@Ri 累加器异或内部RAM单元 1 1XRL A,#data 累加器异或立即数 2 1XRL A,direct 累加器异或直接寻址单元 2 1XRL direct, A 直接寻址单元异或累加器 2 1XRL direct, #data 直接寻址单元异或立即数 3 2RL A 累加器左循环移位 1 1RLC A 累加器连进位标志左循环移位 1 1RR A 累加器右循环移位 1 1RRC A 累加器连进位标志右循环移位 1 1CPL A 累加器取反 1 1CLR A 累加器清零 1 1四、控制转移类指令类ACCALL addr11 2KB范围内绝对调用 2 2AJMP addr11 2KB范围内绝对转移 2 2LCALL addr16 2KB范围内长调用 3 2LJMP addr16 2KB范围内长转移 3 2SJMP rel 相对短转移 2 2JMP @A+DPTR 相对长转移 1 2RET 子程序返回 1 2RET1 中断返回 1 2JZ rel 累加器为零转移 2 2JNZ rel 累加器非零转移 2 2CJNE A ,#data ,rel 累加器与立即数不等转移 3 2 CJNE A ,direct ,rel 累加器与直接寻址单元不等转移 3 2 CJNE Rn,#data ,rel 寄存器与立即数不等转移 3 2 CJNE @Ri ,#data,rel RAM单元与立即数不等转移 3 2 DJNZ Rn ,rel 寄存器减1不为零转移 2 2DJNZ direct ,rel 直接寻址单元减1不为零转移 3 2 NOP 空操作 1 1五、布尔操作类指令(C表示进位标识)MOV C, bit 直接寻址位送C 2 1MOV bit, C C送直接寻址位 2 1CLR C C清零 1 1CLR bit 直接寻址位清零 2 1CPL C C取反 1 1CPL bit 直接寻址位取反 2 1SETB C C置位 1 1SETB bit 直接寻址位置位 2 1ANL C, bit C逻辑与直接寻址位 2 2 ANL C, /bit C逻辑与直接寻址位的反 2 2 ORL C, bit C逻辑或直接寻址位 2 2 ORL C, /bit C逻辑或直接寻址位的反 2 2 JC rel C为1转移 2 2JNC rel C为零转移 2 2JB bit,rel 直接寻址位为1转移 3 2JNB bit,rel 直接寻址为0转移。

51单片机寄存器汇总表

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,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

51单片机寄存器(个人整理)

51单片机寄存器(个人整理)

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中的缘故吧。

51寄存器手册速查

51寄存器手册速查

51单片机寄存器详解状态寄存器: PSWCY 进位标志位 AC 辅助进位标志位F0 通用标志位RS1 寄存器组选择位高位 RS0 寄存器组选择位低位 0V 溢出标志位 USR 用户定义标志位 P 奇偶标志位电源控制寄存器:PCONSMOD 串行口通信波特率 控制位置位使波特率翻倍 -保留 -保留 -保留GF1 通用标志位 GF0 通用标志位PDWN 低功耗标志位置为进入 低功耗模式IDLE 空闲标志位置位进入空闲模式中断优先级寄存器:IP-保留-保留PT2 定时器2 中断优先级 PS 串行通信中断优先级 PT1 定时器1 中断优先级 PX1 外部中断1 优先级 PT0 定时器0中断优先级 PX0 外部中断0 优先级中断使能寄存器:IEEA 使能标志,位置位则所有中断使能,复位则进制所有中断 -保留ET2 定时器2中断使能ES 串行通信中断使能ET1 定时器1 中断时能EX1 外部中断1 使能ET0 定时器0 中断使能 EX0 外部中断0 使能定时器控制寄存器:TCONTF1 定时器1 溢出中断标志位响应中断后由处理器清零TR1 定时器1 控制置位时定时器1工作 ,复位时,定时器1停止工作 TF0定时器0 溢出标志位,定时器溢出时置位处理器响应中断后清除该位 TR0定时器0控制位置位时定时器0工作,复位时定时器0停止工作IE1 外部中断1 触发标志位当检测到P3.3有从高到低的跳变电平时置位处理器响应中断后由硬件清除该位 IIT1 中断1 触发方式控制位置位时跳变触发,复位时为低电平触发IE0 外部中断1触发标志位当检测到P3.3有从高到低的跳变电平时置位处理器响应中断后由硬件清除该位 IT0 中断1触发方式控制位置位时为跳变触发,复位时为低电平触发定时器工作模式寄存器:TMODGATE 当GA TE 置位时定时器仅当TR=1并且INT=1时才工作,如果GATE=0时,置位TR 定时器就开始工作C/T 定时器非那根好似选择,如果C/T=1 定时器以计数方式工作 C/T=0时以定时方式工作M1 模式选择位高位M0 模式选择为低位定时器2控制寄存器:T2CONTF2 定时器2溢出标志位,定时器2溢出时将置位,当TCLK或RCLK为1时,将不会被置位EXF2 定时器2外部标志,当EXEN2为1时,并在T2EX检测到负跳变时置位,如果定时器2中断被允许,将产生中断。

MCS-51单片机的特殊寄存器

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。

退出掉电方式有两种,一种是任一中断被激活,一种是硬件复位,前者较为常用。

⏹。

8051单片机常用的一些寄存器

8051单片机常用的一些寄存器

8051单片机常用的一些寄存器8051单片机常用的一些寄存器1.程序计数器(PC)程序计数器PC在物理上是独立的,不属于SFR之列。

PC字长16位,是专门用来控制指令?行顺序的寄存器。

单片机上电或复位后,PC=0000H,?制单片机从程序的零单元开始?行程序。

2.累加器(ACC)累?器ACC是8051单片机内部最常用的寄存器,也可写作A。

常用于存放参?算术或逻辑运算的?作数及运算结果。

3.B寄存器B寄存器在乘法和除法运算中须与累?器A配合使用。

MUL AB指令把累?器A和寄存器B中的8位无符号数相乘,所得的16位乘积的低字节存放在A中,高字节存放在B中。

DIV AB指令用B 除以A,整数商存放在A中,余数存放在B中。

寄存器B还可以用作通用暂存寄存器。

4.程序状态字(PSW)寄存器SFR name Address bit B7B6B5B4B3B2B1B0PSW D0H name CY AC F0RS1RS0OV F1PCY : 标志位。

进行?法运算时,当最高位即B7位有进位,或?行减法运算最高位有借位时,CY为1;反之为0AC : 进位辅助位。

进行?法运算时,当B3位有进位,或?行减法运算B3有借位时,AC为1;反之为0。

设置辅助进位标志AC的目的是为了便于BCD码?法、减法运算的调整。

F0 : 用户标志位0。

RS1、RS0: 工作寄存器组的选择位。

RS1、RS0: 工作寄存器组的选择位。

如下表RS1RS0当前使用的工作寄存器组(R0~R7) 000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)OV : 溢出标志位.F0 : 用户标志位1。

B1 : 保留位P : 奇偶标志位。

该标志位始终体现累?器ACC中1的个数的奇偶性。

如果累?器ACC中1的个数为奇数,则P置1;当累?器ACC中的个数为偶数(包括0个)时,P位为05.堆栈指针(SP)堆栈指?是一个8位专用寄存器。

51单片机寄存器汇总表

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,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

51寄存器表(重要)

51寄存器表(重要)

OV位:益出位;OV=1表示运算时有益出产生。

AC位:补助进位位;AC=1表示运算时较低4位有进位产生。

CY位:进位位;CY=1表示运算时有进位产生。

ET2:T2中断允许位;ET2=1允许中断(S52才有)。

ES:串行中断允许位;ES=1允许中断。

ET1:T1中断允许位;ET1=1允许中断。

(定时器TI1中断)EX1:INT1中断允许位;EX1=1允许中断。

(外部中断INT1)ET0:T0中断允许位;ET0=1允许中断。

(定时器TI0中断)EX0:INT0中断允许位;EX0=1允许中断。

(外部中断INT2)入口地址(按优先级):外中断0—03H,定时器0—0BH,外中断1—13H,定时器1—1BH,串口—23H同过设订两个寄存器中每位代表的数值来决定定时值和计数值。

(设定初始值)例:TH=#3CH ,TL=#0B0H 等于15536,它的定时值就为50000。

人工计算(为方便,以晶振为12MHZ为例)计数值=定时时间/(振荡周期*12)初值=计数上限-计数值定时时间=(振荡周期*12)*(计数上限-初值)最大定时时间=(振荡周期*12)*计数上限GATE:GATE=1时表示T0或T1必须在INT0或INT1是高点位时才会初始化。

C/T:C/T=1由外引脚T0或T1做计数脉冲,C/T=0由TH和TL做定时数。

TF1 :TF1=1表示T1有中断产生(CPU可随时查询其状态,也可用软件清0或置1)。

TR1:TR1=1表示T1开始运行。

(由软件清0或置1)TF0:TF0=1表示T0有中断产生。

(由硬件来置1或清0,不用配置,只用来查询)TR0:TR0=1表示T0开始运行。

(自己配置)IE1:IE1=1表示INT1有中断产生。

IT1:IT1=1表示INT1为下降沿触发,IT1=0表示INT1为低电平触发。

IE0:IE0=1表示INT0有中断产生。

IT0:IT0=1表示INT0为下降沿(负跳变)触发,IT0=0表示INT0为低电平触发。

MCS-51单片机的内部存储器

MCS-51单片机的内部存储器
② AC(PSW.6)——辅助进位标志位。在加减运算中,当有低4 位 向 高 4 位 进 位 或 借 位 时 , AC 由 硬 件 置 位 , 否 则 AC 位 被 清 “0”。在进行十进制数运算时需要十进制调整,此时要用 到AC位状态进行判断。
③ F0(PSW.5)——用户标志位。这是一个由用户自定义的标 志位,用户根据需要用软件方法置位或复位。例如用它来控 制程序的转向。
4. 堆栈类型
向上生长型和向下生长型。MCS-51的堆栈是向上生长的。
5. 堆栈使用方法
① 调用子程序或中断时,返回地址(断点)自动进栈。程序返回时, 断点再自动弹回PC。
② 使用专用的堆栈操作指令,进行进出栈操作。保护现场(PUSH); 恢复现场(POP)。
1.4 内部程序存储器
MCS-51单片机的程序计数器PC为16位,因此可以寻址的 地址空间为64KB。8051和8751单片机内部有4KB字节 ROM/EPROM程序存储器(0000H~0FFFH),1000H~FFFFH是外 部扩展程序存储器地址空间。而8052单片机内部有8KB ROM程 序存储器,同样可以扩展到64KB。在64KB程序存储器中,有6 个地址单元具有特殊功能。
3. 堆栈指示器
堆栈共有两种操作:进栈和出栈。
但不论是数据进栈还是出栈,都是对堆栈的栈顶单元进行的, 即对堆栈栈顶单元的写和读操作。为了指示栈顶地址,所以 要设置堆栈指示器SP。SP的内容就是堆栈栈顶的存储单元地 址。
MCS-51单片机由于堆栈设在内部RAM上,因此SP是一个8位 寄存器。实际上SP就是专用寄存器的一员。系统复位后,SP 的内容为07H,但由于堆栈最好在内部RAM的30H~7FH单元中 开辟,所以在程序设计时,应注意把SP值初始化为30H。SP的 内容一旦确定,栈顶的位置就确定了。

51单片机指令速查

51单片机指令速查

51单片机速查指令AC|辅助进位。

程序状态寄存器PSW的D6位;当进行加(或减)法运算时.如果低半字节D3向高半字节进(或借)位ACALL|■ACALL addr11 子程序调用;地址11位;2字节2周期。

ACC|累加器AADD|■ADD A,#data 加法指令;data+A→A ■ADD A,direct ■ADD A,Rn ■ADD A,@Ri ADDC|■ADDC A,#data 带进位位的加法指令;data+A+C→A ■ADDC A,direct ■ADDC A,Rn ■ADDC A,@RiAJMP|■AJMP addr11 短转移指令;地址为11位;addr11→PC;2字节2周期。

ANL|■ANL A,direct 逻辑与操作指令;A∧(direct)→A ■ANL direct,#data ■ANL A,#data ■ANL A,Rn ■ANL direct,A ■ANL A,@Ri ■ANL C,bit 位逻辑运算;C∧bit→C ■ANL C,/bit 把指定位取反后再和CY执行与操作。

B|寄存器B,主要用于乘法和除法运算,也可以当作一般寄存器。

C|进位位CY,是程序状态寄存器PSW的D7位。

CJNE|■CJNE A,direct rel 条件转移指令;如果A≠(direct)则转移,即PC+rel→PC。

■CJNE A,#data rel ■CJNE Rn,#data,rel ■CJNE @Ri,#data relCLR|■CLR A 清零指令;00H→A ■CLR C ■CLR bitCPL|■CPL A 取反指令;累加器A中的内容按位取反。

■CPL C 把C取反。

■3) CPL bit 指定位取反。

DA|■DA A 这是BCD码调整指令;单字节单周期。

DB|定义字节伪指令DEC|■DEC A 减1指令;A-1→A ■DEC direct ■DEC @Ri ■DEC RnDIV|■DIV AB 除法指令;用A中的无符号数除B中的无符号数,商放在A中,余数放在B中。

51单片机寄存器表

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中的缘故吧。

MCS-51指令速查表

MCS-51指令速查表

MCS—51指令速查表PSW寄存器 C AC FO RSI RSO OV—P n=0,1,2,3,4,5,6,7;i=0,1 指令操作说明MOV x,y ;x←y ,A,direct←Rn,@Rj,direct,#data ;Rn,@Ri←A,direct,#dataDPTR←#data ; c y⇔bitMOVX x,y ;x←y ,A⇔@Ri , @DPTRMOVC x,y ;x←y,A←@A+DPTR , @A+PCXCH x,y ;x<= =>y,A<= =>Rn , @Ri , directXCHD x,y ;A低四<= =>@Rj低四SWAP A ;A低四<= =>A低四PUSH direct ;加1压入POP direct ;弹出减1ADD x,y ;x←x+y,x=A,y≡Rn,@Ri , direct , #data * ADDC x,y ;x←x+y+cy,x=A,y≡Rn,@Ri , direct , #data * SUBB x,y ;x←x-y-cy,x=A,y≡Rn,@Ri , direct , #data * INC x ;x←x+1,x≡A,Rn , @Ri , direct , DPTRDEC x ;x←x-1,x≡A,Rn , @Ri , directDA A ;对A进行十进制调整MUL AB ;BA←A×BDIV AB ;A/B,A←商,B←余ANL x,y ;x←x∧y x=A,y≡Rn,@Ri , direct , #data; *x≡direct , y≡A,#dataORL x,y ;x←x∨y x=A,y≡Rn,@Ri , direct , #data; *x≡direct , y ≡A,#dataXRL x,y ;x←x○+y x=A,y≡Rn,@Ri , direct , #data; *x≡direct , y ≡A,#dataCPL A ;A←A—CLR A ;A←0RL A ;CyRR A ;CyRLC A ;RRC A ;指令操作说明AJMP addr 11 ;pc←addr 11LJMP addr 16 ;pc←addr 16SJMP rel ;pc←pc+2+relJMP @A+DPTR;pc←A+DPTRJZ rel ;A=0, 则转,pc ←pc+2+relJNZ rel ;A≠0, 则转,pc ←pc+2+relCJNE A,direct , re l;A≠(direct),则转,pc ←pc+3+rel * CJNE A,#data , re l;A≠#data,则转,pc ←pc+3+rel * CJNE Rn,#data , re l;Rn≠#data,则转,pc ←pc+3+rel * CJNE @Ri,#data , re l; @Ri≠#data,则转,pc ←pc+3+rel * DJNZ Rn,rel ; Rn-1≠0,则转, pc←pc+2+rel DJNZ direct,rel; direct-1≠0,则转,pc←pc+3+rel ACALL add 11 ;pc ←pc+2, pc压栈,pc10~0←addr 11LCA LL add 16 ;pc ←pc+3, pc压栈,pc15~0←addr 16RET ;弹出→pcRETI ;弹出→pc,0→“优先级激动”触发器CPL x ;x←_x,x≡cy,bitCLR x ;x←0,x≡cy,bitSETB x ;x←1,x≡cy,bitANL c,bit ; cy←cy∧bitORL c,bit ;cy←cy∨bitANL c,bit ; cy←cy∧bitORL c;cy←cy∨bitJC rel ; cy=1, 则转,pc←pc+2+relJNC rel ; cy≠1, 则转,pc←pc+2+relJB bit,rel ; bit=1, 则转,pc←pc+3+relJNB bit,rel ; bit≠1, 则转,pc←pc+2+relJBC bit,rel ; bit=1, 则转,bit←0, pc←pc+2+rel。

C51系列RAM寄存器表

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不被置位。

(完整版)51单片机特殊功能寄存器功能一览表

(完整版)51单片机特殊功能寄存器功能一览表

(完整版)51单片机特殊功能寄存器功能一览表单片机特殊功能寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻8整除的都可以位寻址)。

51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/,串行I/O口,中断系统,以及一个内部的时钟电路。

在单片机中有一些独立的特殊功能寄存器(SFR)。

这样的特殊功能51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加-51单片机的特殊功能寄存器地址功能介绍F0H B寄存器E0H 累加器D0H 程序状态字CDH 定时器/计数器2(高8位)CCH 定时器/计数器2(低8位)CBH 外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CAH 外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位C8H T2定时器/计数器控制寄存器B8H 中断优先级控制寄存器B0H P3口锁存器A8H 中断允许控制寄存器A0H P2口锁存器99H 串行口锁存器98H 串行口控制寄存器90H P1口锁存器8DH 定时器/计数器1(高8位)8CH 定时器/计数器1(低8位)8BH 定时器/计数器0(高8位)8AH 定时器/计数器0(低8位)89H T0、T1定时器/计数器方式控制寄存器88H T0、T1定时器/计数器控制寄存器83H 数据地址指针(高8位)82H 数据地址指针(低8位)81H 堆栈指针80H P0口锁存器87H 电源控制寄存器、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以Z,若A=0则Z=1;若A≠0z=0。

51单片机常用特殊功能寄存器助记、速查总结

51单片机常用特殊功能寄存器助记、速查总结

51单片机特殊功能寄存器助记/速查总结PSW:程序状态字寄存器;地址:D0H,可位寻址P.3
IE:中断允许寄存器,地址:A8H,可位寻址P. 94
IP:中断优先级控制寄存器,地址:B8H,可位寻址P. 94
TCON:定时器控制寄存器,地址:88H,可位寻址P. 93 P. 104
PCON:电源控制寄存器,(电压控制及波特率选择)地址:87H, 不可位寻址
SCON:串行通信控制寄存器,地址:98H,可位寻址P. 127
TI:发送中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。

TI必须由软件清0。

RI:接收中断标志,由硬件置1。

在方式0时(SM2应置0),接收到第8位结束时置1,当SM2=0的其他方式(方式0,1,3)时,接收到停止位置位“1”,当SM2=1时,若串口工作在方式2和3,接收到的第9位数据(RB8)为1时,才激活RI。

在方式1时,只有接收到有效的停止位时才会激活RI。

RI必须由软件清0
TMOD:定时器计数器工作方式控制,地址:89H, P.103
不可位寻址,只能以字节配置
对比记忆:
注:因时间仓促,其中可能会有错误,具体请以实际数据手册为准。

AT89C51特殊功能寄存器速查表

AT89C51特殊功能寄存器速查表
AT89C51特殊功能寄存器速查表
AT89C51共21个特殊功能寄存器,按其使用功能可分为5类:
&Oslash; CPU控制寄存器:ACC、B、PSW、SP、DPL、DPH;
&Oslash;中断控制寄存器:IP、IE;
&Oslash;定时器/计数器:TMOD、TCON、TL0、TH0、TL1、TH1;
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位符号
T1_GATE
T1_CT
T1_M1
T1_M0
T0_GATE
T0_CT
T0_M1
T0_M0
描述
T1控制位
T0控制位
GATE:门控制位;
CT:定时器/计数器工作模式选择位;0:定时器模式、1计数器模式;
M1、M0:工作方式选择位;
定时器/计数器控制寄存器TCON
D7
D6
D5
D4
D3
D2
D1
D0
位符号
--
--
--
PS
PT1
PX1
PT0
PX0
描述
--
--
--
串口
T/C1
INT1
T/C0
INT0
中断允许寄存器IE
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位符号
EA
--
--
ES
ET1
EX1
ET0
EX0
描述
全局中断
--
--
串口中断
T/C1Biblioteka INT1T/C0INT0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机常用寄存器速查表
发表人:管理员来自:发布日期:2005-10-14 22:04:35 浏览数:308
51单片机常用寄存器速查表
一 : 定时器 / 计数器方式选择 : TMOD 地址 (89H) 不可位寻址
D7 D6 D5 D4 D3 D2 D1 D0
GATE C/T M1 M0 GATE C/T M1 M0
GATE : 门控制位 GATE=0 时于外部中断无关 GATE=1 时无外部中断才允许启动。

即( INT0/1 = 1 时)C/T : 定时、计数方式选择位。

C/T=0 时为定时方式 C/T=1 时计数方式
M1M0 : M0M1=00 时为方式 0 、 M1M0=10 时为方式 1 , M1M0=11 时为方式 3
二 : 中断标志与中断控制寄存器 : TCON 地址( 88H )可位寻址
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR1 、 TR0 是 T1 、 T0 的启动控制位,置 1 起动。

置 0 停止定时 / 计数器。

TF1 、 TF0 是 T1 、 T0 的溢出标志位,溢出时由硬件置 1 , CPU 响应中断后由硬件清0 软件查询时由软件清 0
IT0 、 IT1 为外部中断 0 、 1 的触发控制位 IT0/1 = 0 时为电平触发= 1 时下降沿触发
IE0 、 IE1 为外部中断 0 、 1 请求标志,当有中断信号时由硬件置 1 ,完成中断时由硬件清 0
三 : 中断允许控制寄存器 : IE 地址( A8H )可位寻址
D7 D6 D5 D4 D3 D2 D1 D0
EA ――― ――― ES ET1 EX1 ET0 EX0
EA : 总控位, EA=0 时关所有中断。

EA=1 时所有中断请求均被开放。

ES : 串行口, ES=1 时开, ES=0 时关串行中断
ET1 、 ET0 定时计数= 1 时开= 0 时关 EX1 、 EX0 外部中断= 1 时开= 0 时关
四 : 中断优先级控制寄存器 IP 地址 (B8H) 可位寻址
D7 D6 D5 D4 D3 D2 D1 D0
――― ――― ――― PS PT1 PX1 PT0 PX0
PS: 串口 PT1/0 定时 / 计数器 PX1/0 外部中断= 1 高优先= 0 低优先
五 : 串行控制寄存器 SCON 地址 (98H) 可位寻址
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0/1 是串行工作方式选择位,共四种工作方式见表
SM0 SM1 工作方式说明波特率
0 0 方式 0 同步移位寄存器Fosc/12
0 1 方式 1 10 位异步收发由定时器控制
1 0 方式
2 11 位异步收发Fosc/32/64
1 1 方式 3 11 位异步收发由定时器控制
SM2 : 是多机通信控制位,主要用于 2 和 3 。

仅用于接收。

对于方式 2 和 3 若 SM2=1 ,允许多机通信,只有当接收到第 9 位数( RB8 )为 1 时,才接收前 8 位数送入 SBUF ,并向 RI 位产生中断请求,否则前 8 位数丢弃。

SM2=0 时,无论 RB8 是 0/1 都将前 8 位数装入 SBUF 中并产生中断请求。

在方式 0 进不用 SM2 时必须设为 0 。

在方式 1 时,若 SM2=1 时则只有接收到有效停止位时 RI 才置 1 。

REN 允许接收位, REN = 1 允许接收,否则不允许。

TB8: 为发送的第 9 位数(在方式 2 、 3 时),可用作校验位,在多机通信中,用 TB8 的状态表示主机
发送的是地址还是数据。

TB8=1 时表示地址。

= 0 时表示数据。

RB8: 是接收数据第 9 位(方式 2 、 3 )还代表接收数据的特征,可能是校验或地址 / 数据标志TI: 发关中断标志位 RI: 接收中断标志位。

由软件清 0 。

串行接收必须满足 REN=1,RI=0. 六:电源控制寄存器 PCON 地址( 87H ) SMOD =1 时波特率提高 1 倍, MOV PCON, #80H。

相关文档
最新文档