《單片機彙編》期末考試、考研常見考題、習題,題型彙總(二十九)

強化指令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

仿真圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章