找回密码
 注册

QQ登录

只需一步,快速开始

查看: 727|回复: 0

大工20秋《单片机原理及应用》复习资料五

[复制链接]
发表于 2021-3-5 10:01:44 | 显示全部楼层 |阅读模式
单片机原理及应用辅导资料五主    题:课件第三章第1-2节
学习时间:2020年4月27日--5月3日
“不忘初心、牢记使命”主题理论学习:
每周文摘:群众路线是我们党的生命线和根本工作路线,是我们党永葆青春活力和战斗力的重要传家宝。不论过去、现在和将来,我们都要坚持一切为了群众,一切依靠群众,从群众中来,到群众中去,把党的正确主张变为群众的自觉行动,把群众路线贯彻到治国理政全部活动之中。
                      摘选自《坚持和运用好毛泽东主席思想活的灵魂》《习近平谈治国理政》课程内容:
我们这周主要学习课件第三章单片机的指令系统第1-2节的相关内容。希望通过下面的内容能使同学们加深对单片机相关知识的理解。一、学习要求
掌握指令系统中各种寻址方式的操作过程。二、主要内容
1.指令系统概念及特点
①指令:CPU按照人们的意图来完成某种操作的命令。
②指令系统:一台计算机的CPU所能执行的全部指令的集合。
③80C51单片机具有111条指令,其指令系统的特点:
执行时间短。单机器周期指令有64条,双机器周期指令有45条,而4机器周期指令仅有2条(即乘法和除法指令)。
指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条。
位操作指令丰富。
2.指令格式及常用符号
(1)机器指令:计算机能直接识别和执行的指令时二进制编码指令,称为机器指令。机器指令由操作码和操作数(操作数地址)两部分构成。
80C51指令按字节数分类:单字节指令、双字节指令、三字节指令。
①单字节指令
1、8位编码仅为操作码
这种指令的8位编码仅为操作码,指令的操作数隐含在其中。如:INC  A,该指令的编码为:0000 0100B,其十六进制表示为04H,累加器A隐含在操作码中。指令的功能是累加器A的内容加1。
注意:在指令中用“A”表示累加器,而用“ACC”表示累加器对应的地址(E0H)。
2、8位编码含有操作码和寄存器编码
这种指令的高5位为操作码,低3位为存放操作数的寄存器编码。如:MOV A,R0 ,编码为1110 1000B,其十六进制表示为E8H(低3位000为寄存器R0的编码)。功能是将当前工作寄存器R0中的数据传送到累加器A中。
②双字节指令
这类指令的第一字节表示操作码,第二个字节表示参与操作的数据或数据存放的地址。如:MOV  A,#50H, 编码为0111 0100B,0101 0000B。其十六进制表示为74H,50H。功能是将立即数“50H”传送到累加器A中。
③三字节指令
这类指令的第一字节表示该指令的操作码,后两个字节表示参与操作的数据或数据存放的地址。如:MOV  20H,#50H,编码为0111 0101B,0010 0000B,0101 0000B。其十六进制表示为75H,20H,50H。功能是将立即数“50H”传送到内部RAM的20H单元中。
(2)符号指令格式
符号指令的一般格式为: 操作助记符[目的操作数][,源操作数][;注释]
在80C51的指令系统中,多数指令为两操作数指令;当指令操作数隐含在操作助记符中时,在形式上这种指令无操作数;另有一些指令为单操作数指令或三操作数指令。指令的一般格式中使用了可选择符号“[ ]”,包含的内容因指令的不同可以有或无。
在两个操作数的指令中,通常目的操作数写在左边,源操作数写在右边。
如:ANL  A,#40H 完成的功能是将立即数“40H”同累加器A中的数进行“与”操作,结果送回累加器。 ANL为“与”操作的助记符,立即数“40H”为源操作数,累加器A为目的操作数。
(3)符号指令及其注释中常用的符号
Rn(n=0~7):当前选中的工作寄存器组中的寄存器R0~R7之一;
Ri(i=0,1):当前选中的工作寄存器组中的寄存器R0或R1;
@  :间址寄存器前缀;
#data :8位立即数;
#data16:16位立即数;
direct:片内低128个RAM单元地址及SFR地址(可用符号名称表示);
addr11:11位目的地址;
addr16:16位目的地址;
rel:补码形式表示的8位地址偏移量,值在-128~+127范围内;
bit:片内RAM位地址、SFR的位地址(可用符号名称表示);
/:位操作数的取反操作前缀;
(×): 表示×地址单元或寄存器中的内容;
((×)):表示以×单元或寄存器内容为地址间接寻址单元的内容;
←:将箭头右边的内容送入箭头左边的单元中。
3.80C51的寻址方式
寻址方式就是寻找操作数或指令的地址的方式。
80C51的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。这些寻址方式所对应的寄存器和存储空间如表1所示。
表1 寻址方式所对应的寄存器和存储空间

