单片机入门必备 中断等常用知识文档格式.docx

上传人:b****8 文档编号:22274391 上传时间:2023-02-03 格式:DOCX 页数:32 大小:195.59KB
下载 相关 举报
单片机入门必备 中断等常用知识文档格式.docx_第1页
第1页 / 共32页
单片机入门必备 中断等常用知识文档格式.docx_第2页
第2页 / 共32页
单片机入门必备 中断等常用知识文档格式.docx_第3页
第3页 / 共32页
单片机入门必备 中断等常用知识文档格式.docx_第4页
第4页 / 共32页
单片机入门必备 中断等常用知识文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

单片机入门必备 中断等常用知识文档格式.docx

《单片机入门必备 中断等常用知识文档格式.docx》由会员分享,可在线阅读,更多相关《单片机入门必备 中断等常用知识文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

单片机入门必备 中断等常用知识文档格式.docx

80H

P0

特殊功能

寄存器区

(SFR)

用户RAM区

(堆栈、数据缓冲)

位寻址区

(00H~7FH)

第3组

工作寄存器区

第2组

第1组

第0组

7FH

30H

2FH

20H

1FH

18H

17H

10H

0FH

08H

07H

00H

主要SFR寄存器介绍

1.电源控制寄存器PCON(87H)(不可位寻址)

D7

D6

D5

D4

D3

D2

D1

D0

SMOD

GF1

GF0

PD

IDL

SMOD:

波特率倍增位。

SMOD=1,波特率提高1倍。

GF1,GF0:

通用标志位。

PD:

掉电方式位。

当PD=1时,进入掉电方式。

IDL:

空闲方式位。

当IDL=1,进入空闲工作方式。

2.定时/计数器控制寄存器TCON(88H)

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

IT0:

选择

的中断触发方式:

IT0=0,电平触发,低电平有效;

IT0=1,边沿触发,下降沿有效。

IT1:

功能同IT0。

IE0:

外部中断

的中断请求标志位。

若有中断申请,IE0=1,否则IE0=0。

在电平触发方式中,CPU响应中断后,硬件和软件都无法清除IE0标志位,只能撤消外部引脚的低电平才能清除;

在边沿触发方式中,IE0由硬件清零,负脉冲宽度不小于一个机器周期。

IE1:

功能同IE0。

TF0,TF1,TF2:

分别为片内T0,T1,T2溢出中断请求标志位。

由硬件置位和清零。

TR0,TR1,TR2:

分别为T0,T1,T2的运行控制位。

1启动,0停止。

3.定时/计数器工作方式寄存器TMOD(89H)(不可位寻址)

GATE

C/

M1

M0

|-------------------T1--------------------|--------------------T0-------------------|

GATE:

门控制位。

GATE=0,由TR0或TR1启动定时器;

GATE=1,只有TR0或TR1为1且

为高电平时才能启动定时器。

定时/计数选择位。

=1,计数方式,计数脉冲从外部引脚输入;

=0定时方式,计数脉冲周期为机器周期。

M1,M0:

工作方式选择位。

见下表。

工作方式

功能

定时初值计算

13位定时器/计数器

TH=X高8位,TL=X低5位

1

16位定时器/计数器

TH=X高8位,TL=X低8位

2

自动重装初值的8位定时器/计数器

Reloaddirection:

TH--->

TL

TH=TL=8位X

3

仅T0分为两个8位定时器/计数器

,TH0=8位

,TL0=8位

Note:

只有T1和T2能做波特率发生器

4.串行端口控制寄存器SCON(98H)

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

SM0,SM1:

串行口工作方式选择位,见下表。

SM2:

多机通讯选择位。

在工作方式2和3中,当SM2=1时,如果接收到的第9位RB8为1,则RI被激活;

RB8为0,RI不能被激活。

在方式1中,如果SM2=1且没有接收到有效的停止位,RI不会被激活。

在方式0中,SM2必须为0。

REN:

串行口允许接收位。

1允许接收,0禁止接收。

TB8:

发送数据的第9位。

RB8:

接收数据的第9位。

TI:

串行端口发送中断请求标志位。

每发送完一帧数据,由硬件置位,需要软件清零。

RI:

串行端口接收中断请求标志位。

每接收完一帧数据,由硬件置位,需要软件清零。

注意:

RI和TI共用一个串行中断,所以在程序中要识别是RI还是TI产生的中断。

同步移位寄存器

8位UART

9位UART不变波特率

9位UART可变波特率

5.中断允许寄存器IE(A8H)

EA

ET2

ES

