單片機原理與應(yīng)用習(xí)題答案_第1頁
單片機原理與應(yīng)用習(xí)題答案_第2頁
單片機原理與應(yīng)用習(xí)題答案_第3頁
單片機原理與應(yīng)用習(xí)題答案_第4頁
單片機原理與應(yīng)用習(xí)題答案_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章1 3:單片機與普通計算機的不同之處在于其將()( )和( )三部分集成于一塊芯片上。答:CPU存儲器、I/O 口18: 8051與 8751 的區(qū)別是:A、 部數(shù)據(jù)存儲但也數(shù)目的不同 B、部數(shù)據(jù)存儲器的類型不同C部程序存儲器的類型不同D部的寄存器的數(shù)目不同答: C第二章2- 4:在MC& 51單片機中,如果采用6MHz晶振,1個機器周期為()。答: 2us。 析:機器周期為振蕩周期的 1/6。2- 6:部RAM中,位地址為30H的位,該位所在字節(jié)的字節(jié)地址為()。答: 26H2-7:若A中的容為63H,那么,P標志位的值為()。答: 0析:P為偶校驗位,因為 A中1的個數(shù)為偶數(shù),所以

2、P=0o2- 8:判斷下列說法是否正確:A 8031 的 CPI是 由 RAM和 EPROMS組成。B、區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址圍的低端還是高端。C在MCS-51中,為使準雙向的I/O 口工作在輸入方式,必須保證它被事先預(yù)置為1oD PC可以看成使程序存儲器的地址指針。答:錯、錯、對、對2-9: 8031單片機復(fù)位后,R4所對應(yīng)的存儲單元的地址為(),因上電時PSW=()。這時當前的工作寄存器區(qū)是( )組工作寄存器區(qū)。答: 04H、 00H、 02- 11:判斷以下有關(guān) PC和DPTR的結(jié)論是否正確?A DPTR是可以訪問的,而PC不能訪問。B、它們都是1

3、6位的存儲器C它們都有加1的功能。D DPTR可以分為兩個8位的寄存器使用,但 PC不能。 答:對、對、對、對2- 13:使用8031芯片時,需將/EA引腳接()電平,因為其片無()存儲器。 答:低、程序2- 14:片RAM氐128個單元劃分為哪3個主要部分?各部分的主要功能是什么? 答:工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)2- 15:判斷下列說法是否正確A、程序計數(shù)器PC不能為用戶編程時直接使用,因為它沒有地址。B、部RAM的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。C 8031共有21個特殊功能寄存器,它們的位都是可以用軟件設(shè)置的,因此,是可以進行位尋址的。答:對、錯、錯2- 16:

4、 PC的值是A、 當前正在執(zhí)行指令的前一條指令的地址B、當前正在執(zhí)行指令的地址C當前正在執(zhí)行指令的下一條指令的地址D控制器中指令寄存器的地址答: C2- 17:通過堆棧操作實現(xiàn)子程序調(diào)用,首先就要把()的容入棧,以進行斷點保護。調(diào)用返回時,再進行出棧保護,把保護的斷點送回到( )o答: PC、 PC2- 19: MCS-51單片機程序存儲器的尋址圍是由程序計數(shù)器PC的位數(shù)所決定的,因為MC- 51的PC是16位的,因此其尋址的圍為( ) KBo答: 642- 20:當 MCS- 51 單片機運行出錯或程序陷入死循環(huán)時,如何來擺脫困境? 答:軟件陷阱、復(fù)位2- 21:判斷下列說法是否正確?A P

5、C是1個不可尋址的特殊功能寄存器。B、單片機的主頻越咼,其運算速度越快。C、在 MCS- 51 單片機中, 1 個機器周期等于 1usoD 特殊功能寄存器SP裝的是棧頂首地址單元的容。 答:錯、對、錯、錯第三章3 1:判斷下列指令的正誤:1) MOV28H,R2 2 )DEC DPTR 3 ) INC DPTR 4 )CLR R05)CPLR5 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 答:錯、錯、對、錯錯、錯、錯、對 錯、對、對、錯3 2:判斷下列說

