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单片机常用寄存器速查表一 : 定时器 / 计数器方式选择 : TMOD 地址 (89H) 不可位寻址D7 D6 D5 D4 D3 D2 D1 D0GATE C/T M1 M0 GATE C/T M1 M0 GATE : 门控制位 GATE="0" 时于外部中断无关 GATE="1" 时无外部中断才允许启动。

即( INT 0/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 D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TR1 、 TR0 是 T1 、 T0 的启动控制位,置 1 起动。

置 0 停止定时 / 计数器。

TF1 、 TF0 是 T1 、 T0 的溢出标志位,溢出时由硬件置 1 , CPU 响应中断后由硬件清0 软件查询时由软件清 0IT0 、 IT1 为外部中断 0 、 1 的触发控制位 IT0/1 = 0 时为电平触发= 1 时下降沿触发IE0 、 IE1 为外部中断 0 、 1 请求标志,当有中断信号时由硬件置 1 ,完成中断时由硬件清 0三 : 中断允许控制寄存器 : IE 地址( A8H )可位寻址D7 D6 D5 D4 D3 D2 D1 D0EA ――――――ES ET1 EX1 ET0 EX0EA : 总控位, 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 PX0PS: 串口 PT1/0 定时 / 计数器 PX1/0 外部中断= 1 高优先= 0 低优先五 : 串行控制寄存器 SCON 地址 (98H) 可位寻址D7 D6 D5 D4 D3 D2 D1 D0SM0 SM1 SM2 REN TB8 RB8 TI RISM0/1 是串行工作方式选择位,共四种工作方式见表SM0 SM1 工作方式说明波特率0 0 方式 0 同步移位寄存器Fosc/120 1 方式 1 10 位异步收发由定时器控制1 0 方式2 11 位异步收发Fosc/32/641 1 方式 3 11 位异步收发由定时器控制SM2 : 是多机通信控制位,主要用于 2 和 3 。

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中断被允许,将产生中断。

51指令速查表

51指令速查表
21
XCHD A, @Ri
寄存器Ri内为RAM地址,将该地址单元内的数据低4位与的低4位交换
22
与外部RAM传送
MOVX @DPTR, A
将累加器A的数据送数据指针DPTR寄存器所指外部RAM地址单元内
23
MOVX A , @DPTR
将DPTR寄存器所指外部RAM地址单元内的数据送累加器A
24
MOVX A, @Ri
8051系列单片机汇编语言指令速查表
编号
指令名称
指令助记符
指令说明
数据传送类指令
1
一般传送
MOV A, #data
将立即数#data送累加器A
2
MOV direct, #data
将立即数#data送片内RAM direct地址单元内
3
Mov Rn,#data
将立即数#data送寄存器Rn
4
Mov @Ri, #data
将direct地址单元内的数据送累加器A
13
Mov direct, A
将累加器A内的数据送direct地址单元内
14
Mov A, @Ri
寄存器Ri内为RAM地址,将该地址单元内的数据送累加器A
15
Mov @Ri , A
寄存器Ri内为RAM地址,将累加器A的数据送该地址单元内
16
目的地址传@Ri
寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行与操作,结果保存到累加器A中
57
ANL A, #data
将累加器A的值和立即数进行与操作,结果保存到累加器A中
58
ANL direct, A
将累加器A的值和direct地址单元内的值进行与操作,结果保存到direct地址单元内

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 单片机汇编指令速查表指令格式功能简述字节数周期一、数据传送类指令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 2MOV 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 2XCH A ,Rn 累加器与寄存器交换1 1XCH A ,@Ri 累加器与内部RAM 单元交换1 1 XCHD A ,direct 累加器与直接寻址单元交换2 1XCHD A ,@Ri 累加器与内部RAM 单元低4 位交换1 1 SW AP 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 1 ADDC A,@Ri 累加器加内部RAM 单元和进位标志1 1 ADDC A,#data 累加器加立即数和进位标志2 1ADDC 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 1SUBB 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 1 RR A 累加器右循环移位1 1RRC A 累加器连进位标志右循环移位1 1 CPL 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 2CJNE A ,direct ,rel 累加器与直接寻址单元不等转移3 2 CJNE Rn,#data ,rel 寄存器与立即数不等转移3 2CJNE @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 2ANL C,/bit C 逻辑与直接寻址位的反2 2ORL C,bit C 逻辑或直接寻址位2 2ORL C,/bit C 逻辑或直接寻址位的反2 2JC rel C 为1 转移2 2JNC rel C 为零转移2 2JB bit,rel 直接寻址位为1 转移3 2JNB bit,rel 直接寻址为0 转移。

51单片机中的21个寄存器

51单片机中的21个寄存器

51单片机中的21个寄存器ACC 累加器B 用于辅助累加器做某些运算的寄存器PSW 程序状态字其中最高位是进/借位标志C;PSW.6 是辅助进位标志AC,用于标识加减运算中低四位向高四位的进位;PSW.4 和PSW.3 是寄存器组选择位RS1 和RS0,用于从00H--1FH 的32 个存储器单元(4 组)中选出当前准备使用的一组工作寄存器的映射地址;PSW.2 是溢出标志OV;PSW.0 是ACC 的偶校验位P;PSW 的其余位不用IP 中断优先级控制寄存器在51 中IP.0--IP.4 依次控制INT0、T0、INT1、T1、UART 中断的优先级,高三位不用IE 中断使能控制器IE.7 是所有中断的总开关EA,IE.0--IE.4 依次控制INT0、T0、INT1、T1、UART 中断功能的开放或关断P0、P1、P2、P3 这四个寄存器用于读写51 单片机的四个I/O 端口SBUF 串行数据缓冲器将数据写入SBUF,单片机就自动将数据从UART 口发送出去SCON 串行口功能控制器最高两位SM0、SM1 控制串行口工作模式;第5 位SM2 通常用于多机通信中区分地址帧和数据帧;第4 位REN 是控制串口接收数据的使能位;第3 位TB8 和第2 位RB8 分别是在串口的相关工作模式下要发送的和接收到的第9 位数据;次低位TI 和最低位RI 分别标识一个发送或接收过程已结束,这两个标志位都会触发串口中断TH0、TL0 定时器T0 的计数单元的高8 位和低8 位TH1、TL1 定时器T1 的计数单元的高8 位和低8 位TMOD 定时/计数器工作模式控制器低4 位和高4 位的内容对应相同,分别控制T0 和T1 的工作模式,次低位和最低位控制对应定时/计数器的工作模式;最高位控制定时/计数器的计数是否由外中断口线参与控制;次高位控制对应的定时器/计数器工作在定时方式还是对相应口线的脉冲进行计数的方式TCON 定时/计数器控制字TCON.0 和TCON.2 分别是外中断INT0 和INT1 的触发方式选择位IT0 和IT1;TCON.1 和TCON.3 分别是外中断INT0 和INT1 的中断触发标志位IE0 和IE1;TCON.4 和TCON.6 分别是T0 和T1 的计数开关TR0 和TR1;TCON.5 和TCON.7 分别是T0 和T1 的中断触发标志位TF0 和TF1PCON 电源模式控制器最高位SMOD 用于串行口通信的波特率加倍,低4 位用于选择不同的低功耗模式,比如空闲模式、掉电模式、时钟停止模式等,但具体每一位的用法没有找到相关资料DPH、DPL 数据指针DPTR 的高、低字节DPTR 可以用于指向程序存储器、片内RAM、片外RAM 来读取数据SP 堆栈指针堆栈都是分配在片内RAMtips:感谢大家的阅读,本文由我司收集整编。

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

51—52系列单片机特殊功能寄存器一览表

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 )。

