版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 第1章 單片機(jī)概述</p><p><b> 參考答案</b></p><p> 1.答:微控制器,嵌入式控制器</p><p> 2.答:CPU、存儲器、I/O口、總線</p><p><b> 3.答:C</b></p><p><b
2、> 4.答:B</b></p><p> 5.答:微處理器、微處理機(jī)和CPU它們都是中央處理器的不同稱謂,微處理器芯片本身不是計(jì)算機(jī)。而微計(jì)算機(jī)、單片機(jī)它們都是一個(gè)完整的計(jì)算機(jī)系統(tǒng),單片機(jī)是集成在一個(gè)芯片上的用于測控目的的單片微計(jì)算機(jī)。</p><p> 嵌入式處理器一般意義上講,是指嵌入系統(tǒng)的單片機(jī)、DSP、嵌入式微處理器。目前嵌入式處理器多指嵌入式微處理器,例如
3、ARM7、ARM9等。嵌入式微處理器相當(dāng)于通用計(jì)算機(jī)中的CPU。與單片機(jī)相比,單片機(jī)本身(或稍加擴(kuò)展)就是一個(gè)小的計(jì)算機(jī)系統(tǒng),可獨(dú)立運(yùn)行,具有完整的功能。而嵌入式微處理器僅僅相當(dāng)于單片機(jī)中的中央處理器。為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)。</p><p> 6.答:MCS-51系列單片機(jī)的基本型芯片分別:8
4、031、8051和8071。它們的差別是在片內(nèi)程序存儲器上。8031無片內(nèi)程序存儲器、8051片內(nèi)有4K字節(jié)的程序存儲器ROM,而8751片內(nèi)有集成有4K字節(jié)的程序存儲器EPROM。</p><p> 7.答:因?yàn)镸CS-51系列單片機(jī)中的“MCS”是Intel公司生產(chǎn)的單片機(jī)的系列符號,而51系列單片機(jī)是指世界各個(gè)廠家生產(chǎn)的所有與8051的內(nèi)核結(jié)構(gòu)、指令系統(tǒng)兼容的單片機(jī)。</p><p&g
5、t; 8.答:相當(dāng)于MCS-51系列中的87C51,只不過是AT89S51芯片內(nèi)的4K字節(jié)Flash存儲器取代了87C51片內(nèi)的4K字節(jié)的EPROM。</p><p> 9.單片機(jī)體積小、價(jià)格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實(shí)現(xiàn)各種方式的檢測和控制。單片機(jī)在嵌入式處理器市場占有率最高,最大特點(diǎn)是價(jià)格低,體積小。 </p><p> DSP是一種非常擅長于高速實(shí)現(xiàn)
6、各種數(shù)字信號處理運(yùn)算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。由于對其硬件結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其能夠高速完成各種復(fù)雜的數(shù)字信號處理算法。廣泛地用于通訊、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機(jī)控制系統(tǒng),生物信息識別終端,實(shí)時(shí)語音壓解系統(tǒng)等。這類智能化算法一般都是運(yùn)算量較大,特別是向量運(yùn)算、指針線性尋址等較多,而這些正是DSP的長處所在。與單片機(jī)相比,DSP具有的實(shí)現(xiàn)高速運(yùn)算的硬件結(jié)構(gòu)及指令和多總線,DSP處理的算法的復(fù)雜度和大的數(shù)據(jù)
7、處理流量以及片內(nèi)集成的多種功能部件更是單片機(jī)不可企及的。</p><p> 嵌入式微處理器的基礎(chǔ)是通用計(jì)算機(jī)中的CPU,它的地址總線數(shù)目較多能擴(kuò)展較大的存儲器空間,所以可配置實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。正由于嵌入式微處理器能運(yùn)行實(shí)時(shí)多任務(wù)操作系統(tǒng),所以能夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,廣泛地應(yīng)用在移動(dòng)計(jì)算平臺、媒體手機(jī)、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)
8、備、ATM機(jī)等)、電子商務(wù)平臺、信息家電(機(jī)頂盒、數(shù)字電視)以及軍事上的應(yīng)用。</p><p> 10.廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機(jī)、DSP、嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但多數(shù)人把 “嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒有一個(gè)嚴(yán)格和權(quán)威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。</p><p> 第2章 A
9、T89S51單片機(jī)的硬件結(jié)構(gòu)</p><p><b> 參考答案</b></p><p> 1.答:AT89S51單片機(jī)的片內(nèi)都集成了如下功能部件:(1)1個(gè)微處理器(CPU);(2)128個(gè)數(shù)據(jù)存儲器(RAM)單元 ;(3)4K Flash程序存儲器;(4)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口);(5)1個(gè)全雙工串行口;(6)2個(gè)16位定時(shí)
10、器/計(jì)數(shù)器;(7)1個(gè)看門狗定時(shí)器;(8)一個(gè)中斷系統(tǒng),5個(gè)中斷源,2個(gè)優(yōu)先級;(9)25個(gè)特殊功能寄存器(SFR),(10)1個(gè)看門狗定時(shí)器。</p><p> 2.答:當(dāng)腳為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲器(4K 字節(jié)Flash)中的內(nèi)容,但在PC值超過0FFFH(即超出4K字節(jié)地址范圍)時(shí),將自動(dòng)轉(zhuǎn)向讀外部程序存儲器內(nèi)的程序;當(dāng)腳為低電平時(shí),單片機(jī)只對外部程序存儲器的地址為0000H~FFFFH中的內(nèi)容進(jìn)
11、行讀操作,單片機(jī)不理會片內(nèi)的4K 字節(jié)的Flash程序存儲器。</p><p><b> 3.答:2µs</b></p><p> 4.答:1個(gè)機(jī)器周期等于12個(gè)時(shí)鐘振蕩周期。</p><p> 5. 答:64K程序存儲器空間中有5個(gè)特殊單元分別對應(yīng)于5個(gè)中斷源的中斷服務(wù)程序入口地址,見下表:</p><p&
12、gt; 表 5個(gè)中斷源的中斷入口地址</p><p> 6. 答:28H;88H。</p><p> 7.答:50H;88H。</p><p> 8.答:P標(biāo)志位的值為0。</p><p> 9.答:(A)錯(cuò);(B)錯(cuò);(C)對;(D)對。</p><p> 10. 答:04H;00H;0組。</
13、p><p> 11.答:(A) 對;(B) 對;(C) 錯(cuò);(D) 對。</p><p> 12. 答:字節(jié)地址00H-1FH的單元可作為工作寄存器區(qū)。</p><p> 13.答:(A) 錯(cuò);(B) 錯(cuò);(C) 錯(cuò);(D) 錯(cuò)。</p><p> 14.答: (C)。</p><p> 15. 答:PC;PC。
14、</p><p> 16.答:64K字節(jié)。</p><p> 17.P0口每位可驅(qū)動(dòng)8個(gè)LSTTL輸入,而P1、P2、P3口的每一位的驅(qū)動(dòng)能力,只有P0口的一半。當(dāng)P0口的某位為高電平時(shí),可提供400A的電流;當(dāng)P0口的某位為低電平(0.45V)時(shí),可提供3.2mA的灌電流,如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個(gè)口要想獲得較大的驅(qū)動(dòng)能力,只能用低電平輸出。</p>
15、;<p> 18.答:按下復(fù)位按鈕。</p><p> 19. 答:(A) 對; (B) 對;(C)錯(cuò);(D)錯(cuò)。</p><p> 20. 答:(A) 對; (B) 對;(C)對;(D)錯(cuò)。</p><p> 第3章 AT89S51的指令系統(tǒng)</p><p><b> 參考答案</b><
16、/p><p> 1.答:(1)錯(cuò)(2)錯(cuò)(3)對(4)錯(cuò)(5)錯(cuò)(6)錯(cuò)(7)錯(cuò)(8)對(9)錯(cuò)(10)對(11)對(12)錯(cuò)。</p><p> 2.答:(A)對(B)對(C)錯(cuò)(D)錯(cuò)。</p><p> 3.答:A,PC,DPTR。</p><p> 4.答:只能使用直接尋址方式。</p><p> 5.答
17、:操作碼,操作數(shù),操作碼。</p><p> 6. 答:1031H。</p><p> 7.答:程序,數(shù)據(jù)。</p><p><b> 8.答:地址。</b></p><p> 9.答:A的內(nèi)容與B的內(nèi)容互換。</p><p> 10.答:(A)=50H,(SP)=50H,(51H)=3
18、0H,(52H)=50H,(PC)=5030H</p><p> 11.答:(A)ANL A,#87H</p><p> (B)ANL A,#0C3H</p><p> ?。–)ORL A,#0CH</p><p> 12.答:(A)=0CBH。</p><p> 13.答:(A)=00H,(R3)=0A
19、AH。</p><p> 14.答:(DPH)=3CH,(DPL)=5FH,(SP)=50H</p><p> 15.答:(SP)=62H,(61H)=30H,(62H)=70H。</p><p> 16.答:MOVR7,A</p><p><b> PUSHAcc</b></p><p
20、><b> MOVA,B</b></p><p> MOVX@DPTR,A</p><p><b> 17.答:(D)。</b></p><p><b> 18.答:(C)。</b></p><p> 19.答:基本型的51子系列單片機(jī),由于其片內(nèi)RAM的地
21、址范圍為00H—7FH,而80H—FFH為特殊功能寄存器區(qū),而對特殊功能寄存器尋址,只能使用直接尋址方式。對片內(nèi)RAM尋址,當(dāng)使用寄存器間接尋址是采用R0或R1作為間接尋址的,因此R0或R1的內(nèi)容不能超過7FH。</p><p> 增強(qiáng)型的52子系列單片機(jī),片內(nèi)RAM的地址范圍為00H—FFH,因此作為間接尋址寄存器的R0或R1的內(nèi)容就不受限制。</p><p> 第4章 AT89S
22、51匯編語言程序的設(shè)計(jì)與調(diào)試</p><p><b> 參考答案</b></p><p> 1.答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒有相應(yīng)的機(jī)器代碼產(chǎn)生。常用偽指令及其功能如下: </p><p> ORG(ORiGin)匯編起始
23、地址命令;END(END of assembly)匯編終止命令;EQU(EQUate)標(biāo)號賦值命令;DB(Define Byte)定義數(shù)據(jù)字節(jié)命令;DW(Define Word)定義數(shù)據(jù)字命令;DS(Define Storage)定義存儲區(qū)命令;BIT 位定義命令</p><p><b> 2. 答:</b></p><p> 手工匯編:通過查指令的機(jī)器
24、代碼表(表3-2),逐個(gè)把助記符指令“翻譯”成機(jī)器代碼,再進(jìn)行調(diào)試和運(yùn)行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。</p><p> 機(jī)器匯編:借助于微型計(jì)算機(jī)上的軟件(匯編程序)來代替手工匯編。通過在微機(jī)上運(yùn)行匯編程序,把匯編語言源程序翻譯成機(jī)器代碼。</p><p> 反匯編:將二進(jìn)制的機(jī)器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。</p><p&
25、gt; 3.答:從1000H開始的各有關(guān)存儲單元的內(nèi)容(16進(jìn)制)如下:</p><p> 4D 41 49 4E 12 34 30 00</p><p> 00 70 78 7F E4 F6 D8 FD </p><p> 75 81 07 02</p><p> 4.在編寫子程序時(shí)應(yīng)注意以下問題
26、:</p><p> ?。?)子程序的第一條指令前必須有標(biāo)號。</p><p> (2)主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令:</p><p> ?、?絕對調(diào)用指令A(yù)CALL addr11。被調(diào)用的子程序的首地址與絕對調(diào)用指令的下一條指令的高5位地址相同,即只能在同一個(gè)2KB區(qū)內(nèi)。</p><p> ② 長調(diào)用指令LCALL add
27、r16。addr16為直接調(diào)用的目的地址,被調(diào)用的子程序可放置在64KB程序存儲器區(qū)的任意位置。</p><p> ?。?)子程序結(jié)構(gòu)中必須用到堆棧,用來保護(hù)斷點(diǎn)和現(xiàn)場保護(hù)。</p><p> ?。?)子程序返回時(shí),必須以RET指令結(jié)束。</p><p> (5)子程序可以嵌套,但要注意堆棧的沖突。 </p><p> 5.答:參考程序如
28、下:</p><p><b> MOVA,45H</b></p><p> ANLA,#0FH</p><p> ORLA,#0FH</p><p><b> MOV45H,A</b></p><p> 6.答:A=80H ,SP=40H,(41H)=50H
29、,(42H)=80H ,PC=8050H</p><p> 7.答:參考程序如下:</p><p> START:MOVR0,#30H</p><p> MOVR2,#20H</p><p> LOOP:MOVA,@R0</p><p> CJNEA,#0AAH,NEXT</p>
30、<p> MOV51H,#01H</p><p><b> LJMPEXIT</b></p><p> NEXT:INCR0</p><p> DJNZR2,LOOP</p><p> MOV51H,#00H</p><p> EXIT:RET</p
31、><p> 8.答:參考程序如下:</p><p> START:MOV41H,#0</p><p> MOVR0,#20H</p><p> MOVR2,#20H</p><p> LOOP:MOVA,@R0</p><p><b> JNZNEXT</
32、b></p><p><b> INC41H</b></p><p> NEXT:INCR0</p><p> DJNZR2,LOOP</p><p><b> RET</b></p><p> 9.答:參考程序如下:</p><
33、;p> ORG 0100H</p><p> MOVR2, #20H要比較的數(shù)據(jù)字節(jié)數(shù)</p><p> MOVA , #21H</p><p> MOVR1 , A</p><p><b> DECR2</b></p><p> MOVA , @R1 &l
34、t;/p><p> LOOP:MOVR3,A</p><p><b> DECR1</b></p><p><b> CLRC</b></p><p> SUBBA,@R1</p><p> JNCLOOP1</p><p>&
35、lt;b> MOVA,@R1</b></p><p> SJMPLOOP2</p><p> LOOP1: MOVA,R3 </p><p> LOOP2: DJNZR2, LOOP</p><p> MOV@R0,A</p><p><b> RET
36、 </b></p><p><b> 10.答:</b></p><p> ?。?)SP=SP+1=61H(61H)=PC的低字節(jié)=03H</p><p> SP=SP+1=62H(62H)=PC的高字節(jié)=20H</p><p> (2)PC=3456H</p><p>
37、;<b> ?。?)可以</b></p><p> (4)2KB=2048 Byte</p><p> 11.答:可對程序做如下修改:</p><p> ORG 0100H</p><p> DEL: MOV R7, #200</p><p> DEL1: MOV R6,
38、 #123 ;將原來的立即數(shù)125改為123 </p><p> DEL2: DJNZ R6, DEL2</p><p> NOP ;增加的指令 </p><p> DJNZR7, DEL1</p><p><b> RET</b></p><p>
39、; 程序修改后的延時(shí)時(shí)間為:1+(1+123*2+1+2)*200+2=50003us=50.003ms</p><p> 第5章 AT89S51的中斷系統(tǒng)</p><p><b> 參考答案</b></p><p> 1.答:0013H;001BH</p><p> 2.答:串行口中斷; 外部中斷1<
40、/p><p> 3. 答:RETI指令在返回的同時(shí)清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷,而RET指令則沒有這個(gè)操作。除了這一點(diǎn)兩條指令不同外,其它操作都相同。</p><p><b> 4.答:D</b></p><p> 5. 答:在一個(gè)單一中斷的系統(tǒng)里,AT89S51單片機(jī)對外部中斷請求的響應(yīng)時(shí)間總是在3~8個(gè)機(jī)器周期之間。</p
41、><p> 在下述三種情況下,AT89S51將推遲對外部中斷請求的響應(yīng):</p><p> ?。?)AT89S51正在處理同級或更高優(yōu)先級的中斷。</p><p> (2)所查詢的機(jī)器周期不是當(dāng)前正在執(zhí)行指令的最后一個(gè)機(jī)器周期。</p><p> (3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。</p><p&g
42、t; 如果存在上述三種情況之一,AT89S51將丟棄中斷查詢結(jié)果,將推遲對外部中斷請求的響應(yīng)。</p><p><b> 6.答:D</b></p><p> 7.答:PC、PC、程序存儲器</p><p> 8.答: 參考程序段如下:</p><p><b> SETBIT1</b>
43、</p><p><b> SETBEX1</b></p><p><b> SETBEA</b></p><p><b> 9.答:(A)</b></p><p> 10.答:一個(gè)中斷源的中斷請求被響應(yīng),必須滿足以下必要條件:</p><p&g
44、t; (1)總中斷允許開關(guān)接通,即IE寄存器中的中斷總允許位EA=1。</p><p> ?。?)該中斷源發(fā)出中斷請求,即該中斷源對應(yīng)的中斷請求標(biāo)志為“1”。</p><p> ?。?)該中斷源的中斷允許位=1,即該中斷被允許。</p><p> ?。?)無同級或更高級中斷正在被服務(wù)。</p><p> 11.答:(A)、(C)、(D)&
45、lt;/p><p> 12.答:參見電路如圖5-10,參考程序如下:</p><p><b> ORG0000H</b></p><p><b> LJMPMAIN</b></p><p><b> ORG0013H</b></p><p>
46、 LJMPINT_EX1</p><p><b> ORG0030H</b></p><p> MAIN:CLRIT0;采用電平觸發(fā),低電平有效中斷</p><p> SETBEX1;允許外部中斷1</p><p> SETBEA</p><p><
47、b> ??;插入一段用戶程序</b></p><p> WAIT: MOVPCON,#01H;單片機(jī)進(jìn)入休眠方式等待中斷</p><p><b> NOP</b></p><p><b> LJMPWAIT</b></p><p> ?。灰韵聻橥獠恐袛?服務(wù)子程序&l
48、t;/p><p> INT_EX1:JBP1.2,NEXT1;判斷是不是3號中斷</p><p> LJMPINT_IR3;跳轉(zhuǎn)到3號中斷處理程序</p><p> NEXT1:JBP1.1,NEXT2;判斷是不是2號中斷</p><p> LJMPINT_IR2;跳轉(zhuǎn)到2號中斷處理程序</p>
49、<p> NEXT2:LJMPINT_IR1;跳轉(zhuǎn)到1號中斷處理程序</p><p><b> ORG1000H</b></p><p> INT_IR3:相應(yīng)中斷處理程序</p><p> RETI;中斷返回</p><p><b> ORG1100H</b&g
50、t;</p><p> INT_IR2:相應(yīng)中斷處理程序</p><p> RETI;中斷返回</p><p><b> ORG1200H</b></p><p> INT_IR1:相應(yīng)中斷處理程序</p><p> RETI;中斷返回</p><
51、;p> 第6章 AT89S51的定時(shí)/計(jì)數(shù)器</p><p><b> 參考答案</b></p><p> 1.答:(A)對;(B)錯(cuò);(C)錯(cuò);(D)錯(cuò);</p><p> 2.答:因?yàn)闄C(jī)器周期:</p><p> 所以定時(shí)器/計(jì)數(shù)器工作方式0下,其最大定時(shí)時(shí)間為</p><p&g
52、t; 同樣可以求得方式1下的最大定時(shí)時(shí)間為262.144ms;方式2下的最大定時(shí)時(shí)間為1024ms。</p><p> 3.答:定時(shí)/計(jì)數(shù)器作定時(shí)時(shí),其計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時(shí)鐘信號12分頻后提供。定時(shí)時(shí)間與時(shí)鐘頻率和定時(shí)初值有關(guān)。</p><p> 4.答:由于確認(rèn)1次負(fù)跳變要花2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。&l
53、t;/p><p> 5.答:定時(shí)器/計(jì)數(shù)器T0在計(jì)數(shù)和定時(shí)工作完成后,均采用中斷方式工作。除了第一次計(jì)數(shù)工作方式設(shè)置在主程序完成外,后面的定時(shí)或計(jì)數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識別下一輪定時(shí)器/計(jì)數(shù)器T0的工作方式。參考程序如下:</p><p><b> ORG0000H</b></p><p><b> LJMPM
54、AIN</b></p><p><b> ORG000BH</b></p><p><b> LJMPIT0P</b></p><p> MAIN:MOVTMOD,#05H;定時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式1</p><p> MOVTL0,#9CH;計(jì)數(shù)100個(gè)脈沖
55、的初值賦值</p><p> MOVTH0,#0CCH</p><p> SETBTR0;啟動(dòng)T0,開始計(jì)數(shù)</p><p> SETBET0;允許T0中斷</p><p> SETBEA;CPU開中斷</p><p> CLRF0 ;設(shè)置下一輪為定時(shí)方式的標(biāo)志位&l
56、t;/p><p> WAIT:AJMPWAIT</p><p> IT0P:CLREA;CPU關(guān)中斷</p><p> JBF0,COUNT;F0=1,轉(zhuǎn)計(jì)數(shù)方式設(shè)置</p><p> MOVTMOD,#01H;定時(shí)器/計(jì)數(shù)器T0為定時(shí)方式1</p><p> MOVTH0,#0FE
57、H;定時(shí)1ms初值賦值</p><p> MOVTL0,#0CH</p><p><b> SETB F0</b></p><p><b> SETBEA</b></p><p><b> RETI</b></p><p> COUN
58、T:MOVTMOD,#05H</p><p> MOVTL0,#9CH;計(jì)數(shù)100個(gè)脈沖的初值賦值</p><p> MOVTH0,#0CCH</p><p><b> CLR F0</b></p><p><b> SETBEA</b></p><p&g
59、t;<b> RETI</b></p><p><b> END</b></p><p> 6. 答:定時(shí)器/計(jì)數(shù)器的工作方式2具有自動(dòng)恢復(fù)初值的特點(diǎn),適用于精確定時(shí),比如波特率的產(chǎn)生。</p><p> 7. 答:根據(jù)題意,從P1.0輸出的矩形脈沖的高低電平的時(shí)間為10:1,則高低電平的時(shí)間分別為363.63μs
60、和36.37μs。如果系統(tǒng)采用6MHz晶振的話,Tcy=2μs,因此高低電平輸出取整,則約為364μs和36μs。參考程序如下:</p><p><b> ORG0000H</b></p><p><b> LJMPMAIN</b></p><p><b> ORG000BH</b><
61、;/p><p><b> LJMPIT0P</b></p><p> MAIN:MOVTMOD,#02H;定時(shí)器/計(jì)數(shù)器T0為定時(shí)方式2</p><p> MOVTL0,#4AH;定時(shí)364μs初值賦值</p><p> MOVTH0,#4AH;定時(shí)364μs初值賦值</p><
62、;p> SETBTR0;啟動(dòng)T0,開始計(jì)數(shù)</p><p> SETBET0;允許T0中斷</p><p> SETBEA;CPU開中斷</p><p><b> SETBP1.0</b></p><p> WAIT:AJMPWAIT</p><p>
63、; IT0P:CLREA</p><p> CLRP1.0;關(guān)中斷</p><p><b> MOVR0,#9</b></p><p> DLY:DJNZR0,DLY;延時(shí)36μs</p><p><b> SETBP1.0</b></p><
64、p><b> SETBEA</b></p><p><b> RETI</b></p><p><b> END </b></p><p> 8. 答:方法1,在第一個(gè)定時(shí)器的中斷程序里關(guān)閉本定時(shí)器的中斷程序,設(shè)置和打開另一個(gè)定時(shí)器;在另一個(gè)定時(shí)器的中斷程序中關(guān)閉本定時(shí)中斷,設(shè)置和打開
65、另一個(gè)定時(shí)器。這種方式的定時(shí)時(shí)間為兩個(gè)定時(shí)器定時(shí)時(shí)間的和。</p><p> 方法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ù)值。</p><p> 9. 答:由T1(P3.5)口控制定時(shí)器T1的啟動(dòng)和關(guān)閉。</p><p> 10
66、. 答:采用方式1定時(shí)工作方式。最大脈沖寬度為131.072ms。</p><p> 11. 答:將P1.1的輸入脈沖接入T0,即使用T0計(jì)數(shù)器完成對P1.1口的脈沖計(jì)數(shù)。參考程序如下:</p><p><b> ORG0000H</b></p><p><b> LJMPMAIN</b></p>
67、<p><b> ORG000BH</b></p><p><b> LJMPIT0P</b></p><p> MAIN:JNBP1.0,MAIN</p><p> MOV R2,#0</p><p> MOVTMOD,#05H;定時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式1&
68、lt;/p><p> SETBTR0;啟動(dòng)T0,開始計(jì)數(shù)</p><p> SETBET0;允許T0中斷</p><p> SETBEA;CPU開中斷</p><p> WAIT:JBP1.2,WAIT</p><p><b> CLREA</b>&
69、lt;/p><p><b> CLRTR0</b></p><p> MOVR1,TH0</p><p> MOVR0,TL0</p><p><b> AJMP$</b></p><p> IT0P:INCR2</p><p>&
70、lt;b> RETI</b></p><p> 12. 答: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ù)上述過程。</p><p> 第7章 AT
71、89S51的串行口</p><p><b> 參考答案</b></p><p><b> 1.答:方式1。</b></p><p><b> 2.答:相等的。</b></p><p> 3.答:A.對;B.對;C.錯(cuò);D.對;E.對。</p><p&
72、gt;<b> 4.答:C</b></p><p><b> 5.答:C</b></p><p> 6.答:當(dāng)接收方檢測到RXD端從1到0的跳變時(shí)就啟動(dòng)檢測器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認(rèn)是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。</p><p>
73、 7.答:串行口有4種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,</p><p> 方式1的波特率=2SMOD/32×定時(shí)器T1的溢出率</p><p> 方式2的波特率=2SMOD/64×fosc</p><p> 方式3的波特率=2SMOD/32
74、×定時(shí)器T1的溢出率</p><p> 8.答:字符“B”的ASCII碼為“42H”,幀格式如下:</p><p> 9.答:因?yàn)槎〞r(shí)器/計(jì)數(shù)器在方式2下,初值可以自動(dòng)重裝,這樣在做串口波特率發(fā)生器設(shè)置時(shí),就避免了執(zhí)行重裝參數(shù)的指令所帶來的時(shí)間誤差。</p><p> 設(shè)定時(shí)器T1方式2的初值為X,計(jì)算初值X可采用如下公式:</p>&
75、lt;p> 波特率 = </p><p> 10.答:經(jīng)計(jì)算,計(jì)數(shù)初值為FAH,初始化程序如下:</p><p> ANL TMOD,#0F0H;屏蔽高4位</p><p> ORLTMOD,#20H;控制字</p><p> MOVTH1,#0FAH;寫入計(jì)數(shù)初值</p&
76、gt;<p> MOVTL1,#0FAH</p><p> MOVSCON,#40H</p><p> 11.答:見7.3節(jié)的介紹。</p><p> 12.答:見7.5.3小節(jié)的介紹</p><p> 13.答:串口每秒鐘傳送的字符為:1800/60=30個(gè)字符/秒</p><p> 所
77、以波特率為:30個(gè)字符/秒×10位/個(gè)字符=300b/s</p><p> 14.答:串行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/O口,一般不用于兩個(gè)MCS-51之間的串行通信。該方式以fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。</p><p> 15.答:直接以TTL電平串行傳輸數(shù)據(jù)的方式的缺點(diǎn)是傳輸距離短,抗干擾能力差。因
78、此在串行傳輸距離較遠(yuǎn)時(shí),常采用RS-232C、RS-422A和RS-485標(biāo)準(zhǔn)串行接口。主要是對傳輸?shù)碾娦盘柌粩喔倪M(jìn),如RS-232C傳輸距離只有幾十米遠(yuǎn),與直接以TTL電平串行傳輸相比,采用了負(fù)邏輯,增大“0”、“1”信號的電平差。而RS-422A和RS-485都采用了差分信號傳輸,抗干擾能力強(qiáng),距離可達(dá)1000多米。RS-422A為全雙工,RS-485為半雙工。</p><p> 第8章 AT89S51單
79、片機(jī)擴(kuò)展存儲器的設(shè)計(jì)</p><p><b> 參考答案</b></p><p> 1.答:程序、數(shù)據(jù)。</p><p><b> 2.答:80H。</b></p><p><b> 3.答:片選。</b></p><p><b>
80、4.答:16KB。</b></p><p> 5.答:程序、數(shù)據(jù)。</p><p> 6.答:2K,14。</p><p> 7.答:0FFFH。</p><p><b> 8.答:(D)</b></p><p> 9.答:本題主要考察對外部存儲器的讀、寫操作,只要記住正確使
81、用MOVX指令就可以了。編程思路:首先讀取2001H的值,保存在寄存器A中,將寄存器A的高四位和低四位互換,再屏蔽掉低四位然后將寄存器A的值保存到30H中,然后再讀取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后將寄存器A的值與30H進(jìn)行或運(yùn)算,將運(yùn)算后的結(jié)果保存在2002H中。</p><p> ORG0000H</p><p> MAIN:MOVDPTR,#2
82、001H;設(shè)置數(shù)據(jù)指針的初值</p><p> MOVXA,@DPTR;讀取2001H的值</p><p> SWAPA</p><p> ANLA,#0F0H;屏蔽掉低四位</p><p> MOV30H,A;保存A</p><p> INC
83、DPTR;指針指向下一個(gè)</p><p> MOVXA,@DPTR;讀取2002H的值</p><p> ANLA,#0FH;屏蔽掉高四位</p><p> ORLA,30H;進(jìn)行拼裝</p><p> MOVX@DPTR,A;保存到2002H</p><p
84、><b> END</b></p><p> 10.答:本題主要考察對外部數(shù)據(jù)塊的寫操作;編程時(shí)只要注意循環(huán)次數(shù)和MOVX指令的使用就可以了。</p><p> ORG0000H</p><p> MAIN:MOVA,#0;送預(yù)置數(shù)給A</p><p> MOVR0,#0FF
85、H;設(shè)置循環(huán)次數(shù)</p><p> MOVDPTR,#4000H;設(shè)置數(shù)據(jù)指針的初值</p><p> LOOP:MOVX@DPTR,A;當(dāng)前單元清零</p><p> INCDPTR;指向下一個(gè)單元</p><p> DJNZR0,LOOP;是否結(jié)束</p>
86、<p><b> END</b></p><p> 11.答:因?yàn)榭刂菩盘柧€的不同:</p><p> 外擴(kuò)的RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為OE*和WE*。外擴(kuò)RAM的讀、寫控制引腳分別與AT89S51的RD*和WR*引腳相連。</p><p> 外擴(kuò)的EPROM在正常使用中只能讀出,不能寫入,故
87、EPROM芯片沒有寫入控制引腳,只有讀出引腳,記為OE*,該引腳與AT89S51單片機(jī)的PSEN*相連。</p><p> 12.答:圖中采用了譯碼法。4片地址分別為0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。</p><p><b> 13.答:</b></p><p> ?。?)參見圖
88、8-20或圖8-21,去掉一片2764。</p><p> (2)指出該應(yīng)用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址范圍。</p><p><b> 14.答:</b></p><p> (1)A組跨接端子的內(nèi)部正確連線圖</p><p> ?。?)B組跨接端子的內(nèi)部正確連線圖</p><p
89、> 注意:答案不唯一,還有其他連接方法,也可滿足題目要求。</p><p> 第9章 AT89S51擴(kuò)展I/O接口的設(shè)計(jì)</p><p><b> 參考答案</b></p><p><b> 1.答:</b></p><p> ?。ˋ)錯(cuò),81C55具有地址鎖存功能;</p&g
90、t;<p> ?。˙)錯(cuò),在81C55芯片中,引腳IO/M*、A2、A1、A0決定端口地址和RAM單元編址;</p><p> (C)錯(cuò),82C55不具有三態(tài)緩沖器;</p><p> ?。―)錯(cuò),82C55的B口只可以設(shè)置成方式0和方式1。</p><p> 2.答:I/O端口簡稱I/O口,常指I/O接口電路中具有端口地址的寄存器或緩沖器。I/O
91、接口是指單片機(jī)與外設(shè)間的I/O接口芯片;I/O接口功能:(1) 實(shí)現(xiàn)和不同外設(shè)的速度匹配;(2) 輸出數(shù)據(jù)緩存;(3) 輸入數(shù)據(jù)三態(tài)緩沖。</p><p> 3.答:3種傳送方式: (1) 同步傳送方式:同步傳送又稱為有條件傳送。當(dāng)外設(shè)速度可與單片機(jī)速度相比擬時(shí),常常采用同步傳送方式。(2) 查詢傳送方式:查詢傳送方式又稱為有條件傳送,也稱異步傳送。單片機(jī)通過查詢得知外設(shè)準(zhǔn)備好后,再進(jìn)行數(shù)據(jù)傳送。異步傳送的優(yōu)點(diǎn)
92、是通用性好,硬件連線和查詢程序十分簡單,但是效率不高。 (3) 中斷傳送方式:中斷傳送方式是利用AT89S51本身的中斷功能和I/O接口的中斷功能來實(shí)現(xiàn)I./O數(shù)據(jù)的傳送。單片機(jī)只有在外設(shè)準(zhǔn)備好后,發(fā)出數(shù)據(jù)傳送請求,才中斷主程序,而進(jìn)入與外設(shè)進(jìn)行數(shù)據(jù)傳送的中斷服務(wù)程序,進(jìn)行數(shù)據(jù)的傳送。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。因此,中斷方式可大大提高工作效率。</p><p> 4.答:兩種。(1) 獨(dú)立編址方式:獨(dú)
93、立編址方式就是I/O地址空間和存儲器地址空間分開編址。獨(dú)立編址的優(yōu)點(diǎn)是I/O地址空間和存儲器地址空間相互獨(dú)立,界限分明。但卻需要設(shè)置一套專門的讀寫I/O的指令和控制信號。(2) 統(tǒng)一編址方式:這種方式是把I/O端口的寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一進(jìn)行編址。統(tǒng)一編址的優(yōu)點(diǎn)是不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進(jìn)行I/O操作。AT89S51單片機(jī)使用的是I/O和外部數(shù)據(jù)存儲器RAM統(tǒng)一編址的方式。</p>
94、<p> 5.答: 82C55通過寫入控制字寄存器的控制字的最高位來進(jìn)行判斷,最高位為1時(shí),為方式控制字,最高位為0時(shí),為C口按位置位/復(fù)位控制字。</p><p> 6.答:本題主要考察對82C55的C口的操作。其方式控制字的最高位為0時(shí),低四位控裝置對C口置復(fù)位。由題目可知方式控制寄存器的地址為7FFFH。</p><p><b> ORG0100H<
95、;/b></p><p> MAIN:MOVDPTR,#7FFFH;控制字寄存器地址7FFFH送DPTR</p><p> MOVA,#0EH;將PC7置0</p><p> MOVX@DPTR,A</p><p> MOVA,#09H;將PC4置1</p><p> MOVX
96、@DPTR,A</p><p><b> END</b></p><p> 7.答:當(dāng)外設(shè)輸入一個(gè)數(shù)據(jù)并送到PA7-PA0上時(shí),輸入設(shè)備自動(dòng)在選通輸入線A向82C55發(fā)送一個(gè)低電平選通信號,則把PA7-PA0上輸入的數(shù)據(jù)存入PA口的輸入數(shù)據(jù)緩沖/鎖存器;然后使輸入緩沖器輸出線IBFA變成高電平,以通知輸入設(shè)備,82C55的PA口已收到它送來的輸入數(shù)據(jù)。82C55檢
97、測到聯(lián)絡(luò)線A由低電平變成了高電平、IBFA為1狀態(tài)和中斷允許觸發(fā)器INTEA為1時(shí),使輸出線INTRA(PC3)變成高電平,向AT89S51發(fā)出中斷請求。(INTEA的狀態(tài)可由用戶通過對PC4的置位/復(fù)位來控制。AT89S51響應(yīng)中斷后,可以通過中斷服務(wù)程序從PA口的輸入數(shù)據(jù)緩沖/鎖存器讀取外設(shè)發(fā)來的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被CPU讀走后,82C55撤銷INTRA上的中斷請求,并使IBFA變?yōu)榈碗娖?,以通知輸入外設(shè)可以送下一個(gè)輸入數(shù)據(jù)。&l
98、t;/p><p> 8.答:81C55的端口有以下幾種:命令/狀態(tài)寄存器、PA口、PB口、PC口、計(jì)數(shù)器的高8位寄存器與低8位寄存器以及RAM單元。引腳IO/,A2、A1、A0決定端口地址。TIMERIN是計(jì)數(shù)脈沖輸入引腳,輸入脈沖的上跳沿用于對81C55片內(nèi)的14位計(jì)數(shù)器減1。為計(jì)數(shù)器輸出引腳。當(dāng)14位計(jì)數(shù)器減為0時(shí)就可以在該引線上輸出脈沖或方波,輸出的信號的波形與所選的計(jì)數(shù)器工作方式有關(guān)。</p>
99、<p> 9.答:電路圖可以參考圖9-10,PA口每一位接二極管的正極,二極管的負(fù)極接地。PB口每1位接一開關(guān)和上拉電阻,開關(guān)另一端直接接地。這樣只需要將讀到的PB口的值送給PA口就可以滿足題目要求了。</p><p><b> ORG0100H</b></p><p> MIAN:MOVA,#10000010B;設(shè)置PA口方式0輸出,PB
100、口方式0輸入</p><p> MOVDPTR,#0FF7FH;控制口地址送DPTR</p><p> MOVX@DPTR,A;送方式控制字</p><p> MOVDPTR,#0FF7DH;PB口地址送DPTR</p><p> MOVXA,@DPTR;讀入開關(guān)信息</p><p> M
101、OVDPTR,#0FF7CH;PA口地址送DPTR</p><p> MOVX@DPTR,A;PA口的內(nèi)容送PB口點(diǎn)亮相應(yīng)的二極管</p><p><b> END</b></p><p> 10.答:81C55計(jì)數(shù)器的初值范圍是:3FFFH-2H。當(dāng)頻率為4MHz,初值為3FFFH時(shí),最大定時(shí)時(shí)間為:0.004096S<
102、/p><p> 11.答:將1MHz的脈沖改變?yōu)?0ms的方波,實(shí)際上就是分頻。分頻前后頻率之比為100:1,這樣只要將定時(shí)器初值設(shè)置為64H就可以了。(假設(shè)I/O口地址為7F00H-7F05H)</p><p> START:MOVDPTR,#7F04H;指針指向計(jì)數(shù)器低8位</p><p> MOVA,#64H;送初值給A</p>
103、<p> MOVX@DPTR,A;初值送給計(jì)數(shù)器低8位</p><p> INCDPTR;指向計(jì)數(shù)器高8位</p><p> MOVA,#40H;計(jì)數(shù)器方波輸出</p><p> MOVX@DPTE,A</p><p> MOVDPTR,#7F00H;指向命令/狀態(tài)口<
104、;/p><p> MOVA,#0C2H;設(shè)定控制字</p><p> MOVX@DPTE,A;啟動(dòng)計(jì)數(shù)器</p><p><b> END</b></p><p> 第10章 AT89S51與鍵盤、顯示器、撥盤、打印機(jī)的接口設(shè)計(jì)</p><p><b> 參考答案
105、</b></p><p> 1. 答:A. MAX7219是專用顯示器芯片,不用于鍵盤;B.錯(cuò):CH451芯片也可用于控制鍵盤;C.對: BUSY信號可作為查詢信號或中斷請求信號使用,但此時(shí)信號不用;E.錯(cuò):LED數(shù)碼管的字型碼是可以變的,例如表10-1中的“a”段對應(yīng)段碼字節(jié)的最高位?!癲p”段對應(yīng)段碼字節(jié)的最低位,字型碼就改變了。</p><p> 2. 答:在按鍵的閉
106、合和斷開過程中,由于開關(guān)的機(jī)械特性,導(dǎo)致了按鍵抖動(dòng)的產(chǎn)生。如果不消除按鍵的機(jī)械抖動(dòng),按鍵的狀態(tài)讀取將有可能出現(xiàn)錯(cuò)誤。消除按鍵抖動(dòng)一般是采用軟件或硬件去抖。軟件去抖的原理:在第一次檢測到有鍵按下時(shí),該鍵所對應(yīng)的行線是為低電平,執(zhí)行一端延時(shí)10ms的子程序后,確認(rèn)該行線電平是否仍然為低電平,如果仍為低電平,則確認(rèn)為該行確實(shí)有鍵按下。</p><p> 3. 答:靜態(tài)顯示時(shí),數(shù)據(jù)是分開送到每一位LED上的。而動(dòng)態(tài)顯示
107、則是數(shù)據(jù)是同時(shí)送到每一個(gè)LED上,再根據(jù)位選線來確定是哪一位LED被顯示。靜態(tài)顯示亮度很高,但口線占用較多。動(dòng)態(tài)顯示口線占用較少,適合用在顯示位數(shù)較多的場合。</p><p> 4. 答:80H(共陰極);7FH(共陽極)。</p><p> 5. 答:按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上,無按鍵按下時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵
108、按下時(shí),行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平亦為高。將行、列線信號配合起來并做適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。</p><p> 6. 答:先對P1口高四位送低電平,讀取P1口低四位的值;再對P1口低四位送低電平,讀取P1口高四位的值,將兩次讀到的值組合在一起就得到了按鍵的特征碼,在根據(jù)特征碼查找鍵值。</p><
109、;p> KEYIN:MOVP1,#0FH;反轉(zhuǎn)讀鍵</p><p><b> MOVA,P1</b></p><p> ANLA,#0FH</p><p><b> MOVB,A</b></p><p> MOVP1,#0F0H</p>&l
110、t;p><b> MOVA,P1</b></p><p> ANLA,#0F0H</p><p><b> ORLA,B</b></p><p> CJNEA,#0FFH,KEYIN1</p><p> RET;未按鍵</p><p&
111、gt; KEYIN1:MOVB,A;暫存特征碼</p><p> MOVDPTR,#KEYCOD;指向特征碼表</p><p> MOVR3,#0FFH;順序碼初始化</p><p> KEYIN2:INCR3</p><p><b> MOVA,R3</b>&
112、lt;/p><p> MOVCA,@A+DPTR</p><p> CJNEA,B,KEYIN3</p><p> MOVA,R3;找到,取順序碼</p><p><b> RET</b></p><p> KEYIN3:CJNEA,#0FFH,KEYIN2;未完,
113、再查</p><p> RET;已查完,未找到,以未按鍵處理</p><p> KEYCOD:DB0E7H,0EBH,0EDH,0EEH;特征碼表</p><p> DB0D7H,0DBH,0DDH,0DEH</p><p> DB0B7H,0BBH,0BDH,0BEH</p><p
114、> DB77H,7BH,7DH,7EH</p><p> 7. 答:(1)編程掃描方式:當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤掃描子程序,反復(fù)的掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),來響應(yīng)鍵盤的輸入請求。(2)定時(shí)掃描工作方式:單片機(jī)對鍵盤的掃描也可用定時(shí)掃描方式,即每隔一定的時(shí)間對鍵盤掃描一次。(3)中斷工作方式:只有在鍵盤有鍵按下時(shí),才執(zhí)行鍵盤掃描程序并執(zhí)行該按鍵功能程序,如果無鍵按下,單片機(jī)將不理睬鍵
115、盤。</p><p> 8. 答:DB0-DB7:數(shù)據(jù)線,單向傳輸,由單片機(jī)輸入給打印機(jī)。STB(STROBE):數(shù)據(jù)選通信號。在該信號的上升沿,數(shù)據(jù)線上的8位并行數(shù)據(jù)被打印機(jī)讀入機(jī)內(nèi)鎖存。BUSY:打印機(jī)忙狀態(tài)信號。當(dāng)該信號有效(高電平)時(shí),表示打印機(jī)正忙于處理數(shù)據(jù)。此時(shí),單片機(jī)不得使STB信號有效,向打印機(jī)送入新的數(shù)據(jù)。ACK:打印機(jī)的應(yīng)答信號。低電平有效,表明打印機(jī)已取走數(shù)據(jù)線上的數(shù)據(jù)。ERR:出錯(cuò)信號。
116、當(dāng)送入打印機(jī)的命令格式出錯(cuò)時(shí),打印機(jī)立即打印1行出錯(cuò)信息,提示出錯(cuò)。在打印出錯(cuò)信息之前。該信號線出現(xiàn)一個(gè)負(fù)脈沖,脈沖寬度為30us。</p><p> 單片機(jī)與打印機(jī)相連時(shí),分為直接相連(圖10-27)和通過擴(kuò)展的并行I/O口82C55連接(圖10-28)。直接相連時(shí)(圖10-27),打印機(jī)在輸入電路中有鎖存器,在輸出電路中有三態(tài)門控制,。沒有讀、寫信號,只有握手線、BUSY(或),用一根地址線來控制寫選通信號
117、STB和讀取BUSY引腳狀態(tài)。圖10-28所示為通過擴(kuò)展的并行I/O口82C55連接的打印機(jī)接口電路。采用查詢法,即通過讀與82C55的PC0腳的相連的BUSY狀態(tài),來判斷送給打印機(jī)的一個(gè)字節(jié)的數(shù)據(jù)是否處理完畢。也可用中斷法(BUSY直接與單片機(jī)的引腳相連)。</p><p> 9.答:本程序采用外部中斷來進(jìn)行數(shù)據(jù)打印,先打印一個(gè)數(shù)據(jù),當(dāng)BUSY線從高電平變成低電平時(shí),在打印下一個(gè)數(shù)據(jù)</p>&
118、lt;p> ORG0000H</p><p><b> LJMPMAIN</b></p><p> ORG0003H</p><p><b> LJMPIN</b></p><p> ORG0030H</p><p> MAIN:SETB
119、EX0;允許外部中斷</p><p><b> SETBIT0</b></p><p><b> SETBEA</b></p><p> MOVR0,#7FH;控制口地址</p><p> MOVA,#81H;控制字</p><p>
120、 MOVX@R0,A</p><p> MOVR1,#20H;數(shù)據(jù)區(qū)首地址</p><p> MOVR2,#19;計(jì)數(shù)器</p><p> MOVA,@R1;打印內(nèi)容</p><p> MOVR0,#7CH;A口地址</p><p> MOVX@R0,A</p&g
121、t;<p> MOVR0,#7FH</p><p> MOVA,#0EH</p><p> MOVX@RO,A;PC7=0</p><p> MOVA,#0FH</p><p> MOVX@R0,A;PC7=1</p><p><b> SJMP$<
122、;/b></p><p> IN:DJNZR2,EX;20個(gè)數(shù)據(jù)都結(jié)束了嗎?</p><p> INCR1;指向下一個(gè)數(shù)據(jù)</p><p> MOVA,@R1</p><p> MOVR0,#7CH</p><p> MOVX@R0,A</p><
123、p> MOVR0,#7FH</p><p> MOVA,#0EH</p><p> MOVX@RO,A</p><p> MOVA,#0FH</p><p> MOVX@R0,A</p><p> EX:RETI</p><p> 第11章 AT89S
124、51單片機(jī)與D/A轉(zhuǎn)換器、A/D轉(zhuǎn)換器的接口</p><p><b> 參考答案</b></p><p> 1.答:由運(yùn)算放大器構(gòu)成的I/V轉(zhuǎn)換電路</p><p><b> 2.答:同步</b></p><p> 3.答:(1)錯(cuò),D/A轉(zhuǎn)換器也要考慮“轉(zhuǎn)換速度”或“轉(zhuǎn)換時(shí)間”問題,即建立
125、時(shí)間(轉(zhuǎn)換時(shí)間);(2)對;(3)錯(cuò),是D/A轉(zhuǎn)換器的分辨率;(4)對。</p><p> 4. 答:D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)如下:</p><p> 分辨率:D/A轉(zhuǎn)換器的分辨率指輸入的單位數(shù)字量變化引起的模擬量輸出的變化,是對輸入量變化敏感程度的描述。</p><p> 建立時(shí)間:建立時(shí)間是描述D/A轉(zhuǎn)換速度快慢的一個(gè)參數(shù),用于表明轉(zhuǎn)換速度。其值為從輸入
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)張毅剛課后習(xí)題答案
- 單片機(jī)張毅剛課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用第二版張毅剛課后習(xí)題答案
- 《單片機(jī)》張毅剛_課后題答案
- 單片機(jī)原理及應(yīng)用第三版張毅剛課后習(xí)題答案完整版
- 《單片機(jī)原理及應(yīng)用》課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用課后習(xí)題答案張?zhí)m紅
- 單片機(jī)原理及應(yīng)用第三版(張毅剛)06
- 《單片機(jī)原理及接口技術(shù)(第2版)張毅剛》第2章習(xí)題及答案
- 單片機(jī)及微機(jī)原理課后習(xí)題答案
- 單片機(jī)原理及接口技術(shù)-c51編程張毅剛第二版-習(xí)題答案
- 單片機(jī)原理及應(yīng)用曹克澄課程課后習(xí)題答案
- 單片機(jī)原理課后習(xí)題參考答案
- 《單片機(jī)原理及應(yīng)用》黃友銳主編課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用第二版課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用課后習(xí)題參考 答案1~6章
- 單片機(jī)原理及應(yīng)用黃友銳主編課后習(xí)題答案
- 單片機(jī)原理及應(yīng)用第三版(張毅剛)1-6章全
評論
0/150
提交評論