C51单片机寄存器功能指令助记符.docx

上传人:b****8 文档编号:10840300 上传时间:2023-02-23 格式:DOCX 页数:34 大小:54.80KB
下载 相关 举报
C51单片机寄存器功能指令助记符.docx_第1页
第1页 / 共34页
C51单片机寄存器功能指令助记符.docx_第2页
第2页 / 共34页
C51单片机寄存器功能指令助记符.docx_第3页
第3页 / 共34页
C51单片机寄存器功能指令助记符.docx_第4页
第4页 / 共34页
C51单片机寄存器功能指令助记符.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

C51单片机寄存器功能指令助记符.docx

《C51单片机寄存器功能指令助记符.docx》由会员分享,可在线阅读,更多相关《C51单片机寄存器功能指令助记符.docx(34页珍藏版)》请在冰豆网上搜索。

C51单片机寄存器功能指令助记符.docx

C51单片机寄存器功能指令助记符

单片机整理

 

8051单片机的引脚图

内存单元:

0000H:

系统复位后PC值为0000H,一般0000H开始前三个单元放一个无条件转移指令

0003H-0033H中断服务程序的入口地址:

0003H:

外部中断0中断服务程序的入口地址

000BH:

定时/计数器0中断服务程序的入口地址

0013H:

外部中断1中断服务程序的入口地址

001BH:

定时/计数器1中断服务程序的入口地址

0023H:

串行口中断服务程序的入口地址

002BH:

预留

0033H:

LVD(内部低电压检测)中断服务程序的入口地址

特殊功能寄存器:

与运算相关

1、ACC---是累加器,通常用A表示

地址为E0H,复位值00H,自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。

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

2、B--一个寄存器

  地址为F0H,复位值00H,在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3、PSW状态位控制寄存器

地址

B7

B6

B5

B4

B3

B2

B1

B0

复位值

D0H

CY

AC

F0

RS1

RS0

OV

F1

P

00000000

(1)P:

奇偶标志位

每个机器周期都有硬件来复位。

改为用以累加器为1的位数是奇数还是偶数。

若累加器A中为1位数是奇数,则P标志位置1,否则P标志位清0.在串行口通信中,此标志位具有重要的定义,用来传送奇偶校验位,以检验传输数据的可靠性,应用时将P置入串行帧中的奇偶校验为即可。

(2)OV:

溢出标志位

进行算术运算时,如果产生溢出,则由硬件将OV置1,可以理解为溢出为真,标识运算结果超出了目的寄存器A所能标识的有效数范围(-128~127),否则OV清0,可以理解为溢出为假。

(3)RS1、RS0:

工作寄存器区选择

通过对RS1、RS0置位,选择当前工作寄存器区。

组号

SM0

SM1

R0

R1

R2

R3

R4

R5

R6

R7

0

0

0

00H

01H

02H

03H

04H

05H

06H

07H

1

0

1

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

2

1

0

10H

11H

12H

13H

14H

15H

16H

17H

3

1

1

18H

19H

1AH

1BH

1CH

1DH

1EH

1FH

(4)F0:

用户标志位

由用户置位或复位,可以作为一个用户自定义的状态标志

(5)AC:

辅助进位标志

进行加法或减法运算时,若低4位向高4位有进位或借位时,AC将被元件置1,否则置0.AC位常用于十进制调整指令和压缩BCD运算等。

(6)CY:

进位标志

进行算术运算时,由硬件置位或复位,表示运算过程中,最高位是否有进位或借位的状态,进行位操作时,CY被认为是位累加器,它的作用相当于CPU中的累加器A。

注意:

PSW中的4个标志位P、OV、AC和CY是由硬件根据指令的执行情况自动置位或复位的,一般用户不要轻易修改

指针类

1、SP:

堆栈指针

8051单片机复位,SP默认07H即默认栈底为08H

2、DPTR(DPH、DPL)--数据指针

可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。

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

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

与定时器/计数器相关

1、TH0、TL0:

16位定时/计数器T0高低8位状态寄存器

TH1、TL1:

16位定时/计数器T1高低8位状态寄存器

定时时间(微秒)=(M-T0(T1))*系统时钟周期*12^(1-T0x12(T1x12))

M=2^16=65536

系统采用12MHZ晶振,分频系数为12,即定时脉冲周期(机器周期)为1us,则T0(T1)的初值为:

T0(T1)=M-定时时间(微秒,即计数值)

注:

