版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1-2單片機(jī)與普通微型計算機(jī)的不同之處在于其將( CPU)、(存儲器)和(I/O口)三部分,通過內(nèi)部(總線)連接在一起,集成于一塊芯片上。參P11-38051與8751的區(qū)別是(C)。參P6A. 內(nèi)部數(shù)據(jù)存儲單元數(shù)目不同B. 內(nèi)部數(shù)據(jù)存儲器的類型不同C. 內(nèi)部程序存儲器的類型不同D. 內(nèi)部寄存器的數(shù)目不同1-4在家用電器中使用單片機(jī)應(yīng)屬于微計算機(jī)的( B)。參P3A. 輔助設(shè)計應(yīng)用B. 測量、控制應(yīng)用C. 數(shù)值計算應(yīng)用D. 數(shù)據(jù)處理應(yīng)用1-5微處理器、微計算機(jī)、微處理機(jī)、CPU、單片機(jī)、之間有何區(qū)別?參P1、參P12答:微處理器、微處理機(jī)和CPU它們都是中央處理器的不同稱謂,微處理器芯片本身不
2、是計算機(jī)。而微計算機(jī)、單片機(jī)它們都是一個完整的計算機(jī)系統(tǒng),單片機(jī)是集成在一個芯片上的用于測控目的的單片微計算機(jī)。嵌入式處理器一般意義上講,是指嵌入系統(tǒng)的單片機(jī)、DSP、嵌入式微處理器。目前多把嵌入式處理器多指嵌入式微處理器,例如ARM7、ARM9等。嵌入式微處理器相當(dāng)于通用計算機(jī)中的CPU。與單片機(jī)相比,單片機(jī)本身(或稍加擴(kuò)展)就是一個小的計算機(jī)系統(tǒng),可獨立運行,具有完整的功能。而嵌入式微處理器僅僅相當(dāng)于單片機(jī)中的中央處理器。為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)。1-6MCS-51系列單片機(jī)
3、的基本型芯片分別為哪幾種?它們的差別是什么?參P6答:MCS-51系列單片機(jī)的基本型芯片分別為:8031、8051和8751。它們的差別是在片內(nèi)程序存儲器上。8031無片內(nèi)程序存儲器、8051片內(nèi)有4K字節(jié)的程序存儲器ROM,而8751片內(nèi)有集成有4K字節(jié)的程序存儲器EPROM。1-7為什么不應(yīng)將51系列單片機(jī)稱為MCS-51系列單片機(jī)?參P6答:因為MCS-51系列單片機(jī)中的“MCS”是Intel公司生產(chǎn)的單片機(jī)的系列符號,而51系列單片機(jī)是指世界各個廠家生產(chǎn)的所有與8051的內(nèi)核結(jié)構(gòu)、指令系統(tǒng)兼容的單片機(jī)。1-8AT89S51單片機(jī)相當(dāng)于MCS-51系列單片機(jī)中哪一種型號的產(chǎn)品?參P7答:
4、相當(dāng)于MCS-51系列中的87C51,只不過是AT89S51芯片內(nèi)的4K字節(jié)Flash存儲器取代了87C51片內(nèi)的4K字節(jié)的EPROM。1-9嵌入式處理器家族中的單片機(jī)、DSP、嵌入式微處理器各有何特點?它們的應(yīng)用領(lǐng)域有何不同?參P12答:單片機(jī)體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實現(xiàn)各種方式的檢測和控制。單片機(jī)在嵌入式處理器市場占有率最高,最大特點是價格低,體積小。 DSP是一種非常擅長于高速實現(xiàn)各種數(shù)字信號處理運算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。由于對其硬件結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計,使其能夠高速完成各種復(fù)雜的數(shù)字信號處理算法。廣泛地用于通訊、
5、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機(jī)控制系統(tǒng),生物信息識別終端,實時語音壓解系統(tǒng)等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這些正是DSP的長處所在。與單片機(jī)相比,DSP具有的實現(xiàn)高速運算的硬件結(jié)構(gòu)及指令和多總線,DSP處理的算法的復(fù)雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機(jī)不可企及的。嵌入式微處理器的基礎(chǔ)是通用計算機(jī)中的CPU,它的地址總線數(shù)目較多能擴(kuò)展較大的存儲器空間,所以可配置實時多任務(wù)操作系統(tǒng)(RTOS)。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。正由于嵌入式微處理器能運行實時多任務(wù)操作系統(tǒng),所以能夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,廣泛地
6、應(yīng)用在移動計算平臺、媒體手機(jī)、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)備、ATM機(jī)等)、電子商務(wù)平臺、信息家電(機(jī)頂盒、數(shù)字電視)以及軍事上的應(yīng)用。1-10什么是嵌入式系統(tǒng)?參P14答:廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機(jī)、DSP、嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但多數(shù)人把 “嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒有一個嚴(yán)格和權(quán)威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。2-1AT89S51單片機(jī)的片內(nèi)都集成了哪些功能部件?參P16答:AT89S51單片機(jī)的片內(nèi)都集成了如下功能部件:(1)1個微處理器(CPU);(2)128個數(shù)據(jù)存儲
7、器(RAM)單元 ;(3)4K Flash程序存儲器;(4)4個8位可編程并行I/O口(P0口、P1口、P2口、P3口);(5)1個全雙工串行口;(6)2個16位定時器/計數(shù)器;(7)1個看門狗定時器;(8)一個中斷系統(tǒng),5個中斷源,2個優(yōu)先級;(9)26個特殊功能寄存器(SFR),(10)1個看門狗定時器。2-2說明AT89S51單片機(jī)的引腳接高電平或低電平的區(qū)別。P19答:當(dāng)腳為高電平時,單片機(jī)讀片內(nèi)程序存儲器(4K 字節(jié)Flash)中的內(nèi)容,但在PC值超過0FFFH(即超出4K字節(jié)地址范圍)時,將自動轉(zhuǎn)向讀外部程序存儲器內(nèi)的程序;當(dāng)腳為低電平時,單片機(jī)只對外部程序存儲器的地址為0000H
8、FFFFH中的內(nèi)容進(jìn)行讀操作,單片機(jī)不理會片內(nèi)的4K字節(jié)的Flash程序存儲器。2-3在AT89S51單片機(jī)中,如果采用6MHz晶振,一個機(jī)器周期為( 2µs )。參P362-4AT89S51的機(jī)器周期等于(1個機(jī)器周期等于12)個時鐘振蕩周期。參P362-5. 64K程序存儲器空間中有5個單元地址對應(yīng)AT89S51單片機(jī)5個中斷源的中斷入口地址,請寫出這些單元的入口地址及對應(yīng)的中斷源。參P2324答:64K程序存儲器空間中有5個特殊單元分別對應(yīng)于5個中斷源的中斷服務(wù)程序入口地址,見下表:入口地址中斷源0003H外部中斷0 ()000BH定時器0 (T0)0013H外部中斷1 ()0
9、01BH定時器1 (T1)0023H串行口表 5個中斷源的中斷入口地址2-6. 內(nèi)部RAM中,位地址為40H、88H的位,該位所在字節(jié)的字節(jié)地址分別為(28H)和(88H)。參P282-7片內(nèi)字節(jié)地址為2AH單元最低位的位地址是(50H ;片內(nèi)字節(jié)地址為88H單元的最低位的位地址為88H。參P282-8若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為(0)。參P222-9判斷下列說法是否正確。A使用AT89S51且引腳時,仍可外擴(kuò)64KB的程序存儲器。( x )參P29B區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址范圍的低端還是高端。( x)參P29C在AT89S51中,為使準(zhǔn)雙向
10、的IO口工作在輸入方式,必須事先預(yù)置為1。( v )DPC可以看成是程序存儲器的地址指針。( v )參P222-10. AT89S51單片機(jī)復(fù)位后,R4所對應(yīng)的存儲單元的地址為(04H),因上電時PSW=(00H 。這時當(dāng)前的工作寄存器區(qū)是( 0 )組工作寄存器區(qū)。參P242-11判斷以下有關(guān)PC和DPTR的結(jié)論是否正確。A指令可以訪問寄存器DPTR,而PC不能用指令訪問。( v )參P22、P27B它們都是16位寄存器。( v )C在單片機(jī)運行時,它們都具有自動加1的功能。( x )參P22DDPTR可以可以分為2個8位的寄存器使用,但PC不能。( v )P272-12. 內(nèi)部RAM中,可作
11、為工作寄存器區(qū)的單元地址為( 00H-1FH)2-13判斷下列說法是否正確。AAT89S51中特殊功能寄存器(SFR)就是片內(nèi)RAM中的一部分。( x )參P24B片內(nèi)RAM的位尋址區(qū),只能供位尋址使用,而不能進(jìn)行字節(jié)尋址。( x )參P27、P24CAT89S51共有26個特殊功能寄存器,它們的位都是可用軟件設(shè)置的,因此,是可以進(jìn)行位尋址的。( x )參P25DSP稱之為堆棧指針,堆棧是單片機(jī)內(nèi)部的一個特殊區(qū)域,與RAM無關(guān)。( x)參P262-14在程序運行中,PC的值是:( c )A當(dāng)前正在執(zhí)行指令的前一條指令的地址。B當(dāng)前正在執(zhí)行指令的地址。C當(dāng)前正在執(zhí)行指令的下一條指令的首地址。D控
12、制器中指令寄存器的地址。2-15. 通過堆棧操作實現(xiàn)子程序調(diào)用時,首先把( PC)的內(nèi)容入棧,以進(jìn)行斷點保護(hù)。調(diào)用子程序返回時,再進(jìn)行出棧保護(hù),把保護(hù)的斷點送回到(PC 。參P262-16AT89S51單片機(jī)程序存儲器的尋址范圍是由程序計數(shù)器PC的位數(shù)所決定的,因為AT89S51的PC是16位的,因此其尋址的范圍為(64)KB。參P222-17AT89S51的4個并行雙向口P0P3的驅(qū)動能力各為多少?要想獲得較大的輸出驅(qū)動能力,采用低電平輸出還是使用高電平輸出?P0口每位可驅(qū)動8個LSTTL輸入,而P1、P2、P3口的每一位的驅(qū)動能力,只有P0口的一半。當(dāng)P0口的某位為高電平時,可提供400A
13、的電流;當(dāng)P0口的某位為低電平(0.45V)時,可提供3.2mA的灌電流,如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個口要想獲得較大的驅(qū)動能力,只能用低電平輸出。2-18當(dāng)AT89S51單片機(jī)運行出錯或程序陷入死循環(huán)時,如何擺脫困境?參P36 按下復(fù)位按鈕2-19. 判斷下列說法是否正確。APC是一個不可尋址的特殊功能寄存器。( v )參P22B單片機(jī)的主頻越高,其運算速度越快。( v )參P34C在AT89S51單片機(jī)中,1個機(jī)器周期等于1s。( x )參P36D特殊功能寄存器SP內(nèi)存放的是棧頂首地址單元的內(nèi)容。( x)參P262-20. 判斷下列說法是否正確。參P39 AAT89S5
14、1單片機(jī)進(jìn)入空閑模式,CPU停止工作。( v )參P39 BAT89S51單片機(jī)不論是進(jìn)入空閑模式還是掉電運行模式后,片內(nèi)RAM和SFR中的內(nèi)容均保持原來的狀態(tài)。( v)參P39 CAT89S51單片機(jī)進(jìn)入掉電運行模式,CPU和片內(nèi)的外圍電路(如中斷系統(tǒng)、串行口和定時器)均停止工作。( v )參P40 DAT89S51單片機(jī)掉電運行模式可采用響應(yīng)中斷方式來退出。( x )參P403-1判斷以下指令的正誤。參P6164(1)MOV28H, R2; ×(2)DECDPTR; ×(3)INCDPTR; (4)CLRR0; ×(5)CPLR5; ×(6)MOVR
15、0,R1; ×(7)PUSHDPTR; ×(8)MOV F0,C; (9)MOVF0,Acc.3; ×(10)MOVXA,R1; (11)MOVC,30H; (12)RLCR0。×3-2判斷下列說法是否正確。A.立即數(shù)尋址方式是被操作的數(shù)據(jù)本身就在指令中,而不是它的地址在指令中。( v )參P45B.指令周期是執(zhí)行一條指令的時間。( v )參P36C.指令中直接給出的操作數(shù)稱為直接地址。( x )參P45D.內(nèi)部寄存器Rn(n=17)可作為間接尋址寄存器。( x )參P453-3在基址加變址尋址方式中,以(A )作為變址寄存器,以(PC)或(DPTR)作
16、為基址寄存器。P453-4訪問SFR,可使用那些尋址方式?參P44 只能使用直接尋址方式3-5指令格式是由(操作碼)和(操作數(shù))組成,也可僅有(操作碼)組成。P43,P63,P643-6. 假定累加器A中的內(nèi)容為30H,執(zhí)行指令參P45 1000 H:MOVCA,A+PC后,把程序存儲器(1031H)單元的內(nèi)容送入累加器A中。3-7在AT89S51中,PC和DPTR都用于提供地址,但PC是為訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。參P22,參P273-8在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的(地址)。參P45*3-9下列
17、程序段的功能是什么?參P48PUSHAccPUSHBPOPAccPOPB答:A的內(nèi)容與B的內(nèi)容互換。*3-10已知程序執(zhí)行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH,下述程序執(zhí)行后,(A)=( ),(SP)=( ),(51H)=( ),(52H)=( ),(PC)=( )。POPDPH;(SP)=52H,(52H)=FFH,(DPH)=(52H)=FFH,(SP)=51HPOPDPL;(SP)=51H,(51H)=FFH,(DPL)=(51H)=FFH,(SP)=50HMOVDPTR,#4000H;(DPTR)=4000HRLA; 原來(A)=02H,左移一位
18、后(A)=04HMOVB,A;(B)=04H,MOVC A,A+DPTR;(4004H)=30HA,(A)=30HPUSH Acc;(SP)=51H,(51H)=(A)=30HMOVA,B; (A)=04HINCA; (A)=05HMOVC A,A+DPTR; (4005H)=50HA,(A)=50HPUSH Acc;(52H)=(A)=50H, (SP)=52HRET;(PCH)=50H, (SP)=51H, (PCL)=30H, (SP)=50HORG4000H DB10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,
19、(PC)5030H*3-11寫出完成如下要求的指令,但是不能改變未涉及位的內(nèi)容。清零。(B)把累加器A的中間4位清零。置1。答:(A)ANL A,#87H;(A)10000111(B)ANL A,#0C3H;(A)11000011(C)ORL A,#0CH;(A)00001100*3-12假定(A)=83H, (R0)=17H, (17H)=34H, 執(zhí)行以下指令后,(A)=( )。ANLA,#17H; 1000001100010111=00000011A,(A)=00000011ORL17H,A;0011010000000011=0011011117H,(17H)=00110111XRLA,
20、R0; 0000001100110111=00110100ACPLA;(A)=1100101112答:(A)=0CBH。假定(A)=83H, (R0)=17H, (17H)=34H, 執(zhí)行以下指令后,(A)=( )。ANLA,#17H; 1000001100010111=00000011A,;(A)=00000011 ORL17H,A;0011010000000011=0011011117H,;(17H)=00110111 XRLA,R0; 0000001100110111=00110100A; CPLA;(A)=11001011答:(A)=0CBH。3-13假設(shè)(A)=55H,(R3)=0A
21、AH,在執(zhí)行指令“ANL A,R3”后,(A)=( ),(R3)=( )。答:(A)=00H,(R3)=0AAH。3-14如果(DPTR)=507BH,(SP)=32H,(30H)=50H, (31H)=5FH, (32H)=3CH,則執(zhí)行下列指令后,(DPH)=( ), (DPL)=( ), (SP)=( )。POPDPH;(DPH)=3CH, (SP)=31HPOPDPL;(DPL)=5FH, (SP)=30HPOPSP;(SP)=50H答:(DPH)=3CH,(DPL)=5FH,(SP)=50H3-15假定(SP)=60H, (A)=30H, (B)=70H, 則執(zhí)行下列指令后,(SP)
22、=( ), (61H)=( ), (62H)=( )。PUSHAcc;(61H)=30H, (SP)=61HPUSHB;(62H)=70H, (SP)=62H答:(SP)=62H,(61H)=30H,(62H)=70H。3-17對程序存儲器的讀操作,只能使用( D )。參P49A.MOV指令B.PUSH指令C. MOVX指令D. MOVC指令3-18以下指令中,屬于單純讀引腳的指令是( C )。參P59A. MOV P1,AB. ORL P1,#0FHC. MOV C,P1.5D. ANL P1,#0FH.3-19為什么對基本型的51子系列單片機(jī),其寄存器間接尋址方式(例如MOVA,R0)中,
23、規(guī)定R0 或R1的內(nèi)容不能超過7FH,而對增強(qiáng)型的52子系列單片機(jī),R0或R1的內(nèi)容就不受限制。參P24,參P8答:基本型的51子系列單片機(jī),由于其片內(nèi)RAM的地址范圍為00H7FH,而80HFFH為特殊功能寄存器區(qū),而對特殊功能寄存器尋址,只能使用直接尋址方式。對片內(nèi)RAM尋址,當(dāng)使用寄存器間接尋址是采用R0或R1作為間接尋址的,因此R0或R1的內(nèi)容不能超過7FH。增強(qiáng)型的52子系列單片機(jī),片內(nèi)RAM的地址范圍為00HFFH,因此作為間接尋址寄存器的R0或R1的內(nèi)容就不受限制。4-1說明偽指令的作用?!皞巍钡暮x是什么?常用偽指令有那些?其功能如何?參P7072答:偽指令是程序員發(fā)給匯編程序
24、的命令,只有在匯編前的源程序中才有偽指令,即在匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒有相應(yīng)的機(jī)器代碼產(chǎn)生。常用偽指令及其功能如下: ORG(ORiGin)匯編起始地址命令;END(END of assembly)匯編終止命令;EQU(EQUate)標(biāo)號賦值命令;DB(Define Byte)定義數(shù)據(jù)字節(jié)命令;DW(Define Word)定義數(shù)據(jù)字命令;DS(Define Storage)定義存儲區(qū)命令;BIT 位定義命令。4-2 解釋下列術(shù)語:參P7273(1)手工匯編 (2)機(jī)器匯編 (3)反匯編答:手工匯編:通過查指令的機(jī)器代碼表(表3-2),逐
25、個把助記符指令“翻譯”成機(jī)器代碼,再進(jìn)行調(diào)試和運行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。機(jī)器匯編:借助于微型計算機(jī)上的軟件(匯編程序)來代替手工匯編。通過在微機(jī)上運行匯編程序,把匯編語言源程序翻譯成機(jī)器代碼。反匯編:將二進(jìn)制的機(jī)器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。*4-3下列程序段經(jīng)匯編后,從1000H開始的各有關(guān)存儲單元的內(nèi)容是什么?ORG1000HTAB1EQU1234HTAB2EQU3000HDB“MAIN”DWTAB1, TAB2,70H答:從1000H開始的各有關(guān)存儲單元的內(nèi)容(16進(jìn)制)如下:4D 41 49 4E 12 34 30 0000 70 78
26、7F E4 F6 D8 FD 75 81 07 024-4設(shè)計子程序時應(yīng)注意那些問題?參P7373在編寫子程序時應(yīng)注意以下問題:(1)子程序的第一條指令前必須有標(biāo)號。(2)主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令: 絕對調(diào)用指令A(yù)CALL addr11。被調(diào)用的子程序的首地址與絕對調(diào)用指令的下一條指令的高5位地址相同,即只能在同一個2KB區(qū)內(nèi)。 長調(diào)用指令LCALL addr16。addr16為直接調(diào)用的目的地址,被調(diào)用的子程序可放置在64KB程序存儲器區(qū)的任意位置。(3)子程序結(jié)構(gòu)中必須用到堆棧,用來保護(hù)斷點和現(xiàn)場保護(hù)。(4)子程序返回時,必須以RET指令結(jié)束。(5)子程序可以嵌套,但要注
27、意堆棧的沖突。 4-5試編寫一個程序,將內(nèi)部RAM中45H單元的高4位清0,低4位置1。答:參考程序如下:MOVA,45HANLA,#0FH ;高4位清0ORLA,#0FH ;低4位置1MOV45H,A解法2:MOVA,#0FH MOV45H,A;高4位清0,低4位置1*4-6已知程序執(zhí)行前有A=02H ,SP=42H, (41H)=FFH,(42H)=FFH,下述程序執(zhí)行后,A=( ),SP =( ) (41H) = ( ),(42H)= ( ),PC= ( )。POPDPH;(DPH)= FFH,SP=41HPOPDPL;(DPL)=FFH ,SP=40HMOVDPTR,#3000H;DP
28、TR=3000HRLA;(A)=04HMOVB, A;(B)=04HMOVCA,A+DPTR;(A)=50HPUSHAcc;(41H)=50H,SP=41HMOVA,B;(A)=04HINCA;(A)=05HMOVCA,A+DPTR;(A)=80HPUSHAcc;(42H)=80H,SP=42HRET;(PC)=8050H,SP=40HORG3000HDB10H,80H,30H,80H,50H,80H答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H4-7試編寫程序,查找在內(nèi)部RAM的30H50H單元中是否有0AAH這一數(shù)據(jù)。若有,則將51H單元置為 “
29、01H”;若未找到,則將51H單元置為“00H”。答:參考程序如下:START:MOVR0,#30H;內(nèi)部RAM的首地址MOVR2,#20H;要查找的數(shù)據(jù)字節(jié)數(shù)LOOP:MOVA,R0;從內(nèi)部RAM取數(shù)CJNEA,#0AAH,NEXT;判斷是否為“AA”MOV51H,#01H;是 “AA” 將51H單元置為 “01H”LJMPEXITNEXT:INCR0;指向內(nèi)部RAM的下一單元DJNZR2,LOOP;循環(huán)次數(shù)控制MOV51H,#00H;若未找到,則將51H單元置為“00H”EXIT:RET4-8試編寫程序,查找在20H40H單元中出現(xiàn)“00H”這一數(shù)據(jù)的次數(shù),并將查到的結(jié)果存入41H單元。答
30、:參考程序如下:START:MOV41H,#0MOVR0,#20H;內(nèi)部RAM的首地址MOVR2,#20H;數(shù)據(jù)字節(jié)數(shù)LOOP:MOVA,R0;從內(nèi)部RAM取數(shù)JNZNEXT;判斷是否為0INC41H;在內(nèi)部RAM的20H40H單元中出現(xiàn);“00H”這一數(shù)據(jù)的次數(shù)NEXT:INCR0;指向內(nèi)部RAM的下一單元DJNZR2,LOOP;循環(huán)次數(shù)控制RET*4-9在內(nèi)部RAM的21H單元開始存有一組單字節(jié)無符號數(shù),數(shù)據(jù)長度為20H,編寫程序,要求找出最大數(shù)存入MAX單元。答:參考程序如下:ORG 0100H MOVR2, #20H;要比較的數(shù)據(jù)字節(jié)數(shù) MOVA , #21H;內(nèi)部RAM的首地址 MO
31、VR1 , A; DECR2;數(shù)據(jù)長度減1 MOVA , R1 ;從內(nèi)部RAM的首地址取數(shù)LOOP:MOVR3,A;送R3保存 DECR1 CLRC SUBBA,R1 JNCLOOP1 MOVA,R1 SJMPLOOP2LOOP1: MOVA,R3 LOOP2: DJNZR2, LOOP MOVR0,A RET *4-10若SP=60H,標(biāo)號LABEL所在的地址為3456H,LCALL指令的地址為2000H,執(zhí)行如下指令:2000H LCALLLABEL后,堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?PC的值等于什么?如果將指令LCALL直接換成ACALL是否可以?如果換成ACALL指令,可調(diào)用的地
32、址范圍是什么?參P58答:(1)SP=SP+1=61H(61H)=PC的低字節(jié)=03H SP=SP+1=62H(62H)=PC的高字節(jié)=20H(2)PC=3456H(3)不可以(4)2KB2048 Byte*4-11對例4-14中的程序進(jìn)行修改,使其精確延時50ms。答:可對程序做如下修改: ORG 0100HDEL: MOV R7, #200DEL1: MOV R6, #123 ;將原來的立即數(shù)125改為123 DEL2: DJNZ R6, DEL2 NOP ;增加的指令 DJNZR7, DEL1 RET5-1外部中斷1的中斷入口地址為(0013H)H。定時器1的中斷入口地址為(001BH)
33、。參P93*5-2若(IP)= 00010100B,則優(yōu)先級最高者為(外部中斷1)。最低者為(定時器1中斷)。參P925-3 中斷服務(wù)子程序與普通子程序有哪些相同和不同之處?答:RETI指令在返回的同時清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷,而RET指令則沒有這個操作。除了這一點兩條指令不同外,其它操作都相同。參P595-4下列說法正確的是( D )。P89A各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S51的IE寄存器中B各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S51的TMOD寄存器中C各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S51的IP寄存器中D各中斷源發(fā)出的中斷請求信號,都
34、會標(biāo)記在AT89S51的TCON與SCON寄存器中5-5 AT89S51單片機(jī)響應(yīng)外部中斷的典型時間是多少?在哪些情況下,CPU將推遲對外部中斷請求的響應(yīng)?參P94答:在一個單一中斷的系統(tǒng)里,AT89S51單片機(jī)對外部中斷請求的響應(yīng)時間總是在38個機(jī)器周期之間。在下述三種情況下,AT89S51將推遲對外部中斷請求的響應(yīng):(1)AT89S51正在處理同級或更高優(yōu)先級的中斷。(2)所查詢的機(jī)器周期不是當(dāng)前正在執(zhí)行指令的最后一個機(jī)器周期。(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。如果存在上述三種情況之一,AT89S51將丟棄中斷查詢結(jié)果,將推遲對外部中斷請求的響應(yīng)。5-6中斷查詢確認(rèn)后
35、,在下列各種AT89S51單片機(jī)運行情況下,能立即進(jìn)行響應(yīng)的是( D )。參P94A當(dāng)前正在進(jìn)行高優(yōu)先級中斷處理B當(dāng)前正在執(zhí)行RETI指令C當(dāng)前指令是DIV指令,且正處于取指令的機(jī)器周期D當(dāng)前指令是MOVA,R35-7AT89S51單片機(jī)響應(yīng)中斷后,首先由硬件自動生成一條長調(diào)用指令LCALL,執(zhí)行該指令的過程包括:首先把( pc)內(nèi)容壓入堆棧,以進(jìn)行斷點保護(hù),然后把長調(diào)用指令的16位地址送( pc ),使程序執(zhí)行轉(zhuǎn)向(程序存儲器)中的中斷地址區(qū)。參P93*5-8編寫外部中斷1為下跳沿觸發(fā)的中斷初始化程序段。參P9091答: 參考程序段如下:SETBIT1SETBEX1SETBEA5-9在AT8
36、9S51的中斷請求源中,需要外加電路實現(xiàn)中斷撤銷的是( A )。參P9596A電平方式的外部中斷請求B下跳沿觸發(fā)的外部中斷請求C外部串行中斷D定時中斷*5-10中斷響應(yīng)需要滿足哪些條件?參P93答:一個中斷源的中斷請求被響應(yīng),必須滿足以下必要條件:(1)總中斷允許開關(guān)接通,即IE寄存器中的中斷總允許位EA=1。(2)該中斷源發(fā)出中斷請求,即該中斷源對應(yīng)的中斷請求標(biāo)志為“1”。(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無同級或更高級中斷正在被服務(wù)。5-11下列說法正確的是( (A)、(C)、(D) )。A同一級別的中斷請求按時間的先后順序響應(yīng)B同一時間同一級別的多中斷請求,將形成阻塞
37、,系統(tǒng)無法響應(yīng)C低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求能中斷低優(yōu)先級中斷請求D同級中斷不能嵌套*5-12某系統(tǒng)有三個外部中斷源1、2、3,當(dāng)某一中斷源發(fā)出的中斷請求使引腳變?yōu)榈碗娖綍r(參見圖5-10),便要求CPU進(jìn)行處理,它們的優(yōu)先處理次序由高到低為3、2、1,中斷處理程序的人口地址分別為1000H,1100H,1200H。試編寫主程序及中斷服務(wù)子程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。答:參見電路如圖5-10,參考程序如下:ORG0000HLJMPMAINORG0013HLJMPINT_EX1ORG0030HMAIN:CLRIT0;采用電平觸發(fā),低電平有效中斷SE
38、TBEX1;允許外部中斷1SETBEA;插入一段用戶程序WAIT: MOVPCON,#01H;單片機(jī)進(jìn)入休眠方式等待中斷NOPLJMPWAIT;以下為外部中斷1服務(wù)子程序INT_EX1:JBP1.2,NEXT1;判斷是不是3號中斷 LJMPINT_IR3;跳轉(zhuǎn)到3號中斷處理程序NEXT1:JBP1.1,NEXT2;判斷是不是2號中斷 LJMPINT_IR2;跳轉(zhuǎn)到2號中斷處理程序NEXT2:LJMPINT_IR1;跳轉(zhuǎn)到1號中斷處理程序ORG1000HINT_IR3:相應(yīng)中斷處理程序RETI;中斷返回ORG1100HINT_IR2:相應(yīng)中斷處理程序RETI;中斷返回ORG1200HINT_IR
39、1:相應(yīng)中斷處理程序RETI;中斷返回第6章 AT89S51的定時/計數(shù)器參考答案6-1下列說法正確的是( A )。參P90,參P102103A 特殊功能寄存器SCON,與定時器計數(shù)器的控制無關(guān) 對 B特殊功能寄存器TCON,與定時器計數(shù)器的控制無關(guān) 錯C特殊功能寄存器IE,與定時器計數(shù)器的控制無關(guān) 錯 D特殊功能寄存器TMOD,與定時器計數(shù)器的控制無關(guān) 錯 *6-2如果采用的晶振頻率為3MHZ,定時器計數(shù)器工作在方式0、1、2下,其最大定時時間各為多少?答:因為機(jī)器周期:所以定時器/計數(shù)器工作方式0下,其最大定時時間為所以定時器/計數(shù)器工作方式1下,其最大定時時間為所以定時器/計數(shù)器工作方式
40、2下,其最大定時時間為6-3定時器/計數(shù)器用作定時器模式時,其計數(shù)脈沖由誰提供?定時時間與哪些因素有關(guān)?參P102答:定時/計數(shù)器作定時器模式時,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時鐘信號12分頻后提供。定時時間與時鐘頻率和定時初值有關(guān)。6-4定時器/計數(shù)器用作計數(shù)器模式時,對外界計數(shù)頻率有何限制?參P107答:由于確認(rèn)1次負(fù)跳變要花2個機(jī)器周期,即24個振蕩周期,因此外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。6-6. 定時器/計數(shù)器的工作方式2具有什么特點?適用于哪些應(yīng)用場合?答:定時器/計數(shù)器的工作方式2具有自動恢復(fù)初值的特點,適用于精確定時,比如波特率的產(chǎn)生。參P1056-8
41、. 一個定時器的定時時間有限,如何使用兩個定時器的串行定時來實現(xiàn)較長時間的定時? 產(chǎn)生),另一個定時器工作在計數(shù)方式。這樣兩個定時器的定時時間為一個定時器的定時時間乘以另一個定時器的計數(shù)值。6-9. 當(dāng)定時器T0用于方式3時,應(yīng)該如何控制定時器T1的啟動和關(guān)閉?參P106答:控制信號C/T和M1 M0。定時器T1的啟動是工作于方式0、1、2。定時器T1的關(guān)閉是工作于方式3。*6-10定時器計數(shù)器測量某正單脈沖的寬度,采用何種方式可得到最大量程?若時鐘頻率為6MHz,求允許測量的最大脈沖寬度是多少?答:采用方式1定時工作方式。最大脈沖寬度為131.072ms。*6-12. THX與TLX(X=0
42、,1)是普通寄存器還是計數(shù)器?其內(nèi)容可以隨時用指令更改嗎?更改后的新值是立即刷新還是等當(dāng)前計數(shù)器計滿之后才能刷新?參P101答:THx與TLx (x=0,1)是由特殊功能寄存器構(gòu)成的計數(shù)器,其內(nèi)容可以隨時用指令更改,更改后的新值是立即刷新。但在讀THx、TLx的值時,應(yīng)該先讀THx值,后讀TLx,再讀THx。若兩次讀得THx相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THx有變化,再重復(fù)上述過程。7-1幀格式為1個起始位,8個數(shù)據(jù)位和1個停止位的異步串行通信方式是方式( 1 )。參P1237-2在串行通信中,收發(fā)雙方對波特率的設(shè)定應(yīng)該是(相等的)的。參P1287-3下列選項中,( ABDE
43、)是正確的。(A) 串行口通信的第9數(shù)據(jù)位的功能可由用戶定義。(對)參P127(B) 發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的內(nèi)容在SCON寄存器的TB8位中預(yù)先準(zhǔn)備好的。(對)(C) 串行通信幀發(fā)送時,指令把TB8位的狀態(tài)送入發(fā)送SBUF中。(錯)參P125(D)串行通信接收到的第9位數(shù)據(jù)送SCON寄存器的RB8中保存。(對)參P125(E)串行口方式1的波特率是可變的,通過定時器/計數(shù)器T1的溢出率設(shè)定。(對)參P1287-4通過串行口發(fā)送或接收數(shù)據(jù)時,在程序中應(yīng)使用:參P132135 (C)(A)MOVC指令 (B)MOVX指令(C)MOV指令 (D)XCHD指令7-5串行口工作方式1的波特率是:參P12
44、8 (C)(A) 固定的,為fosc/32。(B)固定的,為fosc/16。(C)可變的,通過定時器/計數(shù)器T1的溢出率設(shè)定。(D)固定的,為fosc/64。7-6在異步串行通信中,接收方是如何知道發(fā)送方開始發(fā)送數(shù)據(jù)的?參P123124答:當(dāng)接收方檢測到RXD端從1到0的跳變時就啟動檢測器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認(rèn)是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。7-7串行口有幾種工作方式?(參P120)有幾種幀格式?(參P121,P123124)各種工作方式的波特率如何確定?參P128答:串行口有4種工作方式:方式0、方式1、方
45、式2、方式3;有3種幀格式,方式2和3具有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,方式1的波特率=2SMOD/32×定時器T1的溢出率,方式2的波特率=2SMOD/64×fosc,方式3的波特率=2SMOD/32×定時器T1的溢出率*7-8假定串行口發(fā)送的字符格式為1個起始位,8個數(shù)據(jù)位,1個奇校驗位,1個停止位,請畫出傳送字符“B”的幀格式?答:字符“B”的ASCII碼為“42H”(既0BH+37H),幀格式如下:數(shù)字(09)H的ASCII碼為(09)+30H,數(shù)字(AHFH)的ASCII碼為(AF)+37H。請畫出傳送字符“C”的幀格式
46、?7-9為什么定時器/計數(shù)器T1用作串行口波特率發(fā)生器時,常采用方式2?若已知時鐘頻率,串行通信的波特率,如何計算裝入T1的初值? 參P128答:因為定時器/計數(shù)器在方式2下,初值可以自動重裝,這樣在做串口波特率發(fā)生器設(shè)置時,就避免了執(zhí)行重裝參數(shù)的指令所帶來的時間誤差。設(shè)定時器T1方式2的初值為X,計算初值X可采用如下公式: 波特率 = 定時器T1的溢出率=計數(shù)速率/(256-X)=fosc/(256-X)*12故計數(shù)器初值為256X = 2SMOD ×fosc/12×32×波特率*7-10若晶體振蕩器為11.0592MHZ,串行口工作于方式1
47、,波特率為4800b/s,寫出用T1作為波特率發(fā)生器的方式控制字和計數(shù)初值。答:方式1的波特率 = = 4800 bit/s(T1工作于方式2)X=250=FAH經(jīng)計算,計數(shù)初值為FAH,初始化程序如下:ANL TMOD,#0F0H;屏蔽低4位ORLTMOD,#20H;T1定時模式工作方式2 MOVTH1,#0FAH;寫入計數(shù)初值,波特率為4800b/s MOVTL1,#0FAH MOVSCON,#40H;串行口工作于方式1參P119解法2:由 (T1工作于方式2)得初始化程序如下:ORG0000HANL TMOD,#0F0H;屏蔽低4位 ORLTMOD,#10H;T1定時模式方式1MOVTH
48、1,#0FFH;寫入計數(shù)初值,為4800b/sMOVTL1,#0F4H MOVSCON,#40H;串行口工作于方式1MOVPCON,#80H ;串行通信波特率加倍7-11簡述利用串行口進(jìn)行多機(jī)通信的原理。答:見7.3節(jié)的介紹。(P127)7-12使用AT89S51的串行口按工作方式1進(jìn)行串行數(shù)據(jù)通信,假定波特率為2400bit/s,以中斷方式傳送數(shù)據(jù) ,請編寫全雙工通信程序。答:見小節(jié)的介紹(P132)。*7-13某AT89S51單片機(jī)串行口,傳送數(shù)據(jù)的幀格式為1個起始位(0),7個數(shù)據(jù)位,1個偶校驗位和1個停止位(1)組成。當(dāng)該串行口每分鐘傳送1800個字符時,試計算出波特率。答:串口每秒鐘
49、傳送的字符為:1800/60=30個字符/秒,所以波特率為:30個字符/秒×10位/個字符=300bit/s。或波特率=1800×(1+7+1+1)/60=300bit/s7-14為什么AT89S51單片機(jī)串行口的方式0幀格式?jīng)]有起始位(0)和停止位(1)?答:串行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/O口,一般不用于兩個MCS-51之間的串行通信。該方式以fosc/12的固定波特率從低位到高位發(fā)送或接收數(shù)據(jù)。8-1單片機(jī)存儲器的主要功能是存儲(程序)和(數(shù)據(jù))。參P1418-2假設(shè)外部數(shù)據(jù)存儲器2000H單元的內(nèi)容為80H,執(zhí)行下列指
50、令后累加器A中的內(nèi)容為(80H)。MOVP2,#20HMOVR0,#00HMOVXA,R08-3在存儲器擴(kuò)展中,無論是線選法還是譯碼法,最終都是為了擴(kuò)展芯片的片選端提供(片選)控制。P1438-4起止范圍為0000H-3FFFH的存儲器的容量是(16)KB。參P1578-5在AT89S51單片機(jī)中,PC和DPTR都用于提供地址,但PC是為訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。8-611根地址線可選(2KB)個存儲單元,16KB存儲單元需要(14)根地址線。8-74KB RAM存儲器的首地址若為0000H,則末地址為( 0FFF)H8-8區(qū)分MCS-51單片機(jī)片外
51、程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是:參P158(C,D)A看其位于地址范圍的低端還是高段B看其離MCS-51芯片的遠(yuǎn)近C看其芯片的型號是ROM還是RAM D看其是與信號連接還是與信號連接8-10編寫程序,將外部數(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é)束
52、END*8-11在AT89S51單片機(jī)系統(tǒng)中,外接程序存儲器和數(shù)據(jù)存儲器共16位地址線和8位數(shù)據(jù)線,為何不會發(fā)生沖突?參P159答:因為控制信號線的不同:外擴(kuò)的RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為和。外擴(kuò)RAM的讀、寫控制引腳分別與AT89S51的和引腳相連。外擴(kuò)的EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入控制引腳,只有讀出引腳,記為,該引腳與AT89S51單片機(jī)的相連。*8-12請寫出 圖814中4片程序存儲器27128各自所占的地址空間。參P153答:圖中采用了譯碼法。4片地址分別為0000H-3FFFH、4000H-7FFFH、8000H-B
53、FFFH、C000H-FFFFH。*8-13現(xiàn)有AT89S51單片機(jī)、74LS373鎖存器、1片2764EPROM和2片6264RAM,請使用他們組成一個單片機(jī)系統(tǒng),要求如下:(1)畫出硬件電路連線圖,并標(biāo)注主要引腳;(2)指出該應(yīng)用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址范圍。答:(1)電路圖如下所示:(2)2764(C000HDFFFH)、1#6264(A000HBFFFH)、2#6264(6000H7FFFH)解2:(1)電路圖在P158圖8-20中去掉IC2即可,(2)2764的地址為C000H-DFFFH;IC3(6264)的地址為C000H-DFFFH;IC4(6264)的地址為A000H-BFFFH。8-14答:(1)A組跨接端子的內(nèi)部正確連線圖(2)B組跨接端子的內(nèi)部正確連線圖 注意:答案不唯一,還有其他連接方法,也可滿足題目要求。注意:答案不唯一,還有其他連接方法,也可滿足題目要求。9-1判斷下列說法是否正確。A. 由于8155H不具有地址鎖存功能 ,因此在與8031的接口電路中必須加地址鎖存器。B. 在8155H芯片中,決定端口和RAM單元編址的信號線是AD7-AD0和/WRC. 8255A 具有三態(tài)緩沖器,因此可以直接掛在系統(tǒng)的數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 讀書的體會作文400字
- 儀器、設(shè)備維修申請單范本
- 大學(xué)的學(xué)習(xí)計劃15篇
- 2023四年級語文下冊 第3單元 9 短詩三首配套教學(xué)實錄 新人教版
- 代理成本-詳解
- 2024-2025學(xué)年高中政治 專題4 4 堅持和完善人民代表大會制度教學(xué)實錄 新人教版選修3
- 趣味籃球活動方案9篇
- 公司的承諾書合集七篇
- 2024年版民辦幼兒園經(jīng)營管理承包合同版B版
- 前臺年度工作總結(jié)5篇
- CX-TGK01C型微電腦時間溫度控制開關(guān)使用說明書
- CDR-臨床癡呆評定量表
- 《八年級下學(xué)期語文教學(xué)個人工作總結(jié)》
- 電儀工段工段長職位說明書
- 恒亞水泥廠電工基礎(chǔ)試題
- 簡易送貨單EXCEL打印模板
- 4s店信息員崗位工作職責(zé)
- 旋轉(zhuǎn)導(dǎo)向+地質(zhì)導(dǎo)向+水平井工具儀器介紹
- 無心磨的導(dǎo)輪及心高調(diào)整講解
- 乳腺癌化療的不良反應(yīng)級處理ppt課件
- 艾灸療法(課堂PPT)
評論
0/150
提交評論