單片機原理及接口技術思考題與習題_第1頁
單片機原理及接口技術思考題與習題_第2頁
單片機原理及接口技術思考題與習題_第3頁
單片機原理及接口技術思考題與習題_第4頁
單片機原理及接口技術思考題與習題_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、思考題與習題1.8051單片機內包含哪些主要邏輯功能部件?一個8位的CPU、128B/256B的片內數(shù)據(jù)存儲器、4KB/8KB程序存儲器、四個8位并行I/O接口、兩個定時/計數(shù)器、5個中斷源的中斷控制系統(tǒng)、一個全雙工UART的串行I/O口、片內振蕩器和時鐘產生電路。2.8051的EA端有何用途? 當EA為低電平時,CPU只能訪問外部的程序存儲器。 當EA為高電平時,CPU能訪問內部的程序存儲器,并當PC的值超過0FFFH時,自動轉向訪問片外的程序存儲器。3.8051的存儲器分為哪幾個空間?如何區(qū)別不同空間的尋址?4.簡述8051RAM的空間分配。5.6.如何簡便地判斷8051正在工作? 當80

2、51上電正常工作時,ALE引腳輸出fosc/6的正脈沖,可用示波器查看及判斷。7.8051如何確定和改變當前工作寄存器組? CPU通過程序狀態(tài)字PSW中RS1、RS0來確定和改變當前工作寄存器組。8.9.10.11.8051單片機由哪些信號需要芯片以第二功能的方式提供? RXD、TXD、INT0、INT1、T0、T1、WR、RD這些信號分別由P3.0P3.7以第二功能的方式提供。12.13.14.開機復位后,CPU使用的是哪組工作寄存器?它們的地址是什么?CPU如何確定和改變當前工作寄存器組? 開機復位后,CPU使用0組工作寄存器。 它們的地址是00H07H。 CPU通過程序狀態(tài)字PSW中RS

3、1、RS0來確定和改變當前工作寄存器組。15.程序狀態(tài)寄存器PSW的作用是什么?常用標志有哪些位?作用是什么? PSW中存放著程序執(zhí)行后的狀態(tài)信息,供程序查詢或判斷。 常用的標志有: 進(借)位位:C=0無進(借)位;C=1有進(借)位。 半進(借)位位:AC=0無進(借)位;AC=1有進(借)位。 用戶標志位:由用戶自己定義。 工作寄存器組選擇控制位:選擇當前工作寄存器組。 溢出標志位:判斷是否溢出。OV=0無溢出;OV=1有溢出。 奇偶標志位:判斷結果中有奇數(shù)或偶數(shù)個“1”P=0則累加器A中有偶數(shù)個1;P=1則累加器A中有奇數(shù)個1。16.17.18.19.思考題與習題1.2.3.4.5.要

4、訪問特殊功能寄存器和片外數(shù)據(jù)存儲器,應采用哪些尋址方式。 特殊功能寄存器:直接尋址、位尋址(部分特殊功能寄存器) 片外數(shù)據(jù)存儲器:寄存器間接尋址MOVX(R1、R2、DPTR)6.在8051片內RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。請分析下面各是什么指令,說明源操作數(shù)的尋址方式以及按順序執(zhí)行每條指令后的結果。指 令 源操作數(shù)的尋址方式 執(zhí)行結果 MOV A,40H 直接尋址 A=48H MOV R0,A 寄存器尋址 R0=48H MOV P1,#FOH 立即數(shù)尋址 P1=48H MOV R0,30H 直接尋址 (48H)=38H MOV

5、DPTR,#3848H 立即數(shù)尋址 DPTR=3848H MOV 40H,38H 直接尋址 (40H)=40H MOV R0,30H 直接尋址 R0=38H MOV P0,R0 寄存器尋址 P0=38H MOV 18H,#30H 立即尋址 (18H)=30H MOV A,R0 寄存器間接尋址 A=40H MOV P2,P1 寄存器尋址 P2=48H 7.8.指出下列指令的本質區(qū)別?MOV A,DATAMOV A,#DATA 前一條指令源操作數(shù)的尋址方式是直接尋址,把地址為DATA的內存單元中的內容傳送到累加器A中。 后一條指令源操作數(shù)的尋址方式是立即尋址,把DATA這個立即數(shù)賦給寄存器A。 M

6、OV DATA1,DATA2MOV 74H,#78H 前一條指令源操作數(shù)的尋址方式是直接尋址,把地址為DATA2的內存單元中的內容傳送到地址為DATA1的內存單元中。 后一條指令源操作數(shù)的尋址方式是立即尋址,把78H這個立即數(shù)傳送到內存單元74H中。 9.設R0的內容為32H,A的內容為48H,片內RAM的32H單元內容為80H,40H單元內容為08H。請指出在執(zhí)行下列程序段后上述各單元內容的變化。MOV A,R0 A=80H;R0=32H;(32H)=80H;(40H)=08H MOV R0,40H A=80H;R0=32H;(32H)=08H;(40H)=08H MOV 40H,A A=8