MCS-51单片机指令周期表

MCS-51单片机指令周期表

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

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
不可位寻址,只能以字节配置
对比记忆:
注:因时间仓促,其中可能会有错误,具体请以实际数据手册为准。

51单片机共有21个特殊功能寄存器

51单片机共有21个特殊功能寄存器

51单片机共有21个特殊功能寄存器在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的当前状态,并作出相应的处理。

它的各位功能请看下表:4、DPTR(DPH、DPL)--------数据指针可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。

分成DPL(低8位)和DPH(高8位)两个寄存器。

用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。

5、P0、P1、P2、P3--------输入输出口(I/O)寄存器这个我们已经知道,是四个并行输入/输出口(I/O)的寄存器。

它里面的内容对应着管脚的输出。

6、IE-----中断充许寄存器可按位寻址,地址:A8H●EA (IE.7):EA=0时,所有中断禁止(即不产生中断);EA=1时,各中断的产生由个别的允许位决定●- (IE.6):保留●ET2(IE.5):定时2溢出中断允许(8052用)●ES (IE.4):串行口中断允许(ES=1允许,ES=0禁止)●ET1(IE.3):定时1中断允许●EX1(IE.2):外中断INT1中断允许●ET0(IE.1):定时器0中断允许●EX0(IE.0):外部中断INT0的中断允许7、IP-----中断优先级控制寄存器可按位寻址,地址位B8H●- (IP.7):保留●- (IP.6):保留●PT2(IP.5):定时2中断优先(8052用)●PS (IP.4):串行口中断优先●PT1(IP.3):定时1中断优先●PX1(IP.2):外中断INT1中断优先●PT0(IP.1):定时器0中断优先●PX0(IP.0):外部中断INT0的中断优先8、TMOD-----定时器控制寄存器不按位寻址,地址89H●GATE :定时操作开关控制位,当GATE=1时,INT0或INT1引脚为高电平,同时TCON 中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。

