《单片机汇编》期末考试、考研常见考题、习题,题型汇总(二十九)

强化指令20:清零指令

1,CLR A ;A中内容清零
2,CLR C ;进位标志位清零
3,CLR bit;直接寻址位清零

小知识点补充65

1,在变址寻址(基址寄存器+变址寄存器间接寻址)中,以累加器A作为变址寄存器,以DPTR或PC作为基址寄存器
2,串行口扩展并行口时,串口工作在方式0
351单片机并行I/O口信息有读I/O口和读锁存器两种方式,读改写操作是针对并行口中的锁存器进行的
4,在中断服务程序中,至少有一条中断返回指令
5,定时器1****种工作模式
6,定时器0工作在方式3时,分为两个独立的8位计数器,且TH0占用T1的状态控制位TR1和TF1(此时T0不能作为外部计数模式)
7,设 MCS-51单片机晶振频率为 12MHz,定时器作计数器使用时,其最高的输入计数频率为 500KHz
8,主程序中调用子程序后返回主程序,堆栈指针 SP的值不变
9,单片机中使用 MOVX A,@R1指令, C与 P2口配合能寻址数据存储器 1111H单元(前文有专门的例题讲解)
10,下列指令判断若 P1 口最低位为高电平就转 L00P,否则就执行下一句的是JB P1.0 ,L00P
11,MCS-51单片机在执行 MOVX A,@DPTR指令时,其寻址单元的地址是由P0口送低 8 位,P2口送高 812,使累加器 A的最高位置 1 的是:ORL A,#80H
13,使 R0的最高位置 0 的是:ANL R0,#7FH
14,使 R1的最高位取反的是XRL R1,#80H
15,MCS-51指令系统中,格式为: ORG 16位地址 的指令功能是用来定义汇编程序的起始地址
16,指令 ANL A,R0的功能是:将 A与寄存器 R0的内部容按位逻辑与
17,LJMP跳转空间最大可达到:64KB
18,在编程中使用伪指令的目的是指示和引导汇编程序进行汇编
198051单片机的定时器 T1用作定时方式时是由内部时钟频率定时,一个机器周期加1
208051单片机的定时器 T0用作计数方式时是由外部计数脉冲计数,下降沿加1

程序阅读填空题22

执行下列程序后,累加器 A的内容为:
ORG 0000H 
MOV A , #00H 
ADD A , #02H 
MOV DPTR, #0030H 
MOVC A, @A+DPTR 
MOV @R0, A 
SJMP $ 
ORG 0030H 
TAB: DB 00H ,08H,51H,6H,09H,0CH 
END 

强化指令21:传送指令
1,MOV @Ri,direct
2,MOV @Ri,A
3,MOV @Ri,#data
例题1:

执行如下三条指令后, 30H和31H单元的内容分别是
MOV R1,#30H 
CLR A
MOV 66H,#66H
MOV 40H,#0EH 
MOV @R1,40H 
MOV A,R1
ADDC A,#66H
INC R1
MOV @R1,A

答案:
(30H)=0EH  (31H)=96H

小知识点补充66

判断溢出方法最高位进位状态异或次高位进位状态=1,则结果溢出

程序阅读填空题23

执行下列程序后,内部 RAM 40H单元的内容是?,A中的内容是?
ORG 0000H
MOV 40H,#00H 
MOV R0,#40H 
MOV A,40H 
ADD A,#07H 
MOVC A,@A+PC 
MOV @R0,A 
ORL A,#0AAH
SJMP $ 
TDB:DB 00H ,01H ,02H,03H,05H 
END

强化指令22:LJMP跳转指令
LJMP add16 无条件长转移 3 2
执行过程:
add16 -> PC

例题:
MCS-51指令系统中,执行下列程序后,程序计数器 PC的内容为:
	ORG 000H 
	MOV DPDR,#1000 
	MOV A , #00H 
	MOV 20H ,A 
	LJMP 1500 
	END
答案:(PC)=1500

小知识点补充67

18051单片机的定时器 T1用作计数方式时计数脉冲是由 T1(P3.5)输入
28051 单片机的机器周期为1.5μs, 则其晶振频率 fosc为8MHz
3,用 8051 的定时器,若用软启动,应使 TOMD中的GATE位置 0
4,MCS-51单片机在同一级别里除 INT0 外,级别最高的中断源是定时器 T0
5,用8051的定时器T0 定时,用模式 2,则应启动T0前向TH0、TL0置入相同的计数初值,以后不再置入
6,MCS-51单片机定时器 T0的溢出标志 TF0,若计满数在 CPU响应中断后由硬件清零
78051响应中断后,中断的一般处理过程是关中断,保护现场,开中断,中断服务,关中断,恢复现场,开中断,
中断返回
8,执行中断处理程序最后一句指令 RETI后程序返回到响应中断时一句的下一句
9,MCS-51单片机响应中断矢量地址是中断服务程序的入口地址
10,ADC 0809芯片是 m路模拟输入的 n 位 A/D转换器, m=8,n=8
11,当 DAC 0832 D/A转换器的 CS接 8031 的 P2.0 时,程序中 0832 的地址指针DPTR寄存器应置为:
0832H或FE00H或FEF8H等
128051的定时 /计数器 T0 的有几种工作模式,对各工作模式作简单的叙述:
答: 
定时/计数器 T0 的模式 : 
013 位计数器;
116 位计数器;
28 位循环计数器;
32 个独立的 8 位计数器 串行通信模式
138051的串行通信的有几种工作模式,请对各工作模式作简单的叙述:
答:
串行通信共有 4 种工作模式 ,分别是:
模式 0:同步移位寄存器;
模式 1:波特率可变的8位两机异步通信;
模式 2:波特率固定的9位可多机的异步通信;
模式 3:波特率可变的9位可多机的异步通信

