單片機(jī)原理及應(yīng)用第二課后習(xí)題答案_第1頁(yè)
單片機(jī)原理及應(yīng)用第二課后習(xí)題答案_第2頁(yè)
單片機(jī)原理及應(yīng)用第二課后習(xí)題答案_第3頁(yè)
單片機(jī)原理及應(yīng)用第二課后習(xí)題答案_第4頁(yè)
單片機(jī)原理及應(yīng)用第二課后習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 第1章 單片機(jī)概述參考答案1.1 答:微控制器,嵌入式控制器1.2 答:CPU、存儲(chǔ)器、I/O口、總線1.3 答:C1.4 答:B1.5 答:微處理器、微處理機(jī)和CPU它們都是中央處理器的不同稱(chēng)謂,微處理器芯片本身不是計(jì)算機(jī)。而微計(jì)算機(jī)、單片機(jī)它們都是一個(gè)完整的計(jì)算機(jī)系統(tǒng),單片機(jī)是集成在一個(gè)芯片上的用于測(cè)控目的的單片微計(jì)算機(jī)。嵌入式處理器一般意義上講,是指嵌入系統(tǒng)的單片機(jī)、DSP、嵌入式微處理器。目前多把嵌入式處理器多指嵌入式微處理器,例如ARM7、ARM9等。嵌入式微處理器相當(dāng)于通用計(jì)算機(jī)中的CPU。與單片機(jī)相比,單片機(jī)本身(或稍加擴(kuò)展)就是一個(gè)小的計(jì)算機(jī)系統(tǒng),可獨(dú)立運(yùn)行,具有完整的功能。

2、而嵌入式微處理器僅僅相當(dāng)于單片機(jī)中的中央處理器。為了滿(mǎn)足嵌入式應(yīng)用的特殊要求,嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)。1.6 答:MCS-51系列單片機(jī)的基本型芯片分別:8031、8051和8071。它們的差別是在片內(nèi)程序存儲(chǔ)器上。8031無(wú)片內(nèi)程序存儲(chǔ)器、8051片內(nèi)有4K字節(jié)的程序存儲(chǔ)器ROM,而8751片內(nèi)有集成有4K字節(jié)的程序存儲(chǔ)器EPROM。1.7 答:因?yàn)镸CS-51系列單片機(jī)中的“MCS”是Intel公司生產(chǎn)的單片機(jī)的系列符號(hào),而51系列單片機(jī)是指世界各個(gè)廠家生產(chǎn)的所有與8051的內(nèi)核結(jié)構(gòu)、指令系統(tǒng)兼容的單片

3、機(jī)。1.8 答:相當(dāng)于MCS-51系列中的87C51,只不過(guò)是AT89S51芯片內(nèi)的4K字節(jié)Flash存儲(chǔ)器取代了87C51片內(nèi)的4K字節(jié)的EPROM。1.9 單片機(jī)體積小、價(jià)格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實(shí)現(xiàn)各種方式的檢測(cè)和控制。單片機(jī)在嵌入式處理器市場(chǎng)占有率最高,最大特點(diǎn)是價(jià)格低,體積小。 DSP是一種非常擅長(zhǎng)于高速實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。由于對(duì)其硬件結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其能夠高速完成各種復(fù)雜的數(shù)字信號(hào)處理算法。廣泛地用于通訊、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機(jī)控制系統(tǒng),生物信息識(shí)別終端,實(shí)時(shí)語(yǔ)音壓解系統(tǒng)等。這類(lèi)

4、智能化算法一般都是運(yùn)算量較大,特別是向量運(yùn)算、指針線性尋址等較多,而這些正是DSP的長(zhǎng)處所在。與單片機(jī)相比,DSP具有的實(shí)現(xiàn)高速運(yùn)算的硬件結(jié)構(gòu)及指令和多總線,DSP處理的算法的復(fù)雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機(jī)不可企及的。嵌入式微處理器的基礎(chǔ)是通用計(jì)算機(jī)中的CPU,它的地址總線數(shù)目較多能擴(kuò)展較大的存儲(chǔ)器空間,所以可配置實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái)。正由于嵌入式微處理 器能運(yùn)行實(shí)時(shí)多任務(wù)操作系統(tǒng),所以能夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,廣泛地應(yīng)用在移動(dòng)計(jì)算平臺(tái)、媒體手機(jī)、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)備、ATM機(jī)