51单片机-查表指令-课件

51单片机-查表指令-课件

此条指令的含义是将累加器A中的值与寄存器DPTR中的值 相加,相加后的结果是程序存储器ROM中的某个存储单元 的地址。将这个地址中的数据传送到A中保存起来。
二、查表程序格式
在使用时,将DPTR赋值为欲查数据表的首地 址,累加器A赋值为要查的数据,即可实现查 表功能,查得的数据保存在A中。通用格式如 下: MOV DPTR,#TABLE MOVC A,@A+DPTR ……(其他程序段) TABLE:DB ……(数据库)
把控制码建成一个表,而利用MOVC A,@ A+DPTR做取码的操作,就可方便地处理一 些复杂的控制动作
三、举例 4、流程图
三、举例 5、程序段 查表指令控制流水灯.txt
三、举例
④ 数据表(平方表)在ROM中存放的示意图: (注意:这里,标号 TABLE实际上是数据表 的首地址,它是一个具 体的值。只不过在这里, 用TABLE这个标号来 表示更为方便而已。)
三、举例
⑤程序执行情况分析: MOV R0,#2;待查2的平方,将R0赋值为2 MOV DPTR,#TABLE;将平方表的首地址送入DPTR中,假 设为1000H(标号为TABLE) MOV A,R0;A=R0=2 MOVC A,@A+DPTR;将A与DPTR相加,即1002H(TABLE+2),以该值为 地址,到ROM中相应单元去取数。程序中该单元的数据为4,正是2的平 方。 (显示程序段……) TABLE: DB 0,1,4,9,16,25
MOVC A,@A+PC MOVC A,@A+DPTR
MOVC—程序存储器ROM向累加器A传送数据的指令 A—累加器,用于保存临时数据 PC—程序计数指针,PC的值等于当前要执行的指令的存放地址(举例) DPTR—16位寄存器,在查表程序中,DPTR的值一般等于待查数据表的首 地址。 @—表示间接寻址方式。

51单片机寄存器地址查询

51单片机寄存器地址查询