(1)寄存器寻址
操作数存放在寄存器中,指令中直接给出该寄存器名称的寻址方式。采用寄存器寻址可以获得较高的传送和运算速度。
在寄存器寻址方式中,用符号名称表示寄存器。在形成的操作码中隐含有指定寄存器的编码。
采用寄存器寻址的寄存器有:
工作寄存器R0~R7;
累加器A(注:使用符号ACC表示累加器时属于直接寻址);
寄存器B(以AB寄存器对形式出现);
数据指针DPTR。
(2)直接寻址
指令操作码之后的字节存放的是操作数的地址,操作数本身存放在该地址指示的存储单元中的寻址方式称为直接寻址。
采用直接寻址的存储空间为:
片内RAM低128字节(以地址形式表示);
SFR(以地址或SFR的符号形式表示,但符号将转换为相应的地址)。
(3)寄存器间接寻址
寄存器中的内容为地址,从该地址去取操作数的寻址方式称为寄存器间接寻址。
寄存器间接寻址对应的空间为:
片内RAM(采用@R0,@R1或SP);
片外RAM(采用@R0,@R1或@DPTR)。
(4)立即寻址
指令编码中直接给出操作数的寻址方式称为立即寻址。在这种寻址方式中,紧跟在操作码之后的操作数称为立即数。立即数可以为一个字节,也可以是两个字节,并要用符号“#”来标识。由于立即数是一个常数,所以只能作为源操作数。
立即寻址所对应的寻址空间为:
ROM空间。
(5)变址寻址
以一个基地址加上一个偏移量地址形成操作数地址的寻址方式称为变址寻址。在这种寻址方式中,以数据指针DPTR或程序计数器PC作为基址寄存器,累加器A作为偏移量寄存器,基址寄存器的内容与偏移量寄存器的内容之和作为操作数地址。
变址寻址所对应的寻址空间为:
ROM空间(采用@A+DPTR,@A+PC)。
(6)相对寻址
相对寻址是以程序计数器PC的当前值(指读出该2字节或3字节的跳转指令后,PC指向的下条指令的地址)为基准,加上指令中给出的相对偏移量 rel 形成目标地址的寻址方式。
(7)位寻址
对位地址中的内容进行操作的寻址方式称为位寻址。采用位寻址指令的操作数是8位二进制数中的某一位。指令中给出的是位地址。位寻址方式实质属于位的直接寻址。
位寻址对应的寻址空间为:
片内RAM的20H~2FH单元中的128可寻址位;
SFR的可寻址位。
习惯上,特殊功能寄存器的寻址位常用符号位地址表示。
例如:CLR ACC.0
   
三、习题
(单选题)
1.累加器A采用的寻址方式是(   )。
A.寄存器寻址     B.直接寻址     C.寄存器间接寻址    D.立即寻址
答案:A
2.指令编码中直接给出操作数的寻址方式是(   )。
A.寄存器寻址     B.直接寻址     C.寄存器间接寻址    D.立即寻址
答案:D
3.指令“MOV A,@R0”采用的寻址方式是(   )。
A.寄存器寻址     B.直接寻址     C.寄存器间接寻址    D.立即寻址
答案:C
4.指令“MOVC A,@A+DPTR”采用的寻址方式是(   )。
A.寄存器寻址     B.变址寻址     C.相对寻址          D.位寻址
答案:B
5.若(50H)=3AH,指令“MOV A,50H”执行后,累加器A的内容为(   )。
A.50H            B.3AH          C.E5H           D.E8H
答案:B
6. 若(DPTR)=3000H,(3000H)=30H,执行指令MOVX A,@DPTR后,累加器A的内容为(   )。
A.30H            B.300H          C.3000H           D.3030H
答案:A
转载注明  无忧答案网  QQ 761296021

QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-4 08:42

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表