7、0H;R0=32H;(32H)=80H;(40H)=80H MOV R0,#35H A=80H;R0=35H;(32H)=80H;(40H)=08H 10.11.如何訪問外部RAM單元,可使用哪些尋址方式? 使用MOVX指令,可采用寄存器間接尋址方式(R0,R1,DPTR)12.13.14.15.16.設A=83H,R0=17H,(17H)=34H。問執(zhí)行以下指令后,A=?ANL A,#17H ;A=03H ORL 17H,A ;A=03H,(17H)=37H XRL A,R0 ;A=34H CPL A ;A=0CBH 17.使用位操作指令實現(xiàn)下列邏輯操作。要求不得改變未涉及位的內容。使ACC

8、.0置1。 SETB ACC.0 清除累加器高4位。 CLR ACC.7CLR ACC.6CLR ACC.5CLR ACC.4 清除ACC.3,ACC.4,ACC.5,ACC.6。 CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.3 18.編程實現(xiàn)把內部RAM R0R7的內容傳送到20H27H單元。MOV 20H,R0 MOV 21H,R1 MOV 22H,R2 MOV 23H,R3 MOV 24H,R4 MOV 25H,R5 MOV 26H,R6 MOV 27H,R7 19.設邏輯表達式為:Y=A(B+C)+D(E+F),試編一程序以軟件方法實現(xiàn)上述邏輯功能。20.試編

9、寫程序,將內部RAM的20H,21H,22H三個連續(xù)單元的內容依次存入2FH,2EH,2DH中。MOV 2FH,20H MOV 2EH,21H MOV 2DH,22H 21.編寫程序,進行兩個6位數(shù)的減法:6F5DH-13B4H,結果的高8位和低8位分別存入內部RAM的31H、30H單元中。CLR C MOV A,#5DH SUBB A,#B4H MOV 30H,A MOV A,#6FH SUBB A,13H MOV 31H,A 22.編寫程序,若累加器A的內容分別滿足下列條件時,則程序轉至LABEL存儲單元。設A中存放的是無符號數(shù)。A10 A10 A10 CJNE A,#10,L1 LABE

10、L: SJMP L2 L1: JNC LABEL L2: CJNE A,#11,L1 LABEL: SJMP L2 L1: JNC LABEL L2: CJNE A,#10,L1 LABEL: SJMP L2 L1: JC LABEL L2: 23.24.25.26.試編寫程序,查找在內部RAM的20H50H單元中是否有0AAH這一數(shù)據(jù)。若有則將51H單元置為01H;若未找到,則將51H置為0。 MOV R0,#31H MOV R1,#20H MOV 51H,#00H L1: CJNE R1,#0AAH,L2 MOV 51H,#01H SJMP L3 L2: INC R1 DJNZ R0,L1

11、 L3: 27.試編寫程序,查找在內部RAM的20H50H單元中有多少個00H這一數(shù)據(jù),并將查找結果存入51H單元。 MOV R0,#31H MOV R1,#20H MOV R2,#00H L1: CJNE R1,#00H,L2 INC R2 L2: INC R1 DJNZ R0,L1 L3: MOV 51H,R2 28.外部數(shù)據(jù)RAM中有一個數(shù)據(jù)塊,存有若干個字符、數(shù)字,首地址為SOURCE。要求將該數(shù)據(jù)塊傳送到內部RAM以DIST開始的區(qū)域,直到遇到字符“$”時結束(“$”也要傳送,它的ASCII碼為24H)。 MOV DPTR,#SOURCE MOV R1,#DIST L1: MOVX

12、A,DPTR INC DPTR MOV R1,A INC R1 CJNE A,#24H,L1 29.已知R3,R4中存放一個16位的二進制數(shù),高位在R3中,低位在R4中。試編一程序將其求補,結果存回原處。方法一 方法二 CLR C CLR C MOV A,#00H MOV A,R3 SUBB A,R4 CPL A MOV R4,A MOV R3,A MOV A,#00H MOV A,R4 SUBB A,R3 CPL A MOV R3,A ADD A,1 MOV R4,A MOV A,R3 ADDC A,#00H MOV R3,A 30.已知30H,31H中存放一個16位的二進制數(shù),高位在前,低