6、法是否正確。A、 立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。B、 指令周期是執(zhí)行一條指令的時間。C、指令中直接給出的操作數(shù)稱為直接尋址。 答:對、對、錯3 3:在基址加變址尋址方式中,以()作變址寄存器,以( )或( )作基址寄存器。答:累加器 A,DPTR、 PC3 7:指令格式是由( )和( )所組成,也可能僅由( )組成。 答:操作碼、操作數(shù)、操作碼3- 8:假定累加器A中的容為30H,執(zhí)行指令1000H: MOVC A,A+PC后,把程序存儲器()單元的容送入累加器 A中。答: 1031HDPTF是為訪)。3- 9:在MC-51中,PC和DPTRO用于提供地址,但

7、 PC是為訪問()存儲器提供地址,而 問( )存儲器提供地址。答:程序、數(shù)據(jù)3- 10:在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的容不是操作數(shù),而是操作數(shù)的( 答:地址3- 11:下列程序段的功能是什么?PUSHAPUSHBPOPAPOPB答:交換A B的容3- 12:已知程序執(zhí)行前有 A=02H SP=52H (51H) =FFH (52H)=FFH。下述程序執(zhí)行后: POPDPHPOPDPLMOV DPTR,#4000HRLAMOV B,AMOVCA,A+DPTRPUSHAMOV A,BINCAMOVCA,A+DPTRPUSHARETORG 4000HDB10H,80H,30H

8、,50H,30H,50H請問: A=( ) SP=( ) (51H) =( )(52H) =( ) PC=( )。答: A=50H , SP=50H , (51H)=30H , (52H)=50H , PC=5030H3- 14:假定 A=83H ( R0) =17H ( 17H) =34H 執(zhí)行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A的容為()。答: 0CBH3- 15:假定 A=55H R3=0AAH 在執(zhí)行指令 ANL A,R3 后,A= ( ),R3=()。答: 0、 0AAH3- 16:如果 DPTR=507BH SP=32H (30H) =5

9、0H, ( 31H) =5FH, (32H) =3CH 則執(zhí)行下列指令后:POPDPHPOPDPLPOPSP則: DPH=( ),DPL=( ), SP=( )答: DPH=3CH , DPL=5FH , SP=4FH3- 17:假定,SP=60H A=30H B=70H執(zhí)行下列指令:PUSHAPUSHB后,SP的容為(),61H單元的容為(),62H單元的容為()。 答: 62H , 30H , 70H第四章4- 6:試編寫1個程序,將部RAM中 45H單元的高4位清0,低4位置1。答: MOV A, 45HANL A, #0FHORL A, #0FHMOV 45H, A4-7:已知程序執(zhí)行

10、前有 A=02H, SP=42H (41H) =FFH (42H)=FFH。下述程序執(zhí)行后: POPDPHPOPDPLMOV DPTR,#3000HRLAMOV B,AMOVCA,A+DPTRPUSHAMOV A,BINCAMOVCA,A+DPTRPUSHARETORG 3000HDB10H,80H,30H,80H,50H,80H請問: A=( ) SP=( ) (51H) =( )(52H) =( ) PC=( )答: A=80H , SP=40H , (51H)=50H , (52H)=80H , PC=8050H4- 8:計算下面子程序中指令的偏移量和程序執(zhí)行的時間(晶振頻率為12MHz

11、)MOV R3,#15HDL1:MOV R4,#255 DL2:MOV P1,R3DJNZR4,DL2DJNZR3,DL1RET 答: 15348us;1 個機器周期;1 個機器周期;2 個機器周期;2 個機器周期;2 個機器周期;2 個機器周期析:(2+ 2)X 255+ 1 + 2)X 15 + 1+ 2= 15348us4-9:假定 A=83H, (R0) =17H, ( 17H) =34H,執(zhí)行以下指令:ANL A,#17HORL 17H,AXRL A,R0 CPL A后,A的容為()。答: 0CBH4- 10:試編寫程序,查找在部RAM的30H50H單元中是否有0AAH這一數(shù)據(jù)。若有

12、,則將51H單元置為“01H” 若未找到,則將 51H 單元置為“ 00H”。答: START:MOV R0,#30HMOV R2,#20HLOOP:MOV A,R0CJNEA,#0AAH,NEXTMOV 51H,#01HLJMPEXITNEXT: INC R0DJNZR2,LOOPMOV 51H,#00HEXIT: RET4- 11:試編寫程序,查找在部 RAM的20H- 40H單元中出現(xiàn)“ 00H”這一數(shù)據(jù)的次數(shù)。并將查找到的結(jié)果存 入 41H 單元。答: START:MOV 41H,#0MOV R0,#20HMOV R2,#20HLOOP:MOV A,R0JNZNEXTINC41HNEX