5、等)、電子商務(wù)平臺(tái)、信息家電(機(jī)頂盒、數(shù)字電視)以及軍事上的應(yīng)用。1.10 廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機(jī)、DSP、嵌入式微處理器,都稱(chēng)其為“嵌入式系統(tǒng)”。但多數(shù)人把 “嵌入”嵌入式微處理器的系統(tǒng),稱(chēng)為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒(méi)有一個(gè)嚴(yán)格和權(quán)威的定義。目前人們所說(shuō)的“嵌入式系統(tǒng)”,多指后者。第2章 AT89S51單片機(jī)的硬件結(jié)構(gòu)1答:AT89S51單片機(jī)的片內(nèi)都集成了如下功能部件:(1)1個(gè)微處理器(CPU);(2)128個(gè)數(shù)據(jù)存儲(chǔ)器(RAM)單元 ;(3)4K Flash程序存儲(chǔ)器;(4)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口);(5)

6、1個(gè)全雙工串行口;(6)2個(gè)16位定時(shí)器/計(jì)數(shù)器;(7)1個(gè)看門(mén)狗定時(shí)器;(8)一個(gè)中斷系統(tǒng),5個(gè)中斷源,2個(gè)優(yōu)先級(jí);(9)25個(gè)特殊功能寄存器(SFR),(10)1個(gè)看門(mén)狗定時(shí)器。2答:當(dāng) 腳為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器(4K 字節(jié)Flash)中的內(nèi)容,但在PC值超過(guò)0FFFH(即超出4K字節(jié)地址范圍)時(shí),將自動(dòng)轉(zhuǎn)向讀外部程序存儲(chǔ)器內(nèi)的程序;當(dāng) 腳為低電平時(shí),單片機(jī)只對(duì)外部程序存儲(chǔ)器的地址為0000HFFFFH中的內(nèi)容進(jìn)行讀操作,單片機(jī)不理會(huì)片內(nèi)的4K 字節(jié)的Flash程序存儲(chǔ)器。3答:2s4答:1個(gè)機(jī)器周期等于12個(gè)時(shí)鐘振蕩周期。5. 答:64K程序存儲(chǔ)器空間中有5個(gè)特殊單元分別對(duì)應(yīng)

7、于5個(gè)中斷源的中斷服務(wù)程序入口地址,見(jiàn)下表:表 5個(gè)中斷源的中斷入口地址入口地址中斷源0003H外部中斷0 ( )000BH定時(shí)器0 (T0)0013H外部中斷1 ( )001BH定時(shí)器1 (T1)0023H串行口6. 答:28H;88H。7答:50H;88H。8答:P標(biāo)志位的值為0。9答:(A)錯(cuò);(B)錯(cuò);(C)對(duì);(D)對(duì)。10. 答:04H;00H;0組。11答:(A) 對(duì);(B) 對(duì);(C) 錯(cuò);(D) 對(duì)。12. 答:字節(jié)地址00H-1FH的單元可作為工作寄存器區(qū)。13答:(A) 錯(cuò);(B) 錯(cuò);(C) 錯(cuò);(D) 錯(cuò)。14答: (C)。15. 答:PC;PC。16答:64K字節(jié)。

