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

小知識點補充34

1,SJMP、AJMP和 LJMP的異同點

SJMP: 相對尋址方式轉移指令,短轉移指令,轉移範圍爲當前PC的值的 -128~127 字節
備註:SJMP rel
目的地址=轉移指令所在地址+轉移指令字節數+rel
AJMP: 絕對轉移指令,轉移範圍爲當前PC值所在的頁面2K範圍內
LJMP: 長轉移指令。轉移範圍爲64K,與當前PC值無關

2,MCS—51 單片機的數據指 針 DPTR 是一個 16 位的專用地址指 針寄存器主要用來存放 16 位地址作間址寄存器使用
3,MCS-51的特殊功能寄存器分佈在80H-FFH地址範圍內
4,PC可以看成使程序存儲器的地址指針
5,程序 計數器 PC 不能爲用戶編程時直接使用因爲它沒有地址
6,MCS—51 的產品 8051 與 8031 的區別是: 8031 片內無 ROM
7,MCS—51 單片機的特殊功能寄存器集中佈置在片內數據存儲器的一個區域中
8,累加器 A 中存放着一個其值小於或等於 127 的 8 位無符號數, CY清“0”後執行RLC A 指令,則 A 中數變爲原來的 2 倍
9,51單片機系統響應中斷的必要條件有:TCON或 SCON寄存器內的有關中斷標誌位爲 1IE 中斷允許寄存器內的有關中斷允許位置 1當前一條指令執行完
10,各中斷源發出的中斷請求信號,都會標記在 MCS-51系統中的TCON/SCON寄存器

小知識點補充35
1,MCS—51 單片機響應中斷的過程是:斷點 PC自動壓棧,對應中斷矢量地址裝入 PC,程序轉到該矢量地址,再轉至中斷服務程序首地址
2,MCS—51 單片機控制寄存器 TCON的作用有:定時 / 計數器的啓、停控制 ,定時器的溢出標誌 ,外部中斷請求標誌和選擇外部中斷觸發方式
3, 8051 單片機的 IE 寄存器的用途有:確定 CPU中斷的開放或禁止,定時器中斷的開放或禁止 和選擇外部中斷的開放或禁止
4,下述條件中,能封鎖主機對中斷的響應的條件是:一個同級或高一級的中斷正在處理時,當前週期不是執行當前指令的最後一個週期,當前執行的指令是 RETI 指令或對 IE 或 IP 寄存器進行讀 / 寫的指令
5,什麼叫中斷嵌套?中斷嵌套有什麼限制?中斷嵌套與子程序嵌套有什麼區別?

答:高優先級中斷“中斷”正在執行的低優先級中斷,這就是中斷嵌套。
中斷嵌套只能高優先級“中斷”低優先級, 低優先級不能“中斷“高優先級, 同一優先級之間也不
能相互“中斷”。
中斷嵌套與子程序嵌套的區別:
①子程序嵌套是在程序中事先安排好的;中斷嵌套是隨機發生的。
②子程序嵌套無次序限制,中斷嵌套只允許高優先級“中斷”低優先級。

6,爲什麼一般情況下, 在中斷入口地址區間要設置一條跳轉指令, 轉移到中斷服務程序的實際入口處?

答:由於 80C51相鄰兩個中斷入口地址間只有 8 字節的空間,8 個字節只能容納一個有 3~8條指令的極短程序。一般情況中中斷服務程序均大大超出8個字節長度。因此,必須跳轉到其他合適的地址空間。

7,如果以查詢方式進行定時應用,則應用程序中的初始化內容應包括設置工作方式、設置計數初值、禁止中斷、打開定時器
8,8031 單片機的定時器 T1 用作定時方式時是由內部時鐘頻率定時, 一個機器週期加1
9,8031 單片機的定時器 T1 用作計數方式時計數脈衝是外部計數脈衝由 T1(P3.5 )輸入
10,用 8031 的定時器 T1 作計數方式,用模式 2,則工作方式控制字爲60H

小知識點補充36
1,MCS—51 單片機的 TMOD模式控制寄存器是一個專用寄存器,用於控制 T1 和 T0 的操作模式及工作方式,其中 C/T 表示的是功能選擇位
2,MCS—51 單片機定時器溢出標誌是TF0,TF1
3,MCS—51 單片機定時器 T1的溢出標誌 TF1,若計滿數產生溢出時,如不用中斷方式而用查詢方式,則應:軟件清零
4,MCS—51 單片機定時器 T0的溢出標誌 TF0,若計滿數在 CPU響應中斷後由硬件清零
5,MCS—51 單片機中定時 / 計數器的工作模式有8 位自動重裝計數器13 位計數器16 位計數器兩個獨立的 8 位計數器
6,試歸納小結 80C51定時 / 計數器 4 種工作方式的特點
答: ①方式 0 是 13 位計數器, 最大計數值 2^13=8192,計數範圍比方式 1 小,計算定時初值比較麻煩, 容易出錯,與方 式 1 比較無任何優點。 ②方式 1 是 16 位計數器,最大計數值爲 2^16=65536,計數範圍大,適用於定時範圍較大的應用場合。 ③方式 2 是 8 位計數器,最大計數值是 2^8=256,缺點是計數範圍小,優點是定時初值可自動恢復,適用於需要重複定時, 而定時範圍還不大的應用場合。 ④方式 3 是 8 位計數器,僅適用於 T0,T1 無方式 3。T0 方式 3 時,被拆成兩個獨立的 8 位計數器 TH0、TL0:TL0 使用 T0 原有的控制寄存 器組成一個 8 位的定時 / 計數器;TH0借用 T1 的 TF1、TR1,只能對機內機器週期脈衝計數,組成另一個 8 位定時器。 T0 方式 3 時 T1 方式 2 作串行口波特率 發生器。
7,如何判斷 T0、T1 定時 / 計數溢出?
答:判斷 T0、T1 定時 / 計數溢出的方法有兩種:
① 查詢方式。不斷查詢 T0、T1 溢出標誌 TF0、TF1:TF0或 TF1=0時,未溢出; TF0或 TF1=1時,溢出。
② 中斷方式。 T0、T1 定時 / 計數溢出時,在 CPU、T0、T1 中斷開放前提下能自動產生中斷。
8,要進行多機通信, MCS-51串行接口的工作方式選爲方式 2 和方式 3
9,MCS-51 的串行接口是全雙工
10,串行口的中斷, CPU響應中斷後,必須在中斷服務程序中,用軟件清除相應的中斷標誌位,以撤消中斷請求;串行口數據緩衝器 SBUF是可以直接尋址的專用寄存器