13、T:INCR0DJNZR2,LOOPRET4- 12:若SP=60H標號LABEL所在的地址為 3456H= LCALL指令的地址為 2000H,執(zhí)行指令如下: 2000H LCALL LABEL后,堆棧指針SP和堆棧容發(fā)生了什么變化?PC的值等于什么?如果將指令 LCALL 直接換成ACALL是否可以?如果換成 ACALL指令,可調(diào)用的地址圍是什么?(61H)=PC 的低字節(jié) =03H(62H)=PC 的高字節(jié) =20H答: 1 )SP=SP+1=61H SP=SP+1=62H2) PC=3456H3) 可以4) 2KB= 2048 Byte第五章5- 4:外部中斷 1 所對應(yīng)的中斷入口地址

14、為( )答: 0013H5- 5:下列說法錯誤的是:MCS-51 系統(tǒng)的 IE 寄存器中。MC 51系統(tǒng)的TMO寄存器中。MCS-51 系統(tǒng)的 IP 寄存器中。MC 51系統(tǒng)的TCON與 SCON寄存器中A、各中斷發(fā)出的中斷請求信號,都會標記在B、各中斷發(fā)出的中斷請求信號,都會標記在C、各中斷發(fā)出的中斷請求信號,都會標記在D、各中斷發(fā)出的中斷請求信號,都會標記在答: ABC5- 7:中斷查詢確認后,在下列各種8031 單片機運行情況中,能立即進行響應(yīng)的是:A、B、C、答:當前正在執(zhí)行高優(yōu)先級中斷處理 當前正在執(zhí)行 RETI 指令 當前指令是 IV 指令,且正處于取指令的機器周期 當前指令是 M

15、OVA,R35-8: 8031單片機響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL,執(zhí)行該指令的過程包括:首先把()的容壓入堆棧,以進行斷點保護, 然后把長調(diào)用指令的 16位地址送( ),使程序執(zhí)行轉(zhuǎn)向 ( ) 中的中斷地址區(qū)。 答:PC PC程序存儲器5- 9:編寫出外部中斷 1 為跳沿觸發(fā)的中斷初始化程序。答: SETB IT1SETBEX1SETBEA5- 10:在 MCS-51 中,需要外加電路實現(xiàn)中斷撤除的是: A、定時中斷B、脈沖方式的外部中斷C外部串行中斷電平方式的外部中斷答: 5- 12:下列說法正確的是:A、同一級別的中斷請求按時間的先后順序響應(yīng)。B、同一時間同一級別的多中斷請求,將形

16、成阻塞,系統(tǒng)無法響應(yīng)。C、低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求能中斷低優(yōu)先級中斷請 求。 、 同級中斷不能嵌套。答: AC5- 14:某系統(tǒng)有3個外部中斷源1、2、3,當某一中斷源變?yōu)榈碗娖綍r,便要求CPU進行處理,它們的優(yōu)先處理次序由高到低依次為3、2、1,中斷處理程序的入口地址分別為1000H, 1100H, 1200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。答:若僅在/INT0弓I腳接3個外部中斷源,電路如圖5- 10( P115)ORG 0000HLJMP MAINORG 0003HLJMP INT_EX0 ORG 0030HMAIN

17、:CLR IT0;采用低電平有效中斷SETB EX0;允許外部中斷 0SETBEA;插入用戶程序WAIT:MOV PCON,#01H單片機進入休眠方式等待中斷NOPLJMP WAIT;以下為外部中斷0服務(wù)子程序INT_EX0: JNB P1.0,NEXT1LJMP INT_IR1NEXT1:JNBP1.1,NEXT2LJMP INT_IR2NEXT2:LJMP INT_IR3;判斷是不是1號中斷;跳轉(zhuǎn)到1號中斷處理程序;判斷是不是2號中斷;跳轉(zhuǎn)到2號中斷處理程序;跳轉(zhuǎn)到3號中斷處理程序INT IR1:INT IR2:INT IR3:ORG 1000H;插入相應(yīng)中斷處理程序RETIORG 110

