单片机复习内容Word下载.docx

上传人:b****2 文档编号:4742215 上传时间:2023-05-04 格式:DOCX 页数:16 大小:460.75KB
下载 相关 举报
单片机复习内容Word下载.docx_第1页
第1页 / 共16页
单片机复习内容Word下载.docx_第2页
第2页 / 共16页
单片机复习内容Word下载.docx_第3页
第3页 / 共16页
单片机复习内容Word下载.docx_第4页
第4页 / 共16页
单片机复习内容Word下载.docx_第5页
第5页 / 共16页
单片机复习内容Word下载.docx_第6页
第6页 / 共16页
单片机复习内容Word下载.docx_第7页
第7页 / 共16页
单片机复习内容Word下载.docx_第8页
第8页 / 共16页
单片机复习内容Word下载.docx_第9页
第9页 / 共16页
单片机复习内容Word下载.docx_第10页
第10页 / 共16页
单片机复习内容Word下载.docx_第11页
第11页 / 共16页
单片机复习内容Word下载.docx_第12页
第12页 / 共16页
单片机复习内容Word下载.docx_第13页
第13页 / 共16页
单片机复习内容Word下载.docx_第14页
第14页 / 共16页
单片机复习内容Word下载.docx_第15页
第15页 / 共16页
单片机复习内容Word下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机复习内容Word下载.docx

《单片机复习内容Word下载.docx》由会员分享,可在线阅读,更多相关《单片机复习内容Word下载.docx(16页珍藏版)》请在冰点文库上搜索。

单片机复习内容Word下载.docx

接外部晶体和微调电容的另一端;

在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲

控制信号引脚:

RST、ALE、PSEN和EA

RST/VPD(9脚):

复位信号输入端,高电平有效。

当此输入端保持两个机器周期的高电平时,就可以完成复位操作。

VPD:

RST引脚的第二功能,备用电源输入端。

当主电源Vcc发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。

ALE/PROG(30脚):

地址锁存允许信号端。

正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。

CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。

它的负载能力为8个LS型TTL负载。

PROG:

是对片内带有4KBFlashROM的89C51编程写入时的编程脉冲输入端。

PSEN(29脚):

程序存储器允许信号输出端。

在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM的OE端。

它的负载能力为8个LS型TTL负载

EA/Vpp(31脚):

外部程序存储器地址允许输入端。

当该引脚接高电平时,CPU访问片内ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。

当该引脚接低电平时,CPU只访问片外ROM并执行外部程序存储器中的程序。

Vpp:

对89C51片内FlashROM固化编程时,编程电压输入端(12-21V)。

I/O端口P0、P1、P2和P3

准双向

当I/O口作为输入时,应先向此口锁存器写入全1,此时该口引脚浮空,可作高阻抗输入。

P0口:

漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。

P0口可作为一个数据输入/输出口;

在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。

P1口:

带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。

P2口:

P2口:

带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。

在CPU访问片外存储器时,它输出高8位地址。

P3口:

P3口除作为一般I/O口外,每个引脚都有第二功能。

51单片机的寻址空间(p24~28,容量)

(1).片内,片外统一编址0000H~FFFFH的64KB程序存储器地址空间(用16为地址)。

其中89C51片内为4KBFlashROM。

地址从0000H~0FFFH。

用途:

用于存放程序和表格常数。

寻址方式:

EA=“1”;

PC先执行片内ROM中程序,当指令地址超过0FFFH后自动转向片外ROM中取指令。

EA=”0”时……用MOVC指令访问ROM

(2).64KB片外数据存储器地址空间,地址也从0000H~FFFFH(用16位地址)编址,寻址用MOVX指令,用途:

用于存放运算的中间结果、数据暂存和缓冲、标志位等

(3).256字节数据存储器地址空间(用8为地址)片内RAM地址空间,寻址用指令MOV,最大可寻址256个单元

位地址与字节地址对应

工作寄存器组数和地址的确定(00H~1FH)

•由四组(32个)工作寄存器组成,每组8个寄存器(R0-R7),共占32个单元。

见下表

•通过程序状态寄存器PSW中RS1、RS0两位设定来选择CPU的当前工作寄存器组。

复位时,第0组为当前的工作寄存器。

•若不需要四组,则其余可作为一般RAM单元。

振荡周期、机器周期和指令周期的关系计算

设:

晶体振荡器频率fosc=6MHz,

则:

振荡周期=1/fosc=1/6μs(微秒)

因为:

一个机器周期包括12个振荡周期,

所以:

一个机器周期=12*(1/6)μs(微秒)

=2μs(微秒)