8、17P0口每位可驅(qū)動(dòng)8個(gè)LSTTL輸入,而P1、P2、P3口的每一位的驅(qū)動(dòng)能力,只有P0口的一半。當(dāng)P0口的某位為高電平時(shí),可提供400mA的電流;當(dāng)P0口的某位為低電平(0.45V)時(shí),可提供3.2mA的灌電流,如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個(gè)口要想獲得較大的驅(qū)動(dòng)能力,只能用低電平輸出。18答:按下復(fù)位按鈕。19. 答:(A) 對(duì); (B) 對(duì);(C)錯(cuò);(D)錯(cuò)。20. 答:(A) 對(duì); (B) 對(duì);(C)對(duì);(D)錯(cuò)。 第3章 AT89S51的指令系統(tǒng)1答:(1)錯(cuò)(2)錯(cuò)(3)對(duì)(4)錯(cuò)(5)錯(cuò)(6)錯(cuò)(7)錯(cuò)(8)對(duì)(9)錯(cuò)(10)對(duì)(11)對(duì)(12)錯(cuò)。2答:(A

9、)對(duì)(B)對(duì)(C)錯(cuò)(D)錯(cuò)。3答:A,PC,DPTR。4答:只能使用直接尋址方式。5答:操作碼,操作數(shù),操作碼。6. 答:1031H。7答:程序,數(shù)據(jù)。8答:地址。9答:A的內(nèi)容與B的內(nèi)容互換。10答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)5030H11答:(A)ANL A,#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答:MOVR

10、7,APUSHAccMOVA,BMOVXDPTR,A17答:(D)。18答:(C)。19答:基本型的51子系列單片機(jī),由于其片內(nèi)RAM的地址范圍為00H7FH,而80HFFH為特殊功能寄存器區(qū),而對(duì)特殊功能寄存器尋址,只能使用直接尋址方式。對(duì)片內(nèi)RAM尋址,當(dāng)使用寄存器間接尋址是采用R0或R1作為間接尋址的,因此R0或R1的內(nèi)容不能超過(guò)7FH。增強(qiáng)型的52子系列單片機(jī),片內(nèi)RAM的地址范圍為00HFFH,因此作為間接尋址寄存器的R0或R1的內(nèi)容就不受限制。第4章 AT89S51匯編語(yǔ)言程序的設(shè)計(jì)與調(diào)試參考答案1答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在匯編過(guò)程

11、中的用來(lái)控制匯編過(guò)程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒(méi)有相應(yīng)的機(jī)器代碼產(chǎn)生。常用偽指令及其功能如下: ORG(ORiGin)匯編起始地址命令;END(END of assembly)匯編終止命令;EQU(EQUate)標(biāo)號(hào)賦值命令;DB(Define Byte)定義數(shù)據(jù)字節(jié)命令;DW(Define Word)定義數(shù)據(jù)字命令;DS(Define Storage)定義存儲(chǔ)區(qū)命令;BIT 位定義命令2 答:手工匯編:通過(guò)查指令的機(jī)器代碼表(表3-2),逐個(gè)把助記符指令“翻譯”成機(jī)器代碼,再進(jìn)行調(diào)試和運(yùn)行。這種人工查表“翻譯”指令的方法稱(chēng)為“手工匯編”。機(jī)器匯編:借助于微型計(jì)算機(jī)上的軟件(匯編

12、程序)來(lái)代替手工匯編。通過(guò)在微機(jī)上運(yùn)行匯編程序,把匯編語(yǔ)言源程序翻譯成機(jī)器代碼。反匯編:將二進(jìn)制的機(jī)器碼程序翻譯成匯編語(yǔ)言源程序的過(guò)程稱(chēng)為“反匯編”。3答:從1000H開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容(16進(jìn)制)如下:4D 41 49 4E 12 34 30 0000 70 78 7F E4 F6 D8 FD 75 81 07 024在編寫(xiě)子程序時(shí)應(yīng)注意以下問(wèn)題:(1)子程序的第一條指令前必須有標(biāo)號(hào)。(2)主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令: 絕對(duì)調(diào)用指令A(yù)CALL addr11。被調(diào)用的子程序的首地址與絕對(duì)調(diào)用指令 的下一條指令的高5位地址相同,即只能在同一個(gè)2KB區(qū)內(nèi)。 長(zhǎng)調(diào)用指令LCA