18、0H;中斷返回;插入相應(yīng)中斷處理程序RETIORG 1200H;中斷返回;插入相應(yīng)中斷處理程序RETI;中斷返回第六章MCS-51的定時/計數(shù)器1.如果采用晶振的頻率為Tcy解答:因為機器周期 所以定時器/計數(shù)器工作方式Tmax213 Tc 2133MHz定時器/計數(shù)器工作方式0、1、2下,其最大的定時時間為多少?12OSC1264( s)3 106,0下,其最大定時時間為4 10 68.192(ms);同樣可以求得方式1下的最大定時時間為 262.144ms;方式2下的最大定時時間為1024m2. 定時/計數(shù)器用作定時器時,其計數(shù)脈沖由誰提供?定時時間與哪些因素有關(guān)?答:定時/計數(shù)器作定時時

19、,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的部時鐘信號12分頻后提供。定時時間與時鐘頻率和定時初值有關(guān)。3. 定時/計數(shù)器用作定時器時,對外界計數(shù)頻率有何限制?答:由于確認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è)置在主程序

20、完成外,后面的定時或計數(shù)工作方式分別在中斷程序完成,用一標志位識別下一輪定時器 /計數(shù)器T0的工作方式。編寫程序如下:ORG 0000HMAIN:WAIT:IT0P:LJMPMAINORG OOOBHLJMPITOPMOV TMOD,#O6H;MOV TLO,#156MOV THO,#156 SETBGATE ; SETBTRO SETBETOSETBEACLRFOAJMPWAITCLREA定時器 /計數(shù)器 T0 為計數(shù)方式 2;計數(shù) 100 個脈沖的初值賦值打開計數(shù)門;啟動TO,開始計數(shù);允許 T0 中斷;CPU開中斷;設(shè)置下一輪為定時方式的標志位;關(guān)中斷JBF0,COUNT ; F0=1,

21、轉(zhuǎn)計數(shù)方式設(shè)置MOV TMOD,#00H定時器/計數(shù)器TO為定時方式0MOV TH0,#0FEH ;定時1ms初值賦值MOV TL0,#0CHSETBEARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETBEARETI5. 定時器/計數(shù)器的工作方式 2 有什么特點?適用于哪些應(yīng)用場合?答:定時器 / 計數(shù)器的工作方式 2 具有自動恢復(fù)初值的特點,適用于精確定時,比如波特率的產(chǎn)生6.編寫程序,要求使用 T0,采用方式2定時,在P1.0輸出周期為400卩S,占空比為10:1的矩形脈沖。 解答:根據(jù)題意,從P1.0輸出的矩形脈沖的高低電平的時間為10:1,則高低電平的時間

22、分別為363.63卩s和36.37卩S。如果系統(tǒng)采用6MHz晶振的話,Tcy 2 S,因此高低電平輸出取整,則約為 364卩s和36 卩s。編寫程序如下:ORG 0000HLJMPMAINORG 000BHLJMPIT0PMAIN:MOV TMOD,#02H定時器/計數(shù)器T0為定時方式2MOV TL0,#4AH ;定時364卩s初值賦值SETBTR0;啟動T0,開始計數(shù)SETBET0;允許T0中斷SETBEA; CPU開中斷SETBP1.0WAIT:AJMPWAITIT0P:CLR EACLR P1.0;關(guān)中斷MOV R0,#9DLY: DJNZR0QLY;延時 26 g sMOV TL0,#

23、4AH ;定時364 g s初值賦值SETBP1.0SETBEARETI9. 定時器/計數(shù)器測量某正單脈沖的寬度,采用何種方式可得到最大量程?若時鐘頻率為6MHz求允許測量的最大脈沖寬度是多少?答:采用方式 1 定時工作方式。最大脈沖寬度為 131.072ms。10. 編寫一段程序,功能要求為:當P1.0引腳的電平正跳變時,對 P1.1的輸入脈沖進行計數(shù);當 P1.2引腳的電平負跳變時,停止計數(shù),并將計數(shù)值寫入R0、R1(高位存R1,低位存R0)。解答:將P1.1的輸入脈沖接入INT0,即使用T0計數(shù)器完成對P1.1 口的脈沖計數(shù)。編寫程序如下:ORG 0000HLJMPMAINORG 000

24、BHLJMPITOPMAIN:JNBP1.0,MAINMOV TMOD,#05H定時器/計數(shù)器TO為計數(shù)方式1SETBTRO;啟動TO,開始計數(shù)SETBETO;允許TO中斷SETBEA; CPU開中斷WAIT:JBP1.2,WAITCLREACLR TROMOV R1,TH0MOV RO,TLO AJMP$ITOP:INCR2RETI12.判斷下列的說法是否正確?(1) 特殊功能寄存器(2) 特殊功能寄存器(3) 特殊功能寄存器(4) 特殊功能寄存器SCON與定時器/計數(shù)器的控制無關(guān)。 TCON與定時器/計數(shù)器的控制無關(guān)。 IE,與定時器/計數(shù)器的控制無關(guān)。TMOD與定時器/計數(shù)器的控制無關(guān)。

