版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除第 1 章單片機概述參考答案1答:微控制器,嵌入式控制器2答: CPU、存儲器、 I/O 口、總線3答: C4答: B5答:微處理器、微處理機和 CPU它們都是中央處理器的不同稱謂,微處理器芯片本身不是計算機。而微計算機、單片機它們都是一個完整的計算機系統(tǒng),單片機是集成在一個芯片上的用于測控目的的單片微計算機。嵌入式處理器一般意義上講,是指嵌入系統(tǒng)的單片機、 DSP、嵌入式微處理器。目前多把嵌入式處理器多指嵌入式微處理器,例如 ARM7、ARM9等。嵌入式微處理器相當(dāng)于通用計算機中的 CPU。與單片機相比,單片機本身(或稍加擴展)就是一個小的計算機系
2、統(tǒng),可獨立運行,具有完整的功能。而嵌入式微處理器僅僅相當(dāng)于單片機中的中央處理器。為了滿足嵌入式應(yīng)用的特殊要求, 嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。6答: MCS-51系列單片機的基本型芯片分別:8031、8051和8071。它們的差別是在片內(nèi)程序存儲器上。 8031無片內(nèi)程序存儲器、 8051片內(nèi)有 4K字節(jié)的程序存儲器 ROM,而 8751片內(nèi)有集成有 4K字節(jié)的程序存儲器 EPROM。7答:因為 MCS-51系列單片機中的“ MCS”是 Intel公司生產(chǎn)的單片機的系列符號,而51系列單片機是指世界各個廠家生產(chǎn)的
3、所有與8051的內(nèi)核結(jié)構(gòu)、指令系統(tǒng)兼容的單片機。8答:相當(dāng)于 MCS-51 系列中的 87C51,只不過是 AT89S51芯片內(nèi)的 4K 字節(jié) Flash存儲器取代了 87C51 片內(nèi)的 4K 字節(jié)的 EPROM。9單片機體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實現(xiàn)各種方式的檢測和控制。 單片機在嵌入式處理器市場占有率最高,最大特點是價格低,體積小。只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除DSP 是一種非常擅長于高速實現(xiàn)各種數(shù)字信號處理運算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。由于對其硬件結(jié)構(gòu)和指令進行了特殊設(shè)計,使其能夠高速完成各種復(fù)雜
4、的數(shù)字信號處理算法。廣泛地用于通訊、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機控制系統(tǒng),生物信息識別終端,實時語音壓解系統(tǒng)等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這些正是 DSP 的長處所在。與單片機相比, DSP 具有的實現(xiàn)高速運算的硬件結(jié)構(gòu)及指令和多總線, DSP處理的算法的復(fù)雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機不可企及的。嵌入式微處理器的基礎(chǔ)是通用計算機中的 CPU,它的地址總線數(shù)目較多能擴展較大的存儲器空間,所以可配置實時多任務(wù)操作系統(tǒng) (RTOS)。 RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。正由于嵌入式微處理器能運行實時多任務(wù)操作系統(tǒng),所
5、以能夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,廣泛地應(yīng)用在移動計算平臺、媒體手機、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)備、 ATM 機等)、電子商務(wù)平臺、信息家電(機頂盒、數(shù)字電視)以及軍事上的應(yīng)用。10廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器” ,如單片機、 DSP、嵌入式微處理器,都稱其為“嵌入式系統(tǒng)” 。但多數(shù)人把 “嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒有一個嚴(yán)格和權(quán)威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。第 2 章 AT89S51 單片機的硬件結(jié)構(gòu)參考答案1答: AT89S51單片機的片內(nèi)都集成了如下功能部件: (1) 1個微處理器( CP
6、U);(2)128個數(shù)據(jù)存儲器( 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)25個特殊功能寄存器 (SFR),(10) 1個看門狗定時器。2答:當(dāng) EA 腳為高電平時,單片機讀片內(nèi)程序存儲器(4K 字節(jié) Flash)中的內(nèi)容,但在 PC值超過 0FFFH(即超出 4K字節(jié)地址范圍)時,將自動轉(zhuǎn)向讀外部程序存儲器內(nèi)的程序;只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站
7、刪除當(dāng) EA 腳為低電平時,單片機只對外部程序存儲器的地址為 0000H FFFFH中的內(nèi)容進行讀操作,單片機不理會片內(nèi)的 4K 字節(jié)的 Flash程序存儲器。3答: 2s4答: 1個機器周期等于 12個時鐘振蕩周期。5. 答:64K程序存儲器空間中有 5個特殊單元分別對應(yīng)于 5個中斷源的中斷服務(wù)程序入口地址,見下表:表 5個中斷源的中斷入口地址入口地址中斷源0003H外部中斷 0 ( INT0 )000BH定時器 0 (T0)0013H外部中斷 1 ( INT1 )001BH定時器 1 (T1)0023H串行口6. 答: 28H; 88H。7答: 50H;88H。8答: P 標(biāo)志位的值為 0
8、。9答:(A)錯;( B)錯;(C)對;(D)對。10. 答: 04H;00H;0 組。11答: (A) 對; (B) 對; (C) 錯; (D) 對。12. 答:字節(jié)地址 00H-1FH的單元可作為工作寄存器區(qū)。13答: (A) 錯; (B) 錯; (C) 錯; (D) 錯。14答:(C)。只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除15. 答: PC; PC。16答: 64K 字節(jié)。17P0 口每位可驅(qū)動 8 個 LSTTL輸入,而 P1、P2、P3 口的每一位的驅(qū)動能力,只有 P0 口的一半。當(dāng) P0 口的某位為高電平時,可提供 400 A 的電流;當(dāng) P0 口的某位為低電
9、平(0.45V)時,可提供 3.2mA 的灌電流,如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個口要想獲得較大的驅(qū)動能力,只能用低電平輸出。18答:按下復(fù)位按鈕。19. 答: (A) 對; (B) 對;(C)錯;(D)錯。20. 答: (A) 對; (B) 對;(C)對;(D)錯。第 3 章 AT89S51 的指令系統(tǒng)參考答案1答:( 1)錯(2)錯(3)對(4)錯(5)錯(6)錯(7)錯(8)對(9)錯(10)對(11)對( 12)錯。2答:(A)對( B)對( C)錯( D)錯。3答: A,PC,DPTR。4答:只能使用直接尋址方式。5答:操作碼,操作數(shù),操作碼。6. 答: 1031H
10、。7答:程序,數(shù)據(jù)。8答:地址。9答: A 的內(nèi)容與 B 的內(nèi)容互換。10答:( A) =50H,(SP)=50H,( 51H)=30H,(52H)=50H,(PC) 5030H只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除11答:( A) ANLA,#87H( B) ANL A,#0C3H( C) ORL A,#0CH12答:( A) =0CBH。13答:( A) =00H,(R3)=0AAH。14答:( DPH)=3CH,(DPL)=5FH,(SP)=50H15答:( SP)=62H,(61H)=30H,(62H) =70H。16答:MOVR7,APUSHAccMOVA,BMO
11、VXDPTR,A17答:( D)。18答:( C)。19答:基本型的 51 子系列單片機,由于其片內(nèi) RAM 的地址范圍為 00H 7FH,而 80H FFH為特殊功能寄存器區(qū), 而對特殊功能寄存器尋址, 只能使用直接尋址方式。 對片內(nèi) RAM 尋址,當(dāng)使用寄存器間接尋址是采用 R0 或 R1 作為間接尋址的,因此 R0 或 R1 的內(nèi)容不能超過 7FH。增強型的 52 子系列單片機,片內(nèi) RAM 的地址范圍為 00HFFH,因此作為間接尋址寄存器的 R0 或 R1 的內(nèi)容就不受限制。第 4 章 AT89S51 匯編語言程序的設(shè)計與調(diào)試參考答案1答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編
12、前的源程序中才有偽指令,即在匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒有相應(yīng)的機器代碼產(chǎn)生。常用偽指令及其功能如下:ORG(ORiGin)匯編起始地址命令; END(END of assembly)匯編終止命令; EQU( EQUate)標(biāo)只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除號賦值命令; DB(Define Byte)定義數(shù)據(jù)字節(jié)命令; DW(Define Word)定義數(shù)據(jù)字命令;DS(Define Storage)定義存儲區(qū)命令; BIT 位定義命令2 答:手工匯編:通過查指令的機器代碼表 (表 3-2),逐個把助記符指令 “翻譯”成機器代
13、碼,再進行調(diào)試和運行。這種人工查表“翻譯”指令的方法稱為“手工匯編” 。機器匯編:借助于微型計算機上的軟件 (匯編程序 )來代替手工匯編。通過在微機上運行匯編程序,把匯編語言源程序翻譯成機器代碼。反匯編:將二進制的機器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。3答:從 1000H開始的各有關(guān)存儲單元的內(nèi)容(16 進制 ) 如下:4D 41 49 4E 12 34 30 0000 704在編寫子程序時應(yīng)注意以下問題:(1)子程序的第一條指令前必須有標(biāo)號。(2)主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令: 絕對調(diào)用指令 ACALL addr11。被調(diào)用的子程序的首地址與絕對調(diào)用指令的下一條指
14、令的高 5 位地址相同,即只能在同一個 2KB 區(qū)內(nèi)。 長調(diào)用指令 LCALL addr16。 addr16 為直接調(diào)用的目的地址,被調(diào)用的子程序可放置在 64KB程序存儲器區(qū)的任意位置。(3)子程序結(jié)構(gòu)中必須用到堆棧,用來保護斷點和現(xiàn)場保護。(4)子程序返回時,必須以RET指令結(jié)束。(5)子程序可以嵌套,但要注意堆棧的沖突。5答:參考程序如下:MOVA, 45H只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除ANLA,#0FHORLA,#0FHMOV45H,A6答: A=80H ,SP=40H,(41H)=50H, (42H)=80H ,PC=8050H7答:參考程序如下:STAR
15、T: MOVR0,#30HMOVR2,#20HLOOP:MOVA,R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET8答:參考程序如下:START: MOV41H,#0MOVR0,#20HMOVR2,#20HLOOP: MOVA,R0JNZNEXTINC41HNEXT: INCR0DJNZR2,LOOPRET9答:參考程序如下:ORG0100H只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除MOVR2, #20H要比較的數(shù)據(jù)字節(jié)數(shù)MOVA , #21HMOVR1,ADECR2MOV
16、A,R1LOOP:MOVR3,ADECR1CLRCSUBBA, R1JNCLOOP1MOVA, R1SJMPLOOP2LOOP1:MOVA,R3LOOP2:DJNZR2, LOOPMOVR0,ARET10答:( 1)SP=SP+1=61H(61H)=PC的低字節(jié) =03HSP=SP+1=62H(62H)=PC的高字節(jié) =20H( 2)PC=3456H( 3)不可以( 4)2KB 2048 Byte11答:可對程序做如下修改:ORG0100HDEL:MOVR7, #200只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除DEL1:MOVR6, #123;將原來的立即數(shù)125 改為 123
17、DEL2:DJNZR6, DEL2NOP;增加的指令DJNZR7, DEL1RET程序修改后的延時時間為:1+(1+123*2+1+2)*200+2=50003us=50.003ms第 5 章 AT89S51 的中斷系統(tǒng)參考答案1答: 0013H;001BH2答:外部中斷1,定時器 T13 答:RETI指令在返回的同時清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷, 而 RET指令則沒有這個操作。除了這一點兩條指令不同外,其它操作都相同。4答: D5 答:在一個單一中斷的系統(tǒng)里,AT89S51單片機對外部中斷請求的響應(yīng)時間總是在3 8 個機器周期之間。在下述三種情況下, AT89S51將推遲對外部中斷
18、請求的響應(yīng):(1)AT89S51正在處理同級或更高優(yōu)先級的中斷。(2)所查詢的機器周期不是當(dāng)前正在執(zhí)行指令的最后一個機器周期。(3)正在執(zhí)行的指令是RETI或是訪問 IE 或 IP 的指令。如果存在上述三種情況之一, AT89S51將丟棄中斷查詢結(jié)果, 將推遲對外部中斷請求的響應(yīng)。只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除6答: D7答: PC、PC、程序存儲器8答 :參考程序段如下:SETBIT1SETBEX1SETBEA9答:(A)10答:一個中斷源的中斷請求被響應(yīng),必須滿足以下必要條件:(1)總中斷允許開關(guān)接通,即IE 寄存器中的中斷總允許位EA=1。(2)該中斷源發(fā)出中
19、斷請求,即該中斷源對應(yīng)的中斷請求標(biāo)志為“1”。(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無同級或更高級中斷正在被服務(wù)。11答:(A)、(C)、(D)12答:參見電路如圖5-10,參考程序如下:ORG0000HLJMPMAINORG0013HLJMPINT_EX1ORG0030HMAIN:CLRIT0;采用電平觸發(fā),低電平有效中斷SETBEX1;允許外部中斷1只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除SETBEA;插入一段用戶程序WAIT:MOVPCON,#01H ;單片機進入休眠方式等待中斷NOPLJMPWAIT;以下為外部中斷1 服務(wù)子程序INT_EX1: JB
20、P1.2, NEXT1;判斷是不是 3 號中斷LJMPINT_IR3;跳轉(zhuǎn)到 3 號中斷處理程序NEXT1:JB P1.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_IR1:相應(yīng)中斷處理程序RETI;中斷返回第 6 章 AT89S51 的定時 / 計數(shù)器參考答案只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除1答:( A)對;(
21、B)錯;(C)錯;(D)錯;2答:因為機器周期:12124( s)Tcy3 106f OSC所以定時器 / 計數(shù)器工作方式0 下,其最大定時時間為TMAX 213 TC 2134 1068.192( ms)同樣可以求得方式1 下的最大定時時間為262.144ms;方式2 下的最大定時時間為1024ms。3答:定時 / 計數(shù)器作定時時,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時鐘信號12 分頻后提供。定時時間與時鐘頻率和定時初值有關(guān)。4答:由于確認(rèn)1 次負(fù)跳變要花 2 個機器周期,即24 個振蕩周期,因此外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。5答:定時器 / 計數(shù)器 T0 在計數(shù)和定時
22、工作完成后,均采用中斷方式工作。除了第一次計數(shù)工作方式設(shè)置在主程序完成外,后面的定時或計數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識別下一輪定時器/ 計數(shù)器 T0 的工作方式。參考程序如下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:MOVTMOD,#06H;定時器 / 計數(shù)器 T0 為計數(shù)方式 2MOVTL0,#156;計數(shù) 100 個脈沖的初值賦值MOVTH0,#156只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除SETBGATE;打開計數(shù)門SETBTR0;啟動 T0,開始計數(shù)SETBET0;允許 T0 中斷SETBEA; CPU開中斷CLRF0;設(shè)
23、置下一輪為定時方式的標(biāo)志位WAIT: AJMPWAITIT0P: CLREA;CPU關(guān)中斷JBF0,COUNT; F0=1,轉(zhuǎn)計數(shù)方式設(shè)置MOVTMOD,#00H;定時器 / 計數(shù)器 T0 為定時方式 0MOVTH0,#0FEH;定時 1ms 初值賦值MOVTL0,#0CHSETBEARETICOUNT: MOVTMOD,#06HMOVTL0,#156SETBEARETI6. 答:定時器 / 計數(shù)器的工作方式 2 具有自動恢復(fù)初值的特點,適用于精確定時,比如波特率的產(chǎn)生。7. 答:根據(jù)題意,從 P1.0 輸出的矩形脈沖的高低電平的時間為 10:1 ,則高低電平的時間分別為 363.63 s 和
24、 36.37 s。如果系統(tǒng)采用 6MHz晶振的話, Tcy=2s,因此高低電平輸出取整,則約為 364s 和 36s。參考程序如下:ORG0000H只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除LJMPMAINORG000BHLJMPIT0PMAIN: MOVTMOD,#02H;定時器 / 計數(shù)器 T0 為定時方式 2MOVTL0,#4AH;定時 364s 初值賦值SETBTR0;啟動 T0,開始計數(shù)SETBET0;允許 T0 中斷SETBEA; CPU開中斷SETBP1.0WAIT:AJMPWAITIT0P: CLREACLRP1.0;關(guān)中斷MOVR0,#9DLY: DJNZR0
25、,DLY;延時 36sMOVTL0,#4AH;定時 364s 初值賦值SETBP1.0SETBEARETI8. 答:方法 1,在第一個定時器的中斷程序里關(guān)閉本定時器的中斷程序,設(shè)置和打開另一個定時器;在另一個定時器的中斷程序中關(guān)閉本定時中斷, 設(shè)置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。方法 2,一個作為定時器, 在定時中斷后產(chǎn)生一個外部計數(shù)脈沖 (比如由 P1.0 接 INT0 產(chǎn)生),另一個定時器工作在計數(shù)方式。這樣兩個定時器的定時時間為一個定時器的定時時間只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除乘以另一個定時器的計數(shù)值。9. 答:由 TMOD 寄
26、存器的 D6 位“ C/T*”來控制定時器 T1 的啟動和關(guān)閉。10. 答:采用方式 1 定時工作方式。最大脈沖寬度為 131.072ms。11. 答:將 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,TH0MOVR
27、0,TL0AJMP$IT0P: INCR2RETI只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除12. 答: THx 與 TLx (x=0,1)是由特殊功能寄存器構(gòu)成的計數(shù)器,其內(nèi)容可以隨時用指令更改,更改后的新值是立即刷新。但在讀 THx、TLx 的值時,應(yīng)該先讀 THx 值,后讀 TLx,再讀 THx。若兩次讀得THx 相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THx 有變化,再重復(fù)上述過程。第 7 章 AT89S51 的串行口參考答案1答:方式 1。2答:相等的。3答: A對; B對; C錯; D對; E對。4答: C5答: C6答:當(dāng)接收方檢測到RXD端從 1 到 0
28、的跳變時就啟動檢測器,接收的值是3 次連續(xù)采樣,取其中 2 次相同的值,以確認(rèn)是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。7答:串行口有4 種工作方式:方式0、方式 1、方式 2、方式 3;有 3 種幀格式,方式 2 和 3 具有相同的幀格式;方式 0 的發(fā)送和接收都以 fosc/12 為固定波特率,方式 1 的波特率 =2SMOD/32 ×定時器 T1 的溢出率方式 2 的波特率 =2SMOD/64 ×fosc方式 3 的波特率 =2SMOD/32 ×定時器 T1 的溢出率8答:字符“ B”的 ASCII碼為“ 42H
29、”,幀格式如下:9答:因為定時器 / 計數(shù)器在方式2 下,初值可以自動重裝,這樣在做串口波特率發(fā)只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除生器設(shè)置時,就避免了執(zhí)行重裝參數(shù)的指令所帶來的時間誤差。設(shè)定時器 T1 方式 2 的初值為 X,計算初值 X 可采用如下公式:波特率 =2SMODf osc3212(256 X )10答:經(jīng)計算,計數(shù)初值為FAH,初始化程序如下:ANLTMOD,#0F0H;屏蔽高 4 位ORLTMOD,#20H;控制字MOVTH1,#0FAH;寫入計數(shù)初值MOVTL1,#0FAHMOVSCON,#40H11答:見 7.3 節(jié)的介紹。12答:見 7.5.3 小
30、節(jié)的介紹13答:串口每秒鐘傳送的字符為:1800/60=30 個字符 / 秒所以波特率為: 30 個字符 / 秒× 10 位/ 個字符 =300b/s14答:串行口的方式0 為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴展并行 I/O 口,一般不用于兩個MCS-51 之間的串行通信。該方式以fosc/12 的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。15答:直接以TTL 電平串行傳輸數(shù)據(jù)的方式的缺點是傳輸距離短,抗干擾能力差。因此在串行傳輸距離較遠(yuǎn)時,常采用RS-232C、RS-422A 和 RS-485 標(biāo)準(zhǔn)串行接口。主要是對傳輸?shù)碾娦盘柌粩喔倪M, 如 RS-232C 傳輸
31、距離只有幾十米遠(yuǎn), 與直接以 TTL電平串行傳輸相比,采用了負(fù)邏輯,增大“0”、“ 1”信號的電平差。而RS-422A 和 RS-485 都采用了差分信號傳輸,抗干擾能力強,距離可達1000 多米。 RS-422A 為全雙工, RS-485 為半雙工。只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除第 8 章 AT89S51 單片機擴展存儲器的設(shè)計參考答案1答:程序、數(shù)據(jù)。2答: 80H。3答:片選。4答: 16KB。5答:程序、數(shù)據(jù)。6答: 2K,14。7答: 0FFFH。8答:(D)9答:本題主要考察對外部存儲器的讀、寫操作,只要記住正確使用 MOVX 指令就可以了。編程思路:首
32、先讀取 2001H 的值,保存在寄存器 A 中,將寄存器 A 的高四位和低四位互換,再屏蔽掉低四位然后將寄存器 A 的值保存到 30H 中,然后再讀取 2002H 的值,保存在寄存器 A 中,屏蔽掉高四位,然后將寄存器 A 的值與 30H 進行或運算,將運算后的結(jié)果保存在 2002H 中。ORG0000HMAIN:MOVDPTR,#2001H;設(shè)置數(shù)據(jù)指針的初值MOVXA,DPTR;讀取 2001H 的值SWAPAANLA,#0F0H;屏蔽掉低四位MOV30H, A;保存 AINCDPTR;指針指向下一個MOVXA,DPTR;讀取 2002H 的值只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請
33、聯(lián)系網(wǎng)站刪除ANLA,#0FH;屏蔽掉高四位ORLA,30H;進行拼裝MOVXDPTR, A;保存到 2002HEND10答:本題主要考察對外部數(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é)束END11答:因為控制信號線的不同:外擴的 RAM 芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為OE*和 WE*。外擴 RAM 的
34、讀、寫控制引腳分別與 AT89S51的 RD*和 WR*引腳相連。外擴的 EPROM在正常使用中只能讀出, 不能寫入,故 EPROM芯片沒有寫入控制引腳,只有讀出引腳,記為 OE*,該引腳與 AT89S51單片機的 PSEN*相連。12答:圖中采用了譯碼法。 4 片地址分別為 0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。13答:( 1)參見圖 8-20 或圖 8-21,去掉一片 2764。只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除( 2)指出該應(yīng)用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址范圍。14答:( 1) A 組跨接端
35、子的內(nèi)部正確連線圖( 2) B 組跨接端子的內(nèi)部正確連線圖注意:答案不唯一,還有其他連接方法,也可滿足題目要求。第 9 章 AT89S51 擴展 I/O 接口的設(shè)計參考答案1答:( A)錯, 81C55 具有地址鎖存功能;( B)錯,在 81C55 芯片中,引腳 IO/M* 、A2、A1、A0 決定端口地址和 RAM 單元編址;( C)錯, 82C55 不具有三態(tài)緩沖器;( D)錯, 82C55的 B 口只可以設(shè)置成方式 0 和方式 1。2答:I/O 端口簡稱 I/O 口,常指 I/O 接口電路中具有端口地址的寄存器或緩沖器。I/O接口是指單片機與外設(shè)間的I/O 接口芯片;I/O 接口功能:(
36、1) 實現(xiàn)和不同外設(shè)的速度匹配;(2) 輸出數(shù)據(jù)緩存; (3) 輸入數(shù)據(jù)三態(tài)緩沖。3答: 3 種傳送方式:(1) 同步傳送方式:同步傳送又稱為有條件傳送。當(dāng)外設(shè)速度可與單片機速度相比擬時,常常采用同步傳送方式。(2) 查詢傳送方式:查詢傳送方式又稱只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除為有條件傳送,也稱異步傳送。單片機通過查詢得知外設(shè)準(zhǔn)備好后,再進行數(shù)據(jù)傳送。異步傳送的優(yōu)點是通用性好,硬件連線和查詢程序十分簡單,但是效率不高。 (3) 中斷傳送方式:中斷傳送方式是利用 AT89S51本身的中斷功能和 I/O 接口的中斷功能來實現(xiàn) I./O 數(shù)據(jù)的傳送。單片機只有在外設(shè)準(zhǔn)備好
37、后,發(fā)出數(shù)據(jù)傳送請求,才中斷主程序,而進入與外設(shè)進行數(shù)據(jù)傳送的中斷服務(wù)程序, 進行數(shù)據(jù)的傳送。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。因此,中斷方式可大大提高工作效率。4答:兩種。 (1) 獨立編址方式:獨立編址方式就是I/O 地址空間和存儲器地址空間分開編址。獨立編址的優(yōu)點是 I/O 地址空間和存儲器地址空間相互獨立, 界限分明。但卻需要設(shè)置一套專門的讀寫 I/O 的指令和控制信號。 (2) 統(tǒng)一編址方式:這種方式是把 I/O 端口的寄存器與數(shù)據(jù)存儲器單元同等對待, 統(tǒng)一進行編址。 統(tǒng)一編址的優(yōu)點是不需要專門的 I/O 指令,直接使用訪問數(shù)據(jù)存儲器的指令進行I/O 操作。 AT89S51單片機使
38、用的是I/O 和外部數(shù)據(jù)存儲器 RAM 統(tǒng)一編址的方式。5答: 82C55 通過寫入控制字寄存器的控制字的最高位來進行判斷,最高位為1 時,為方式控制字,最高位為0 時,為 C 口按位置位 / 復(fù)位控制字。6答:本題主要考察對 82C55 的 C 口的操作。其方式控制字的最高位為 0 時,低四位控裝置對 C 口置復(fù)位。由題目可知方式控制寄存器的地址為 7FFFH。ORG0100HMAIN: MOVDPTR,#7FFFH;控制字寄存器地址 7FFFH送 DPTRMOVA,#0EH;將 PC7置 0MOVXDPTR,AMOVA,#09H;將 PC4置 1MOVXDPTR,AEND7答:當(dāng)外設(shè)輸入一
39、個數(shù)據(jù)并送到PA7 PA0 上時,輸入設(shè)備自動在選通輸入線A向 82C55 發(fā)送一個低電平選通信號,則把PA7-PA0上輸入的數(shù)據(jù)存入PA口的輸入數(shù)據(jù)緩沖/ 鎖存器;然后使輸入緩沖器輸出線 IBFA 變成高電平, 以通知輸入設(shè)備, 82C55 的 PA口已收只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除到它送來的輸入數(shù)據(jù)。 82C55檢測到聯(lián)絡(luò)線A 由低電平變成了高電平、A為 1狀態(tài)和中IBF斷允許觸發(fā)器 INTEA 為A發(fā)出中斷請求。1 時,使輸出線 INTR( PC3)變成高電平,向 AT89S51(INTE 的狀態(tài)可由用戶通過對的置位/復(fù)位來控制。響應(yīng)中斷后,可以通過中APC
40、4AT89S51斷服務(wù)程序從 PA 口的輸入數(shù)據(jù)緩沖 / 鎖存器讀取外設(shè)發(fā)來的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被 CPU 讀走后, 82C55撤銷 INTRA 上的中斷請求,并使 IBFA 變?yōu)榈碗娖?,以通知輸入外設(shè)可以送下一個輸入數(shù)據(jù)。8答: 81C55的端口有以下幾種:命令 / 狀態(tài)寄存器、 PA口、 PB口、 PC口、計數(shù)器的高 8 位寄存器與低 8 位寄存器以及 RAM 單元。引腳 IO/ ,A2、A1、A0 決定端口地址。TIMERIN是計數(shù)脈沖輸入引腳, 輸入脈沖的上跳沿用于對 81C55 片內(nèi)的 14 位計數(shù)器減 1。TIMEROUT為計數(shù)器輸出引腳。當(dāng) 14 位計數(shù)器減為 0 時就可以在該
41、引線上輸出脈沖或方波,輸出的信號的波形與所選的計數(shù)器工作方式有關(guān)。9答:電路圖可以參考圖9-10,PA口每一位接二極管的正極,二極管的負(fù)極接地。PB口每 1 位接一開關(guān)和上拉電阻,開關(guān)另一端直接接地。這樣只需要將讀到的PB 口的值送給PA口就可以滿足題目要求了。ORG0100HMIAN:MOVA,#10000010B;設(shè)置 PA口方式 0 輸出, PB口方式 0 輸入MOVDPTR, #0FF7FH;控制口地址送 DPTRMOVX DPTR,A;送方式控制字MOVDPTR, #0FF7DH;PB口地址送 DPTRMOVXA, DPTR;讀入開關(guān)信息MOVDPTR, #0FF7CH;PA口地址送
42、 DPTRMOVX DPTR,A;PA口的內(nèi)容送 PB 口點亮相應(yīng)的二極管END10答: 81C55 計數(shù)器的初值范圍是: 3FFFH-2H。當(dāng)頻率為 4MHz,初值為 3FFFH時,最大定時時間為: 0.004096S只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除11答:將 1MHz 的脈沖改變?yōu)?10ms 的方波,實際上就是分頻。分頻前后頻率之比為100:1,這樣只要將定時器初值設(shè)置為64H 就可以了。(假設(shè) I/O 口地址為 7F00H-7F05H)START: MOVDPTR,#7F04H;指針指向計數(shù)器低8 位MOVA, #64H;送初值給 AMOVXDPTR,A;初值送
43、給計數(shù)器低8 位INCDPTR;指向計數(shù)器高 8 位MOVA, #40H;計數(shù)器方波輸出MOVXDPTE,AMOVDPTR,#7F00H ;指向命令 / 狀態(tài)口MOVA, #0C2H;設(shè)定控制字MOVXDPTE,A;啟動計數(shù)器END第 10 章 AT89S51 與鍵盤、顯示器、撥盤、打印機的接口設(shè)計參考答案1. 答: A MAX7219是專用顯示器芯片,不用于鍵盤; B錯: CH451芯片也可用于控制鍵盤;C對:BUSY信號可作為查詢信號或中斷請求信號使用, 但此時信號 ACK 不用;E錯:LED數(shù)碼管的字型碼是可以變的,例如表 10-1 中的“ a”段對應(yīng)段碼字節(jié)的最高位。 “ dp” 段對
44、應(yīng)段碼字節(jié)的最低位,字型碼就改變了。2. 答:在按鍵的閉合和斷開過程中,由于開關(guān)的機械特性,導(dǎo)致了按鍵抖動的產(chǎn)生。如果不消除按鍵的機械抖動,按鍵的狀態(tài)讀取將有可能出現(xiàn)錯誤。消除按鍵抖動一般是采用軟件或硬件去抖。軟件去抖的原理:在第一次檢測到有鍵按下時,該鍵所對應(yīng)的行線是為低電平,執(zhí)行一端延時 10ms的子程序后,確認(rèn)該行線電平是否仍然為低電平,如果仍為只供學(xué)習(xí)與交流此文檔僅供收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除低電平,則確認(rèn)為該行確實有鍵按下。3. 答:靜態(tài)顯示時,數(shù)據(jù)是分開送到每一位 LED上的。而動態(tài)顯示則是數(shù)據(jù)是同時送到每一個 LED上,再根據(jù)位選線來確定是哪一位 LED被顯示。靜態(tài)顯示亮
45、度很高,但口線占用較多。動態(tài)顯示口線占用較少,適合用在顯示位數(shù)較多的場合。4. 答: 80H(共陰極); 7FH(共陽極)。5. 答:按鍵設(shè)置在行、列線交點上,行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到 +5V上,無按鍵按下時,行線處于高電平狀態(tài),而當(dāng)有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平亦為高。將行、列線信號配合起來并做適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。6. 答:先對 P1 口高四位送低電平,讀取 P1 口低四位的值;再對 P1 口低四位送低電平,讀取 P1 口高四位的值,將兩次讀到的值組合在一起就得到了按鍵的特征碼,在根據(jù)特征碼查找鍵值。KEYIN:MOVP1,#0FH;反轉(zhuǎn)讀鍵MOVA,P1ANLA,#0FHMOVB,AMOVP1,#0F0HMOVA,P1ANLA,#0F0HORLA,BCJNEA,#0FFH
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版?zhèn)€人房產(chǎn)買賣合同違約責(zé)任范本4篇
- 二零二五版智能倉儲物流系統(tǒng)安裝與優(yōu)化合同3篇
- 二零二五版環(huán)保節(jié)能改造項目工程合同4篇
- 2025年度個人房產(chǎn)交易安全評估及買賣合同大全3篇
- 2025年度留學(xué)學(xué)術(shù)誠信教育合同4篇
- 2025版企業(yè)職工失業(yè)保險補貼資金支付合同3篇
- 2025年校園樂器維護保養(yǎng)及采購代理服務(wù)合同2篇
- 濟南2025版房屋買賣合同產(chǎn)權(quán)登記與稅務(wù)申報指南3篇
- 互聯(lián)網(wǎng)客服專員2025年度績效合同2篇
- 2025年度海洋運輸貨物保險合同保險責(zé)任與保險合同效力3篇
- 二零二五年度無人駕駛車輛測試合同免責(zé)協(xié)議書
- 2025年湖北華中科技大學(xué)招聘實驗技術(shù)人員52名歷年高頻重點提升(共500題)附帶答案詳解
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 毛渣采購合同范例
- 2023中華護理學(xué)會團體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 五年級上冊小數(shù)遞等式計算200道及答案
- 2024年廣東高考政治真題考點分布匯 總- 高考政治一輪復(fù)習(xí)
- 燃?xì)夤艿滥甓葯z驗報告
- GB/T 44052-2024液壓傳動過濾器性能特性的標(biāo)識
- FZ/T 81013-2016寵物狗服裝
- JB∕T 14089-2020 袋式除塵器 濾袋運行維護技術(shù)規(guī)范
評論
0/150
提交評論