13、LL addr16。addr16為直接調(diào)用的目的地址,被調(diào)用的子程序可放置在64KB程序存儲(chǔ)器區(qū)的任意位置。(3)子程序結(jié)構(gòu)中必須用到堆棧,用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)保護(hù)。(4)子程序返回時(shí),必須以RET指令結(jié)束。(5)子程序可以嵌套,但要注意堆棧的沖突。 5答:參考程序如下:MOVA,45HANLA,#0FHORLA,#0FHMOV45H,A6答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H7答:參考程序如下:START:MOVR0,#30HMOVR2,#20HLOOP:MOVA,R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNE

14、XT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET8答:參考程序如下:START:MOV41H,#0MOVR0,#20HMOVR2,#20HLOOP:MOVA,R0JNZNEXTINC41HNEXT:INCR0DJNZR2,LOOPRET9答:參考程序如下:ORG 0100HMOVR2, #20H要比較的數(shù)據(jù)字節(jié)數(shù)MOVA , #21HMOVR1 , ADECR2MOVA , R1 LOOP:MOVR3,A DECR1CLRCSUBBA,R1JNCLOOP1MOVA,R1SJMPLOOP2LOOP1: MOVA,R3 LOOP2: DJNZR2, LOOPMOVR0,

15、ARET 10答:(1)SP=SP+1=61H(61H)=PC的低字節(jié)=03H SP=SP+1=62H(62H)=PC的高字節(jié)=20H(2)PC=3456H(3)可以(4)2KB2048 Byte11答:可對(duì)程序做如下修改:ORG 0100HDEL: MOV R7, #200DEL1: MOV R6, #123 ;將原來(lái)的立即數(shù)125改為123 DEL2: DJNZ R6, DEL2NOP ; 增加的指令 DJNZR7, DEL1RET程序修改后的延時(shí)時(shí)間為:1+(1+123*2+1+2)*200+2=50003us=50.003ms第5章 AT89S51的中斷系統(tǒng)參考答案1答:0013H;0

16、01BH2答:串行口中斷; 外部中斷13 答:RETI指令在返回的同時(shí)清除相應(yīng)的優(yōu)先級(jí)觸發(fā)器,以允許下次中斷,而RET指令則沒(méi)有這個(gè)操作。除了這一點(diǎn)兩條指令不同外,其它操作都相同。4答:D5 答:在一個(gè)單一中斷的系統(tǒng)里,AT89S51單片機(jī)對(duì)外部中斷請(qǐng)求的響應(yīng)時(shí)間總是在38個(gè)機(jī)器周期之間。在下述三種情況下,AT89S51將推遲對(duì)外部中斷請(qǐng)求的響應(yīng):(1)AT89S51正在處理同級(jí)或更高優(yōu)先級(jí)的中斷。(2)所查詢(xún)的機(jī)器周期不是當(dāng)前正在執(zhí)行指令的最后一個(gè)機(jī)器周期。(3)正在執(zhí)行的指令是RETI或是訪問(wèn)IE或IP的指令。如果存在上述三種情況之一,AT89S51將丟棄中斷查詢(xún)結(jié)果,將推遲對(duì)外部中斷請(qǐng)求

17、的響應(yīng)。6答:D7答:PC、PC、程序存儲(chǔ)器8答: 參考程序段如下:SETBIT1SETBEX1SETBEA9答:(A)10答:一個(gè)中斷源的中斷請(qǐng)求被響應(yīng),必須滿(mǎn)足以下必要條件:(1)總中斷允許開(kāi)關(guān)接通,即IE寄存器中的中斷總允許位EA=1。(2)該中斷源發(fā)出中斷請(qǐng)求,即該中斷源對(duì)應(yīng)的中斷請(qǐng)求標(biāo)志為“1”。(3)該中斷源的中 斷允許位=1,即該中斷被允許。(4)無(wú)同級(jí)或更高級(jí)中斷正在被服務(wù)。11答:(A)、(C)、(D)12答:參見(jiàn)電路如圖5-10,參考程序如下:ORG0000HLJMPMAINORG0013HLJMPINT_EX1ORG0030HMAIN:CLRIT0;采用電平觸發(fā),低電平有