25、(對)(錯)(錯)(錯)第七章MCS-51的串行口2簡述串行口接收和發(fā)送數(shù)據(jù)的過程。答:以方式一為例。發(fā)送:數(shù)據(jù)位由 TXT端輸出,發(fā)送1幀信息為10為,當CPU執(zhí)行1條數(shù)據(jù)寫發(fā)送緩沖 器SBUF的指令,就啟動發(fā)送。發(fā)送開始時,部發(fā)送控制信號/SEND變?yōu)橛行?,將起始位?TXD輸出,此后,每經(jīng)過1個TX時鐘周期,便產(chǎn)生1個移位脈沖,并由TXD輸出1個數(shù)據(jù)位。8位數(shù)據(jù)位全部完畢后,置 1 中斷標志位TI,然后/SEND信號失效。接收:當檢測到起始位的負跳變時,則開始接收。接受時,定時控制信號有2種,一種是位檢測器采樣脈沖,它的頻率是RX時鐘的16倍。也就是在1位數(shù)據(jù)期間,有16個采樣脈沖,以波

26、特率的16倍的速率采樣RXD引腳狀態(tài),當采樣到 RXD端從1到0的跳變時就啟動檢測器, 接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認是否是真正的起始位的開始,這樣能較好地消除 干擾引起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。3 幀格式為1個起始位,8個數(shù)據(jù)位和1個停止位的異步串行通信方式是方式(1 )4. 串行口有幾種工作方式?有幾種幀格式?各種工作方式的波特率如何確定?答:串行口有3種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的幀 格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,方式1的波特率=2SMO/32 X定時器T1的溢出率方式2的波特率=2

27、SMO/64 X fosc方式3的波特率=2SMO/32 X定時器T1的溢出率5. 假定串行口串行發(fā)送的字符格式為1個起始位,8個數(shù)據(jù)位,1個奇校驗位,1個停止位,請畫岀傳送字符“ A”的幀格式。起始位000 00 00校驗位亭止位6. 判斷下列說法是否正確:(1) 串行口通信的第9數(shù)據(jù)位的功能可由用戶定義。(對)(2) 發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的容在SCON寄存器的TB8位預(yù)先準備好的。(對)(3) 串行通訊發(fā)送時,指令把 TB8位的狀態(tài)送入發(fā)送 SBUF (錯)(4) 串行通訊接收到的第 9位數(shù)據(jù)送SCON寄存器的RB8中保存。(對)(5) 串行口方式1的波特率是可變的,通過定時器 /計數(shù)器T