小知識點補充37
串行緩衝寄存器 SBUF有什麼作用?簡述串行口接收和發送數據的過程
答:串行緩衝寄存器 SBUF有兩個:一個是串行發送緩衝寄存器,另一個是串行接收緩衝寄存器,用同一個特殊功能寄存器名 SBUF和同一單元地址 99H。接收緩衝寄存器還具有雙緩衝結構,以避免在數據接收過程中出現幀重疊錯誤。在完成串行初始化後,發送時只需將發送數據輸入 SBUF,CPU將自動啓動和完成串行數據的發送;接收時 CPU將自動把接收到的數據存入 SBUF,用戶只需從SBUF中讀取接收數據

小知識點補充38
1,區分 MCS-51單片機片外程序存儲器和片外數據存儲器的最可靠的方法是:看其芯片的型號是ROM還是RAM ,看其是與 RD信號連接還是與 PSEN信號連接
2,在 MCS-51單片機系統中, 外接程序存儲器和數據存儲器共 16 位地址線和 8 位數據線, 爲何不會發生衝突?

解:因爲控制信號線的不同:
外擴的 RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記爲OE和 WE。外擴 RAM的讀、寫控制引腳分別與MCS-51的RD和WR引腳相連。
外擴的EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入控制引腳,只有讀出引腳,記爲OE,該引腳與MCS-51單片機的PSEN相連。

3,並行擴展存儲器,片選方式有哪幾種?各有什麼特點?

答:並行擴展存儲器,產生片選信號的方式有線選法和譯碼法兩種。
(1)線選法是將高位地址線直接連到存儲器芯片的片選端。其優點是連接簡單,缺點是芯片的地址空間相互之間可能不連續,存儲空間得不到充分利用,存在地址重疊現象。線選法適用於擴展存儲容量較小的場合。
(2)譯碼法是通過譯碼器將高位地址線轉換爲片選信號, 2 條地址線能譯成4種片選信號,3條地址線能譯成8種片選信號,4條地址線能譯成16種片選信 號。譯碼法與線選法比較,硬件電路稍微複雜,需要使用譯碼器,但可充分利用存儲空間, 全譯碼還可避免地址重疊現象, 局部譯碼還有部分高位地址線未參與譯 碼,因此仍存在地址重疊現象。譯碼法的另一個優點是若譯碼器輸出端留有剩餘端線未用時,便於繼續擴展存儲器或 I/O 接口電路。

4,採用譯碼法片選是否一定能消除地址空間不連續和“地址重疊”現象?

答:採用譯碼法片選不一定能消除地址空間不連續和“地址重疊”現象。只要譯碼器輸出的片選信號線序號連續,地址空間就連續;譯碼器輸出的片選信 號線序號不連續,地址空間就不連續。關於“地址重疊”現象,只要沒有無關地址線,就沒有“地址重疊”現象。

題78

已知晶振頻率爲12MHz,在 P1.7 引腳上輸出週期爲 400微秒的等寬矩形波(中斷方式實現)。

程序源碼:


PULSE BIT P1.7
	ORG 0000H
	LJMP START
	ORG 000BH
	LJMP ADDRT0
	ORG 0030H
START:
	MOV SP,#66H
	MOV TMOD,#02H
	MOV TH0,#38H
	MOV TL0,#38H
	SETB EA
	SETB ET0
	SETB TR0
	SETB PULSE
	SJMP $
ADDRT0:
	CPL PULSE
	RETI
	END

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

題79

設規定外部中斷 1 爲邊沿觸發方式,低優先級,在中斷服務程序將寄存器 B 的內容左循環一位, B的初值設爲 02H,編寫程序

 	ORG 0000H 
 	LJMP MAIN 
 	ORG 0013H 
 	LJMP ADDRINT1
 	ORG 0030H 
 MAIN:
 	SETB EA 
 	SETB EX1 
 	CLR PX1 
 	SETB IT1 
 	MOV B,#02H 
 	SJMP $
 ADDRINT1:
 	MOV A,B 
 	RL A 
	MOV B,A 
 	RETI
 	END
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章