18、效中斷SETBEX1;允許外部中斷1SETBEA;插入一段用戶(hù)程序WAIT: MOVPCON,#01H;單片機(jī)進(jìn)入休眠方式等待中斷NOPLJMPWAIT ;以下為外部中斷1服務(wù)子程序INT_EX1:JBP1.2,NEXT1;判斷是不是3號(hào)中斷 LJMPINT_IR3;跳轉(zhuǎn)到3號(hào)中斷處理程序NEXT1:JBP1.1,NEXT2;判斷是不是2號(hào)中斷 LJMPINT_IR2;跳轉(zhuǎn)到2號(hào)中斷處理程序NEXT2:LJMPINT_IR1;跳轉(zhuǎn)到1號(hào)中斷處理程序ORG1000HINT_IR3:相應(yīng)中斷處理程序RETI;中斷返回ORG1100HINT_IR2:相應(yīng)中斷處理程序RETI;中斷返回ORG1200H

19、INT_IR1:相應(yīng)中斷處理程序RETI;中斷返回第6章 AT89S51的定時(shí)/計(jì)數(shù)器參考答案1答:(A)對(duì);(B)錯(cuò);(C)錯(cuò);(D)錯(cuò);2答:因?yàn)闄C(jī)器周期:所以定時(shí)器/計(jì)數(shù)器工作方式0下,其最大定時(shí)時(shí)間為同樣可以求得方式1下的最大定時(shí)時(shí)間為262.144ms;方式2下的最大定時(shí)時(shí)間為1024ms。3答:定時(shí)/計(jì)數(shù)器作定時(shí)時(shí),其計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時(shí)鐘信號(hào)12分頻后提供。定時(shí)時(shí)間與時(shí)鐘頻率和定時(shí)初值有關(guān)。4答:由于確認(rèn)1次負(fù)跳變要花2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。5答:定時(shí)器/計(jì)數(shù)器T0在計(jì)數(shù)和定時(shí)工作完成后,均采用中斷方

20、式工作。除了第一次計(jì)數(shù)工作方式設(shè)置在主程序完成外,后面的定時(shí)或計(jì)數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識(shí)別下一輪定時(shí)器/計(jì)數(shù)器T0的工作方式。參考程序如下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:MOVTMOD,#06H;定時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式2MOVTL0,#156;計(jì)數(shù)100個(gè)脈沖的初值賦值MOVTH0,#156SETBGATE;打開(kāi)計(jì)數(shù)門(mén)SETBTR0;啟動(dòng)T0,開(kāi)始計(jì)數(shù)SETBET0;允許T0中斷SETBEA;CPU開(kāi)中斷CLRF0;設(shè)置下一輪為定時(shí)方式的標(biāo)志位WAIT:AJMPWAITIT0P:CLREA;CPU關(guān)中斷JBF0,COUNT;F

21、0=1,轉(zhuǎn)計(jì)數(shù)方式設(shè)置MOVTMOD,#00H;定時(shí)器/計(jì)數(shù)器T0為定時(shí)方式0MOVTH0,#0FEH;定時(shí)1ms初值賦值MOVTL0,#0CHSETBEARETICOUNT:MOVTMOD,#06HMOVTL0,#156SETBEARETI6. 答:定時(shí)器/計(jì)數(shù)器的工作方式2具有自動(dòng)恢復(fù)初值的特點(diǎn),適用于精確定時(shí),比如波特率的產(chǎn)生。7. 答:根據(jù)題意,從P1.0輸出的矩形脈沖的高低電平的時(shí)間為10:1,則高低電平的時(shí)間分別為363.63s和36.37s。如果系統(tǒng)采用6MHz晶振的話,T cy=2s,因此高低電平輸出取整,則約為364s和36s。參考程序如下:ORG0000HLJMPMAINO