13、位在后。試編一程序將其乘2,結果存回原處。方法一 方法二 MOV A,31H CLR C ADD A,31H MOV A,31H MOV 31H,A RL A MOV A,30H MOV 31H,A ADDC A,30H MOV A,30H MOV R3,A RLC A MOV 30H,A 31.32.編寫一個程序,把片外RAM從2000H開始存放的8個數(shù)傳送到片內30H開始的單元中。 MOV DPTR,#2000H MOV R0,#30H MOV R1,#08H L1: MOV A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R1,L1 33.34.35.設(R0)

14、=7EH,(DPTR)=10FEH,片內RAM中7E單元的內容為0FFH,7FH單元的內容為38H。試為下列程序的每條指令注釋其執(zhí)行結果。INC R0 (7EH)=00H INC R0 R0=7FH INC R0 (7FH)=39H INC DPTR (DPTR)=10FFH INC DPTR (DPTR)=1100H INC DPTR (DPTR)=1101H 36.下列程序段經匯編后,從1000H開始的各有關存儲單元的內容將是什么? ORG 1000H 1000H “S” 1001H “T” 1002H “A” 1003H “R” 1004H “T” 1005H 12H 1006H 34H

15、 1007H 30H 1008H 00H 1009H 00H 100AH 70H TAB1: EQU 1234H TAB2: EQU 3000H DB “START DW TAB1,TAB2,70H 37.38.39.試編寫程序,判斷30H單元中的數(shù)據(jù)是奇數(shù)還是偶數(shù),是奇數(shù)則把31H單元置1,是偶數(shù)則把31置0。要求不破壞30H單元的內容。方法一 MOV A,30H MOV 31H,#00H ORL A,#01H JZ L1 MOV 31H,#01H L1: 方法二 MOV A,30H ORL A,#01H JZ L1 MOV 31H,#01H SJMP L2 L1: MOV 31H,#00H

16、 L2: 40.試編寫程序,使31H單元中二進制數(shù)的最高位(符號位)置1。MOV A,30H ORL A,#80H MOV 30H,A 41.試編寫程序,把31H單元中二進制數(shù)的最高位(符號位)求反。MOV A,30H XRL A,#80H MOV 30H,A 思考題與習題1.什么是中斷和中斷系統(tǒng)?其主要功能是什么?2.試編寫一段對中斷系統(tǒng)初始化的程序,使之允許INT0、INT1、TO、串行口中斷,且使T0中斷為高優(yōu)先級中斷。 字節(jié)操作方式 位操作方式 MOV IP,#00000101BMOV IE,#10010111B SETB ESSETB EX1SETB EX0SETB ET0SETB

17、PX1SETB PX0SETB EA 3.在單片機中,中斷能實現(xiàn)哪些功能? 答:I/O設備請求服務;硬件故障;實時時鐘;為調試程序而設置的中斷源。 4.8051共有哪些中斷源?對其中斷請求如何進行控制? 5.什么是中斷優(yōu)先級?中斷優(yōu)先級處理的原則是什么? 答:中斷優(yōu)先級是CPU相應中斷的順序。其處理原則是:高優(yōu)先級組的中斷優(yōu)先響應低優(yōu)先組的中斷。同組(級)按外部中斷0、定時器0、外中斷1、定時器1、串行口的順序響應。6.說明外部中斷請求的查詢和響應過程。7.8051在什么條件下可響應中斷? 答:CPU開中斷(EA=1); 中斷源發(fā)中斷請求信號且其中斷允許位為1;無同級中斷或更高級中斷正在被服務

18、; 當前的指令周期已經結束(若是當前指令為RETI或訪問IE、IP的指令,則應等CPU再執(zhí)行完一條指令)。8.簡述8051單片機的中斷響應過程。9.在8051內存中,應如何安排程序區(qū)? 答:8051復位后PC=0000H,而0003H002BH為各中斷源的入口地址,故程序段一般從0030H(以后)的地址開始存放。因此編程時應在0000H出寫一跳轉指令轉至0030H(或相應的開始地址)。10.試述中斷的作用及中斷的全過程。11.當正在執(zhí)行某一中斷源的中斷服務程序時,如果有新的中斷請求出現(xiàn),試問在什么情況下可響應新的中斷請求?在什么情況下不能響應新的中斷請求?12.8051單片機外部中斷源有幾種觸

19、發(fā)中斷請求的方法?如何實現(xiàn)中斷請求?13.8051單片機有5個中斷源,但只能設置兩個中斷優(yōu)先級,因此,在中斷優(yōu)先級安排上受到一定的限制。試問以下幾種中斷優(yōu)先級順序的安排(級別由高到低)是否可能?若可能,則應如何設置中斷源的中斷級別?否則,請簡述不可能的理由。 定時器0、定時器1、外中斷0、外中斷1、串行口。 答:可以。MOV IP,#00001010B。 串行口、外中斷0、定時器0、外中斷1、定時器1。 答:可以。MOV IP,#00010000B。 外中斷0、定時器1、外中斷1、定時器0、串行口。 答:不可能。因為把外中斷0、定時器1設定為高優(yōu)先級時,在低優(yōu)先級中定時器0的優(yōu)先級高于外中斷1

