版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、“單片機原理及應(yīng)用”課程習(xí)題與解答第一章 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中
2、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位
3、的存儲器C、它們都有加1的功能。D、DPTR可以分為兩個8位的寄存器使用,但PC不能。答:對、對、對、對213:使用8031芯片時,需將/EA引腳接( )電平,因為其片內(nèi)無( )存儲器。答:低、程序214:片內(nèi)RAM低128個單元劃分為哪3個主要部分?各部分的主要功能是什么?答:工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)215:判斷下列說法是否正確A、 程序計數(shù)器PC不能為用戶編程時直接使用,因為它沒有地址。B、 內(nèi)部RAM的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。C、 8031共有21個特殊功能寄存器,它們的位都是可以用軟件設(shè)置的,因此,是可以進(jìn)行位尋址的。答:對、錯、錯216:PC的值是
4、A、當(dāng)前正在執(zhí)行指令的前一條指令的地址B、當(dāng)前正在執(zhí)行指令的地址C、當(dāng)前正在執(zhí)行指令的下一條指令的地址D、控制器中指令寄存器的地址答:C217:通過堆棧操作實現(xiàn)子程序調(diào)用,首先就要把( )的內(nèi)容入棧,以進(jìn)行斷點保護。調(diào)用返回時,再進(jìn)行出棧保護,把保護的斷點送回到( )。答:PC、PC219:MCS51單片機程序存儲器的尋址范圍是由程序計數(shù)器PC的位數(shù)所決定的,因為MCS51的PC是16位的,因此其尋址的范圍為( )KB。答:64220:當(dāng)MCS51單片機運行出錯或程序陷入死循環(huán)時,如何來擺脫困境?答:軟件陷阱、復(fù)位221:判斷下列說法是否正確?A、 PC是1個不可尋址的特殊功能寄存器。B、 單
5、片機的主頻越高,其運算速度越快。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
6、C,30H 12)RLC R0答:錯、錯、對、錯 錯、錯、錯、對 錯、對、對、錯32:判斷下列說法是否正確。A、 立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。B、 指令周期是執(zhí)行一條指令的時間。C、 指令中直接給出的操作數(shù)稱為直接尋址。答:對、對、錯33:在基址加變址尋址方式中,以( )作變址寄存器,以( )或( )作基址寄存器。答:累加器A,DPTR、PC37:指令格式是由( )和( )所組成,也可能僅由( )組成。答:操作碼、操作數(shù)、操作碼38:假定累加器A中的內(nèi)容為30H,執(zhí)行指令1000H:MOVC A,A+PC后,把程序存儲器( )單元的內(nèi)容送入累加器A中。答:1
7、031H39:在MCS51中,PC和DPTR都用于提供地址,但PC是為訪問( )存儲器提供地址,而DPTR是為訪問( )存儲器提供地址。答:程序、數(shù)據(jù)310:在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的( )。答:地址311:下列程序段的功能是什么?PUSHAPUSHBPOPAPOPB答:交換A、B的內(nèi)容312:已知程序執(zhí)行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序執(zhí)行后:POPDPHPOPDPLMOVDPTR,#4000HRLAMOVB,AMOVCA,A+DPTRPUSHAMOVA,BINCAMOVCA,A+DPTRP
8、USHARETORG4000HDB10H,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í)行以下指令:ANLA,#17HORL17H,AXRLA,R0CPLA后,A的內(nèi)容為( )。答:0CBH315:假定A=55H,R3=0AAH,在執(zhí)行指令A(yù)NLA,R3后,A=( ),R3=( )。答:0、0AAH316:如果DPTR=507BH,SP=32H,(30H
9、)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后:POPDPHPOPDPLPOPSP則:DPH=( ),DPL=( ),SP=( )答:DPH=3CH , DPL=5FH , SP=4FH317:假定,SP=60H,A=30H,B=70H,執(zhí)行下列指令:PUSHAPUSHB后,SP的內(nèi)容為( ),61H單元的內(nèi)容為( ),62H單元的內(nèi)容為( )。答:62H , 30H , 70H第四章46:試編寫1個程序,將內(nèi)部RAM中45H單元的高4位清0,低4位置1。答:MOVA, 45HANLA, #0FHORLA, #0FHMOV45H, A47:已知程序執(zhí)行前有A=02H,SP
10、=42H,(41H)=FFH,(42H)=FFH。下述程序執(zhí)行后:POPDPHPOPDPLMOVDPTR,#3000HRLAMOVB,AMOVCA,A+DPTRPUSHAMOVA,BINCAMOVCA,A+DPTRPUSHARETORG3000HDB10H,80H,30H,80H,50H,80H請問:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。答:A=80H , SP=40H , (51H)=50H , (52H)=80H , PC=8050H48:計算下面子程序中指令的偏移量和程序執(zhí)行的時間(晶振頻率為 12MHz)。MOVR3,#15H;1個機器周期DL
11、1:MOVR4,#255;1個機器周期DL2:MOVP1,R3;2個機器周期DJNZR4,DL2;2個機器周期DJNZR3,DL1;2個機器周期RET;2個機器周期答:15348us析:(22)×25512)×151215348us49:假定A=83H,(R0)=17H,(17H)=34H,執(zhí)行以下指令:ANLA,#17HORL17H,AXRLA,R0CPLA后,A的內(nèi)容為( )。答:0CBH410:試編寫程序,查找在內(nèi)部RAM的30H50H單元中是否有0AAH這一數(shù)據(jù)。若有,則將51H單元置為“01H”;若未找到,則將51H單元置為“00H”。答:START:MOVR0,
12、#30HMOVR2,#20HLOOP:MOVA,R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET411:試編寫程序,查找在內(nèi)部RAM的20H40H單元中出現(xiàn)“00H”這一數(shù)據(jù)的次數(shù)。并將查找到的結(jié)果存入41H單元。答:START:MOV41H,#0MOVR0,#20HMOVR2,#20HLOOP:MOVA,R0JNZNEXTINC41HNEXT:INCR0DJNZR2,LOOPRET412:若SP=60H,標(biāo)號LABEL所在的地址為3456H。LCALL指令的地址為2000H,執(zhí)行指令如下
13、:2000HLCALLLABEL后,堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?PC的值等于什么?如果將指令LCALL直接換成ACALL是否可以?如果換成ACALL指令,可調(diào)用的地址范圍是什么?答:1)SP=SP+1=61H(61H)=PC的低字節(jié)=03H SP=SP+1=62H(62H)=PC的高字節(jié)=20H2)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寄存器中
14、。C、 各中斷發(fā)出的中斷請求信號,都會標(biāo)記在MCS51系統(tǒng)的IP寄存器中。D、 各中斷發(fā)出的中斷請求信號,都會標(biāo)記在MCS51系統(tǒng)的TCON與SCON寄存器中。答:ABC57:中斷查詢確認(rèn)后,在下列各種8031單片機運行情況中,能立即進(jìn)行響應(yīng)的是:A、 當(dāng)前正在執(zhí)行高優(yōu)先級中斷處理B、 當(dāng)前正在執(zhí)行RETI指令C、 當(dāng)前指令是DIV指令,且正處于取指令的機器周期D、 當(dāng)前指令是MOVA,R3答:D58:8031單片機響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL,執(zhí)行該指令的過程包括:首先把( )的內(nèi)容壓入堆棧,以進(jìn)行斷點保護,然后把長調(diào)用指令的16位地址送( ),使程序執(zhí)行轉(zhuǎn)向( ) 中的中斷地址區(qū)。
15、答:PC、PC、程序存儲器59:編寫出外部中斷1為跳沿觸發(fā)的中斷初始化程序。答:SETBIT1SETBEX1SETBEA510:在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
16、指令在返回的同時清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷514:某系統(tǒng)有3個外部中斷源1、2、3,當(dāng)某一中斷源變?yōu)榈碗娖綍r,便要求CPU進(jìn)行處理,它們的優(yōu)先處理次序由高到低依次為3、2、1,中斷處理程序的入口地址分別為1000H,1100H,1200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。答:若僅在/INT0引腳接3個外部中斷源,電路如圖510(P115)ORG0000HLJMPMAINORG0003HLJMPINT_EX0ORG0030HMAIN:CLRIT0; 采用低電平有效中斷SETBEX0;允許外部中斷0SETBEA; 插入用戶程序WAIT:MOVPCON,#
17、01H;單片機進(jìn)入休眠方式等待中斷NOPLJMPWAIT;以下為外部中斷0服務(wù)子程序INT_EX0:JNBP1.0,NEXT1;判斷是不是1號中斷LJMPINT_IR1;跳轉(zhuǎn)到1號中斷處理程序NEXT1:JNBP1.1,NEXT2;判斷是不是2號中斷LJMPINT_IR2;跳轉(zhuǎn)到2號中斷處理程序NEXT2:LJMPINT_IR3;跳轉(zhuǎn)到3號中斷處理程序ORG1000HINT_IR1:;插入相應(yīng)中斷處理程序RETI;中斷返回ORG1100HINT_IR2:;插入相應(yīng)中斷處理程序RETI;中斷返回ORG1200HINT_IR3:;插入相應(yīng)中斷處理程序RETI;中斷返回第六章 MCS-51的定時/計
18、數(shù)器1 如果采用晶振的頻率為3MHz,定時器/計數(shù)器工作方式0、1、2下,其最大的定時時間為多少?解答:因為機器周期,所以定時器/計數(shù)器工作方式0下,其最大定時時間為;同樣可以求得方式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次負(fù)跳變要花2個機器周期,即24個振蕩周期,因此外部輸入的計數(shù)脈沖的最高頻率為系
19、統(tǒng)振蕩器頻率的1/24。4采用定時器/計數(shù)器T0對外部脈沖進(jìn)行計數(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的工作方式。編寫程序如下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:MOVTMOD,#06H;定時器/計數(shù)器T0為計數(shù)方式2MOVTL
20、0,#156;計數(shù)100個脈沖的初值賦值MOVTH0,#156SETBGATE;打開計數(shù)門SETBTR0;啟動T0,開始計數(shù)SETBET0;允許T0中斷SETBEA;CPU開中斷CLRF0;設(shè)置下一輪為定時方式的標(biāo)志位WAIT:AJMPWAITIT0P:CLREA;關(guān)中斷JBF0,COUNT;F0=1,轉(zhuǎn)計數(shù)方式設(shè)置MOVTMOD,#00H;定時器/計數(shù)器T0為定時方式0MOVTH0,#0FEH;定時1ms初值賦值MOVTL0,#0CHSETBEARETICOUNT:MOVTMOD,#06HMOVTL0,#156SETBEARETI5. 定時器/計數(shù)器的工作方式2有什么特點?適用于哪些應(yīng)用場合
21、?答:定時器/計數(shù)器的工作方式2具有自動恢復(fù)初值的特點,適用于精確定時,比如波特率的產(chǎn)生。6. 編寫程序,要求使用T0,采用方式2定時,在P1.0輸出周期為400s,占空比為10:1的矩形脈沖。解答:根據(jù)題意,從P1.0輸出的矩形脈沖的高低電平的時間為10:1,則高低電平的時間分別為363.63s和36.37s。如果系統(tǒng)采用6MHz晶振的話,因此高低電平輸出取整,則約為364s和36s。編寫程序如下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:MOVTMOD,#02H;定時器/計數(shù)器T0為定時方式2MOVTL0,#4AH;定時364s初值賦值SETBTR0;啟動T
22、0,開始計數(shù)SETBET0;允許T0中斷SETBEA;CPU開中斷SETBP1.0WAIT:AJMPWAITIT0P:CLREACLRP1.0;關(guān)中斷MOVR0,#9DLY:DJNZR0,DLY;延時26sMOVTL0,#4AH;定時364s初值賦值SETBP1.0SETBEARETI7. 一個定時器的定時時間有限,如何實現(xiàn)兩個定時器的串行定時,來實現(xiàn)較長時間的定時?答:方式一,在第一個定時器的中斷程序里關(guān)閉本定時器的中斷程序,設(shè)置和打開另一個定時器;在另一個定時器的中斷程序中關(guān)閉本定時中斷,設(shè)置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。方式二,一個作為定時器,在定時中斷
23、后產(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的輸入脈沖進(jìn)行計數(shù);當(dāng)P1.2引腳的電平負(fù)跳變時,停止計數(shù),并將
24、計數(shù)值寫入R0、R1(高位存R1,低位存R0)。解答:將P1.1的輸入脈沖接入INT0,即使用T0計數(shù)器完成對P1.1口的脈沖計數(shù)。編寫程序如下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:JNBP1.0,MAINMOVTMOD,#05H;定時器/計數(shù)器T0為計數(shù)方式1SETBTR0;啟動T0,開始計數(shù)SETBET0;允許T0中斷SETBEA;CPU開中斷WAIT:JBP1.2,WAITCLREACLRTR0MOVR1,TH0MOVR0,TL0AJMP$IT0P:INCR2RETI11. THX與TLX(X=0,1)是普通寄存器還是計數(shù)器?其內(nèi)容可以隨時用指令更改
25、嗎?更改后的新值是立即刷新還是等當(dāng)前計數(shù)器計滿后才能刷新?答:THX與TLX(X=0,1)是由特殊功能寄存器構(gòu)成的計數(shù)器,其內(nèi)容可以隨時用指令更改,更改后的新值是立即刷新。但在讀THX、TLX的值時,應(yīng)該先讀THX值,后讀TLX,再讀THX。若兩次讀得THX相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THX有變化,再重復(fù)上述過程。12. 判斷下列的說法是否正確?(1) 特殊功能寄存器SCON,與定時器/計數(shù)器的控制無關(guān)。(對)(2) 特殊功能寄存器TCON,與定時器/計數(shù)器的控制無關(guān)。(錯)(3) 特殊功能寄存器IE,與定時器/計數(shù)器的控制無關(guān)。 (錯)(4) 特殊功能寄存器TMOD,與定時
26、器/計數(shù)器的控制無關(guān)。(錯)第七章 MCS-51的串行口1串行數(shù)據(jù)傳送的主要優(yōu)點和用途是什么?答:串行數(shù)據(jù)傳送的主要優(yōu)點是硬件接口簡單,接口端口少(2個)。主要用于多個單片機系統(tǒng)之間的數(shù)據(jù)通信。2簡述串行口接收和發(fā)送數(shù)據(jù)的過程。答:以方式一為例。發(fā)送:數(shù)據(jù)位由TXT端輸出,發(fā)送1幀信息為10為,當(dāng)CPU執(zhí)行1條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動發(fā)送。發(fā)送開始時,內(nèi)部發(fā)送控制信號/SEND變?yōu)橛行?,將起始位想TXD輸出,此后,每經(jīng)過1個TX時鐘周期,便產(chǎn)生1個移位脈沖,并由TXD輸出1個數(shù)據(jù)位。8位數(shù)據(jù)位全部完畢后,置1中斷標(biāo)志位TI,然后/SEND信號失效。接收:當(dāng)檢測到起始位的負(fù)跳變時,
27、則開始接收。接受時,定時控制信號有2種,一種是位檢測器采樣脈沖,它的頻率是RX時鐘的16倍。也就是在1位數(shù)據(jù)期間,有16個采樣脈沖,以波特率的16倍的速率采樣RXD引腳狀態(tài),當(dāng)采樣到RXD端從1到0的跳變時就啟動檢測器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認(rèn)是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。3幀格式為1個起始位,8個數(shù)據(jù)位和1個停止位的異步串行通信方式是方式( 1 )。4 串行口有幾種工作方式?有幾種幀格式?各種工作方式的波特率如何確定?答:串行口有3種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的
28、幀格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,方式1的波特率=2SMOD/32×定時器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定時器T1的溢出率5 假定串行口串行發(fā)送的字符格式為1個起始位,8個數(shù)據(jù)位,1個奇校驗位,1個停止位,請畫出傳送字符“A”的幀格式。 起始位0 1 0 0 0 0 0 0 校驗位 停止位 6判斷下列說法是否正確:(1) 串行口通信的第9數(shù)據(jù)位的功能可由用戶定義。(對)(2) 發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的內(nèi)容在SCON寄存器的TB8位預(yù)先準(zhǔn)備好的。(對)(3) 串行通訊發(fā)送時,指令把TB8
29、位的狀態(tài)送入發(fā)送SBUF。(錯)(4) 串行通訊接收到的第9位數(shù)據(jù)送SCON寄存器的RB8中保存。(對)(5) 串行口方式1的波特率是可變的,通過定時器/計數(shù)器T1的溢出設(shè)定。(對)7通過串行口發(fā)送或接收數(shù)據(jù)時,在程序中應(yīng)使用:(選(3))(1)MOVC指令 (2)MOVX指令 (3)MOV指令 (4)XCHD指令8為什么定時器/計數(shù)器T1用做串行口波特率發(fā)生器時,采用方式2?若已知時鐘頻率、通訊波特率,如何計算其初值?解答:因為定時器/計數(shù)器在方式2下,初值可以自動重裝,這樣在做串口波特率發(fā)生器設(shè)置時,就避免了重裝參數(shù)的操作。已知時鐘頻率、通訊波特率,根據(jù)公式:,計算出初值。9串行口工作方式
30、1的波特率是:( 3 )(1) 固定的,為。(2) 固定的,為。(3) 可變的,通過定時器/計數(shù)器T1的溢出率設(shè)定。(4) 固定的,為。10在串行通訊中,收發(fā)雙方對波特率的設(shè)定應(yīng)該是( 相等 )的。11若晶體振蕩器為11.0592MHz,串行口工作于方式1,波特率為4800b/s,寫出用T1作為波特率發(fā)生器的方式控制字和計數(shù)初值。解答:初值計算:查閱P148表7-2可得,F(xiàn)AH控制字:ANL TMOD,#0F0H ORL TMOD,#20H MOV TH1,#0FAH MOV TL1,#0FAH MOV SCON,#40H12簡述利用串行口進(jìn)行多機通訊的原理。解答:參考P146頁。13使用80
31、31的串行口按工作方式1進(jìn)行串行數(shù)據(jù)通訊,假定波特率為2400b/s,以中斷方式傳送數(shù)據(jù),請編寫全雙工通訊程序。解答:略14使用8031的串行口按工作方式3進(jìn)行串行數(shù)據(jù)通訊,假定波特率為1200b/s,第9數(shù)據(jù)位作奇偶校驗位,以中斷方式傳送數(shù)據(jù),請編寫通訊程序。解答:略15某8031串行口,傳送數(shù)據(jù)的幀格式為1個起始位(0),7個數(shù)據(jù)位,1個偶校驗位和1個停止位(1)組成。當(dāng)該串行口每分鐘傳送1800個字符時,試計算出波特率。解答:串口每秒鐘傳送的字符為:1800/60=30個字符/秒 所以波特率為:30個字符/秒×10位/個字符=300b/s16為什么MCS-51串行口的方式0幀格
32、式?jīng)]有起始位(0)和停止位(1)?解答:串行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴展并行I/O口,一般不用于兩個MCS-51之間的串行通信。該方式以fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。第八章習(xí)題解答1.單片機存儲器的主要功能是存儲(程序)和(數(shù)據(jù))。2.試編寫一個程序(例如將05H和06H拼為56H),設(shè)原始數(shù)據(jù)放在片外數(shù)據(jù)區(qū)2001H單元和2002H單元中,按順序拼裝后的單字節(jié)數(shù)放入2002H。解:本題主要考察了對外部存儲器的讀、寫操作,同學(xué)們只要記住正確使用MOVX指令就可以了。編程思路:首先讀取2001H的值,保存在寄存器A中,將寄存器A的
33、高四位和低四位互換,再屏蔽掉低四位然后將寄存器A的值保存到30H中,然后再讀取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后將寄存器A的值與30H進(jìn)行或運算,將運算后的結(jié)果保存在2002H中。ORG0000HMAIN:MOVDPTR,#2001H;設(shè)置數(shù)據(jù)指針的初值MOVXA,DPTR;讀取2001H的值SWAPAANLA,#0F0H;屏蔽掉低四位MOV30H,A;保存AINCDPTR;指針指向下一個MOVXA,DPTR;讀取2002H的值A(chǔ)NLA,#0FH;屏蔽掉高四位ORLA,30H;進(jìn)行拼裝MOVXDPTR,A;保存到2002HEND3.假設(shè)外部數(shù)據(jù)存儲器2000H單元的內(nèi)容為80
34、H,執(zhí)行下列指令后:MOVP2,#20HMOVR0,#00HMOVXA,R0累加器A中的內(nèi)容為(80H)。4.編寫程序,將外部數(shù)據(jù)存儲器中的4000H40FFH單元全部清零。解:本題主要考察了對外部數(shù)據(jù)塊的寫操作;編程時只要注意循環(huán)次數(shù)和MOVX指令的使用就可以了。ORG0000HMAIN:MOVA,#0;送預(yù)置數(shù)給AMOVR0,#0FFH;設(shè)置循環(huán)次數(shù)MOVDPTR,#4000H;設(shè)置數(shù)據(jù)指針的初值LOOP:MOVXDPTR,A;當(dāng)前單元清零INCDPTR;指向下一個單元DJNZR0,LOOP;是否結(jié)束END5.在MCS-51單片機系統(tǒng)中,外接程序存儲器和數(shù)據(jù)存儲器共16位地址線和8位數(shù)據(jù)線
35、,為何不會發(fā)生沖突?解:因為控制信號線的不同:外擴的RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為OE和WE。外擴RAM的讀、寫控制引腳分別與MCS-51的RD和WR引腳相連。外擴的EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入控制引腳,只有讀出引腳,記為OE,該引腳與MCS-51單片機的PSEN相連。6.區(qū)分MCS-51單片機片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是:(1)看其位于地址范圍的低端還是高段(2)看其離MCS-51芯片的遠(yuǎn)近(3)看其芯片的型號是ROM還是RAM(4)看其是與RD信號連接還是與PSEN信號連接解:本題的答案是3,4。7.在存儲
36、器擴展中,無論是線選法還是譯碼法,最終都是為了擴展芯片的(片選)端提供信號。8.請寫出圖8-18中4片程序存儲器27128各自所占的地址空間。解:圖中采用了譯碼法。4片地址分別為0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。9起止范圍為0000H-3FFFH的存儲器的容量是(16)KB。解:本題屬于常識題,在第十一題時將有解答。10.在MCS-51中,PC和DPTR都用于提供地址,但PC是為了訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。11.11根地址線可選(2KB)個存儲單元,16KB存儲單元需要(14)根地址線。解
37、:通過總結(jié)所學(xué)知識,我們得到以下幾個信息:2KB的存儲器需要11根地址線,地址為0000H-07FFH;4KB的存儲器需要12根地址線,地址為0000H-0FFFH;8KB的存儲器需要13根地址線,地址為0000H-1FFFH;16KB的存儲器需要14根地址線,地址為0000H-3FFFH;32KB的存儲器需要15根地址線,地址為0000H-7FFFH;64KB的存儲器需要16根地址線,地址為0000H-FFFFH(以上存儲器的首地址均默認(rèn)為0000H)。12.32KB RAM存儲器的首地址若為2000H,則末地址為(9FFF)H。解:由上題總結(jié)得出,32KB RAM存儲器的大小為0000H-
38、7FFFH,所以只要在后面加上2000H即得到正確答案。13.現(xiàn)有8031單片機、74LS373鎖存器、1片2764EPROM和2片6116RAM,請使用他們組成一個單片機系統(tǒng),要求:(1)畫出硬件電路連線圖,并標(biāo)注主要引腳;(2)指出該應(yīng)用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址范圍。解:(1)電路圖如下所示:(2)2764的地址為C000H-DFFFH;第一個6116的地址為A000H-A7FFH;第二個6116的地址為6000H-67FFH;事實上,由于采用的是線選法,導(dǎo)致了地址不連續(xù),地址空間利用不充分。建議在實際工作中要具體情況具體分析。在兩種地址分配中選一種較好的來應(yīng)用。14.
39、使用89C51芯片外擴一片E2PROM2864,要求2864兼作程序存儲器和數(shù)據(jù)存儲器,且首地址為8000H。要求:(1)確定2864芯片的末地址;(2)畫出2864片選端的地址譯碼電路;(3)畫出該應(yīng)用系統(tǒng)的硬件連接圖。解:(1)2864為8KB的存儲器,如果首地址為8000H,則其末地址為9FFFH,理由參考第12題;(2)電路圖如下所示:(3)電路圖如下所示:第九章習(xí)題解答1.I/O接口和I/O端口有什么區(qū)別?I/O接口的功能是什么?解:I/O端口簡稱I/O口,常指I/O接口電路中具有端口地址的寄存器或緩沖器。I/O接口是指單片機與外設(shè)間的I/O接口芯片。I/O接口功能:一.實現(xiàn)和不同外
40、設(shè)的速度匹配;二.輸出數(shù)據(jù)緩存;三.輸入數(shù)據(jù)三態(tài)緩沖。2.常用的I/O接口編址有哪兩種方式?它們各有什么特點?MCS-51的I/O端口編址采用的是哪種方式?解:一.獨立編址方式:獨立編址方式就是I/O地址空間和存儲器地址空間分開編址。獨立編址的優(yōu)點是I/O地址空間和存儲器地址空間相互獨立,界限分明。但是,卻需要設(shè)置一套專門的讀寫I/O的指令和控制信號。二.統(tǒng)一編址方式:這種編址方式是把I/O端口的寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一進(jìn)行編址。統(tǒng)一編址的優(yōu)點是不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進(jìn)行I/O操作,簡單、方便且功能強大。MCS-51單片機使用的是I/O和外部數(shù)據(jù)存儲器
41、RAM統(tǒng)一編址的方式。3.I/O數(shù)據(jù)傳送有哪幾種傳送方式?分別在哪些場合下使用?解:一.同步傳送方式:同步傳送又稱為有條件傳送。當(dāng)外設(shè)速度可與單片機速度相比擬時,常常采用同步傳送方式,最典型的同步傳送就是單片機和外部數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送。二.查詢傳送方式:查詢傳送方式又稱為有條件傳送,也稱異步傳送。單片機通過查詢得知外設(shè)準(zhǔn)備好后,再進(jìn)行數(shù)據(jù)傳送。異步傳送的優(yōu)點是通用性好,硬件連線和查詢程序十分簡單,但是效率不高。為了提高單片機的工作效率,通常采用中斷方式。三.中斷傳送方式:中斷傳送方式是利用MCS-51本身的中斷功能和I/O接口的中斷功能來實現(xiàn)I./O數(shù)據(jù)的傳送。單片機只有在外設(shè)準(zhǔn)備好后,
42、發(fā)出數(shù)據(jù)傳送請求,才中斷主程序,而進(jìn)入與外設(shè)進(jìn)行數(shù)據(jù)傳送的中斷服務(wù)程序,進(jìn)行數(shù)據(jù)的傳送。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。因此,采用中斷方式可以大大提高單片機的工作效率。4.編寫程序,采用8255A的C口按位置位/復(fù)位控制字,將PC7置0,PC4置1,(已知8255A各端口的地址為7FFCH-7FFFH)。解:本題主要考察對8255A的C口的操作。其方式控制字的高位為0時,低四位對C口進(jìn)行置位。由題目我們得到了方式控制字的地址為7FFFH。ORG0000HMAIN:MOVDPTR,#7FFFH;控制字寄存器地址送DPTRMOVA,#0EH;將PC7置0MOVXDPTR,AMOVA,#09H;
43、將PC4置1MOVXDPTR,AEND5.8255A的方式控制字和C口按位置位/復(fù)位控制字都可以寫入8255A的同一控制寄存器,8255A是如何區(qū)分這兩個控制字的?解:8255A通過它們的最高位來進(jìn)行判斷,最高位為1時,這時8255A認(rèn)為這是方式控制字,否則認(rèn)為是C口按位置位/復(fù)位控制字6.由圖9-6來說明8255A的A口在方式1的選通輸入方式下的工作過程。解:當(dāng)外設(shè)輸入一個數(shù)據(jù)并送到PA7PA0上時,輸入設(shè)備自動在選通輸入線STBA向8255A發(fā)送一個低電平選通信號。8255A收到選通信號后:首先把PA7-PA0上輸入的數(shù)據(jù)存入A口的輸入數(shù)據(jù)緩沖/鎖存器;然后使輸入緩沖器輸出線IBFA變成高
44、電平,以通知輸入設(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ù)位來控制。8031相應(yīng)中斷后,可以通過中斷服務(wù)程序從A口的輸入數(shù)據(jù)緩沖/鎖存器讀取外設(shè)發(fā)來的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被CPU讀走后,8255A撤銷INTRA上的中斷請求,并使IBFA變?yōu)榈碗娖?,以通知輸入外設(shè)可以送下一個輸入數(shù)據(jù)。7.8155H的端口都有哪些?哪些引腳決定端口的地址?引腳TIMERIN和TIMEROUT的作用是
45、什么?解:8155H的端口有以下幾種:命令/狀態(tài)寄存器、A口、B口、C口、計數(shù)器和RAM單元。引腳IO/M、A2、A1、A0決定端口地址。TIMERIN是計數(shù)器輸入線,輸入的脈沖上跳沿用于對8155H片內(nèi)的14位計數(shù)器減一。TIMEROUT為計數(shù)器輸入線。當(dāng)14位計數(shù)器減為0時就可以在該引線上輸出脈沖或方波,輸出的信號的形狀與所選的計數(shù)器工作方式有關(guān)。8.判斷下列說法是否正確,為什么?(1)由于8155H不具有地址鎖存功能,因此在與8031的接口電路中必須加地址鎖存器。(2)在8155H芯片中,決定端口和RAM單元編址的信號線是AD7-AD0和WR。(3)8255A具有三態(tài)緩沖器,因此可以直接
46、掛在系統(tǒng)的數(shù)據(jù)總線上。(4)8255A的B口可以設(shè)置成方式2。解:(1)8155H具有地址鎖存功能;(2)引腳IO/M、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口每一位接二極管的正極,二極管的負(fù)極接低。B口每一位接一開關(guān),開關(guān)直
47、接接地。這樣我們只需要將讀到的B口的值送給A口就可以滿足題目要求了。ORG0000HMIAN:MOVA,#10000010B;A口出,B口入MOVDPTR,#0FF7FH;控制地址送DPTRMOVXDPTR,A;送方式控制字MOVDPTR,#0FF7DH;B口地址送DPTRMOVXA,DPTR;讀開關(guān)信息MOVDPTR,#0FF7CH;A口地址送DPTRMOVXDPTR,A;將信息反潰到二極管END10.假設(shè)8155H的TIMERIN引腳輸入的頻率為4MHz?問8155H的最大定時時間是多少?解:8155H記數(shù)器的初值范圍是:3FFFH-2H。當(dāng)頻率為4MHz,初值為3FFFH時,最大定時時間
48、為:16383/4E+6=0.00409575S11.MCS-51的并行接口的擴展有多種方式,在什么情況下,采用擴展8155H比較合適?什么情況下,采用擴展8255A比較適合?解:8255A具有3個8位的并行I/O口,3種工作方式,可通過編程改變其功能,因而使用靈活方便,通用性強,可作為單片機與多種外圍設(shè)備連接時的中間接口電路。8155H芯片內(nèi)包含有256B的RAM存儲器(靜態(tài)),2個可編程的八位并行口PA和PB,1個可編程的6位并行口PC,以及1個14位減法定時器/計數(shù)器。所以它經(jīng)常用于單片機的外圍接口芯片。12.假設(shè)8155H的TIMERIN引腳輸入的脈沖頻率為1MHz,請編寫出在8155
49、H的TIMEROUT引腳上輸出周期為10ms的方波的程序。解:將1MHz的脈沖改變?yōu)?0ms的方波,這就讓我們想到了在數(shù)字電路里面學(xué)到的分頻器。計算得出分頻前后頻率之比為10000:1,這樣我們只要將定時器初值設(shè)置為64H就可以了。(假設(shè)I/O口地址為7F00H-7F05H)START:MOVDPTR,#7F04H;指針指向定時器低8位MOVA,#64H;送初值給AMOVXDPTR,A;初值送給低8位INCDPTR;指向高8位MOVA,#40H;定時器方波輸出MOVXDPTE,AMOVDPTR,#7F00H;指向命令/狀態(tài)口MOVA,#0C2H;設(shè)定控制字MOVXDPTE,A;啟動定時器END
50、第十章習(xí)題解答1.為什么要消除按鍵的機械抖動?消除按鍵的機械抖動的方法有哪幾種?原理是什么?解:在按鍵的閉合和斷開過程中,由于開關(guān)的機械特性,導(dǎo)致了按鍵抖動的產(chǎn)生。如果不消除按鍵的機械抖動,按鍵的狀態(tài)讀取將有可能出現(xiàn)錯誤。消除按鍵抖動一般是采用軟件或硬件去抖。軟件去抖的原理:在第一次檢測到有鍵按下時,該鍵所對應(yīng)的航線是為低電平,執(zhí)行一端延時10ms的子程序后,確認(rèn)該行線電平是否仍然為低電平,如果仍為低電平,則確認(rèn)為該行確實有鍵按下。2.判斷下列說法是否正確?(1)8279是一個用于鍵盤和LED(LCD)顯示器的專用芯片。(2)在單片機與微型打印機的接口中,打印機的BUSY信號可作為查詢信號或中斷請求信號使用。(3)為給以掃描發(fā)方式工作的8*8鍵盤提供接口電路,在接口電路中只需要提供2個輸入口和1個輸出口。(4)LED的字型碼是固定不變的。解:(1)正確;(2)正確(3)錯誤(4)錯誤3.LED的靜態(tài)顯示方式于動態(tài)顯示方式有何區(qū)別?各有什么優(yōu)缺點?解:靜態(tài)顯示時,數(shù)據(jù)是分開送到每一位LED上的。而動態(tài)顯示則是數(shù)據(jù)是送
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物實驗攪拌機租賃合同
- 質(zhì)量監(jiān)控管理制度的秘訣
- 電商運營兼職人員錄用合同
- 海上石油鉆探海域租賃合同
- 安防監(jiān)控勞務(wù)施工協(xié)議
- 幼兒園內(nèi)環(huán)?;顒訁f(xié)議
- 聲學(xué)隔音涂料施工合同
- 網(wǎng)絡(luò)代理合同范本
- 設(shè)備拆除合同范本
- 證券投資木門安裝協(xié)議
- 重慶市七年級數(shù)學(xué)上學(xué)期期中試題新人教版
- 08S305-小型潛水泵選用及安裝圖集
- 吉林省長春市東北師大附中2019-2020上學(xué)期——九年級數(shù)學(xué)大練習(xí)題試卷
- 新能源汽車充電樁運營平臺建設(shè)商業(yè)計劃書
- 圖形創(chuàng)意-表現(xiàn)手法(課堂PPT)課件
- 北京某進(jìn)修護理匯報ppt課件
- 第8章 相關(guān)與回歸分析(新)
- 三菱培訓(xùn)教程手冊合集l快速入門篇
- 污水處理廠關(guān)鍵部位施工監(jiān)理控制要點
- 定語從句講解公開課(22張ppt)
- 幼兒園大班主題《有用的植物》個別學(xué)習(xí)
評論
0/150
提交評論