單片機習(xí)題答案_第1頁
單片機習(xí)題答案_第2頁
單片機習(xí)題答案_第3頁
單片機習(xí)題答案_第4頁
單片機習(xí)題答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1“單片機原理及應(yīng)用”課程習(xí)題與解答參考教材:張毅剛主編,單片機原理及應(yīng)用,普通高等教育“十五”國家級規(guī)劃教材,高等教育出版社,2004 年 1 月第一章13:單片機與普通計算機的不同之處在于其將( ) ( )和( )三部分集成于一塊芯片上。答:CPU 、存儲器、 I/O 口18:8051 與 8751 的區(qū)別是:A、內(nèi)部數(shù)據(jù)存儲但也數(shù)目的不同 B、內(nèi)部數(shù)據(jù)存儲器的類型不同C、內(nèi)部程序存儲器的類型不同 D、內(nèi)部的寄存器的數(shù)目不同答:C第二章24:在 MCS51 單片機中,如果采用 6MHz 晶振,1 個機器周期為( ) 。答:2us。析:機器周期為振蕩周期的 1/6。26:內(nèi)部 RAM 中,位地址為 30H 的位,該位所在字節(jié)的字節(jié)地址為( ) 。答:26H27:若 A 中的內(nèi)容為 63H,那么,P 標(biāo)志位的值為( ) 。答:0析:P 為偶校驗位,因為 A 中 1 的個數(shù)為偶數(shù),所以 P=0。28:判斷下列說法是否正確:A、8031 的 CPU 是由 RAM 和 EPROM 所組成。B、區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址范圍的低端還是高端。C、在 MCS-51 中,為使準(zhǔn)雙向的 I/O 口工作在輸入方式,必須保證它被事先預(yù)置為1。D、PC 可以看成使程序存儲器的地址指針。答:錯、錯、對、對29:8031 單片機復(fù)位后,R4 所對應(yīng)的存儲單元的地址為( ) ,因上電時 PSW=( ) 。這時當(dāng)前的工作寄存器區(qū)是( )組工作寄存器區(qū)。答:04H、00H、0211:判斷以下有關(guān) PC 和 DPTR 的結(jié)論是否正確?A、DPTR 是可以訪問的,而 PC 不能訪問。B、它們都是 16 位的存儲器C、它們都有加 1 的功能。D、DPTR 可以分為兩個 8 位的寄存器使用,但 PC 不能。答:對、對、對、對213:使用 8031 芯片時,需將/EA 引腳接( )電平,因為其片內(nèi)無( )存儲器。答:低、程序214:片內(nèi) RAM 低 128 個單元劃分為哪 3 個主要部分?各部分的主要功能是什么?答:工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)2215:判斷下列說法是否正確A、 程序計數(shù)器 PC 不能為用戶編程時直接使用,因為它沒有地址。B、 內(nèi)部 RAM 的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。C、 8031 共有 21 個特殊功能寄存器,它們的位都是可以用軟件設(shè)置的,因此,是可以進行位尋址的。答:對、錯、錯216:PC 的值是A、當(dāng)前正在執(zhí)行指令的前一條指令的地址 B、當(dāng)前正在執(zhí)行指令的地址C、當(dāng)前正在執(zhí)行指令的下一條指令的地址 D、控制器中指令寄存器的地址答:C217:通過堆棧操作實現(xiàn)子程序調(diào)用,首先就要把( )的內(nèi)容入棧,以進行斷點保護。調(diào)用返回時,再進行出棧保護,把保護的斷點送回到( ) 。答:PC 、PC219:MCS51 單片機程序存儲器的尋址范圍是由程序計數(shù)器 PC 的位數(shù)所決定的,因為 MCS51 的 PC 是 16 位的,因此其尋址的范圍為( )KB。答:64220:當(dāng) MCS51 單片機運行出錯或程序陷入死循環(huán)時,如何來擺脫困境?答:軟件陷阱、復(fù)位221:判斷下列說法是否正確?A、 PC 是 1 個不可尋址的特殊功能寄存器。B、 單片機的主頻越高,其運算速度越快。C、 在 MCS51 單片機中,1 個機器周期等于 1us。D、 特殊功能寄存器 SP 內(nèi)裝的是棧頂首地址單元的內(nèi)容。答:錯、對、錯、錯222:如果手中僅有一臺示波器,可通過觀察哪個引腳的狀態(tài),來大致判斷 MCS51 單片機正在工作?答:ALE析:因為單片機正常工作時,ALE 腳輸出時鐘頻率為振蕩周期的 1/6。第三章31:判斷下列指令的正誤:1)MOV 28H,R2 2)DEC DPTR 3)INC DPTR 4)CLR R05)CPL R5 6)MOV R0,R1 7)PUSH DPTR 8)MOV F0,C9)MOV F0,ACC.3 10)MOVX A,R1 11)MOV C,30H 12)RLC R0答:錯、錯、對、錯錯、錯、錯、對錯、對、對、錯32:判斷下列說法是否正確。A、 立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。B、 指令周期是執(zhí)行一條指令的時間。C、 指令中直接給出的操作數(shù)稱為直接尋址。答:對、對、錯33:在基址加變址尋址方式中,以( )作變址寄存器,以( )或( )作基址寄存器。答:累加器 A,DPTR 、PC337:指令格式是由( )和( )所組成,也可能僅由( )組成。答:操作碼、操作數(shù)、操作碼38:假定累加器 A 中的內(nèi)容為 30H,執(zhí)行指令1000H:MOVC A,A+PC后,把程序存儲器( )單元的內(nèi)容送入累加器 A 中。答:1031H39:在 MCS51 中,PC 和 DPTR 都用于提供地址,但 PC 是為訪問( )存儲器提供地址,而 DPTR 是為訪問( )存儲器提供地址。答:程序、數(shù)據(jù)310:在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的( ) 。答:地址311:下列程序段的功能是什么?PUSH APUSH BPOP APOP B答:交換 A、B 的內(nèi)容312:已知程序執(zhí)行前有 A=02H,SP=52H, (51H)=FFH,(52H)=FFH。下述程序執(zhí)行后:POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,A+DPTRPUSH AMOV A,BINC AMOVC A,A+DPTRPUSH ARETORG 4000HDB 10H,80H,30H,50H,30H,50H請問:A=( ) ,SP= ( ) , (51H )=( ) , (52H)=( ) ,PC=( ) 。答:A=50H , SP=50H , (51H)=30H , (52H)=50H , PC=5030H314:假定 A=83H, (R0)=17H, (17H)=34H,執(zhí)行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A 的內(nèi)容為( ) 。答:0CBH4315:假定 A=55H,R3=0AAH,在執(zhí)行指令 ANL A,R3 后,A=( ) ,R3= ( ) 。答:0、0AAH316:如果 DPTR=507BH,SP=32H, (30H )=50H, (31H)=5FH , (32H )=3CH,則執(zhí)行下列指令后:POP DPHPOP DPLPOP SP則:DPH=( ) ,DPL=( ) ,SP=( )答:DPH=3CH , DPL=5FH , SP=4FH317:假定,SP=60H,A=30H,B=70H ,執(zhí)行下列指令:PUSH APUSH B后,SP 的內(nèi)容為( ) ,61H 單元的內(nèi)容為( ) ,62H 單元的內(nèi)容為( ) 。答:62H , 30H , 70H第四章46:試編寫 1 個程序,將內(nèi)部 RAM 中 45H 單元的高 4 位清 0,低 4 位置 1。答:MOV A, 45HANL A, #0FHORL A, #0FHMOV 45H, A47:已知程序執(zhí)行前有 A=02H,SP=42H, (41H)=FFH,(42H)=FFH。下述程序執(zhí)行后:POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,A+DPTRPUSH AMOV A,BINC AMOVC A,A+DPTRPUSH ARETORG 3000HDB 10H,80H,30H,80H,50H,80H請問:A=( ) ,SP= ( ) , (51H )=( ) , (52H)=( ) ,PC=( ) 。答:A=80H , SP=40H , (51H)=50H , (52H)=80H , PC=8050H48:計算下面子程序中指令的偏移量和程序執(zhí)行的時間(晶振頻率為 12MHz) 。MOV R3,#15H ;1 個機器周期DL1:MOV R4,#255 ;1 個機器周期DL2:MOV P1,R3 ;2 個機器周期5DJNZ R4,DL2 ;2 個機器周期DJNZ R3,DL1 ;2 個機器周期RET ;2 個機器周期答:15348us析:(22)25512)151215348us49:假定 A=83H, (R0)=17H, (17H)=34H,執(zhí)行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A 的內(nèi)容為( ) 。答:0CBH410:試編寫程序,查找在內(nèi)部 RAM 的 30H50H 單元中是否有 0AAH 這一數(shù)據(jù)。若有,則將 51H 單元置為“01H” ;若未找到,則將 51H 單元置為“00H” 。答:START: MOV R0,#30HMOV R2,#20HLOOP: MOV A,R0CJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,LOOPMOV 51H,#00HEXIT: RET411:試編寫程序,查找在內(nèi)部 RAM 的 20H40H 單元中出現(xiàn)“00H ”這一數(shù)據(jù)的次數(shù)。并將查找到的結(jié)果存入 41H 單元。答:START: MOV 41H,#0MOV R0,#20HMOV R2,#20HLOOP: MOV A,R0JNZ NEXTINC 41HNEXT: INC R0DJNZ R2,LOOPRET412:若 SP=60H,標(biāo)號 LABEL 所在的地址為 3456H。LCALL 指令的地址為 2000H,執(zhí)行指令如下:2000H LCALL LABEL后,堆棧指針 SP 和堆棧內(nèi)容發(fā)生了什么變化?PC 的值等于什么?如果將指令LCALL 直接換成 ACALL 是否可以?如果換成 ACALL 指令,可調(diào)用的地址范圍是什么?答:1)SP=SP+1=61H (61H)=PC 的低字節(jié)=03HSP=SP+1=62H (62H)=PC 的高字節(jié)=20H62)PC=3456H3)可以4)2KB2048 Byte第五章54:外部中斷 1 所對應(yīng)的中斷入口地址為( )H 。答:0013H55:下列說法錯誤的是:A、 各中斷發(fā)出的中斷請求信號,都會標(biāo)記在 MCS51 系統(tǒng)的 IE 寄存器中。B、 各中斷發(fā)出的中斷請求信號,都會標(biāo)記在 MCS51 系統(tǒng)的 TMOD 寄存器中。C、 各中斷發(fā)出的中斷請求信號,都會標(biāo)記在 MCS51 系統(tǒng)的 IP 寄存器中。D、 各中斷發(fā)出的中斷請求信號,都會標(biāo)記在 MCS51 系統(tǒng)的 TCON 與 SCON 寄存器中。答:ABC57:中斷查詢確認(rèn)后,在下列各種 8031 單片機運行情況中,能立即進行響應(yīng)的是:A、 當(dāng)前正在執(zhí)行高優(yōu)先級中斷處理B、 當(dāng)前正在執(zhí)行 RETI 指令C、 當(dāng)前指令是 DIV 指令,且正處于取指令的機器周期D、 當(dāng)前指令是 MOV A,R3答:D58:8031 單片機響應(yīng)中斷后,產(chǎn)生長調(diào)用指令 LCALL,執(zhí)行該指令的過程包括:首先把( )的內(nèi)容壓入堆棧,以進行斷點保護,然后把長調(diào)用指令的 16 位地址送( ) ,使程序執(zhí)行轉(zhuǎn)向( ) 中的中斷地址區(qū)。答:PC 、PC 、程序存儲器59:編寫出外部中斷 1 為跳沿觸發(fā)的中斷初始化程序。答:SETB IT1SETB EX1SETB EA510:在 MCS51 中,需要外加電路實現(xiàn)中斷撤除的是:A、定時中斷 B、脈沖方式的外部中斷C、外部串行中斷 D、電平方式的外部中斷答:D512:下列說法正確的是:A、 同一級別的中斷請求按時間的先后順序響應(yīng)。B、 同一時間同一級別的多中斷請求,將形成阻塞,系統(tǒng)無法響應(yīng)。C、 低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求能中斷低優(yōu)先級中斷請求。D、 同級中斷不能嵌套。答:ACD513:中斷服務(wù)子程序返回指令 RETI 和普通子程序返回指令 RET 有什么區(qū)別?答:RETI 指令在返回的同時清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷514:某系統(tǒng)有 3 個外部中斷源 1、2、3,當(dāng)某一中斷源變?yōu)榈碗娖綍r,便要求 CPU 進行處理,它們的優(yōu)先處理次序由高到低依次為 3、2、1,中斷處理程序的入口地址分別7為 1000H,1100H,1200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可) 。答:若僅在/INT0 引腳接 3 個外部中斷源,電路如圖 510(P115)ORG 0000HLJMP MAINORG 0003HLJMP INT_EX0ORG 0030HMAIN: CLR IT0 ; 采用低電平有效中斷SETB EX0 ;允許外部中斷 0SETB EA; 插入用戶程序WAIT: MOV PCON,#01H ;單片機進入休眠方式等待中斷NOPLJMP WAIT;以下為外部中斷 0 服務(wù)子程序INT_EX0:JNB P1.0,NEXT1 ;判斷是不是 1 號中斷LJMP INT_IR1 ;跳轉(zhuǎn)到 1 號中斷處理程序NEXT1: JNB P1.1,NEXT2 ;判斷是不是 2 號中斷LJMP INT_IR2 ;跳轉(zhuǎn)到 2 號中斷處理程序NEXT2: LJMP INT_IR3 ;跳轉(zhuǎn)到 3 號中斷處理程序ORG 1000HINT_IR1:;插入相應(yīng)中斷處理程序RETI ;中斷返回ORG 1100HINT_IR2:;插入相應(yīng)中斷處理程序RETI ;中斷返回ORG 1200HINT_IR3:;插入相應(yīng)中斷處理程序RETI ;中斷返回第六章 MCS-51 的定時/計數(shù)器1 如果采用晶振的頻率為 3MHz,定時器/計數(shù)器工作方式 0、1、2 下,其最大的定時時間為多少?解答:因為機器周期 ,)(410326sfTOSCcy 8所以定時器/計數(shù)器工作方式 0 下,其最大定時時間為;)(192.84261313 msTCMAX同樣可以求得方式 1 下的最大定時時間為 262.144ms;方式 2 下的最大定時時間為1024ms。2 定時/計數(shù)器用作定時器時,其計數(shù)脈沖由誰提供?定時時間與哪些因素有關(guān)?答:定時/計數(shù)器作定時時,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時鐘信號 12 分頻后提供。定時時間與時鐘頻率和定時初值有關(guān)。3 定時/計數(shù)器用作定時器時,對外界計數(shù)頻率有何限制?答:由于確認(rèn) 1 次負跳變要花 2 個機器周期,即 24 個振蕩周期,因此外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的 1/24。4采用定時器/計數(shù)器 T0 對外部脈沖進行計數(shù),每計數(shù) 100 個脈沖后,T0 轉(zhuǎn)為定時工作方式。定時 1ms 后,又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止。假定 MCS-51 單片機的晶體振蕩器的頻率為 6MHz,請使用方式 1 實現(xiàn),要求編寫出程序。解答:定時器/計數(shù)器 T0 在計數(shù)和定時工作完成后,均采用中斷方式工作。除了第一次計數(shù)工作方式設(shè)置在主程序完成外,后面的定時或計數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識別下一輪定時器/計數(shù)器 T0 的工作方式。編寫程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#06H ;定時器/計數(shù)器 T0 為計數(shù)方式 2MOV TL0,#156 ;計數(shù) 100 個脈沖的初值賦值MOV TH0,#156SETB GATE ;打開計數(shù)門SETB TR0 ;啟動 T0,開始計數(shù)SETB ET0 ;允許 T0 中斷SETB EA ;CPU 開中斷CLR F0 ;設(shè)置下一輪為定時方式的標(biāo)志位WAIT: AJMP WAITIT0P: CLR EA ;關(guān)中斷JB F0,COUNT ;F0=1,轉(zhuǎn)計數(shù)方式設(shè)置MOV TMOD,#00H ;定時器/計數(shù)器 T0 為定時方式 0MOV TH0,#0FEH ;定時 1ms 初值賦值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI5. 定時器/計數(shù)器的工作方式 2 有什么特點?適用于哪些應(yīng)用場合?答:定時器/計數(shù)器的工作方式 2 具有自動恢復(fù)初值的特點,適用于精確定時,比如波特率的產(chǎn)生。96. 編寫程序,要求使用 T0,采用方式 2 定時,在 P1.0 輸出周期為 400s,占空比為 10:1的矩形脈沖。解答:根據(jù)題意,從 P1.0 輸出的矩形脈沖的高低電平的時間為 10:1,則高低電平的時間分別為 363.63s 和 36.37s。如果系統(tǒng)采用 6MHz 晶振的話, ,因此高低電平輸sTcy2出取整,則約為 364s 和 36s。編寫程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#02H ;定時器/計數(shù)器 T0 為定時方式 2MOV TL0,#4AH ;定時 364s 初值賦值SETB TR0 ;啟動 T0,開始計數(shù)SETB ET0 ;允許 T0 中斷SETB EA ;CPU 開中斷SETB P1.0WAIT: AJMP WAITIT0P: CLR EACLR P1.0 ;關(guān)中斷MOV R0,#9DLY: DJNZ R0,DLY ;延時 26sMOV TL0,#4AH ;定時 364s 初值賦值SETB P1.0SETB EARETI7. 一個定時器的定時時間有限,如何實現(xiàn)兩個定時器的串行定時,來實現(xiàn)較長時間的定時?答:方式一,在第一個定時器的中斷程序里關(guān)閉本定時器的中斷程序,設(shè)置和打開另一個定時器;在另一個定時器的中斷程序中關(guān)閉本定時中斷,設(shè)置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。方式二,一個作為定時器,在定時中斷后產(chǎn)生一個外部計數(shù)脈沖(比如由 P1.0 接INT0 產(chǎn)生) ,另一個定時器工作在計數(shù)方式。這樣兩個定時器的定時時間為一個定時器的定時時間乘以另一個定時器的計數(shù)值。8. 當(dāng)定時器 T0 用于方式 3 時,應(yīng)該如何控制定時器 T1 的啟動和關(guān)閉?答:由 T1(P3.5)口控制定時器 T1 的啟動和關(guān)閉。9. 定時器/計數(shù)器測量某正單脈沖的寬度,采用何種方式可得到最大量程?若時鐘頻率為6MHz,求允許測量的最大脈沖寬度是多少?答:采用方式 1 定時工作方式。最大脈沖寬度為 131.072ms。10. 編寫一段程序,功能要求為:當(dāng) P1.0 引腳的電平正跳變時,對 P1.1 的輸入脈沖進行計數(shù);當(dāng) P1.2 引腳的電平負跳變時,停止計數(shù),并將計數(shù)值寫入 R0、R1(高位存 R1,低位存 R0)。解答:將 P1.1 的輸入脈沖接入 INT0,即使用 T0 計數(shù)器完成對 P1.1 口的脈沖計數(shù)。編寫程序如下:ORG 0000H10LJMP MAINORG 000BHLJMP IT0PMAIN: JNB P1.0,MAINMOV TMOD,#05H ;定時器/計數(shù)器 T0 為計數(shù)方式 1SETB TR0 ;啟動 T0,開始計數(shù)SETB ET0 ;允許 T0 中斷SETB EA ;CPU 開中斷WAIT: JB P1.2,WAITCLR EACLR TR0MOV R1,TH0MOV R0,TL0AJMP $IT0P: INC R2RETI11. THX 與 TLX(X=0,1

溫馨提示

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

最新文檔

評論

0/150

提交評論