20、。 外中斷0、外中斷1、串行口、定時器0、定時器1。 答:可以。MOV IP,#00010101B。 串行口、定時器0、外中斷0、外中斷1、定時器1。 答:不可能。因為若把串行口及定時器0設定為高優(yōu)先級中斷,在同級中斷優(yōu)先級中串行口為最低。而單獨把串行口設定為高優(yōu)先級中斷時,低優(yōu)先級組中的最高優(yōu)先級應為外中斷0。 外中斷0、外中斷1、定時器0、串行口、定時器1。 答:不可能。 外中斷0、定時器1、定時器0、外中斷1、串行口。 答:不可能。14.以中斷方法設計單片機秒、分脈沖發(fā)生器。假定P1.0每秒鐘產生一個機器周期的正脈沖,P1.1每分鐘產生一個機器周期的正脈沖。思考題與習題1.定時器模式2有

21、什么特點?使用于什么應用場合? 答:定時器模式2具有自動重裝載的8位定時器/計數(shù)器。 一般使用于串行口波特率發(fā)生器。2.單片機用內部定時方法產生頻率為100KHZ等寬矩形波,假定單片機的晶振頻率為12MHZ。請編程實現(xiàn)。3.8051定時器有哪幾種工作模式?有何區(qū)別?4.8051單片機內部設有幾個定時器/計數(shù)器?它們是由哪些特殊功能寄存器組成?5.定時器/計數(shù)器用作定時器時,其定時時間與哪些因素有關?作為計數(shù)器時,對外界計數(shù)頻率有何限制? 答:用作定時器時定時時間與振蕩器的頻率、計數(shù)器的初值有關。 用作計數(shù)器時計數(shù)頻率為振蕩頻率/24。6.簡述定時器四種工作模式的特點。如何選擇和設定?7.8.9

22、.10.11.8051定時器作定時和計數(shù)時,其計數(shù)脈沖分別由誰提供? 定時:單片機的主頻經12分頻提供。 計數(shù):Ti引腳提供。12.8051定時器門控信號GATE設置為1時,定時器如何啟動? 答:8051定時器門控信號GATE設置為1時,定時器將由INTi引腳啟動。13.已知8051單片機的fosc=6MHZ,請利用T0和P1.0輸出矩形波。矩形波高電平寬度50s,低電平寬度300s。 定時時間為50s,則時間常數(shù)=28-(50*10-6*6*106/12)=28-25=231=0E7H ORG 0000H RESET: AJMP MAIN ;跳過中斷服務程序區(qū) ORG 000BH AJMP

23、ITOP 主程序 ORG 0100H MAIN: MOV SP,#60H ;設置堆棧指針 PTOMD: MOV TMOD,#02H ;設置T0模式2 MOV TH0,#0E7H ;送初值 MOV TL0,#0E7H MOV R0,#00H ;設置計數(shù)器 SETB TR0 ;啟動定時 SETB ET0 ;T0開中斷 SETB EA ;CPU開中斷 HERE: SJMP HERE ;等待時間到,轉入中斷服務程序(模擬主程序的運行) 中斷服務程序 ORG 0120H ITOP: CJNE R0,#00H,L1 ;若R0不等于0轉L1輸出低電平 SETB P1.0 ;R0=0輸出高電平 SJMP L2

24、 L1: CLR P1.0 ;R00輸出低電平 L2: INC R0 ;R0加1 CJNE R0,#07H,L3 ;判斷是否已輸出6個50s的低電平 MOV R0,#00H ;是則重置R0=0 L3: SET ET0 ;T0開中斷 RETI 14.已知8051單片機的fosc=12MHz,用T1定時。試編程由P1.0和P1.1引腳分別輸出周期為2ms和500s的方波。 定時時間為250s,則時間常數(shù)=28-(250*10-6*6*106/12)=28-125=131=83H ORG 0000H RESET: AJMP MAIN ;跳過中斷服務程序區(qū) ORG 001BH AJMP ITOP 主程序 ORG 0100H MAIN: MOV SP,#60H ;設置堆棧指針 PTOMD: MOV TMOD,#20H ;設置T1模式2 MOV TH0,#83H ;送初值 MOV TL0,#083H MOV R0,#00H ;設置計數(shù)器 SETB TR1 ;啟動定時 SETB ET1 ;T0開中斷 SETB EA ;CPU開中斷 HERE: SJMP HERE ;等待時間到,轉入中斷服務程序(模擬主程序的運行) 中斷服務程序 ORG 0120H ITOP: CPL P1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論