1/N(秒)=N(HZ赫兹)所以12MHZ=1/(12*10^6)(秒)=1/12us(微秒),即晶振周期

例:

12MHZ晶振做10毫秒定时计算:

T0(定时初值)=M-(10*10^3us)=55536;

将55536化为16进制为0xD8F0,即T0=0xD8F0;

即:

TH0=0xD8

TL0=0xF0

若24MHZ晶振做10毫秒定时计算:

T0(定时初值)=M-(2*10*10^3us)=45536;

将45536化为16进制为0xB1E0,即T0=0xB1E0;

即:

TH0=0xB1

TL0=0xE0

2、TMOD定时器/计数器工作方式控制寄存器(注:

不可位寻址)

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

89H

GATE

GATE1

C//T

C//T1

M1

M1_1

M0

M1_0

GATE

GATE0

C//T

C//T0

M1

M0_1

M0

M0_0

00000000

注:

8位分2组,高4位控制T1,低4位控制T0

(1)M1、M0工作方式选择位

组号

M1

M0

工作方式

0

0

0

方式0,为13位定时器/计数器。

1

0

1

方式1,位16位定时器/计数器。

2

1

0

方式2,8位的常数自动重新装载的定时器/计数器。

3

1

1

方式3,仅适用于T0,T0分成2个8位计数器,T1停止计数

(2)C//T=1,计数(外部计数)

C//T=0,计时(内部定时器)

(3)GATE-门控位(可以不设置)定时操作开关控制位

GATE=0时,以运行控制位TRX(X=0,1)来启动定时器计数器的运行。

GATE=1时,用外中断引脚(/INT0或/INT1)上的高电平来启动定时器/计数器运行。

3、AUXR:

辅助寄存器

地址

B7

B6

B5

B4

B3

B2

B1

B0

复位值

A2H

T0x12

T1x12

UART_M0x6

BRTR

--

BRTx12

XRAM

S1BRS

0000x000

(1)S1BRS:

独立波特率发生器选择控制位。

置1时,串行口在方式1、3时选择独立波特率发生器作为波特率发生器;清零时,串行口在方式1、3时选择T1定时器作为波特率发生器。

(2)XRAM:

XRAM=0允许访问内部扩展RAM,XRAM=1禁止访问内部扩展RAM

扩展了片外RAM或I/O时,应禁止访问内部RAM

(3)BRTx12:

BRT定时器定时是脉冲分频系数控制位。

置1时,BRT定时脉冲就是系统时钟信号;清0时,BRT定时计数脉冲为系统时钟周期(震荡周期)的12分频信号。

(4)BRTR:

独立波特率发生的启动控制位。

置1时,启动。

(5)UART_M0x6:

串行口方式0波特率的分频系数控制位。

清零时,串行口方式0波特率为系统时钟的12分频信号,置1时,串行口方式0波特率为系统时钟的2分频信号。

(课本195页,BRT溢出率计算)

(6)T0x12(T1x12):

S1BRS清0时,设置定时/计数器0

(1)定时计数脉冲的分频系数。

T0x12(T1x12)=0定时计数脉冲为系统时钟周期(震荡周期)的12倍,即12分频。

T0x12(T1x12)=1,无分频,即T0(T1)定时脉冲就是系统时钟信号。

注:

WAKE_CLKO、AUXR、BRT组合,课本161页

4、TCON定时器/计数器控制寄存器(可位寻址)

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

88H

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

00000000

(1)IT0-当IT0=0,为电平触发方式,CUP在每个机器周期采样/INT0引脚若/INT0(P3.2)引脚为低电平,则置1IE0,说明有中断请求,否则清0IE0.当IT0=1,即外部中断请求0设置为跳沿触发方式时,当第一个机器周期采样到/INT0为低电平时,则置1IE0。

IE0=1表示外部中断0正向CPU请求中断。

当CPU响应该中断,转向中断服务程序时,由硬件清0IE0.

(2)IT1-外部中断源1触发方式控制位。

IT1=0,外部中断1程控为电平触发方式,当/INT1(P3.3)输入低电平时,置位IE1。

(3)IE0-外部中断请求0的中断请求标志位。

(4)IE1-外部中断请求1的中断请求标志位,其意义与IE0类似。

(5)TR1、TR0-计数运行控制位

TR1(TR0)=1,启动定时器/计数器工作

TR1(TR0)=0,停止定时器/计数器工作,该位可由软件置1或清0.