ET1

EX1

ET0

EX0

EA:

总中断允许控制位。

EA=1,打开所有中断;

EA=0,关闭所有中断。

ES:

串行端口中断允许控制位。

1打开,0关闭。

ET1:

T1中断允许控制位。

EX1:

中断允许控制位。

ET0:

T0中断允许控制位。

EX0:

6.中断优先级寄存器IP(B8H)

PT2

PS

PT1

PX1

PT0

PX0

当相应的位为0时,对应中断源为低优先级;

否则为高优先级。

串行端口→T1→

→T0→

低————————————→高

7.程序状态字PSW(D0H)

CY

AC

F0

RS1

RS0

OV

P

CY:

进位标志位。

当D7有进位或借位时,CY=1,否则CY=0。

CY也是位操作累加器,助记符为C。

AC:

辅助进位位。

当低半字节D3向高半字节进位或借位时,AC=1,否则AC=0。

F0:

用户标志位。

用户可以根据自己需要对F0进行定义。

RS1,RS2:

工作寄存器组选择控制位。

单片机复位后,RS1RS0=00。

OV:

溢出标志位。

当进行补码运算时,如有溢出,即结果超出-128~+127时,OV由硬件置1,否则为0。

P:

奇偶校验标志位。

该位始终跟踪累加器A中1的个数的奇偶性。

若为奇数,P=1,否则,P=0。

系统复位、中断入口地址

中断源

中断号

入口地址

保留存储单元

系统复位

-

0000H

0000H~0002H

外部中断0(/INT0)

0003H

0003H~000AH

定时器0溢出中断

000BH

000BH~0012H

外部中断1(/INT1)

0013H

0013H~001AH

定时器1溢出中断

001BH

001BH~0022H

串行口中断

4

0023H

0023H~002AH

定时器2溢出中断

5

002BH

002BH~0032H

MCS-51系列单片机指令表

算术运算指令(共24条)

机器码

助记符

对标志影响

字节数

周期数

28~2F

ADDA,Rn

(A)+(Rn)→A

25

ADDA,direct

(A)+(direct)→A

26,27

ADDA,@Ri

(A)+((Ri))→A

24

ADDA,#data

(A)+data→A

38~3F

ADDCA,Rn

(A)+(Rn)+Cy→A

35

ADDCA,direct

(A)+(direct)+Cy→A

36,37

ADDCA,@Ri

(A)+((Ri))+Cy→A

34

ADDCA,#data

(A)+data+Cy→A

98~9F

SUBBA,Rn

(A)-(Rn)-Cy→A

95

SUBBA,direct

(A)-(direct)-Cy→A

96,97

SUBBA,@Ri

(A)-((Ri))-Cy→A

94

SUBBA,#data

(A)-data-Cy→A

04

INCA

(A)+1→A

×

08~0F

INCRn

(Rn)+1→Rn

05

INCdirect

(direct)+1→direct

06,07

INC@Ri

((Ri))+1→(Ri)

A3

INCDPTR

(DPTR)+1→DPTR

14

DECA

(A)-1→A

18~1F

DECRn

(Rn)-1→Rn

15

DECdirect

(direct)-1→direct

16,17

DEC@Ri

((Ri))-1→(Ri)

A4

MULAB

(A)·

(B)→AB

84

DIVAB

(A)/(B)→AB

DAA

对A进行十进制调整

逻辑运算指令(共25条)

58~5F

ANLA,Rn

(A)∧(Rn)→A

55

ANLA,direct

(A)∧(direct)→A

56,57

ANLA,@Ri

(A)∧((Ri))→A

54

ANLA,#data

(A)∧data→A

52

ANLdirect,A

(direct)∧(A)→direct

53

ANLdirect,#data

(direct)∧data→direct

48~4F

ORLA,Rn

(A)∨(Rn)→A

45

ORLA,direct

(A)∨(direct)→A

46,47

ORLA,@Ri

(A)∨((Ri))→A

44

ORLA,#data

(A)∨data→A

42

ORLdirect,A

(direct)∨(A)→direct

43

ORLdirect,#data

(direct)∨data→direct

68~6F

XRLA,Rn

(A)⊕(Rn)→A

65

XRLA,direct

(A)⊕(direct)→A

66,67

XRLA,@Ri

(A)⊕((Ri))→A

64

XRLA,#data

(A)⊕data→A

62

XRLdirect,A

(direct)⊕(A)→direct

63

XRLdirect,#data

(direct)⊕data→direct

E4

CLRA

0→A

F4

CPLA

/(A)→A

