|
單片機原理及接口復習題;一、選擇題;1.DPTR為(C);A.程序計數器B.累加器;C.數據指針寄存器D.程序狀態字寄存器;2.在單片機中,通常將一些中間計算結果放在(A);A.累加器B.控制器C.程序存儲器D.數據存儲器;3.執行PUSHACC指令,MCS-51完成的操;A.SP+1→SP(ACC)→(SP)B.(AC;C.SP-1→SP(ACC)→(SP
單片機原理及接口復習題
一、選擇題
1.DPTR為( C )。
A.程序計數器 B.累加器
C.數據指針寄存器 D.程序狀態字寄存器
2.在單片機中,通常將一些中間計算結果放在( A )中 。
A.累加器 B.控制器 C.程序存儲器 D.數據存儲器
3.執行PUSH ACC指令, MCS-51完成的操作是( A )。
A.SP+1→SP (ACC)→(SP) B.(ACC) →(SP) SP-1→SP
C.SP-1→SP (ACC)→(SP) D.(ACC)→(SP) SP+1→SP
4.當標志寄存器PSW的RS0和RS1分別為1和0時,系統選用的工作寄存器組為( B
A.組0 B.組1 C.組2 D.組3
5.主頻為12MHz的單片機,它的機器周期為( C )。
A.1/12微秒 B.0.5微秒 C.1微秒 D.2微秒
6.8051單片機共有( B )個中斷源 。
A.4 B.5 C .6 D.7
7.訪問片外程序存儲器時,只能用( C )。
A.MOV 指令 B.PUSH指令 C.MOVX指令 D.MOVC指令
8.執行MOV IE,#81H指令的意義是:( B ) 。
A.屏蔽中斷源 B.開放外部中斷源0
C .開放外部中斷源1 D.開放外部中斷源0和1
9.在進行串行通信時,若兩機的發送與接收可以同時進行,則稱為( D )。
A.半雙工傳送 B.單工傳送 C.雙工傳送 D.全雙工傳送
10.程序計數器PC用來( ) 。
A.存放指令 B.存放正在執行的指令地址
C.存放下一條的指令地址 D.放上一條的指令地址
11.定時/計數器的定時是指( C ),定時/計數器的計數是指( D )。
A.對時間計數 B.外部事件定時 C.內部時鐘計數 D.外部事件計數
12.開機復位后,CPU使用的是寄存器0組,地址范圍是( B )。
A.00H-10H B.00H-07H C.10H-1FH D.08H-0FH
13.單片機8051的XTAL1和XTAL2引腳是( D )引腳 。
A.外接定時器 B.外接串行口 C.外接中斷 D.外接晶振
14.單片機在與外部I/O口進行數據傳送時,將使用( C )線。
A.ALE INT0 B.PSEN ALE C.WR RD ALE D.ALE INT1
。 )
15.下列指令中錯誤的是( D )。
A.MOV A,R4 B.MOV 20H,R4
C .MOV A,@R3 D.MOV @R4,R3
16.當 MCS—51復位時,下列說法正確的是( D )。
A.PC=000H B.SP=00H C.SBUF=00H D.(30H)=00H
17.在堆棧操作中,當進棧數據全部彈出后,這時SP應指向( D )。
A.棧底單元 B.7FH單元
C .棧底單元地址加1 D.棧底單元地址減1
18.MCS-51有中斷源( A )。
A.5個 B.2個 C.3個 D.6個
19.8051的程序計數器PC為16位計數器,其尋址范圍是( D )。
A.8K B.16 K C .32 K D.64 K
20.8031定時/計數器是否計滿可采用等待中斷的方法進行處理,也可通過對( C )的查
詢方法進行判斷。
A.OV標志 B.CY標志 C.中斷標志 D.奇偶標志
二、填空題
1.在 MCS-51單片機中,如采用6MHZ晶振,一個機器周期為 。
2.當80C51的RST引腳上保持 80C51即發生復位。
3.MCS-51系列單片機為位單片機,若不使用MCS-51片內存儲器,引腳/EA
必須接 低電平0 。
4.在單片機擴展時,
5.異步串行數據通信的楨格式由 位, , 位和 停止 位組成。
6.MCS-8051系列單片機字長是位,有
7.當MCS-51單片機接有外部存儲器時,P2口可作為。
8.在 MCS-51中,PC和DPTR都用于提供地址,PC為訪問址,而DPTR是為訪問 數據 存儲器提供地址。
9.程序狀態寄存器PSW的作用是用來保存程序運行過程中的各種狀態信息。其中CY為
進位標志,用于無符號數加(減)運算,當進行 時作為位累加器。OV為 溢出 標志,用于有符號數的加(減)運算。
10.已知1只共陰極LED顯示器,其中a筆段為字形代碼的最低位,若需顯示數字5,它
的字形代碼應為 6DH ;若需顯示字符‘A’,其字形代碼為 77H 。
三、讀程序題
1.該段程序的功能是:。
ORG 1000H
START: MOV A,#2
ACALL SQR
MOV R1,A
MOV A,#4
ACALL SQR
ADD A,R1
MOV 40H,A
SJMP $
SQR: INC A
MOVC A, @A+PC
RET
TAB: DB 0,1,4,9,16,25,36,49,64,81
END
2.已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 執行過程如下:
MOV A , @R0
MOV R0 , A
MOV A , @R0
ADD A , 21H
ORL A , #21H
RL A
MOV R2 , A
RET
則執行結束(R0)= 36H , (R2)= D6H 。
3.已知(R1)=20H,(20H)=AAH,(1)請寫出執行下列程序后A的內容;(
每條指令執行后相關單元的內容。
MOV A,#55H ANL A,#0FFH ORL 20H,A
XRL A,@R1 CPL A
4.設在31H單元存有#23H,執行下面程序:
MOV A, 31H
ANL A, #0FH
2)寫出
MOV 41H, A
MOV A, 31H
ANL A, #0F0H
SWAP A
MOV 42H, A
則:, 。
5.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 執行如下程序段后,( 40H ) =
MOV @R0 , #11H
MOV A , R2
ADD A , 20H
MOV PSW , #80H
SUBB A , P0
XRL A , #45H
MOV 40H , A
四、設計編程題
1.將89C51的RXD(P3.0)和TXD(P3.1)短接,將P1.0接一個發光二極管,如圖所示。編
寫一個自己發送自己接收的程序,檢查單片機的串行接口是否完好(設
fosc=12MHz,SMOD=0)。
2.設系統時鐘頻率為6MHz,試用定時器T0作為外部計數器,編寫程序,實現每計到1000
個脈沖后,使T1定時2ms,而后,T0又開始計數,這樣反復循環。
(1)計算T0、T1的計數初值;
(2)設置方式控制字TMOD;
(3)編寫程序。
3.設甲、乙兩機采用方式1通信,波特率為4800bps,甲機發送0,1,2,…,1FH,乙機接
收并存放在內部RAM以20H為首址的單元,試用查詢方式編寫甲、乙兩機的程序(兩機的
fosc=6MHz,取SMOD=1)。
4.已知8051單片機的系統時鐘為6MHz,利用定時器T0,是P1.2每隔350us輸出一個50us
脈寬的正脈沖。
(1)計算計數初值;
(2)設置方式控制字TMOD;
(3)編寫程序。