(6)TF0-片内定时器/计数器T0溢出中断请求标志位

T1:

T1充许计数控制位,为1时充许T1计数。

T0:

T0充许计数控制位,为1时充许T0计数。

当启动T0计数后,定时器/计数器T0从初值开始加1计数,当最高位产生溢出时,由硬件将TF0置1,向CPU申请中断,CPU响应TF0中断时,TF0清0,TF0也可以由软件清0.

(7)TF1-片内的定时器/计数器T1的溢出中断请求标志位。

5、T2CON定时器/计数器2控制器

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

0C8H

TF2

EXF2

RCLK

TCLK

EXEN2

TR2

C/T2

CP/RL2

(1)CP/L2:

捕捉和常数自动再装入方式选择位。

为1时工作于捕捉方式,为0时T2工作于常数自动再装入方式。

当TCLK或CLK为1时,CP/L2被忽略,T2总是工作于常数自动再装入方式。

(2)C/T2:

外部计数器/定时器选择位。

C/T2=1时,T2为外部事件计数器,计数脉冲来自T2(P1.0);C/T2=0时,T2为定时器,振荡脉冲的十二分频信号作为计数信号。

(3)T2:

T2计数/定时控制位。

T1为1时充许计数,为0时禁止计数。

(4)EXEN2:

T2的外部中断充许标志。

(5)RCLK:

串行接口的接收时钟选择标志位。

RCLK=1时,T2工作于波特率发生器方式。

(6)TCLK:

串行接口的发送时钟选择标志。

TCLK=1时,T2工作于波特率发生器方式。

(7)EXF2:

定时器T2外部中断标志。

EXEN2为1时,当T2EX(P1.1)发生负跳变时置1中断标志DXF2,EXF2必须由用户程序清“0”。

(8)TF2:

T2溢出中断标志。

TF2必须由用户程序清“0”。

当T2作为串口波特率发生器时,TF2不会被置“1”。

注:

下面对T2CON的D0、D2、D4、D5几位主要控制T2的工作方式,下面对这几位的组合关系进行总结

定时器T2方式选择CLK+TCLKCP/L2T2工作方式

001

16位常数自动再装入方式

011

16位捕捉方式

1X1

串行口波特率发生器方式

XX0

停止计数

定时器/计数器的溢出率计算

T=Tc*(2n-Ta)=12Fosc*(2n-Ta)t:

定时时间Tc:

机器周期Fosc:

振荡器频率n:

计数器的长度Ta:

初值

6、WDT_CONTR:

看门狗定时控制寄存器

地址

R7

R6

R5

R4

R3

R2

R1

R0

复位值

C1H

WDT_FLAG

--

EN_WDT

CLR_WDT

IDLE_WDT

PS2

PS1

PS0

xx000000

(1)PS2、PS1、PS0:

WDT预分频系数控制位。

预分频系数设置,见下表:

PS2

PS1

PS0

预分频系数

WDT溢出时间(ms)

11.0592MHZ

12MHZ

20MHZ

0

0

0

2

71.1

65.5

39.3

0

0

1

4

142.2

131.0

78.6

0

1

0

8

284.4

262.1

157.3

0

1

1

16

568.8

524.2

314.6

1

0

0

32

1137.7

1048.5

629.1

1

0

1

64

2275.5

2097.1

1250.

1

1

0

128

4551.1

4194.3

2500

1

1

1

256

9.1022

8388.6

5000

WDT溢出时间的计算方法:

WDT溢出时间=(12*预分频系数*32768)/时钟频率

(2)IDLE_WDT:

IDLE模式(空闲模式)位,置1时,WDT在“空闲模式”计数。

(3)CLR_WDT:

看门狗清零位,置1时看门狗将重新计数。

启动后,硬件自动清零该位

(4)EN_WDT:

看门狗允许位,置1时,看门狗启动。

(5)WDT_FLAG:

看门狗溢出标志位,溢出时,该位由硬件置1,可用软件清零。

7、WAKE_CLKO:

时钟输出与唤醒中断控制寄存器

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

8FH

--

RXD_PIN_IE

T1_PIN_IE

T0_PIN_IE

--

BRTCLKO

T1CLKO

T0CLKO

x000x000

(1)T0CLKO:

置1时,允许T0脚输出T0(P3.4)溢出脉冲,输出时钟频率=1/2T1溢出率;清0时,不允许T0脚输出T0(P3.4)溢出脉冲。

(2)T1CLKO:

置1时,允许T1脚输出T1(P3.5)溢出脉冲,输出时钟频率=1/2T1溢出率;清0时,不允许T1脚输出T1(P3.5)溢出脉冲。

(3)BRTCLKO:

置1时,允许P1.0脚输出时钟,输出时钟频率=1/2BRT溢出率;清0时,不允许BRT在P1.0脚输出时钟。

(4)T0_PIN_IE:

置1时,允许T1(P3.4)引脚的下降沿置位TF0标志,也也使能T0引脚唤醒单片机的空闲模式和停机模式。

(5)T1_PIN_IE:

置1时,允许T1(P3.5)引脚的下降沿置位TF1标志,也使能T1引脚唤醒单片机的空闲模式和停机模式。

(6)RXD_PIN_IE:

置1时,允许RXD/P3.0(RXD/P1.6)下降沿置位RI标志,也能使RXD唤醒停机模式和空闲模式。

8、WKTCH、WKTCL:

内部停机唤醒专用定时器课本203页

与串行口相关

1、SCON串行口控制寄存器

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

98H

SM0/FE

SM1

SM2

REN

TB8

RB8

TI

RI

00000000

(1)RI-接收中断标志位

串行口工作在方式0时,接收完第8位数据时,RI由硬件置1.在其它工作方式中,串行口接收到停止位时,该位置1。

RI=1表示一帧数据接收完毕,并申请中断,要求CPU从接收SBUF取走数据。

该位的状态也可供软件查询。

RI必须由软件清0.

(2)TI-发送中断标志位

串行口工作在方式0时,串行发送第8位数据结束时由硬件置1.在其它工作方式中,串行口发送停止位的开始时置1.TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。

CPU响应中断后,在服务程序中向SBUF写入要发送的下一帧数据。

TI必须由软件清0.

(3)RB8:

接收到的第9位数据,工作在方式2和3时,RB8存放接收到的第9位数据。

在方式1,如果SM2=0,RB8是接收到的停止位。

在方式0,不使用RB8。

用于区别是地址还是数据。

(4)TB8:

第9位发送的数据,多机通信时(方式2、方式3)TB8标明主机发送的是地址还是数据,TB8=0为数据,TB8=1为地址。

TB8由指令置位或复位。

(5)REN:

允许接收位。

REN=1时允许接收,REN由指令置位或复位。

REN=0禁止串行口接收数据。

(6)SM2:

多级通信控制位。

在方式2、方式3中用于多机通信控制。

在方式2、方式3的接收状态中,若SM2=1,接收到第九位(RB8)为0时,舍弃接收到的数据,RI清0;RB8为1时将接收到的数据送接收SBUF中,将RI置1,对于方式1,接收到有效停止位时,激活RI;对于方式0,SM2应清0。

(7)SM0,SM1:

串行口工作方式选择位。

当电源控制寄存器MS0D0相关时用到FE

各位的状态对应的方式功能如下:

SM0

SM1

方式

功能说明

0

0

0

8位同步移位寄存器方式(用于扩展I/O口)Fosc/12或Fosc/2

0

1

1

10位异步收发,波特率可变(由定时器控制)

1

0

2

11位异步收发,波特率位Fosc/64或Fosc/32

1

1

3

11位异步收发,波特率可变(由定时器控制)

2、SBUF:

串行口数据缓冲器

例:

MOVSBUF,A

3、PCON电源控制控制寄存器

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

87H

SMOD

SM0D0

LVDF

POF

GF1

GF0

PD

IDL

00110000

(1)IDL:

待机方式控制位,IDL=1,系统进入空闲(待机)模式。

(2)PD:

掉电方式控制位,PD=1,系统进入掉电(停机)模式。

片内的外围结构均停

MOVPCON,#00000010B

(3)GF0:

通用标志0,用户可任意使用。

(4)GF1:

通用标志1,用户可任意使用。

(4)POF:

上电检测置1,记住是否是第一次工作

(5)LVDF:

检测到低电压则LVDF=1;LVDF中断请求低电压标志由软件清零,与ELVD=1允许低电压对应

判断LVDF:

MOVA,PCON

ANLA,#00100000B

JZFY;若FY=0,则LVDF不等于1

……

(6)SMOD0=1时,SCON寄存器中的SM0/FE用于帧错误检测,检测到一个无效停止位时,通过UART接收器设置该位,它必须由软件清零。

SM0D0=0时,SCON寄存器中的SM0/FE与SM1一起指定串行通信的工作方式