程序阅读填空题24

执行下列程序段后:
ORG 0000H
MOV 10H,#5AH 
MOV 2EH,#1FH
MOV 40H,2EH
MOV 60H,#3DH
MOV 20H,60H 
MOV R1,20H 
MOV A,40H 
XCH A, R1 
XCH A,60H 
XCH A,@R1 
MOV R0,#10H 
XCHD A, @R0 
END
问:
(A)=10H)=2EH)=40H)=60H)=  

强化指令23:取反指令

CPL A:累加器取反
CPL C:进位标志位取反
CPL bit:直接寻址位取反

强化指令24:置1指令

1,SETB C
2,SETB bit

强化指令25:比较指令

1,CJNE A,direct,rel
2,CJNE A,#data,rel
3,CJNE Rn,#data,rel
4,CJNE @Ri,#data,rel

强化指令26:转移指令

1,AJMP addr11
2,SJMP  rel
3,LJMP addr16
4,JMP @A+DPTR

程序阅读填空题25

已知(A)=83H,(R0)=17H,(17H)=34H,执行下列程序段后:
ANL A,#17H 
ORL 17H,A 
XRL A,@R0 
CPL A 
问:(A)=  (R0)=17H)=  

程序阅读填空题26

 ORG 0000H
 MOV B,#3 
 MOV R0,#20H 
 MOV A,#0FH 
 INC A 
 MUL AB 
 MOV @R0,A
 SETB 00H 
 MOV DPTR,#3000H 
 MOV A,@R0 
 MOVX @DPTR,A 
 DEC B 
 MOV DPH,B 
 SETB 03H 
 MOV A,@R0 
 SWAP A  
 DEC A 
 END 
上述程序执行完后,回答如下问题:
(A)=     (Cy)= 
(DPTR)=  (3000H)=   (R0)= 

程序阅读填空题27

 ORG 0000H 
 LJMP START 
 ORG 30H 
START:
 MOV SP,#66H 
 CLR A 
 MOV R2,#16 
 MOV R0,#20H 
LOOP: 
 MOV @R0,A 
 DEC A 
 INC R0
 DJNZ R2,LOOP 
 SETB 03H 
 MOV A,R2
 MOV R0,#20H  
 SETB C 
 SUBB A,@R0 
 MOV P1,A 
 PUSH ACC 
 PUSH 23H 
 POP 23H 
 END 
 
上述程序执行完后,回答如下问题:
(P1)=   (Cy)= 
(R0)=   (23H)=   (SP)= 

程序阅读填空题28

 ORG 0000H 
 MOV SP,#65H 
 CLR A 
 MOV R0,#21H 
 CPL A 
 MOV @R0,A 
 DEC @R0 
 MOV DPTR,#1200H 
 DEC 21H 
 MOV A,@R0 
 MOV B,#4 
 INC A 
 DIV AB 
 INC B 
 MOV DPH,B 
 MOVX @DPTR,A 
 PUSH ACC 
 POP DPL 
 MOV A,@R0 
 MOVX @DPTR,A 
 END 
上述程序执行完后,回答如下问题:
 (A)=    (R0)=     P=
 (DPTR)=  (0300H)=   (SP)= 

题76

8051 单片机应用系统的晶体振荡器频率为 6MHz,请利用定时器 T1 编程实现在 P1.0 和 P1.1 引脚输出互补(互为反相)的、频率为 20Hz的方波。要求:采用中断方式, T1 工作在方式 2 下。

解析: 20Hz方波的半周期为 25ms,一个机器周期=2us。设定时器时间为500us,即定时器初值=256-250=6,设置一个变量保存定时器溢出次数,当定时器溢出次数达到50次进行电平翻转,从而实现50ms的波形输出。

程序源码:

PULSE    BIT P1.0
PULSENOT BIT P1.1
	ORG 0000H
	LJMP START
	ORG 001BH
	LJMP ADDRT1
	ORG 0030H
START:
	MOV SP,#66H
	MOV R7,#50
	MOV TMOD,#20H
	MOV TL1,#6
	MOV TH1,#6
	SETB ET1
	SETB EA
	SETB PULSE
	CLR PULSENOT
	SETB TR1
	SJMP $
ADDRT1:
	MOV TL1,#6
	MOV TH1,#6
	DEC R7
	CJNE R7,#00,RETURN
	CPL PULSE
	CPL PULSENOT
	MOV R7,#50
RETURN:
	RETI
	END

仿真图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/liuxianfei0810/article/details/105836334