每条指令都由一个或几个机器周期组成。

例如:

•设振荡周期为6MHz,则一个机器周期为2μs(微秒)。

•单周期指令:

指令周期为2μs(微秒)

•双周期指令:

指令周期为4μs(微秒)

•四周期指令:

指令周期为8μs(微秒)

如果振荡周期为12MHz,则其指令周期分别为1μs、2μs和4μs。

•振荡周期:

晶振的振荡周期,为最小的时序单位。

•状态周期:

振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。

因此,一个状态周期包含2个振荡周期。

•机器周期(MC):

1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。

•指令周期:

执行一条指令所需的时间。

一个指令周期由1~4个机器周期组成,依据指令不同而不同,见附录A。

复位电路及复位后的状态

程序地址指针PC初始化为0000H,使单片机从0000H单元开始执行程序

当由于程序运行出错或操作错误使系统死锁状态时,为摆脱困境,也需要按复位键重新启动

第3章指令

操作数空间及寻址方法判别

•操作数包括的内容有:

(1)工作寄存器:

由PSW.3和PSW.4规定的当前工作寄存器区中的R0~R7。

(2)特殊功能寄存器:

21个SFR的名字。

(3)标号名:

赋值标号—由汇编指令EQU等赋值的标号;

指令标号—指令标号指示的指令的第一字节地址是该标号的值。

(4)常数:

可用二进制(B)、十进制、十六进制(H),若常数以字符开头,前面加0。

(5)$:

用来表示程序计数器的当前值。

(6)表达式:

汇编时,计算出表达式的值填入目标码。

7种寻址方式:

•寄存器寻址:

由指令指出寄存器组R0~R7中的某一个或其他寄存器(A,B,DPTR等)的内容作为操作数。

MOVA,R0;

(R0)→A

MOVP1,A;

(A)→P1口

ADDA,R0;

(A)+(R0)→A

•直接寻址方式:

在指令中直接给出操作数所在存储单元的地址。

指令中操作数部分是操作数所在地址。

直接寻址方式可访问片内RAM的128个单元以及所有的SFR。

对于SFR,既可以使用它们的地址,也可以使用它们的名字。

MOVA,3AH;

(3AH)→A

MOVA,P1;

(P1口)→A

或:

MOVA,90H;

90H是P1口的地址

•即数寻址:

指令操作码后面紧跟的是一字节或两字节操作数,用“#”号表示,以区别直接地址。

(3AH)→A

MOVA,#3AH;

3AH→A

MOVDPTR,#2000H;

2000H→DPTR

(DPH)=20H

(DPL)=00H

•寄存器间接寻址:

操作数的地址事先存放在某个寄存器中,寄存器间接寻址是把指定寄存器的内容作为地址,由该地址所指定的单元内容作为操作数。

89C51规定R0或R1为间接寻址寄存器,它可寻址内部地址RAM低位的128B单元内容。

还可采用DPTR作为间接寻址寄存器,寻址外部数据存储器的64KB空间

MOVA,@R0

•变址寻址:

以某个寄存器的内容为基地址,在这个基地址的基础上加上地址偏移量形成真正的操作数地址。

89C51中采用DPTR或PC为变址寄存器,A的内容为地址偏移量。

变址寻址只能访问程序存储器,访问范围为64KB

MOVCA,@A+DPTR

•相对寻址:

是以当前的PC值加上指令中规定的偏移量rel而形成实际的转移地址。

只出现在相对转移指令中,目的地址=源地址+相对转移指令字节数+rel,rel为补码表示的有符号数。

•位寻址:

采用位寻址方式的指令的操作数是8位二进制数中的某一位,指令中给出的是位地址。

位地址在指令中用bit表示。

位地址的两种表示方法:

直接使用位地址,如D3H;

直接用寄存器名字加位数,如PSW.3

CLRbit

RnRi代表意义

Rn(n=0~7):

当前选中的工作寄存器组R0~R7。

Ri(I=0,1):

作为地址指针的两个工作寄存器R0,R1。

MOVC/MOVX/MOV指令与寻址空间的对应

XCH/SWAP意义及应用

如(A)=34H,(30H)=11H

则XCHA,30H;

(A)=11H,(30H)=34H

MOVR1,#30H;

(R1)=30H

XCHA,@R1;

(A)=34H,(30H)=11H

如:

(R1)=30H,(30H)=11H,(A)=34H

则:

XCHDA,@R1;

(A)=31H;

(30H)=14H

SWAPA;

(A)=13H

24H单元中存有压缩的BCD码(PBCD),请将其转换为非压缩的BCD码,并将转换结果存放到30H和31H单元中:

要求30H单元放十位,31H放个位。

JZ/JC/CJNE/DJNZ/JB/JBC意义及应用

JBCbit,rel;

00010000先PC+3→PC,

bit若(bit)=1,则(PC)+rel→PC,0→bit

rel若(bit)=0,则顺序往下执行

PUSH/CALL(SP)SP堆栈的变化

PUSH指令是将直接地址单元进栈,其操作是首先将堆栈指针SP加1,然后将直接地址单元的内容送到SP所指的单元中去。

POP指令是退栈到直接地址单元。

其操作是先将SP所指的单元中的数送到直接地址单元,然后将堆栈指针SP减1

ADD/SUBB运行结果

带借位的减法,它将第一操作数A减去第二操作数及借位位C后,差放入ACC中,并根据结果决定奇偶标志位P,零标志Z,根据借位情况决定借位位C,辅助借位位AC和溢出位OV。

比较指令INCA和DECA除影响P和Z标志外,不影响其他标志位

ORL/ANL/XRL运行结果

要求P1.3,P1.4,P1.7输出低电平。

指令为;

ANLP1,#01100111B

要求A累加器高4位置1:

ORLA,#0F0H

要求将P1.6,P1.4,P1.0的输出取反,P1的其它口线情况不变。

XRLP1,#01010001B

CLRA;

0→A累加器A清0指令,只影响标志位P。

CPLA;

(A)→A累加器A取反指令,不影响标志位

第4章程序设计

指令语句和伪指令的区别判别

•伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序,只是用来对汇编过程进行某种控制。

89C51有8个伪指令:

•ORG/END/EQU/DATA/DB

•DW/DS/BIT

基本程序分析,设计

数制转换(ascii-pbcd-二进制数)

R1中存有一个BCD码,编一子程序将其转换为ASCII码,存入片外RAM1000H单元中去。

(直接转换)

解:

ORG0100H

BAS1:

MOVA,R1

ADDA,30H

MOVDPTR,#1000H

MOVX@DPTR,A

RET

16进制数转ASCII码

(1)

A是16进制数(00~09,0A~0F),转换后的A是其ASCII码

SUB3:

ANLA,#0FH

MOVDPTR,#TAB1

MOVCA,@A+DPTR

TAB1:

DB30H,31H,32H,33H,34H,35H

DB36H,37H,38H,39H,41H,42H

DB43H,44H,45H,46H

SB4:

ADDA,#30H

CJNEA,#3AH,SB5

SB5:

JCSB6

ADDA,#7

SB6:

SJMP$;

分析

BCD---------二进制数(看P95)

•21H(百位)(21H,20H)

•20H(十位个位)

多字节求补

求(20H21H22H)中的数的补码,并将结果仍放回到(20H21H22H)中

MOVA,22H;

从最低字节开始

CPLA

ADDA,#1;

最低字节取反加1,并影响C

MOV22H,A

MOVA,21H

ADDCA,#0;

取反加进位位C

MOV21H,A

MOVA,20H

MOV20H,A

16位数求补。

设16位二进制数在R1R0中,求补结果存于R3R2中。

(P95)

MOVA,R0

ADDA,#01H

MOVR2,A

MOVA,R1

ADDCA,#00H

MOVR3,A

SJMP$

加(bcd)减(P94)

位操作

分支程序:

求绝对值

求双字节补码数的绝对值程序:

(31H30H)=|(21H20H)|

XEQU20H

YEQU21H

MOVA,X

JNBACC.7,AAA;

X为正数

CPLA;

X为负数

INCA

AAA:

MOVY,A

SJMP$

循环程序的执行过程,时间计算及编制,送数

•在程序运行时,有时需要连续重复执行某段程序,可以使用循环程序。

其结构包括四部分:

1、置循环初值

2、循环体(循环工作部分)

3、修改控制变量

4、循环控制部分

第4/5/7章定时计数器、中断、串口

基本定时计数器原理及初值计算

•每个定时器都可由软件设置为定时工作方式或计数工作方式。

由特殊功能寄存器TMOD和TCON所控制。

•定时器/计数器有四种工作模式。

其中模式0-2对T0和T1是一样的,模式3对两者不同。

51定时计数器结构,SFR、使用:

初值计算,TMOD设定开计数器和中断开关计数满的处理

中断地址,应用方法

串行口方式与格式,波特率,适用范围

第6/8/9章系统扩展

51单片机三总线的连接

译码电路的连接

存储器的容量、引线及地址范围

程序编制

键盘显示部分的功能

简单数码管显示程序的分析

 

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2