版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第1章單片機概述1 .答:微控制器,嵌入式控制器2 .答:CPU存儲器、I/O口、總線3 .答:C4 .答:B5 .答:微處理器、微處理機和CP店們都是中央處理器的不同稱謂,微處理器芯片本身不是計算機。而微計算機、單片機它們都是一個完整的計算機系統(tǒng),單片機是集成在一個芯片上的用于測控目的的單片微計算機。嵌入式處理器一般意義上講,是指嵌入系統(tǒng)的單片機、DSP嵌入式微處理器。目前嵌入式處理器多指嵌入式微處理器,例如ARM7ARM等。嵌入式微處理器相當于通用計算機中的CPU與單片機相比,單片機本身(或稍加擴展)就是一個小的計算機系統(tǒng),可獨立運行,具有完整的功能。而嵌入式微處理器僅僅相當于單片機中的中
2、央處理器。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。6 .答:MCS-5系列單片機的基本型芯片分別:8031、8051和8071。它們的差別是在片內(nèi)程序存儲器上。8031無片內(nèi)程序存儲器、8051片內(nèi)有4K?節(jié)的程序存儲器ROM而8751片內(nèi)有集成有4K?節(jié)的程序存儲器EPROM7 .答:因為MCS-5保列單片機中的“MCS是Intel公司生產(chǎn)的單片機的系列符號,而51系列單片機是指世界各個廠家生產(chǎn)的所有與8051的內(nèi)核結構、指令系統(tǒng)兼容的單片機。8 .答:相當于MCS-51系列中的87C51,
3、只不過是AT89S51芯片內(nèi)的4K字節(jié)Flash存儲器取代了87C51片內(nèi)的4K字節(jié)的EPROM9 .單片機體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實現(xiàn)各種方式的檢測和控制。單片機在嵌入式處理器市場占有率最高,最大特點是價格低,體積小。DSP是一種非常擅長于高速實現(xiàn)各種數(shù)字信號處理運算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。由于對其硬件結構和指令進行了特殊設計,使其能夠高速完成各種復雜的數(shù)字信號處理算法。廣泛地用于通訊、網(wǎng)絡通信、數(shù)字圖像處理,電機控制系統(tǒng),生物信息識別終端,實時語音壓解系統(tǒng)等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等
4、較多,而這些正是DSP勺長處所在。與單片機相比,DSP具有的實現(xiàn)高速運算的硬件結構及指令和多總線,DSP&理的算法的復雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機不可企及的。嵌入式微處理器的基礎是通用計算機中的CPU它的地址總線數(shù)目較多能擴展較大的存儲器空間,所以可配置實時多任務操作系統(tǒng)(RTOS>RTO窕嵌入式應用軟件的基礎和開發(fā)平臺。正由于嵌入式微處理器能運行實時多任務操作系統(tǒng),所以能夠處理復雜的系統(tǒng)管理任務和處理工作。因此,廣泛地應用在移動計算平臺、媒體手機、工業(yè)控制和商業(yè)領域(例如,智能工控設備、ATM機等)、電子商務平臺、信息家電(機頂盒、數(shù)字電視)以及軍
5、事上的應用。10 .廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機、DSP嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但多數(shù)人把“嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。目前“嵌入式系統(tǒng)”還沒有一個嚴格和權威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。第2章AT89S51單片機的硬件結構1 .答:AT89S5律片機的片內(nèi)都集成了如下功能部件:(1)1個微處理器(CPU;(2)128個數(shù)據(jù)存儲器(RAM單元;(3)4KFlash程序存儲器;(4)4個8位可編程并行I/O口(P0口、P1口、P2口、P3口);(5)1個全雙工用行口;(6)2個16位定時器/計數(shù)器;(7)1個看門狗定時
6、器;(8)一個中斷系統(tǒng),5個中斷源,2個優(yōu)先級;(9)25個特殊功能寄存器(SFR,(10)1個看門狗定時器。2 .答:當EA腳為高電平時,單片機讀片內(nèi)程序存儲器(4K字節(jié)Flash)中的內(nèi)容,但在PCS超過0FFFH(即超出4G節(jié)地址范圍)時,將自動轉向讀外部程序存儲器內(nèi)的程序;當EA腳為低電平時,單片機只對外部程序存儲器的地址為0000H-FFFFHW勺內(nèi)容進行讀操作,單片機不理會片內(nèi)的4K字節(jié)的Flash程序存儲器。3 .答:2s4 .答:1個機器周期等于12個時鐘振蕩周期。5 .答:64Kg序存儲器空間中有5個特殊單元分別對應于5個中斷源的中斷服務程序入口地址,見下表:表5個中斷源的中
7、斷入口地址中斷源入口地址0003H外部中斷0(INT0)000BH定時器0(T0)0013H外部中斷1(INT1)001BH定時器1(T1)0023H串行口6 .答:28此88Ho7 .答:50此88Ho8 .答:P標志位的值為009 .答:(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)。15 .答:PQPG16 .答:64K字節(jié)。17 .P0口每位可驅動8個LSTTL輸入,而P1、P2
8、、P3口的每一位的驅動能力,只有P0口的一半。當P0口的某位為高電平時,可提供400A的電流;當P0口的某位為低電平(0.45V)時,可提供3.2mA的灌電流,如低電平允許提高,灌電流可相應加大。所以,任何一個口要想獲得較大的驅動能力,只能用低電平輸出。18 .答:按下復位按鈕。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)又t(B)又t(C)錯(D)錯。3 .答:A,PGDPT
9、R4 .答:只能使用直接尋址方式。5 .答:操作碼,操作數(shù),操作碼。6 .答:1031H7 .答:程序,數(shù)據(jù)。8 .答:地址。9 .答:A的內(nèi)容與B的內(nèi)容互換。10 .答:(A)=50H,(S曰=50H,(51H)=30H,(52H)=50H,(PQ=5030H11 .答:(A)ANLA,#87H(8) ANLA,#0C3H(C)ORLA,#0CH12 .答:(A)=0CBH13 .答:(A)=00H,(R3)=0AAH14 .答:(DPH=3CH(DPD=5FH(SP)=50H15 .答:(SP)=62H,(61H)=30H,(62H)=70H16 .答:MOVR7,APUSHAccMOVA
10、BMOVXDPTRA17 .答:(D)o18 .答:(C)o19 .答:基本型的51子系列單片機,由于其片內(nèi)RAM勺地址范圍為00H-7FH,而80H-FFH為特殊功能寄存器區(qū),而對特殊功能寄存器尋址,只能使用直接尋址方式。對片內(nèi)RAM#址,當使用寄存器間接尋址是采用R0或R1作為間接尋址的,因此R0或R1的內(nèi)容不能超過7FH增強型的52子系列單片機,片內(nèi)RAM勺地址范圍為00H-FFH因此作為間接尋址寄存器的R0或R1的內(nèi)容就不受限制。第4章AT89S51匯編語言程序的設計與調(diào)試1 .答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在匯編過程中的用來控制匯編過程的命
11、令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒有相應的機器代碼產(chǎn)生。常用偽指令及其功能如下:ORG(ORiGin)匯編起始地址命令;END(ENDofassembly)匯編終止命令;EQU(EQUat0標號賦值命令;DB(DefineByte)定義數(shù)據(jù)字節(jié)命令;DW(DefineWord)定義數(shù)據(jù)字命令;DS(DefineStorage)定義存儲區(qū)命令;BIT位定義命令2 .答:手工匯編:通過查指令的機器代碼表(表3-2),逐個把助記符指令“翻譯”成機器代碼,再進行調(diào)試和運行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。機器匯編:借助于微型計算機上的軟件(匯編程序)來代替手工匯編。通過在微機上運行
12、匯編程序,把匯編語言源程序翻譯成機器代碼。反匯編:將二進制的機器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。3 .答:從1000H開始的各有關存儲單元的內(nèi)容(16進制)如下:4D41494E123430000070787FE4F6D8FD758107024 .在編寫子程序時應注意以下問題:(1)子程序的第一條指令前必須有標號。(2)主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令:絕對調(diào)用指令ACAL6ddU1。被調(diào)用的子程序的首地址與絕對調(diào)用指令的下一條指令的高5位地址相同,即只能在同一個2KB區(qū)內(nèi)。長調(diào)用指令LCALLaddr16oaddr16為直接調(diào)用的目的地址,被調(diào)用的子程序可放置在64
13、KB程序存儲器區(qū)的任意位置。(3)子程序結構中必須用到堆棧,用來保護斷點和現(xiàn)場保護。(4)子程序返回時,必須以RET旨令結束。(5)子程序可以嵌套,但要注意堆棧的沖突。5 .答:參考程序如下:MOVk,45HANLA,#0FHORLA,#0FHMOW5H,A6,答:A=80H,SP=40H(41H)=50H,(42H)=80H,PC=8050H7 .答:參考程序如下:STARTMOVR0,#30HLOOP:MOVR2,#20HMOVk,R0CJNEA,#0AAH,NEXTMOW1H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOW1H,#00HEXIT:RET8 .答:
14、參考程序如下:STARTMOW1H,#0MOVR0,#20HMOVR2,#20HLOOPMOVA,R0JNZNEXTINC41HNEXTINCR0DJNZR2,LOOPRET9 .答:參考程序如下:ORG0100HMOVR2,#20H要比較的數(shù)據(jù)字節(jié)數(shù)MOVA,#21HMOVR1,ADECR2MOVA,R1LOOP:MOVR3,ADECR1CLRCSUBBA,R1JNCLOOP1MOVAR1SJMPLOOP2LOOP1:MOVA,R3LOOP2:DJNZR2,LOOPMOVR0,ARET10 .答:(1) SP=SP+1=61H(61H尸PC的彳氐字節(jié)=03HSP=SP+1=62H(62H尸P
15、C的高字節(jié)=20H(2) PC=3456H(3)可以(4) 2KB=2048ByteDEL:DEL1:DEL2:ORG MOV MOV DJNZ NOP DJNZ RET0100HR7, #200R6, #123R6, DEL2R7, DEL1;將原來的立即數(shù)125改為123;增加的指令程序修改后的延時時間為:1+(1+123*2+1+2)*200+2=50003us=50.003ms第5章AT89S51的中斷系統(tǒng)1 .答:0013H;001BH2 .答:用行口中斷;外部中斷13 .答:RETI指令在返回的同時消除相應的優(yōu)先級觸發(fā)器,以允許下次中斷,而RET指令則沒有這個操作。除了這一點兩條指
16、令不同外,其它操作都相同。4 .答:D5 .答:在一個單一中斷的系統(tǒng)里,AT89S51單片機對外部中斷請求的響應時間總是在38個機器周期之間。在下述三種情況下,AT89S51將推遲對外部中斷請求的響應:(1)AT89S51正在處理同級或更高優(yōu)先級的中斷。(2)所查詢的機器周期不是當前正在執(zhí)行指令的最后一個機器周期。(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。如果存在上述三種情況之一,AT89S51將丟棄中斷查詢結果,將推遲對外部中斷請求的響應。6 .答:D7 .答:PGPC程序存儲器8 .答:參考程序段如下:SETBIT1SETBEX1SETBEA9.答:(A)10.答:一個中斷源
17、的中斷請求被響應,必須滿足以下必要條件:(1)總中斷允許開關接通,即IE寄存器中的中斷總允許位EA=L(2)該中斷源發(fā)出中斷請求,即該中斷源對應的中斷請求標志為“1(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無同級或更高級中斷正在被服務。11 .答:(A)、(C)、(D)12 .答:參見電路如圖5-10:ORCO000HLJMP MAIN ORCS013H LJMP INT_EX1 OR。030HMAIN:CLRIT0SETB EX1 SETB EA ;插入一段用戶程序 WAIT:參考程序如下:;采用電平觸發(fā),低電平有效中斷;允許外部中斷1MOVPCON,#01H;單片機進入休眠方式
18、等待中斷NOPLJMP WAIT;以下為外部中斷1服務子程序INT_EX1: JB P1.2, NEXT1LJMP INT_IR3NEXT1:JB P1.1, NEXT2LJMP INT_IR2NEXT2:LJMP INT_IR1ORG000HINT_IR3: 相應中斷處理程序RETIORG100HINT IR2: 相應中斷處理程序;判斷是不是3號中斷;跳轉到3號中斷處理程序;判斷是不是2號中斷;跳轉到2號中斷處理程序;跳轉到1號中斷處理程序RETIORG200HINT_IR1:相應中斷處理程序RETI;中斷返回第6章AT89S51的定時/計數(shù)器參考答案1 .答:(A)對;(B)錯;(C)錯;
19、(D)錯;2 .答:因為機器周期:Tcy衛(wèi)-2-4(S)fosc3106所以定時器/計數(shù)器工作方式0下,其最大定時時間為Tmax213Tc21341068.192(ms)同樣可以求得方式1下的最大定時時間為262.144ms;方式2下的最大定時時間為1024ms3 .答:定時/計數(shù)器作定時時,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時鐘信號12分頻后提供。定時時間與時鐘頻率和定時初值有關。4 .答:由于確認1次負跳變要花2個機器周期,即24個振蕩周期,因此外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。5 .答:定時器/計數(shù)器T0在計數(shù)和定時工作完成后,均采用中斷方式工作。除了第一次計數(shù)工作方
20、式設置在主程序完成外,后面的定時或計數(shù)工作方式分別在中斷程序完成,用一標志位識別下一輪定時器/計數(shù)器T0的工作方式。參考程序如下:OR0000HLJMPMAINORGJ00BHLJMPIT0PMAIN:MOVTMOD,#05H;定時器/計數(shù)器T0為計數(shù)方式1MOVTL0,#9CH;計數(shù)100個脈沖的初值賦值MOVTH0,#0CCHSETBTR0;啟動T0,開始計數(shù)SETB ET0;允許T0中斷SETB EA;CPUFF中斷CLRF0;設置下一輪為定時方式的標志位WAIT:AJMPWAITIT0P:CLREA;CPUK中斷JBF0,COUNT;F0=1,轉計數(shù)方式設置MOVTMOD,#01H;定
21、時器/計數(shù)器T0為定時方式1MOVTH0,#0FEH;定時1ms初值賦值MOVTL0,#0CHSETBF0SETBEARETICOUNT:MOVTMOD,#05HMOVTL0,#9CH;計數(shù)100個脈沖的初值賦值MOVTH0,#0CCHCLRF0SETBEARETIEND6 .答:定時器/計數(shù)器的工作方式2具有自動恢復初值的特點,適用于精確定時,比如波特率的產(chǎn)生。7 .答:根據(jù)題意,從P1.0輸出的矩形脈沖的高低電平的時間為10:1,則高低電平的時間分別為363.63卜s和36.372。如果系統(tǒng)采用6MHzft振白話,Tcy=2s,因此高低電平輸出取整,則約為3642和36s。參考程序如下:O
22、RG0000HLJMPMAINORC000BHLJMPIT0PMAIN:MOVTMOD,#02H;定時器/計數(shù)器T0為定時方式2MOVTL0,#4AH;定時364s初值賦值MOVTH0,#4AH;定時364s初值賦值SETBTR0;啟動T0,開始計數(shù);允許T0中斷;CPUFF中斷;關中斷;延時36 n sSETBET0SETBEASETBP1.0WAITAJMPWAITIT0P:CLREACLRP1.0MOVR0,#9DLYDJNZR0,DLYSETBP1.0SETBEARETIEND8 .答:方法1,在第一個定時器的中斷程序里關閉本定時器的中斷程序,設置和打開另一個定時器;在另一個定時器的中
23、斷程序中關閉本定時中斷,設置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。方法2,一個作為定時器,在定時中斷后產(chǎn)生一個外部計數(shù)脈沖(比如由P1.0接而產(chǎn)生),另一個定時器工作在計數(shù)方式。這樣兩個定時器的定時時間為一個定時器的定時時間乘以另一個定時器的計數(shù)值。9 .答:由T1(P3.5)口控制定時器T1的啟動和關閉。10 .答:采用方式1定時工作方式。最大脈沖寬度為131.072ms。11 .答:將P1.1的輸入脈沖接入T0,即使用T0計數(shù)器完成對P1.1口的脈沖計數(shù)。參考程序如下:OR0000HLJMPMAINORO00BHLJMPIT0PMAIN:JNBP1.0,MAINM
24、OVR2#0MOVTMOD,#05H;定時器/計數(shù)器T0為計數(shù)方式1SETB TR0;啟動T0,開始計數(shù)SETB ET0;允許T0中斷SETB EA;CPUFF中斷WAIT:JBP1.2,WAITCLREACLRTR0MOVR1,TH0MOVR0,TL0AJMP$IT0P:INCR2RETI12 .答:THx與TLx(x=0,1)是由特殊功能寄存器構成的計數(shù)器,其內(nèi)容可以隨時用指令更改,更改后的新值是立即刷新。但在讀THxTLx的值時,應該先讀THx®,后讀TLx,再讀TH%若兩次讀得THx相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THx有變化,再重復上述過程。第7章AT89S5
25、1的串行口1 .答:方式1。2 .答:相等的。3 .答:A.Xt;B.Xt;C錯;D.Xt;E.對4 .答:C5 .答:C6 .答:當接收方檢測到RXW從1到0的跳變時就啟動檢測器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數(shù)據(jù)。7 .答:用行口有4種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,方式1的波特率=2SMO/32X定時器T1的溢出率方式2的波特率=2SMO/64Xfosc方式3的波特率=2SMO/32X定
26、時器T1的溢出率8 .答:字符“B”的ASCII碼為“42H',幀格式如下:任好位01G0Q01Q校臉怔停止位9 .答:因為定時器/計數(shù)器在方式2下,初值可以自動重裝,這樣在做串口波特率發(fā)生器設置時,就避免了執(zhí)行重裝參數(shù)的指令所帶來的時間誤差。設定時器T1方式2的初值為X,計算初值X可采用如下公式:SMOD3212(256 X)10.答:經(jīng)計算,計數(shù)初值為FAH初始化程序如下:波特率=2osc一ANLTMOD,#0F0H;屏蔽高4位ORLTMOD,#20HMOVTH1,#0FAH;寫入計數(shù)初值MOVTL1,#0FAHMOVSCON,#40H11 .答:見7.3節(jié)的介紹。12 .答:見7
27、.5.3小節(jié)的介紹13 .答:串口每秒鐘傳送的字符為:1800/60=30個字符/秒所以波特率為:30個字符/秒X10位/個字符=300b/s14 .答:用行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴展并行I/O口,一般不用于兩個MCS-5優(yōu)間的串行通彳So該方式以fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。15 .答:直接以TTL電平申行傳輸數(shù)據(jù)的方式的缺點是傳輸距離短,抗干擾能力差。因此在串行傳輸距離較遠時,常采用RS-232GRS-422A和RS-485標準串行接口。主要是對傳輸?shù)碾娦盘柌粩喔倪M,如RS-232C傳輸距離只有幾十米遠,與直接以TTL電平
28、串行傳輸相比,采用了負邏輯,增大“0”、“1”信號的電平差。而RS-422A和RS-485都采用了差分信號傳輸,抗干擾能力強,距離可達1000多米。RS-422A為全雙工,RS-485為半雙工。第8章AT89S51單片機擴展存儲器的設計1 .答:程序、數(shù)據(jù)2 .答:80Ho3 .答:片選。4,答:16KB5 .答:程序、數(shù)據(jù)6 .答:2K,14。7 .答:0FFFH8 .答:(D)9.答:本題主要考察對外部存儲器的讀、寫操作,只要記住正確使用MOVXf令就可以了。編程思路:首先讀取2001H的值,保存在寄存器A中,將寄存器A的高四位和低四位互換,再屏蔽掉低四位然后將寄存器A的值保存到30H中,
29、然后再讀取2002H的值,保存在寄存器A中,屏蔽掉局四位,然后將寄存器A的值與30H進行或運算,將運算后的結果保存在2002H中。ORG0000HMAINMOVDPTR#2001H;設置數(shù)據(jù)指針的初值MOVXA,DPTR;讀取2001H的值SWAPAANLA,#0F0H;屏蔽掉低四位MOV30H,A;保存AINCDPTR;指針指向卜一個MOVXA,DPTR;讀取2002H的值ANLA,#0FH;屏蔽掉高四位ORLA,30H;進行拼裝MOVXDPRA;保存SU2002HEND10.答:本題主要考察對外部數(shù)據(jù)塊的寫操作;編程時只要注意循環(huán)次數(shù)和MOVXf令的使用就可以了。ORG0000HMAINM
30、OVA,#0;送頂置數(shù)給AMOVRO,#0FFH;設置循環(huán)次數(shù)MOVDPTR#4000H;設置數(shù)據(jù)指針的初值LOOPMOVXDPTRA;當前單元清零INCDPTR;指向卜一個單兀DJNZR0,LOOP;是否結束END11 .答:因為控制信號線的不同:外擴的RAM5片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為OE利WE*外擴RAM勺讀、寫控制引腳分別與AT89S51的RD彝口WR引腳相連。外擴的EPROMt正常使用中只能讀出,不能寫入,故EPROM&片沒有寫入控制引腳,只有讀出弓唧,記為OE*,該引腳與AT89S51單片機的PSEN相連。12 .答:圖中采用了譯碼法。4片地址分別為
31、0000H-3FFFH4000H-7FFFH8000H-BFFFHC000H-FFFFH13 .答:(1)參見圖8-20或圖8-21,去掉一片2764。(2)指出該應用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址范圍。14 .答:(1) A組跨接端子的內(nèi)部正確連線圖(2) B組跨接端子的內(nèi)部正確連線圖注意:答案不唯一,還有其他連接方法,也可滿足題目要求。第9章AT89S51擴展I/O接口的設計1 .答:(A)錯,81C55具有地址鎖存功能;(B)錯,在81C55芯片中,引腳IO/M*、A2、A1、A0決定端口地址和RAh#元編址;(C)錯,82C55不具有三態(tài)緩沖器;(D)錯,82C55的B口
32、只可以設置成方式0和方式1。2 .答:I/O端口簡稱I/O口,常指I/O接口電路中具有端口地址的寄存器或緩沖器。I/O接口是指單片機與外設間的I/O接口芯片;I/O接口功能:(1)實現(xiàn)和不同外設的速度匹配;(2)輸出數(shù)據(jù)緩存;(3)輸入數(shù)據(jù)三態(tài)緩沖。3 .答:3種傳送方式:(1)同步傳送方式:同步傳送又稱為有條件傳送。當外設速度可與單片機速度相比擬時,常常采用同步傳送方式。(2)查詢傳送方式:查詢傳送方式又稱為有條件傳送,也稱異步傳送。單片機通過查詢得知外設準備好后,再進行數(shù)據(jù)傳送。異步傳送的優(yōu)點是通用性好,硬件連線和查詢程序十分簡單,但是效率不高。(3)中斷傳送方式:中斷傳送方式是利用AT8
33、9S51本身的中斷功能和I/O接口的中斷功能來實現(xiàn)I./O數(shù)據(jù)的傳送。單片機只有在外設準備好后,發(fā)出數(shù)據(jù)傳送請求,才中斷主程序,而進入與外設進行數(shù)據(jù)傳送的中斷服務程序,進行數(shù)據(jù)的傳送。中斷服務完成后又返回主程序繼續(xù)執(zhí)行。因此,中斷方式可大大提高工作效率。4 .答:兩種。(1)獨立編址方式:獨立編址方式就是I/O地址空間和存儲器地址空間分開編址。獨立編址的優(yōu)點是I/O地址空間和存儲器地址空間相互獨立,界限分明。但卻需要設置一套專門的讀寫I/O的指令和控制信號。(2)統(tǒng)一編址方式:這種方式是把I/O端口的寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一進行編址。統(tǒng)一編址的優(yōu)點是不需要專門的I/O指令,直接使用
34、訪問數(shù)據(jù)存儲器的指令進行I/O操作。AT89S51單片機使用的是I/O和外部數(shù)據(jù)存儲器RA版一編址的方式。5 .答:82C55通過寫入控制字寄存器的控制字的最高位來進行判斷,最高位為1時,為方式控制字,最高位為0時,為C口按位置位/復位控制字。6 .答:本題主要考察對82C55的C口的操作。具方式控制字的最高位為0時,低四位控裝置對C口置復位。由題目可知方式控制寄存器的地址為7FFFHORCS100HMAIN:MODPTR,#7FFFH;控制字寄存器地址7FFFHXDPTRMOA,#0EH;將PC7置0MOVXDPTR,AMOA,#09H;將PC4置1MOVXDPTR,AEND7 .答:當外設
35、輸入一個數(shù)據(jù)并送到PA7PA0上時,輸入設備自動在選通輸入線stBa向82C55發(fā)送一個低電平選通信號,則把PA7-PA0上輸入的數(shù)據(jù)存入PA口的輸入數(shù)據(jù)緩沖/鎖存器;然后使輸入緩沖器輸出線舊Fa變成高電平,以通知輸入設備,82C55的PA口已收到它送來的輸入數(shù)據(jù)。82C55檢測到聯(lián)絡線STBa由低電平變成了高電平、舊Fa為1狀態(tài)和中斷允許觸發(fā)器INTEA為1時,使輸出線INTRA(PC3變成高電平,向AT89S51發(fā)出中斷請求。(INTEa的狀態(tài)可由用戶通過對PC4的置位/復位來控制。AT89S51響應中斷后,可以通過中斷服務程序從PA口的輸入數(shù)據(jù)緩沖/鎖存器讀取外設發(fā)來的輸入數(shù)據(jù)。當輸入數(shù)
36、據(jù)被CPU讀走后,82C55撤銷INTR上的中斷請求,并使舊Fa變?yōu)榈碗娖?,以通知輸入外設可以送下一個輸入數(shù)據(jù)。8 .答:81C55的端口有以下幾種:命令/狀態(tài)寄存器、PAD、PB口、PC口、計數(shù)器的高8位寄存器與低8位寄存器以及RAW元。弓|腳IO/M,A2、A1、A0決定端口地址。TIMERIN是計數(shù)脈沖輸入引腳,輸入脈沖的上跳沿用于對81C55片內(nèi)的14位計數(shù)器減1。TIMEROUT為計數(shù)器輸出引腳。當14位計數(shù)器減為0時就可以在該引線上輸出脈沖或方波,輸出的信號的波形與所選的計數(shù)器工作方式有關。9 .答:電路圖可以參考圖9-10,PA口每一位接二極管的正極,二極管的負極接地。PB口每1
37、位接一開關和上拉電阻,開關另一端直接接地。這樣只需要將讀到的PB口的值送給PA口就可以滿足題目要求了。ORC0100HMIANMO義#10000010B;設置PA口方式0輸出,PB口方式0輸入MONDPTR#0FF7FH;控制口地址送DPTRMOVXDPTRA;送方式控制字MONDPTR#0FF7DH;PB口地址送DPTRMOVXA,DPTR;讀入開關信息MONDPTR#0FF7CH;PA口地址送DPTRMOVXDPTRA;PA口的內(nèi)容送PB口點亮相應的二極管END10 .答:81C55計數(shù)器的初值范圍是:3FFFH-2H當頻率為4MHz初值為3FFFH時,最大定時時間為:0.004096S1
38、1 .答:將1MHz的脈沖改變?yōu)?0ms的方波,實際上就是分頻。分頻前后頻率之比為100:1,這樣只要將定時器初值設置為64H就可以了。(假設I/O口地址為7F00H-7F05H指針指向計數(shù)器低8位;送初值給A;初值送給計數(shù)器低8位;指向計數(shù)器高8位;計數(shù)器方波輸出STARTMOVDPTR#7F04HMOVA,#64HMOVXDPTRAINCDPTRMOVA,#40HMOVXDPTEAMOV DPTR #7F00H指向命令/狀態(tài)口MOVXDPTE A;啟動計數(shù)器END第10章AT89S51與鍵盤、顯示器、撥盤、打印機的接口設計1 .答:A.MAX7219是專用顯示器芯片,不用于鍵盤;B.錯:C
39、H451芯片也可用于控制鍵盤;C.對:BUSY信號可作為查詢信號或中斷請求信號使用,但此時信號ACK不用;E.錯:LED數(shù)碼管的字型碼是可以變的,例如表10-1中的“a”段對應段碼字節(jié)的最高位?!癲p”段對應段碼字節(jié)的最低位,字型碼就改變了。2 .答:在按鍵的閉合和斷開過程中,由于開關的機械特性,導致了按鍵抖動的產(chǎn)生。如果不消除按鍵的機械抖動,按鍵的狀態(tài)讀取將有可能出現(xiàn)錯誤。消除按鍵抖動一般是采用軟件或硬件去抖。軟件去抖的原理:在第一次檢測到有鍵按下時,該鍵所對應的行線是為低電平,執(zhí)行一端延時10ms的子程序后,確認該行線電平是否仍然為低電平,如果仍為低電平,則確認為該行確實有鍵按下。3 .答
40、:靜態(tài)顯示時,數(shù)據(jù)是分開送到每一位LED上的。而動態(tài)顯示則是數(shù)據(jù)是同時送到每一個LED上,再根據(jù)位選線來確定是哪一位LED被顯示。靜態(tài)顯示亮度很高,但口線占用較多。動態(tài)顯示口線占用較少,適合用在顯示位數(shù)較多的場合。4 .答:80H(共陰極);7FH(共陽極)。5 .答:按鍵設置在行、列線交點上,行、列線分別連接到按鍵開關的兩端。行線通過上拉電阻接到+5V上,無按鍵按下時,行線處于高電平狀態(tài),而當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平亦為高。將行、列線信號配合起來并做適當?shù)奶幚?,才能確定閉合鍵的位置。6 .
41、答:先對P1口高四位送低電平,讀取P1口低四位的值;再對P1口低四位送低電平,讀取P1口高四位的值,將兩次讀到的值組合在一起就得到了按鍵的特征碼,在根據(jù)特征碼查找鍵值。KEYIN:MOVP1,#0FHMOVA,P1ANLA,#0FHMOV B,AMOVP1,#0F0HMOVA,P1ANLA,#0F0HORLA,BCJNEA,#0FFH,KEYIN1RET未按鍵KEYIN1:MOW,A暫存特征碼MOVDPTR,#KEYCOD指向特征碼表MOVR3,#0FFH順序碼初始化KEYIN2:INCR3MOVA,R3KEYIN3:MOVCCJNEMOVRETCJNERETKEYCOD:DBDBDBDBA,
42、A+DPTRA,B,KEYIN3A,R3找到,取順序碼A,#0FFH, KEYIN20E7H,0EBH,0EDH,0EEH;0D7H,0DBH,0DDH,0DEH0B7H,0BBH,0BDH,0BEH77H,7BH,7DH,7EH未完,再查已查完,未找到,以未按鍵處理特征碼表7 .答:(1)編程掃描方式:當單片機空閑時,才調(diào)用鍵盤掃描子程序,反復的掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),來響應鍵盤的輸入請求。(2)定時掃描工作方式:單片機對鍵盤的掃描也可用定時掃描方式,即每隔一定的時間對鍵盤掃描一次。(3)中斷工作方式:只有在鍵盤有鍵按下時,才執(zhí)行鍵盤掃描程序并執(zhí)行該按鍵功能程序,如果無鍵按
43、下,單片機將不理睬鍵盤。8 .答:DB0-DB7數(shù)據(jù)線,單向傳輸,由單片機輸入給打印機。STB(STROBE數(shù)據(jù)選通信號。在該信號的上升沿,數(shù)據(jù)線上的8位并行數(shù)據(jù)被打印機讀入機內(nèi)鎖存。BUSY打印機忙狀態(tài)信號。當該信號有效(高電平)時,表示打印機正忙于處理數(shù)據(jù)。此時,單片機不得使STB信號有效,向打印機送入新的數(shù)據(jù)。ACK打印機的應答信號。低電平有效,表明打印機已取走數(shù)據(jù)線上的數(shù)據(jù)。ERR出錯信號。當送入打印機的命令格式出錯時,打印機立即打印1行出錯信息,提示出錯。在打印出錯信息之前。該信號線出現(xiàn)一個負脈沖,脈沖寬度為30us。單片機與打印機相連時,分為直接相連(圖10-27)和通過擴展的并行
44、I/O口82C55連接(圖10-28)。直接相連時(圖10-27),打印機在輸入電路中有鎖存器,在輸出電路中有三態(tài)門控制,。沒有讀、寫信號,只有握手線STB、BUSY(或ACK),用一根地址線來控制寫選通信號STBffi讀取BUSMI腳狀態(tài)。圖10-28所示為通過擴展的并行I/O口82C55連接的打印機接口電路。采用查詢法,即通過讀與82C55的PC0腳的相連的BUSYK態(tài),來判斷送給打印機的一個字節(jié)的數(shù)據(jù)是否處理完畢。也可用中斷法(BUSYft接與單片機的TN而引腳相連)。9 .答:本程序采用外部中斷來進行數(shù)據(jù)打印,先打印一個數(shù)據(jù),當BUS微從高電平變成低電平時,在打印下一個數(shù)據(jù)MAIN:O
45、RG0000HLJMPMAINORG0003HLJMPINORG0030HSETBEX0;允許外部中斷SETBIT0SETBEAMOVR0,#7FH;控制口地址MOVA,#81H;控制宇MOVXR0,AMOVR1,#20H;數(shù)據(jù)區(qū)首地址MOVR2,#19;計數(shù)器MOVA,R1;打印內(nèi)容MOVR0,#7CH;A 口地址MOVXR0,AMOVR0,#7FHMOVA,#0EHMOVXRO,A;PC7= 0IN:EX:MOVA,#0FHMOVXR0,A;PC7=1SJMP$DJNZR2,EX;20個數(shù)據(jù)都結束了嗎?INCR1;指向卜一個數(shù)據(jù)MOVA,R1MOVR0,#7CHMOVXR0,AMOVR0,
46、#7FHMOVA,#0EHMOVXRO,AMOVA,#0FHMOVXR0,ARETI第11章AT89S51單片機與D/A轉換器、A/D轉換器的接口1 .答:由運算放大器構成的I/V轉換電路2 .答:同步3 .答:(1)錯,D/A轉換器也要考慮“轉換速度”或“轉換時間”問題,即建立時間(轉換時間);(2)對;(3)錯,是D/A轉換器的分辨率;(4)對。4 .答:D/A轉換器的主要技術指標如下:分辨率:D/A轉換器的分辨率指輸入的單位數(shù)字量變化引起的模擬量輸出的變化,是對輸入量變化敏感程度的描述。建立時間:建立時間是描述D/A轉換速度快慢的一個參數(shù),用于表明轉換速度。其值為從輸入數(shù)字量到輸出達到終
47、位誤差士(1/2)GB(最低有效位)時所需的時間。轉換精度:理想情況下,精度與分辨率基本一致,位數(shù)越多精度越高。嚴格講精度與分辨率并不完全一致。只要位數(shù)相同,分辨率則相同.但相同位數(shù)的不同轉換器精度會有所不同。當DACJ二進制12位,滿量程輸出電壓為5V時,分辨率為1.22mV5 .答:A/D轉換器的兩個最重要指標:(1)轉換時間和轉換速率-轉換時間A/D完成一次轉換所需要的時間。轉換時間的倒數(shù)為轉換速率。(2)分辨率-A/D轉換器的分辨率習慣上用輸出二進制位數(shù)或BCDK位數(shù)表示。6 .答:量化誤差是由于有限位數(shù)字且對模擬量進行量化而引起的;最大的量化誤差為0.195%;7 .答:目前應用較廣
48、泛的主要有以下幾種類型:逐次逼近式轉換器、雙積分式轉換器、三-式A/D轉換器。逐次逼近型A/D轉換器:在精度、速度和價格上都適中,是最常用的A/D轉換器件。雙積分A/D轉換器:具有精度高、抗干擾性好、價格低廉等優(yōu)點,但轉換速度慢,近年來在單片機應用領域中也得到廣泛應用。E-式A/D轉換器:具有積分式與逐次逼近式ADC的雙重優(yōu)點,它對工業(yè)現(xiàn)場的用模干擾具有較強的抑制能力,不亞于雙積分ADC它比雙積分ADCW較高的轉換速度。與逐次逼近式ADCf比,有較高的信噪比,分辨率高,線性度好,不需要采樣保持電路。8 .答:對DAC來說,分辨率反映了輸出模擬電壓的最小變化量。而對于ADCfB說,分辨率表示輸出
49、數(shù)字量變化一個相鄰數(shù)碼所需輸入模擬電壓的變化量。量化誤差是由ADC的有限分辨率而引起的誤差,但量化誤差只適用于ADC不適用于DAC精度與分辨率基本一致,位數(shù)越多精度越高。嚴格講精度與分辨率并不完全一致。只要位數(shù)相同,分辨率則相同。但相同位數(shù)的不同轉換器,精度可能會有所不同,例如由于制造工藝的不同。9答:接口電路可參見圖11-20。參考程序如下:MAINMOVRO,#20HMOVR1,#00HMOMR2,#00HMOVR3,#50MOVR8,#08HLOOPMOVDPTR#7FF8HLOOP1MOVXDPTRAMOMR6,#0AHDELAYNOPNOPNOPDJNZR6,DELAYMOVXA,D
50、PTRINCDPTRMOVR2,DPLMONDPHR0MONDPLR1MOVXDPTRAINCDPTRMOMRO,DPHMOVR1,DPLMONDPH#7FHMONDPLR2DJNZR7,LOOP1LCALLDELAY1M;延時1分鐘(子程序另外編寫)DJNZR3,LOOP第12章單片機的串行擴展技術1 .答:系統(tǒng)連接簡單:I2C總線系統(tǒng)的基本結構如圖12-7。|2C總線系統(tǒng)直接與具有|2C總線接口的各種擴展器件(如存儲器、I/O芯片、A/D、D/A、鍵盤、顯示器、日歷/時鐘)連接。i2c總線對各器件尋址采用純軟件的尋址方法,無需片選線的連接,這樣就大大簡化了總線數(shù)量,系統(tǒng)各部件之間的連接只需
51、兩條線。數(shù)據(jù)傳輸速率較高:在標準I2C普通模式下,數(shù)據(jù)的傳輸速率為1OOkbit/s,高速模式下可達400kbit/s。2 .答:I2c總線的起始信號和終止信號都由主機發(fā)出,在起始信號產(chǎn)生后,總線就處于占用狀態(tài);在終止信號產(chǎn)生后,總線就處于空閑狀態(tài)。由圖12-9見起始信號和終止信號的規(guī)定。(1)起始信號(S)。在SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號,只有在起始信號以后,其他命令才有效。(2)終止信號(P)。在SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。隨著終止信號的出現(xiàn),所有外部操作都結束。3 .答:無論I2C總線上的數(shù)據(jù)傳輸方向由尋址字節(jié)中的
52、數(shù)據(jù)傳輸方向位規(guī)定:器件地址弓1腳地址力向位DA3DA2DA1DA0A2A1A0R/WR/W=1,表示主機接收(讀)。R/W=0,表示主機發(fā)送(寫)。4 .答:單片機對I2C總線中的器件尋址采用軟件尋址,主機在發(fā)送完起始信號后,立即發(fā)送尋址字節(jié)來尋址被控的從機,尋址字節(jié)格式如題3所示。7位從機地址即為“DA3DA2DAIDA。和“A2、A1、A0'。其中"DA3DA2DAIDA。為器件地址,是外圍器件固有的地址編碼,器件出廠時就已經(jīng)給定。“A2、A1、A0'為引腳地址,由器件引腳A2、A1、A0在電路中接高電平或接地決定(見圖12-12)。5 .答:I2C總線數(shù)據(jù)傳送
53、時,傳送的字節(jié)數(shù)(數(shù)據(jù)幀)沒有限制,每一字節(jié)必須為8位長。數(shù)據(jù)傳送時,先傳送最高位,每一個被傳字節(jié)后面都須跟1位應答位(一幀數(shù)據(jù)共9位),如圖12-10。I2C總線在傳送每一字節(jié)數(shù)據(jù)后都須有應答信號A,A信號在第9個時鐘位上出現(xiàn),A信號對應的時鐘由主機產(chǎn)生。這時發(fā)方須在該時鐘位上使SDAife處于高電平,以便收方在這一位上送出低電平的應答信號Ao由于某原因收方不對主機尋址信號應答時,例如接收方正在進行其他處理而無法接收總線上的數(shù)據(jù)時,必須釋放總線,將數(shù)據(jù)線置為高電平,而由主機產(chǎn)生一個終止信號以結束總線的數(shù)據(jù)傳送。當主機接收來自從機的數(shù)據(jù)時,接收到最后一個數(shù)據(jù)字節(jié)后,必須給從機發(fā)送一個非應答信號
54、(A),使從機釋放數(shù)據(jù)總線,以便主機發(fā)送一個終止信號,從而結束數(shù)據(jù)的傳送。6 .答:依照下面的數(shù)據(jù)傳送格式:S從機地址0A數(shù)據(jù)A/ASr從機地址r1A數(shù)據(jù)AP依次調(diào)用依照上述數(shù)據(jù)傳送格式的12.5.2小節(jié)中的各子程序第13章AT89S51單片機的應用設計與調(diào)試1 .答:A.錯;B.錯;C又t;D.錯(最小系統(tǒng)不能直接測量模擬信號)。2 .答:用戶樣機是以AT89S51單片機為核心的應用系統(tǒng),沒有對單片機中的程序進行檢錯調(diào)試的手段,也無法發(fā)現(xiàn)程序運行中的設計硬件的問題,也無法進行軟件的開發(fā)(如編輯、匯編、調(diào)試程序等),因此,必須借助某種開發(fā)工具-仿真開發(fā)系統(tǒng)所提供的開發(fā)手段來解決上述問題。3 .
55、答:仿真開發(fā)系統(tǒng)由哪幾部分組成?目前國內(nèi)大多使用通用機的仿真開發(fā)系統(tǒng)。主要由PC機、在線仿真器組成,有的還包含有用于程序燒錄的編程器,在加上與上述配套的編輯軟件、仿真調(diào)試軟件,程序燒錄軟件等。此外還有獨立型仿真器。該類仿真器采用模塊化結構,配有不同外設,如外存板、打印機、鍵盤/顯示器等,用戶可根據(jù)需要選用。尤其在工業(yè)現(xiàn)場進行程序仿真調(diào)試時,往往沒有PC機的支持,這時使用獨立型仿真器也可進行仿真調(diào)試工作,只不過要輸入機器碼,稍顯麻煩一些。至于軟件仿真開發(fā)工具Proteus軟件是一種完全用軟件手段對單片機應用系統(tǒng)進行仿真開發(fā)的。軟件仿真開發(fā)工具與用戶樣機在硬件上無任何聯(lián)系。不能進行用戶樣機硬件部分的診斷與實時在線仿真。4 .答:調(diào)試過程見圖13-13,4個步驟。(1)輸入用戶源程序:用戶使用編輯軟件源程序輸入到PC機中,并保存在磁盤上。(2)匯編并檢查語法錯誤:在P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國曲拉通N101項目投資風險分析報告
- 部編版二年級下冊語文教學工作計劃
- 家庭廚房“明廚亮灶”健康烹飪方案
- 教研室工作計劃
- 嶺南版五年級美術下冊教學工作計劃
- 在線教育教師的教師節(jié)發(fā)言稿
- 電動車充電站集電線路布局方案
- 第三章 擬投入的主要物資計劃
- 做最好的老師讀書心得體會
- 機耕橋施工環(huán)保措施方案
- 西門子燃機介紹課件學習課件
- (必會)高級美發(fā)師近年考試真題題庫(含答案)
- 產(chǎn)品問題履歷表
- 第5課 推動高質量發(fā)展【2023年秋版】
- 2023年版《安寧療護實踐指南(試行)》解讀課件
- 勞動合同違約金收取情況表
- 國家開放大學電大《勞動與社會保障法》機考2套真題題庫及答案10
- DL5009.2-2013 電力建設安全工作規(guī)程 第2部分:電力線路-www.biao-zhun.cn
- NB-T11092-2023水電工程深埋隧洞技術規(guī)范
- 趙本山小品劇本《賣拐》完整版臺詞
- 管理知識概論 知到智慧樹網(wǎng)課答案
評論
0/150
提交評論