22、RG000BHLJMPIT0PMAIN:MOVTMOD,#02H;定時(shí)器/計(jì)數(shù)器T0為定時(shí)方式2MOVTL0,#4AH;定時(shí)364s初值賦值SETBTR0;啟動(dòng)T0,開(kāi)始計(jì)數(shù)SETBET0;允許T0中斷SETBEA;CPU開(kāi)中斷SETBP1.0WAIT:AJMPWAITIT0P:CLREACLRP1.0;關(guān)中斷MOVR0,#9DLY:DJNZR0,DLY;延時(shí)36sMOVTL0,#4AH;定時(shí)364s初值賦值SETBP1.0SETBEARETI8. 答:方法1,在第一個(gè)定時(shí)器的中斷程序里關(guān)閉本定時(shí)器的中斷程序,設(shè)置和打開(kāi)另一個(gè)定時(shí)器;在另一個(gè)定時(shí)器的中斷程序中關(guān)閉本定時(shí)中斷,設(shè)置和打開(kāi)另一個(gè)定

23、時(shí)器。這種方式的定時(shí)時(shí)間為兩個(gè)定時(shí)器定時(shí)時(shí)間的和。方法2,一個(gè)作為定時(shí)器,在定時(shí)中斷后產(chǎn)生一個(gè)外部計(jì)數(shù)脈沖(比如由P1.0接 產(chǎn)生),另一個(gè)定時(shí)器工作在計(jì)數(shù)方式。這樣兩個(gè)定時(shí)器的定時(shí)時(shí)間為一個(gè)定時(shí)器的定時(shí)時(shí)間乘以另一個(gè)定時(shí)器的計(jì)數(shù)值。9. 答:由T1(P3.5)口控制定時(shí)器T1的啟動(dòng)和關(guān)閉。10. 答:采用方式1定時(shí)工作方式。最大脈沖寬度為131.072ms。11. 答:將P1.1的輸入脈沖接入INT0,即使用T0計(jì)數(shù)器完成對(duì)P1.1口的脈沖計(jì)數(shù)。參考程序如下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:JNBP1.0,MAINMOVTMOD,#05H;定時(shí)器/計(jì)

24、數(shù)器T0為計(jì)數(shù)方式1SETBTR0;啟動(dòng)T0,開(kāi)始計(jì)數(shù)SETBET0;允許T0中斷SETBEA;CPU開(kāi)中斷WAIT:JBP1.2,WAITCLREACLRTR0MOVR1,TH0MOVR0,TL0AJMP$IT0P:INCR2RETI12. 答:THx與TLx (x=0,1)是由特殊功能寄存器構(gòu)成的計(jì)數(shù)器,其內(nèi)容可以隨時(shí)用指令更改,更改后的新值是立即刷新。但在讀THx、TLx的值時(shí),應(yīng)該先讀THx值,后讀TLx,再讀THx。若兩次讀得THx相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THx有變化,再重復(fù)上述過(guò)程。第7章 AT89S51的串行口參考答案1答:方式1。2答:相等的。3答:A對(duì);

25、B對(duì);C錯(cuò);D對(duì);E對(duì)。4答:C5答:C6答:當(dāng)接收方檢測(cè)到RXD端從1到0的跳變時(shí)就啟動(dòng)檢測(cè)器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認(rèn)是否是真正的起始位的開(kāi)始,這樣能較好地消除干擾引起的影響,以保證可靠無(wú)誤的開(kāi)始接受數(shù)據(jù)。7答:串行口有4種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,方式1的波特率=2SMOD/32×定時(shí)器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定時(shí)器T1的溢出率8答:字符“B”的ASCII碼為“4