23

RLA

A循环左移一位

33

RLCA

A带进位循环左移一位

03

RRA

A循环右移一位

13

RRCA

A带进位循环右移一位

C4

SWAPA

A半字节交换

数据传送指令(共28条)

E8~EF

MOVA,Rn

(Rn)→A

E5

MOVA,direct

(direct)→A

E6,E7

MOVA,@Ri

((Ri))→A

74

MOVA,#data

data→A

F8~FF

MOVRn,A

(A)→(Rn)

A8--AF

MOVRn,direct

(direct)→Rn

78~7F

MOVRn,#data

data→Rn

F5

MOVdirect,A

(A)→direct

88~8F

MOVdirect,Rn

(Rn)→direct

85

MOVdirect1,direct2

(direct2)→direct1

86,87

MOVdirect,@Ri

((Ri))→direct

75

MOVdirect,#data

data→direct

F6,F7

MOV@Ri,A

(A)→(Ri)

A6,A7

MOV@Ri,direct

direct→(Ri)

76,77

MOV@Ri,#data

data→(Ri)

90

MOVDPTR,#data16

data16→DPTR

93

MOVCA,@A+DPTR

((A)+(DPTR))→A

83

MOVCA,@A+PC

((A)+(PC))→A

E2,E3

MOVXA,@Ri

((Ri)+P2)→A

E0

MOVXA,@DPTR

((DPTR))→A

F2,F3

MOVX@Ri,A

(A)→(Ri)+(P2)

MOV@DPTR,A

(A)→(DPTR)

C0

PUSHdirect

(SP)+1→SP

(direct)→SP

POPdirect

((direct))→direct(SP)-1→SP

C8~8F

XCHA,Rn

(A)←→(Rn)

C5

XCHA,direct

(A)←→(direct)

C6,C7

XCHA,@Ri

(A)←→((Ri))

D6,D7

XCHDA,@Ri

(A)0--3←→((Ri))0--3

位操作指令(共12条)

对标志位影响

C3

CLRC

0→Cy

C2

CLRbit

0→bit

SETBC

1→Cy

SETBbit

1→bit

B3

CPLC

/(Cy)→Cy

B2

CPLbit

/(bit)→bit

82

ANLC,bit

(Cy)∧(bit)→Cy

B0

ANLC,/bit

(Cy)∧/(bit)→Cy

72

ORLC,bit

(Cy)∨(bit)→Cy

A0

ORLC,/bit

(Cy)∨/(bit)→Cy

A2

MOVC,bit

(bit)→Cy

92

MOVbit,C

(Cy)→bit

控制转移指令(共22条)

*1

ACALLaddr11

(PC)+2→PC(SP)+1→SP(PC)L→SP

(SP)+1→SP

(PC)H→SPaddr11→PC10~0

12

LCALLaddr16

(SP)+1→SP(PC)H→SPaddr16→PC

22

RET

((SP))→PCH(SP)-1→SP

((SP))→PCL(SP)-1→SP

32

RETI

从中断返回

AJMPaddr11

addr11→PC10~0

02

LJMPaddr16

addr16→PC

80

SJMPrel

(PC)+(rel)→PC

73

JMP@A+DPTR

(A)+(DPTR)→PC

60

JZrel

(PC)+2→PC若(A)=0,(PC)+(rel)→PC

70

JNZrel

(PC)+2→PC若(A)≠0,(PC)+(rel)→PC

40

JCrel

(PC)+2→PC

若(Cy)=1,(PC)+(rel)→PC

50

JNCrel

若(Cy)=0,(PC)+(rel)→PC

20

JBbit,rel

(PC)+3→PC若(bit)=1,(PC)+(rel)→PC

30

JNBbit,rel

(PC)+3→PC若(bit)≠1,(PC)+(rel)→PC

10

JBCbit,rel

(PC)+3→PC若(bit)=1,

0→bit,(PC)+(rel)→PC

B5

CJNEA,direct,rel

(PC)+3→PC

若(A)≠(direct),则(PC)+(rel)→PC

若(A)<

(direct),则1→Cy

B4

CJNEA,#data,rel

若(A)≠data,则(PC)+(rel)→PC

DATA,则1→CY<

font>

B8~8F

CJNERn,#data,rel

若(Rn)≠data,则(PC)+(rel)→PC

若(Rn)<

B6,B7

CJNE

@Ri,#data,rel

若((Ri))≠data,则(PC)+(rel)→PC

若((Ri))<

f

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

当前位置:首页 > 解决方案 > 学习计划

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

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