28、1的溢岀設(shè)定。(對)7通過串行口發(fā)送或接收數(shù)據(jù)時,在程序中應(yīng)使用:(選(3)(1) MOVC旨令(2) MOVX旨令(3) MOV旨令(4) XCHD旨令&為什么定時器/計數(shù)器T1用做串行口波特率發(fā)生器時,采用方式2?若已知時鐘頻率、通訊波特率,如何計算其初值?解答:因為定時器/計數(shù)器在方式2下,初值可以自動重裝,這樣在做串口波特率發(fā)生器設(shè)置時,就避免了 重裝參數(shù)的操作。已知時鐘頻率、通訊波特率,根據(jù)公式:SMOD波特率=OSC3212(256 X),計算出初值。9.串行口工作方式1的波特率是:(3 )(1)固定的,為 f osc / 32 o(2)固定的,為 f osc /16 o(3)可變

29、的,通過定時器/計數(shù)器T1的溢岀率設(shè)定。(4)固定的,為 f OSC / 64 O10在串行通訊中,收發(fā)雙方對波特率的設(shè)定應(yīng)該是(相等)的。11 若晶體振蕩器為11.0592MHz,串行口工作于方式1,波特率為4800b/s,寫出用T1作為波特率發(fā)生器 的方式控制字和計數(shù)初值。解答:初值計算:查閱 P148表7-2可得,F(xiàn)AH控制字:ANL TMOD,#0F0HORL TMOD,#20HMOV TH1,#0FAHMOV TL1,#0FAHMOV SCON,#40H12簡述利用串行口進行多機通訊的原理。解答:參考P146頁。15某8031串行口,傳送數(shù)據(jù)的幀格式為1個起始位(0), 7個數(shù)據(jù)位,

30、1個偶校驗位和1個停止位(1)組成。當該串行口每分鐘傳送1800個字符時,試計算岀波特率。解答:串口每秒鐘傳送的字符為:1800/60=30個字符/秒所以波特率為:30個字符/秒X 10位/個字符=300b/s16.為什么MCS-51串行口的方式0幀格式?jīng)]有起始位(0)和停止位(1)?解答:串行口的方式 0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴展并行I/O 口,一般不用于兩個MCS-51之間的串行通信。該方式以 fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。第八章習(xí)題解答1. 單片機存儲器的主要功能是存儲(程序)和(數(shù)據(jù)) 。2002H。2. 試編寫一個程序(例如將

31、05H和06H拼為56H),設(shè)原始數(shù)據(jù)放在片外數(shù)據(jù)區(qū) 2001H單元和2002H單元中, 按順序拼裝后的單字節(jié)數(shù)放入解:本題主要考察了對外部存儲器的讀、寫操作,同學(xué)們只要記住正確使用 MOVX旨令就可以了。編程思路:首先讀取2001H的值,保存在寄存器 A中,將寄存器A的高四位和低四位互換,再屏蔽掉低四位然后將寄 存器A的值保存到30H中,然后再讀取2002H的值,保存在寄存器 A中,屏蔽掉高四位,然后將寄存器A的值與30H進行或運算,將運算后的結(jié)果保存在2002H中。MAIN:ORG0000HDPTR #2001H;設(shè)置數(shù)據(jù)指針的初值MOVXA,DPTR;讀取2001H的值SWAPAANLA

32、, #0F0H;屏蔽掉低四位MOV30H, A;保存AINCDPTR;指針指向下一個MOVXA,DPTR;讀取2002H的值A(chǔ)NLA, #0FH;屏蔽掉高四位ORLA,30H;進行拼裝MOVXDPTRA;保存到2002HENDMOV3.假設(shè)外部數(shù)據(jù)存儲器 2000H單元的容為80H,執(zhí)行下列指令后:P2,R0,A,R0MOVMOVMOVX累加器A中的容為(80H)O4.編寫程序,將外部數(shù)據(jù)存儲器中的#20H#00H4000H 40FFH單元全部清零。解:本題主要考察了對外部數(shù)據(jù)塊的寫操作;編程時只要注意循環(huán)次數(shù)和ORG0000HMOVA,#0MOVX指令的使用就可以了。MOVMOVR0, #0

33、FFH DPTR #4000H;設(shè)置循環(huán)次數(shù);設(shè)置數(shù)據(jù)指針的初值LOOPMOVXDPTRA;當前單元清零INCDPTR;指向下一個單元DJNZR0, LOOP;是否結(jié)束END6. 區(qū)分MCS-51單片機片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是:(1)看其位于地址圍的低端還是高段(2)看其離MCS-51芯片的遠近(3)看其芯片的型號是 ROM還是RAM(4 )看其是與RD信號連接還是與PSEN信號連接 解:本題的答案廠3,4。7. 在存儲器擴展中,無論是線選法還是譯碼法,最終都是為了擴展芯片的(片選)端提供信號。8. 請寫出圖8-18中4片程序存儲器27128各自所占的地址空間。解:圖中采