26、2H”,幀格式如下:9答:因?yàn)槎〞r(shí)器/計(jì)數(shù)器在方式2 下,初值可以自動(dòng)重裝,這樣在做串口波特率發(fā)生器設(shè)置時(shí),就避免了執(zhí)行重裝參數(shù)的指令所帶來(lái)的時(shí)間誤差。設(shè)定時(shí)器T1方式2的初值為X,計(jì)算初值X可采用如下公式: 波特率 = 10答:經(jīng)計(jì)算,計(jì)數(shù)初值為FAH,初始化程序如下:ANL TMOD,#0F0H;屏蔽高4位 ORLTMOD,#20H;控制字 MOVTH1,#0FAH;寫(xiě)入計(jì)數(shù)初值 MOVTL1,#0FAH MOVSCON,#40H11答:見(jiàn)7.3節(jié)的介紹。12答:見(jiàn)7.5.3小節(jié)的介紹13答:串口每秒鐘傳送的字符為:1800/60=30個(gè)字符/秒 所以波特率為:30個(gè)字符/秒×1

27、0位/個(gè)字符=300b/s14答:串行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/O口,一般不用于兩個(gè)MCS-51之間的串行通信。該方式以fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。15答:直接以TTL電平串行傳輸數(shù)據(jù)的方式的缺點(diǎn)是傳輸距離短,抗干擾能力差。因此在串行傳輸距離較遠(yuǎn)時(shí),常采用RS-232C、RS-422A和RS-485標(biāo)準(zhǔn)串行接口。主要是對(duì)傳輸?shù)碾娦盘?hào)不斷改進(jìn),如RS-232C傳輸距離只有幾十米遠(yuǎn),與直接以TTL電平串行傳輸相比,采用了負(fù)邏輯,增大“0”、“1”信號(hào)的電平差。而RS-422A和RS-485都采用了差分信號(hào)傳輸,抗干擾能力

28、強(qiáng),距離可達(dá)1000多米。RS-422A為全雙工,RS-485為半雙工。第8章 AT89S51單片機(jī)擴(kuò)展存儲(chǔ)器的設(shè)計(jì)參考答案1答:程序、數(shù)據(jù)。2答:80H。3答:片選。4答:16KB。5答:程序、數(shù)據(jù)。6答:2K,14。7答:0FFFH。8答:(D)9答:本題主要考察對(duì)外部存儲(chǔ)器的讀、寫(xiě)操作,只要記住正確使用MOVX指令就可以了。編程思路:首先讀取2001H的值,保存在寄存器A中,將寄存器A的高四位和低四位互換,再屏蔽掉低四位然后將寄存器A的值保存到30H中,然后再讀取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后將寄存器A的值與30H進(jìn)行或運(yùn)算,將運(yùn)算后的結(jié)果保存在2002H中。ORG

29、0000HMAIN:MOVDPTR,#2001H;設(shè)置數(shù)據(jù)指針的初值MOVXA,DPTR;讀取2001H的值SWAPAANLA,#0F0H;屏蔽掉低四位MOV30H,A;保存AINCDPTR;指針指向下一個(gè)MOVXA,DPTR;讀取2002H的值A(chǔ)NLA,#0FH;屏蔽掉高四位ORLA,30H;進(jìn)行拼裝MOVXDPTR,A;保存到2002HEND10答:本題主要考察對(duì)外部數(shù)據(jù)塊的寫(xiě)操作;編程時(shí)只要注意循環(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)前單元清零IN CDPTR;指向下一個(gè)單元DJNZR0,LOOP;是否結(jié)束END11答:因?yàn)榭刂菩盘?hào)線的不同:外擴(kuò)的RAM芯片既能讀出又能寫(xiě)入,所以通常都有讀寫(xiě)控制引腳,記為OE*和WE*。外擴(kuò)RAM的讀、寫(xiě)控制引腳分別與AT89S51的RD*和WR*引腳相連。外擴(kuò)的EPROM在正常使用中只能讀出,不能寫(xiě)入,故EPROM芯片沒(méi)有寫(xiě)入控制引腳,只有讀出引腳,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論