(7)SMOD:

串行口波特率倍增系数选择位,影响方式1、2、3时串行通信的波特率。

当SMOD=1时,串行口通信波特率加倍。

系统复位默认为SMOD=0,串行口通信速度为基本波特率。

(方式1波特率=2SMOD/32*定时器T1的溢出率)

4、AUXR:

辅助寄存器(与计数器共用)

5、AUXR1:

辅助寄存器1,其中AUXR_P1位用于串行口数据通道切换

AUXR1:

地址

B7

B6

B5

B4

B3

B2

B1

B0

复位值

A2H

UART_P1

--

--

--

GF2

--

--

DPS

0xxx0xx0

(1)DPS:

DPS=0选择DPTR0DPS=1选择DPTR1

(2)GF2:

通用标志位

(3)UART_P1:

清0时,工作在P3.0(RXD)与P3.1(TXD),与传统8051单片机相同;置1时,工作在P1.6(RXD)与P1.7(TXD)。

注:

一般建议,用户将自己的工作串口设置在P1.6(RXD)与P1.7(TXD),将P3.0(RXD)与P3.1(TXD)作为ISP下载的专用通信口。

6、BUS_SPEED:

单片机片外(64K)数据总线速度控制寄存器

地址

R7

R6

R5

R4

R3

R2

R1

R0

复位值

A1H

--

--

ALES1

ALES0

--

RWS2

RWS1

RWS0

xx10x011

与中断管理有关

1、IE中断允许控制寄存器

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

0A8H

EA

ELVD

ET2

ES

ET1

EX1

ET0

EX0

00x00000

(1)(IE.0)-外部中断0中断允许位

MCS-51复位以后,IE被清0,所有的中断请求被禁止EX0

EX0=0,禁止外部中断0中断

EX0=1,允许外部中断0中断

(2)ET0(IE.1)-定时器/计数器T0的溢出中断允许位

ET0=0,禁止T0溢出中断;

ET0=1,允许T0溢出中断

(3)EX1(IE.2)-外部中断1中断允许位

EX1=0,禁止外部中断1中断

EX1=1,允许外部中断1中断

(4)ET1(IE.3)-定时器/计数器T1的溢出中断允许位

ET1=0,禁止T1溢出中断;

ET1=1,允许T1溢出中断

(5)ES(IE.4)-串行口中断允许位

ES=0,禁止串行口中断;

ES=1,允许串行口中断;

(6)ET2(IE.5)-定时器/计数器T2的溢出中断允许位

ET2=0,禁止T2溢出中断;

ET2=1,允许T2溢出中断

(7)ELVD(IE.6):

电压检测

(8)EA(IE.7)-中断允许总控制位

EA=0,CPU屏蔽所有的中断请求(CPU关中断);

EA=1,CPU开放所有中断(CPU开中断)

2、IP中断优先级控制器

地址

D7

D6

D5

D4

D3

D2

D1

D0

复位值

0B8H

--

PLVD

PT2

PS

PT1

PX1

PT0

PX0

x0x00000

(1)PX0(IP.0)-外部中断0中断优先级控制位

PX0=1,外部中断0定义为高优先级中断

PX0=0,外部中断0定义为低优先级中断

(2)PT0(IP.1)-定时器T0中断优先级控制位

PT0=1,定时器T0定义为高优先级中断;

PT0=0,定时器T0定义为低优先级中断

(3)PX1(IP.2)-外部中断1中断优先级控制位

PX1=1,外部中断1定义为高优先级中断

PX1=0,外部中断1定义为低优先级中断

(4)PT1(IP.3)-定时器T1中断优先级控制位

PT1=1,定时器T1定义为高优先级中断;

PT1=0,定时器T1定义为低优先级中断

(5)PS(IP.4)-串行口中断优先级控制位

PS=1,串行口定义为高优先级中断

PS=0,串行口定义为低优先级中断

(6)PT2(IP.5)-定时器T2中断优先级控制位

PT2=1,定时器T2定义为高优先级中断;

PT2=0,定时器T2定义为低优先级中断

MCS-51复位以后,IP的内容为0,各个中断源均为低优先级中断。

/INT0---T0---/INT1---T1---串行口(优先级由高到低)

3、TCON:

定时计数控制器

4、SCON:

串行口控制寄存器

5、PCON:

电源控制寄存器

6、WAKE_CLKO:

唤醒和时钟控制寄存器

 

与ISP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1