适合初学好东西一起分享 中断使能寄存器IE中断总开关EA=1;启动有中断EA=0;关闭所有中断保留TF2中断开关ET2=1;启动ET2=0;关闭(8052) 串行口中断开关ES=1启动串口ES=0关闭串口TF1中断开关ET1=1;启动ET1=0;关闭INT1中断开关EX1=1; 启动EX1=0;关闭TF0中断开关ET0=1;启动ET0=0;关闭INT0中断开关EX0=1; 启动EX0=0;关闭中断优先级寄存器IPEA — ET2 ES ET1 EX1 ET0 EX0 IE 寄存器 IP.7IP .6 IP .5 IP .4 IP .3 IP .2 IP .1IP .0 IP 寄存器——PT2PSPT1PX1PT0PX0保留保留TF2中断先级PT2=1;TF2为高优先级(8052)串行口中断优先级PS1=1;为高优先级TF1中断先级PT1=1;TF1为高优先级INT1中断优先级PX1=1;为最高优先级TF0中断先级PT0=1;TF1为高优先级INT0中断优先级PX0=1;为最高优先级定时器/计数器控制寄存器TCONTimer1中断标志CPU 设置Timer1启动开关TR1=1;启动Timer1 TR1=0;关闭Timer1Timer0中断标志CPU 设置Timer0启动开关TR0=1;启动Timer1 TR0=0;关闭Timer0INT1中断标志CPU 设置INT1信号种类IT1=1;负边沿触发IT1=0;低电平触发INT0中断标志CPU 设置INT0信号种类IT0=1;负边沿触发IT0=0;低电平触发定时器/子程序Void 中断程序名(void ) interrupt 中断编号 using寄存器组8051/8052中断向量中断编号 中断名称中断向量地址 第一个外部中断INT0(P3.2) 1 第一个定时器/计数器中断TF0(P3.4)0x000B 2 第二个外部中断INT1(P3.3) 0x0013 3 第二个定时器/计数器中断TF1(P3.5)0x001B电源管理寄存器PCON波特率倍增位SMOD=1;波特率加倍SMOD=0;波特率正常通用标志位常作为由中断唤醒待机方式中的8051系统掉电方式位PD=1;即可进入掉电方式PD=0;即可结束掉电方式待机方式位IDP=1;即可进入待机方式IDP=0;即可结束待机不可位控制看门狗电路WDTReg51中未声明应先声明WDTRST 寄存器: Sfr WDTRST=0xa6; 启用或复位命令如下: WDTRST=0x1e ; WDTRST=0xe1; 掉电方式下的WDTAUXR 寄存器用来决定WDT 在待机方式下是否计数 在reg51中未声明先声明AUXR 寄存器: Sfr AUXR=0xa2;预置状态在待机状态下WDT 将继续计数,用以下命令可令其停止计数: AUXR=0x10;AUXR=0x00;即可开启。

51单片机寄存器功能一览表

51单片机寄存器功能一览表

51单片机寄存器功能一览表特殊功能寄存器(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系列所增加的特殊功能寄存器):分别说明如下:1ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3PSW-----程序状态字。

这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。

它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。

8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。

51单片机寄存器表

51单片机寄存器表

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

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

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

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

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

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

EX1:INT1中断允许位;EX1=1允许中断。

ET0:T0中断允许位;ET0=1允许中断。

EX0:INT0中断允许位;EX0=1允许中断。

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

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

GATE:GATE=1时表示T0或T1必须在INT0或INT1是高点位时才会初始化。

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

TF1 :TF1=1表示T1有中断产生。

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

TF0:TF0=1表示T0有中断产生。

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为低电平触发。

定时器T2:EXF2:T2外中断标志;EXF2=1,T2EX(P1.1)发生负跳变时置EXF2。

TCLK:串行口发送时钟选择标志。

RCLK:串行口接收时钟选择标志。

EXEN2=1,T2为捕获方式,T2EX(P1.1)发生负跳变时,TL2和TH2的当前值自动捕获到RCAP2L和RCAP2H中,同时置中断标志EXF2。

EXEN2=0,T2为自动装入方式,T2EX(P1.1)发生负跳变时,RCAP2L和RCAP2H自动装入TL2和TH2中,同时置中断标志EXF2。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机常用寄存器速查表
一 :定时器 /计数器方式选择 : TMOD地址 (89H)不可位寻址
D7D6D5D4D3D2D1D0
GATE C/T M1M0GATE C/T M1M0
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)可位寻址
D7D6D5D4D3D2D1D0
TF1TR1TF0TR0IE1IT1IE0IT0
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)可位寻址
D7D6D5D4D3D2D1D0
EA――――――ES ET1EX1ET0EX0
EA :总控位, EA="0"时关所有中断。

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

ES :串行口, ES="1"时开, ES="0"时关串行中断
ET1、 ET0定时计数= 1时开= 0时关 EX1、 EX0外部中断= 1时开= 0时关
四 :中断优先级控制寄存器 IP地址 (B8H)可位寻址
D7D6D5D4D3D2D1D0
―――――――――PS PT1PX1PT0PX0
PS:串口 PT1/0定时 /计数器 PX1/0外部中断= 1高优先= 0低优先
五 :串行控制寄存器 SCON地址 (98H)可位寻址
D7D6D5D4D3D2D1D0
SM0SM1SM2REN TB8RB8TI RI
SM0/1是串行工作方式选择位,共四种工作方式见表
SM0SM1工作方式说明波特率
00方式 0同步移位寄存器Fosc/12
01方式 110位异步收发由定时器控制
10方式 211位异步收发Fosc/32/64
11方式 311位异步收发由定时器控制
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。

相关文档
最新文档