34、用了譯碼法。4 片地址分別為 0000H-3FFFH 4000H-7FFFH 8000H-BFFFH C000H-FFFFH9起止圍為0000H-3FFFH的存儲器的容量是(16) KB解:本題屬于常識題,在第十一題時將有解答。10.在MCS-51中,PC和DPTR都用于提供地址,但 PC是為了訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。11.11根地址線可選(2KB個存儲單元,16KB存儲單元需要(14)根地址線。解:通過總結(jié)所學(xué)知識,我們得到以下幾個信息:2KB的存儲器需要11根地址線,地址為 0000H-07FFH;4KB的存儲器需要 12根地址線,地址為 00

35、00H-0FFFH;8KB的存儲器需要13根地址線,地址為0000H-仆FFR16KB的存儲器需要14根地址線,地址為0000H-3FFFH;32KB的存儲器需要 15根地址線,地址為0000H-7FFFH;64KB的存儲器需要16根地址線,地址為0000H-FFFFH (以上存儲器的首地址均默認為0000H)12.32KB RAM存儲器的首地址若為 2000H,則末地址為(9FFF) H。解:由上題總結(jié)得出,32KB RAM存儲器的大小為 0000H-7FFFH所以只要在后面加上 2000H即得到正確答 案。13.現(xiàn)有8031單片機、74LS373鎖存器、1片2764EPROF和2片6116

36、RAM請使用他們組成一個單片機系統(tǒng), 要求:(1)畫岀硬件電路連線圖,并標注主要引腳;(2)指岀該應(yīng)用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址圍。解:(1)電路圖如下所示:(2)2764 的地址為 C000H-DFFFH第一個6116的地址為A000H-A7FFH第二個6116的地址為6000H-67FFH事實上,由于采用的是線選法,導(dǎo)致了地址不連續(xù),地址空間利用不充分。建議在實際工作中要具體情況 具體分析。在兩種地址分配中選一種較好的來應(yīng)用。mV61C6_Z708408N5SDR7npCD7SN -6G&6c740PL5E6 SBl66c3 a aAOP/I14.使用89C51芯片外擴一

37、片E2PROM286,要求2864兼作程序存儲器和數(shù)據(jù)存儲器,且首地址為8000H要求:(1)確定2864芯片的末地址;(2)畫岀2864片選端的地址譯碼電路;(3)畫岀該應(yīng)用系統(tǒng)的硬件連接圖。解: (1) 2864為8KB的存儲器,如果首地址為 8000H,則其末地址為9FFFH,理由參考第12題;(2)電路圖如下所示:803131ALE/P PSEN WR RDP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1EA/VPP0.03023222T3233343536373839U2(3)電路圖如下所示:8031PSENWR

38、RDP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.231P0.1EA/VPP0.0U217U1P262P2.73P2.515V+5v|G1G2AG2BY 0Y 1Y 2Y 3Y 4Y 5Y 6Y 774LS138N112 36482272323T22124NT28 P2.727 P2626 P2.5252432*33343536373839D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7GOCU474LS37354T596127158 J16919102WEOE CEREADYA12A11A10A9A8A7D7A6

39、D6A5D5A4D4A3D3A2D2A1D1A0D0986532仃1122202253第九章習(xí)題解答4.編寫程序,采用8255A的C 口按位置位/復(fù)位控制字,將 PC7置 0, PC4置1,(已知8255A各端口的地址 為 7FFCH-7FFFH。解:本題主要考察對 8255A的C 口的操作。其方式控制字的高位為0時,低四位對C 口進行置位。由題目我們得到了方式控制字的地址為7FFFHMAIN:ORG0000HMOVDPTR,#7FFFH;控制字寄存器地址送 DPTRMOVA,#0EH;將 PC7置 0MOVXDPTR,AMOVA,#09H;將 PC4置 1MOVXDPTR,AEND6.由圖9

40、-6來說明8255A的A 口在方式1的選通輸入方式下的工作過程。解:當外設(shè)輸入一個數(shù)據(jù)并送到PA7- PA0上時,輸入設(shè)備自動在選通輸入線STBA向8255A發(fā)送一個低電平選通信號。8255A收到選通信號后:首先把 PA7-PA0上輸入的數(shù)據(jù)存入 A 口 麗入數(shù)據(jù)緩沖/鎖存器;然 后使輸入緩沖器輸出線IBFA變成高電平,以通知輸入設(shè)備,8255A的A 口已收到它送來的輸入數(shù)據(jù)。8255A 檢測到聯(lián)絡(luò)線STBA由低電平變成了高電平、IBFA為1狀態(tài)和中斷允許觸發(fā)器INTEA為1時,使輸出線INTRA(PC3變成高電平,向8031發(fā)出中斷請求。(INTEA的狀態(tài)可由用戶通過對 PC4的置位/復(fù)位來

41、控制。8031 相應(yīng)中斷后,可以通過中斷服務(wù)程序從 A口的輸入數(shù)據(jù)緩沖/鎖存器讀取外設(shè)發(fā)來的輸入數(shù)據(jù)。當輸入數(shù)據(jù)被CPU讀走后,8255A撤銷INTRA上的中斷請求,并使IBFA變?yōu)榈碗娖?,以通知輸入外設(shè)可以送下一個輸 入數(shù)據(jù)。8. 判斷下列說法是否正確,為什么?(1) 由于8155H不具有地址鎖存功能,因此在與8031的接口電路中必須加地址鎖存器。(2) 在8155H芯片中,決定端口和 RAMI單元編址的信號線是 AD7-AD0和 WR(3) 8255A具有三態(tài)緩沖器,因此可以直接掛在系統(tǒng)的數(shù)據(jù)總線上。(4) 8255A的B 口可以設(shè)置成方式 2。解:(1) 8155H具有地址鎖存功能;(2

42、) 弓|腳10/吵 A2、A1、A0決定端口地址和 RAM單元編址;(3) 8255A不具有三態(tài)緩沖器;(4) 8255A的B 口只可以設(shè)置成方式 0和方式1。9. 現(xiàn)有一片8031,擴展了一片8255A,若把8255A的B 口用做輸入,B 口的每一位接一個開關(guān), A 口用作輸岀,每一位接一個發(fā)光二極管,請畫岀電路原理圖,并編寫岀B 口某一位接高電平時,A 口相應(yīng)位發(fā)光二極管被點亮的程序。解:由于電路圖比較簡單,在這里就畫了,大家可以參考圖9-10,A 口每一位接二極管的正極,二極管的負極接低。B 口每一位接一開關(guān),開關(guān)直接接地。這樣我們只需要將讀到的B 口的值送給A 口就可以滿足題目要求了。

43、ORG0000HMIAN:MOVA,#10000010B; A 口出,B 口入MOVDPTR #0FF7FH ;控制地址送 DPTRMOVX DPTR A;送方式控制字MOVDPTR #0FF7DH ; B 口地址送 DPTRMOVXA, DPTR;讀開關(guān)信息MOVDPTR #0FF7CH ; A 口 地址送 DPTRMOVX DPTR A;將信息反潰到二極管END10.假設(shè)8155H的TIMERIN引腳輸入的頻率為 4MHZ問8155H的最大定時時間是多少?解:8155H記數(shù)器的初值圍是:3FFFH-2H。當頻率為 4MHz初值為 3FFFH時,最大定時時間為:16383/4E+6=0.00

44、409575S。12.假設(shè)8155H的TIMERIN引腳輸入的脈沖頻率為 1MHz請編寫出在8155H的TIMEROU引腳上輸出周期為 10ms的方波的程序。解:將1MHz的脈沖改變?yōu)?0ms的方波,這就讓我們想到了在數(shù)字電路里面學(xué)到的分頻器。計算得出分頻前后頻率之比為10000:1,這樣我們只要將定時器初值設(shè)置為64H就可以了。(假設(shè)I/O 口地址為7F00H-7F05H)STARTMOVDPTR #7F04H;指針指向定時器低 8位MOVA,#64H;送初值給AMOVXDPTR A;初值送給低8位INCDPTR;指向高8位MOVA,#40H;定時器方波輸岀MOVXDPTE AMOVDPTR

45、 #7F00H;指向命令/狀態(tài)口MOVA,#0C2H;設(shè)定控制字MOVXDPTE A;啟動定時器END第十章習(xí)題解答2. 判斷下列說法是否正確?(1) 8279是一個用于鍵盤和 LED( LCD顯示器的專用芯片。(2) 在單片機與微型打印機的接口中,打印機的BUSY信號可作為查詢信號或中斷請求信號使用。( 3)為給以掃描發(fā)方式工作的 8*8 鍵盤提供接口電路, 在接口電路中只需要提供 2個輸入口和 1個輸出口。(4) LED的字型碼是固定不變的。解:( 1 )正確;( 2 )正確( 3 )錯誤( 4 )錯誤4.寫出表 10-1 中僅顯示小數(shù)點“ .”的段碼。解:80H (共陰極);7FH (共陽極)6.對于圖 10-11 的鍵盤,采用線反轉(zhuǎn)法原理來編寫識別某一按鍵按下并得到其鍵號的程序。解:先對P1 口高四位送低電平,讀取 P1 口低四位的值;再對 P1 口低四位送低電平,讀取 P1 口高四位的 值,將兩次讀到的值組合在一起就得到了按鍵的特征碼,在根據(jù)特征碼查找鍵值。KEYIN:MOVP1,#OFH; 反轉(zhuǎn)讀鍵MOVA,P1ANLA,#OFHMOVB,AMOVP1,#OFOHMOVA,P1ANLA,#OFOHORLA,BCJNEA,#OFFH,KEYIN1RET;未按鍵KEY

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論