單片機后答案整理_第1頁
單片機后答案整理_第2頁
單片機后答案整理_第3頁
單片機后答案整理_第4頁
單片機后答案整理_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 第1 章 單片機概述(tmac) 參考答案 1答:微控制器,嵌入式控制器 2答:CPU 、存儲器、I/O 口、總線 3答:C 4答:B 5答:微處理器、微處理機和CPU 它們都是中央處理器的不同稱謂,微處理器芯片本身不是計算機。而微計算機、單片機它們都是一個完整的計算機系統(tǒng),單片機是集成在一個芯片上的用于測控目的的單片微計算機。 嵌入式處理器一般意義上講,是指嵌入系統(tǒng)的單片機、DSP 、嵌入式微處理器。目前多把嵌入式處理器多指嵌入式微處理器,例如ARM7、ARM9等。嵌入式微處理器相當于通用計算機中的CPU 。與單片機相比,單片機本身(或稍加擴展)就是一個小的計算機系統(tǒng),可獨立運行,具有完整

2、的功能。而嵌入式微處理器僅僅相當于單片機中的中央處理器。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。 6答:MCS- 51系列單片機的基本型芯片分別:8031、8051和8071。它們的差別是在片內程序存儲器上。8031無片內程序存儲器、8051片內有4K字節(jié)的程序存儲器ROM,而8751片內有集成有4K字節(jié)的程序存儲器EP ROM。 7答:因為MCS- 51系列單片機中的“MCS”是Inte l 公司生產的單片機的系列符號,而51系列單片機是指世界各個廠家生產的所有與8051的內核結構、指令系統(tǒng)

3、兼容的單片機。 8答:相當于MCS- 51系列中的87C51 ,只不過是AT89S51 芯片內的4K字節(jié)F la s h 存儲器取代了87C51 片內的4K字節(jié)的EPROM。 9單片機體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實現各種方式的檢測和控制。單片機在嵌入式處理器市場占有率最高,最大特點是價格低,體積小。 DSP 是一種非常擅長于高速實現各種數字信號處理運算(如數字濾波、FFT 、 頻譜分析等)的嵌入式處理器。由于對其硬件結構和指令進行了特殊設計,使其能夠高速完成各種復雜的數字信號處理算法。廣泛地用于通訊、網絡通信、數字圖像處理,電機控制系統(tǒng),生物信息識別終端,

4、實時語音壓解系統(tǒng)等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這些正是DSP 的長處所在。與單片機相比,DSP 具有的實現高速運算的硬件結構及指令和多總線,DSP 處理的算法的復雜度和大的數據處理流量以及片內集成的多種功能部件更是單片機不可企及的。 嵌入式微處理器的基礎是通用計算機中的CPU ,它的地址總線數目較多能擴展較大的存儲器空間,所以可配置實時多任務操作系統(tǒng)(RTOS)。RTOS 是嵌入式應用軟件的基礎和開發(fā)平臺。正由于嵌入式微處理器能運行實時多任務操作系統(tǒng),所以能夠處理復雜的系統(tǒng)管理任務和處理工作。因此,廣泛地應用在移動計算平臺、媒體手機、工業(yè)控制和商業(yè)

5、領域(例如,智能工控設備、ATM機等)、電子商務平臺、信息家電(機頂盒、數字電視)以及軍事上的應用。 10廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機、DSP 、嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但多數人把 “嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒有一個嚴格和權威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。 第2 章 AT89S51單片機的硬件結構 參考答案 1答:AT89S51 單片機的片內都集成了如下功能部件:(1 )1 個微處理器(CPU );( 2)128個數據存儲器(RAM)單元 ;(3)4K F la s h 程序存儲器;(4)4

6、個8位可編程并行I/O口(P0口、P1口、P2口、P3口) ;(5)1個全雙工串行口;(6)2個16位定時器/計數器;(7)1個看門狗定時器;(8)一個中斷系統(tǒng),5個中斷源,2個優(yōu)先級;(9)25個特殊功能寄存器(SFR ),(10)1個看門狗定時器。 2答:當EA腳為高電平時,單片機讀片內程序存儲器(4K 字節(jié)F las h)中的內容,但在PC值超過0FFFH (即超出4K字節(jié)地址范圍)時,將自動轉向讀外部程序存儲器內的程序;當EA腳為低電平時,單片機只對外部程序存儲器的地 址為0000HF FFFH中的內容進行讀操作,單片機不理會片內的4K 字節(jié)的F las h程序存儲器。 3答:2 &#

7、181;s 4答:1個機器周期等于12個時鐘振蕩周期。 5. 答:64K 程序存儲器空間中有5個特殊單元分別對應于5個中斷源的中斷服務程序入口地址,見下表: 表 5個中斷源的中斷入口地址 入口地址 中斷源 0003H 外部中斷0 (INT0) 000BH 定時器0 ( T 0) 0013H 外部中斷1 ( 1 INT) 001BH 定時器1 ( T 1) 0023H 串行口 6. 答:28H ;88H 。 7答:50H ;88H。 8答:P 標志位的值為0。 9答:(A)錯;(B)錯;(C )對;(D)對。 10. 答:04H ;00H ;0 組。 11 答:(A ) 對;( B) 對;(C

8、) 錯;(D ) 對。 12. 答:字節(jié)地址00H - 1FH 的單元可作為工作寄存器區(qū)。 13答:(A) 錯;(B ) 錯;(C ) 錯;( D) 錯。 14答: (C )。 15. 答:PC;PC。 16答:64K 字節(jié)。 17P0口每位可驅動8 個LSTTL 輸入,而P1、P2、P3口的每一位的驅動能力,只有P0口的一半。當P0口的某位為高電平時,可提供400µ A 的電流;當P0口的某位為低電平(0.45V)時,可提供3.2mA 的灌電流,如低電平允許提高,灌電流可相應加大。所以,任何一個口要想獲得較大的驅動能力,只能用低電平輸出。 18答:按下復位按鈕。 19. 答:(A)

9、 對; (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答:操作碼,操作數,操作碼。 6. 答:1031H 。 7答:程序,數據。 8答:地址。 9答:A 的內容與B 的內容互換。 10答:( A)=50H,(SP)=50H,(51H )=30H,(52H )=50H,(PC)50

10、30H 11答:(A)AN L A ,#87H (B)AN L A ,#0C3H (C )O RL A,#0CH 12答:(A)=0CBH。 13答:(A)=00H,( R3)=0AAH。 14答:(DPH )=3CH,( DP L )=5FH,(SP)=50H 15答:(SP)=62H,(61H )=30H,(62H )=70H。 16答: MOV R7,A PUSH Acc MOV A,B MOVX DPTR,A 17答:(D)。 18答:(C )。 19答:基本型的51子系列單片機,由于其片內RAM的地址范圍為00H7FH , 而80HF FH為特殊功能寄存器區(qū),而對特殊功能寄存器尋址,

11、只能使用直接尋址方式。對片內RAM尋址,當使用寄存器間接尋址是采用R0或R1作為間接尋址的,因此R0或R1的內容不能超過7FH 。 增強型的52子系列單片機,片內RAM的地址范圍為00HF FH,因此作為間接尋址寄存器的R0或R1的內容就不受限制。 第4 章 AT89S51匯編語言程序的設計與調試 參考答案 1答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現在匯編后,偽指令沒有相應的機器代碼產生。常用偽指令及其功能如下: ORG(ORiGin)匯編起始地址命令;END( END o f a sse mb ly) 匯

12、編終止命令;EQU(EQUate)標號賦值命令;DB(De fine Byte )定義數據字節(jié)命令;DW(Define Wor d)定義數據字命令;DS(De fine Stora ge)定義存儲區(qū)命令;BI T 位定義命令 2 答: 手工匯編:通過查指令的機器代碼表(表3- 2),逐個把助記符指令“翻譯”成機器代碼,再進行調試和運行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。 機器匯編:借助于微型計算機上的軟件(匯編程序)來代替手工匯編。通過在微機上運行匯編程序,把匯編語言源程序翻譯成機器代碼。 反匯編:將二進制的機器碼程序翻譯成匯編語言源程序的過程稱為“反匯編” 。 3答:從1000

13、H 開始的各有關存儲單元的內容(16 進制)如下: 4D 41 49 4E 12 34 30 00 00 70 78 7F E4 F6 D8 FD 75 81 07 02 4在編寫子程序時應注意以下問題: (1)子程序的第一條指令前必須有標號。 (2)主程序調用子程序,有如下兩條子程序調用指令: 絕對調用指令ACALL addr11。被調用的子程序的首地址與絕對調用指令的下一條指令的高5 位地址相同,即只能在同一個2KB 區(qū)內。 長調用指令LCALL addr16。addr16 為直接調用的目的地址,被調用的子程序可放置在64KB 程序存儲器區(qū)的任意位置。 (3)子程序結構中必須用到堆棧,用來

14、保護斷點和現場保護。 (4)子程序返回時,必須以RET 指令結束。 (5)子程序可以嵌套,但要注意堆棧的沖突。 5答:參考程序如下: MOV A,45H ANL A,#0FH ORL A,#0FH MOV 45H ,A 6答:A=80H ,SP=40H,(41H)=50H ,(42H)=80H ,PC=8050H 7答:參考程序如下: S TA RT : MOV R0,#30H MOV R2,#20H LOOP: MOV A, R0 CJNE A,#0AAH,N EXT MOV 51H,#01H LJMP EXIT NEXT: INC R0 DJNZ R2,LOOP MOV 51H,#00H

15、EXI T: RET 8答:參考程序如下: S TA RT : MOV 41H,#0 MOV R0,#20H MOV R2,#20H LOOP : MOV A, R0 JNZ NEXT INC 41H NEXT: INC R0 DJNZ R2,LOOP RET 9答:參考程序如下: ORG 0100H MOV R2, #20H 要比較的數據字節(jié)數 MOV A , #21H MOV R1 , A DEC R2 MOV A , R1 LOOP: MOV R3,A DEC R1 CLR C SUBB A,R1 JNC LOOP1 MOV A,R1 SJMP LOOP2 LOOP1: MOV A,R3

16、 LOOP2: DJNZ R2, LOOP MOV R0,A RET 10答: (1)SP=SP+1=61H (61H)=PC的低字節(jié)=03H SP=SP+1=62H (62H)=PC的高字節(jié)=20H (2)PC=3456H (3)可以 (4)2KB2048 Byte 11答:可對程序做如下修改: ORG 0100H DEL: MOV R7, #200 DEL1 : MOV R6, #123 ;將原來的立即數125 改為123 DEL2 : DJNZ R6, DEL2 NOP ;增加的指令 DJNZ R7, DEL1 RET 程序修改后的延時時間為:1+(1+123*2+1+2)*200+2=

17、50003us=50.003ms 第5 章 AT89S51的中斷系統(tǒng) 參考答案 1答:0013H ;001BH 2答:串行口中斷; 外部中斷1 3 答:RETI指令在返回的同時清除相應的優(yōu)先級觸發(fā)器,以允許下次中斷,而 RET 指令則沒有這個操作。除了這一點兩條指令不同外,其它操作都相同。 4答:D 5 答:在一個單一中斷的系統(tǒng)里,AT89S51 單片機對外部中斷請求的響應時間總是在38 個機器周期之間。 在下述三種情況下,AT89S51 將推遲對外部中斷請求的響應: (1)AT89S51 正在處理同級或更高優(yōu)先級的中斷。 (2)所查詢的機器周期不是當前正在執(zhí)行指令的最后一個機器周期。 (3)

18、正在執(zhí)行的指令是RETI或是訪問IE 或IP 的指令。 如果存在上述三種情況之一,AT89S51 將丟棄中斷查詢結果,將推遲對外部中斷請求的響應。 6答:D 7答:PC、PC、程序存儲器 8答: 參考程序段如下: SETB IT1 SETB EX1 SETB EA 9答:(A) 10答:一個中斷源的中斷請求被響應,必須滿足以下必要條件: (1)總中斷允許開關接通,即IE 寄存器中的中斷總允許位EA=1。 (2)該中斷源發(fā)出中斷請求,即該中斷源對應的中斷請求標志為“1”。 (3)該中斷源的中斷允許位=1,即該中斷被允許。 (4)無同級或更高級中斷正在被服務。 11答:(A)、(C )、(D) 1

19、2答:參見電路如圖5- 10,參考程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP INT_E X 1 ORG 0030H MAIN : CLR IT0 ;采用電平觸發(fā),低電平有效中斷 SETB EX1 ;允許外部中斷1 SETB EA ;插入一段用戶程序 WA I T: MOV PCON,#01H ;單片機進入休眠方式等待中斷 NOP LJ MP WA I T ;以下為外部中斷1 服務子程序 INT_E X 1:JB P1.2,NEXT1 ;判斷是不是3 號中斷 LJMP INT_I R3 ;跳轉到3 號中斷處理程序 NEXT1 : JB P1.1 ,NEXT

20、2 ;判斷是不是2 號中斷 LJMP INT_I R2 ;跳轉到2 號中斷處理程序 NEXT2 : LJMP INT_I R1 ;跳轉到1 號中斷處理程序 ORG 1000H INT_I R3 : 相應中斷處理程序 RETI ;中斷返回 ORG 1100H INT_I R2: 相應中斷處理程序 RETI ;中斷返回 ORG 1200H INT_I R1 : 相應中斷處理程序 RETI ;中斷返回 第6 章 AT89S51的定時/計數器 參考答案 1答:(A)對;(B)錯;(C )錯;(D)錯; 2答:因為機器周期: 所以定時器/計數器工作方式0 下,其最大定時時間為 同樣可以求得方式1 下的最

21、大定時時間為262.144ms;方式 2 下的最大定時時間為1024ms。 3答:定時/計數器作定時時,其計數脈沖由系統(tǒng)振蕩器產生的內部時鐘信號12分頻后提供。定時時間與時鐘頻率和定時初值有關。 4答:由于確認 1 次負跳變要花2 個機器周期,即 24個振蕩周期,因此外部輸入的計數脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24 。 5答:定時器/計數器T0在計數和定時工作完成后,均采用中斷方式工作。除了第一次計數工作方式設置在主程序完成外,后面的定時或計數工作方式分別在中斷程序完成,用一標志位識別下一輪定時器/計數器T0的工作方式。參考程序如下: ORG 0000H LJMP MAIN ORG 00

22、0BH LJMP IT0P MAIN : MOV TMOD,#06H ;定時器/計數器T0為計數方式2 MOV TL0,#156 ;計數100 個脈沖的初值賦值 MOV TH0,#156 SETB GAT E ;打開計數門 SETB TR0 ;啟動T0,開始計數 SETB ET0 ;允許T0中斷 SETB EA ;CPU 開中斷 CLR F0 ;設置下一輪為定時方式的標志位 WA I T: AJMP WA I T IT0P : CLR EA ;CPU 關中斷 JB F0,COUNT ;F0=1,轉計數方式設置 ) ( 410 312 126sfTOSCcyµ =×= =)

23、( 192 . 8 10 4 2 26 13 13ms T TC MAX= × × = × = MOV TMOD,#00H ;定時器/計數器T0為定時方式0 MOV TH0,#0FEH ;定時1ms 初值賦值 MOV TL0,#0CH SETB EA RETI COUNT: MOV TMOD,#06H MOV TL0,#156 SETB EA RETI 6. 答:定時器/計數器的工作方式2 具有自動恢復初值的特點,適用于精確定時,比如波特率的產生。 7. 答:根據題意,從P1.0輸出的矩形脈沖的高低電平的時間為10:1,則高低電平的時間分別為363.63s 和36

24、.37s。如果系統(tǒng)采用6MHz晶振的話,Tcy=2s,因此高低電平輸出取整,則約為364s 和36s。參考程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN : MOV TMOD,#02H ;定時器/計數器T0為定時方式2 MOV TL0,#4AH ;定時364s 初值賦值 SETB TR0 ;啟動T0,開始計數 SETB ET0 ;允許T0中斷 SETB EA ;CPU 開中斷 SETB P1.0 WA I T:AJMP WA I T IT0P : CLR EA CLR P1.0 ;關中斷 MOV R0,#9 D LY : DJNZ R0,D

25、LY ;延時36s MOV TL0,#4AH ;定時364s 初值賦值 SETB P1.0 SETB EA RETI 8. 答:方法 1,在第一個定時器的中斷程序里關閉本定時器的中斷程序,設置和打開另一個定時器;在另一個定時器的中斷程序中關閉本定時中斷,設置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。 方法2,一個作為定時器,在定時中斷后產生一個外部計數脈沖(比如由P1.0接INT0 產生),另一個定時器工作在計數方式。這樣兩個定時器的定時時間為一個定時器的定時時間乘以另一個定時器的計數值。 9. 答:由T1(P3.5)口控制定時器T1的啟動和關閉。 10. 答:采用方式1

26、 定時工作方式。最大脈沖寬度為131.072ms。 11 . 答:將P1.1 的輸入脈沖接入INT0,即使用T0計數器完成對P1.1 口的脈沖計數。參考程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN : JNB P1.0,MAIN MOV TMOD,#05H ;定時器/計數器T0為計數方式1 SETB TR0 ;啟動T0,開始計數 SETB ET0 ;允許T0中斷 SETB EA ;CPU 開中斷 WA I T: JB P1.2,WAIT CLR EA CLR TR0 MOV R1,TH0 MOV R0,TL0 AJMP $ IT0P :

27、INC R2 RETI 12. 答:THx 與TLx (x=0,1) 是由特殊功能寄存器構成的計數器,其內容可以隨時用指令更改,更改后的新值是立即刷新。但在讀THx 、TLx 的值時,應該先 讀THx 值,后讀TLx ,再讀THx 。若兩次讀得THx 相同,則可確定讀得的內容正確。若前后兩次讀得的THx 有變化,再重復上述過程。 第7 章 AT89S51的串行口 參考答案 1答:方式1。 2答:相等的。 3答:A對;B對;C 錯;D對;E對。 4答:C 5答:C 6答:當接收方檢測到 RXD端從1 到0 的跳變時就啟動檢測器,接收的值是3 次連續(xù)采樣,取其中 2 次相同的值,以確認是否是真正的

28、起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數據。 7答:串行口有4 種工作方式:方式0、方式1、方式2、方式3;有 3 種幀格式,方式2 和3 具有相同的幀格式;方式0 的發(fā)送和接收都以fosc/12 為固定波特率, 方式1 的波特率=2SM O D/32×定時器T1的溢出率 方式2 的波特率=2SM O D/64×fos c 方式3 的波特率=2SM O D/32×定時器T1的溢出率 8答:字符“B”的ASCII 碼為“42H ”,幀格式如下: 9答:因為定時器/計數器在方式2 下,初值可以自動重裝,這樣在做串口波特率發(fā)生器設置時,就

29、避免了執(zhí)行重裝參數的指令所帶來的時間誤差。 設定時器T1方式2 的初值為X ,計算初值X 可采用如下公式: 波特率 = SMODosc232 12(256 )fX× 10答:經計算,計數初值為FAH ,初始化程序如下: AN L TMOD,#0F0H ;屏蔽高4 位 ORL TMOD,#20H ;控制字 MOV TH1,#0FAH ;寫入計數初值 MOV TL1,#0FAH MOV SCON,#40H 11 答:見7.3節(jié)的介紹。 12答:見小節(jié)的介紹 13答:串口每秒鐘傳送的字符為:1800/60=30 個字符/秒 所以波特率為:30個字符/秒×10位/個字符=300b/

30、s 14答:串行口的方式 0 為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴展并行 I/O 口,一般不用于兩個 MCS- 51之間的串行通信。該方式以fo sc/12 的固定波特率從低為位到高位發(fā)送或接受數據。 15答:直接以TTL 電平串行傳輸數據的方式的缺點是傳輸距離短,抗干擾能力差。因此在串行傳輸距離較遠時,常采用RS- 232C 、RS- 422A 和RS- 485標準串行接口。主要是對傳輸的電信號不斷改進,如RS- 232C 傳輸距離只有幾十米遠,與直接以TTL 電平串行傳輸相比,采用了負邏輯,增大“0”、“1”信號的電平差。而 RS- 422A和RS- 485 都采用了差

31、分信號傳輸,抗干擾能力強,距離可達1000多米。RS- 422A為全雙工,RS- 485 為半雙工。 第8 章 AT89S51單片機擴展存儲器的設計 參考答案 1答:程序、數據。 2答:80H 。 3答:片選。 4答:16KB。 5答:程序、數據。 6答:2K,14。 7答:0FFFH。 8答:(D) 9答:本題主要考察對外部存儲器的讀、寫操作,只要記住正確使用MOVX指令就可以了。編程思路:首先讀取2001H 的值,保存在寄存器A 中,將寄存器A 的高四位和低四位互換,再屏蔽掉低四位然后將寄存器A 的值保存到30H中,然后再讀取2002H 的值,保存在寄存器A 中,屏蔽掉高四位,然后將寄存器

32、A 的值與30H 進行或運算,將運算后的結果保存在2002H 中。 ORG 0000H MAIN: MOV DPTR,#2001H ;設置數據指針的初值 MOVX A, DP TR ;讀取2001H 的值 S WA P A ANL A,#0F0H ;屏蔽掉低四位 MOV 30H ,A ;保存A INC DPTR ;指針指向下一個 MOVX A, DP TR ;讀取2002H 的值 ANL A,#0FH ;屏蔽掉高四位 ORL A,30H ;進行拼裝 MOVX DPTR,A ;保存到2002H END 10答:本題主要考察對外部數據塊的寫操作;編程時只要注意循環(huán)次數和MOVX指令的使用就可以了。

33、 ORG 0000H MAIN: MOV A,#0 ;送預置數給A MOV R0,#0FFH ;設置循環(huán)次數 MOV DPTR,#4000H ;設置數據指針的初值 LOOP : MOVX DPTR,A ;當前單元清零 INC DPTR ;指向下一個單元 DJNZ R0,LOOP ;是否結束 END 11 答:因為控制信號線的不同: 外擴的RAM 芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為 OE* 和WE* 。外擴 RAM的讀、寫控制引腳分別與 AT89S51 的RD* 和W R*引腳相連。 外擴的EPROM 在正常使用中只能讀出,不能寫入,故 EPROM 芯片沒有寫入控制引腳,只有讀

34、出引腳,記為OE* ,該引腳與AT89S51 單片機的PSEN* 相連。 12答:圖中采用了譯碼法。4 片地址分別為0000H - 3FFFH 、4000H - 7FFFH 、8000H - BFFFH、C000H - FFFFH 。 13答: (1)參見圖8- 20或圖8- 21,去掉一片2764。 (2)指出該應用系統(tǒng)程序存儲器空間和數據存儲器空間各自的地址范圍。 14答: (1)A 組跨接端子的內部正確連線圖 (2)B 組跨接端子的內部正確連線圖 注意:答案不唯一,還有其他連接方法,也可滿足題目要求。 第9 章 AT89S51擴展I/O 接口的設計 參考答案 1答: (A)錯,81C55

35、 具有地址鎖存功能; (B)錯,在81C55 芯片中,引腳IO/M*、A2、A1、A0 決定端口地址和RAM單元編址; (C )錯,82C55 不具有三態(tài)緩沖器; (D)錯,82C55 的B 口只可以設置成方式0 和方式1。 2答:I/O 端口簡稱I/O 口,常指I/O 接口電路中具有端口地址的寄存器或緩沖器。I/O 接口是指單片機與外設間的I/O 接口芯片;I/O 接口功能:(1) 實現和不同外設的速度匹配;(2) 輸出數據緩存;(3) 輸入數據三態(tài)緩沖。 3答:3 種傳送方式: (1) 同步傳送方式:同步傳送又稱為有條件傳送。當外設速度可與單片機速度相比擬時,常常采用同步傳送方式。(2)

36、查詢傳送方式:查詢傳送方式又稱為有條件傳送,也稱異步傳送。單片機通過查詢得知外設準備好后,再進行數據傳送。異步傳送的優(yōu)點是通用性好,硬件連線和查詢程序十分簡單,但是效率不高。 (3) 中斷傳送方式:中斷傳送方式是利用AT89S51本身的中斷功能和I/O 接口的中斷功能來實現I./O 數據的傳送。單片機只有在外設準備好后,發(fā)出數據傳送請求,才中斷主程序,而進入與外設進行數據傳送的中斷服務程序,進行數據的傳送。中斷服務完成后又返回主程序繼續(xù)執(zhí)行。因此,中斷方式可大大提高工作效率。 4答:兩種。(1) 獨立編址方式:獨立編址方式就是 I/O 地址空間和存儲器地址空間分開編址。獨立編址的優(yōu)點是I/O

37、地址空間和存儲器地址空間相互獨立,界限分明。但卻需要設置一套專門的讀寫I/O 的指令和控制信號。(2) 統(tǒng)一編址方式:這種方式是把 I/O 端口的寄存器與數據存儲器單元同等對待,統(tǒng)一進行編址。統(tǒng)一編址的優(yōu)點是不需要專門的 I/O 指令,直接使用訪問數據存儲器的指令進行I/O 操作。AT89S51 單片機使用的是I/O 和外部數據存儲器RAM統(tǒng)一編址的方式。 5答: 82C55 通過寫入控制字寄存器的控制字的最高位來進行判斷,最高位為1 時,為方式控制字,最高位為0 時,為C 口按位置位/復位控制字。 6答:本題主要考察對82C55 的C 口的操作。其方式控制字的最高位為0時,低四位控裝置對C

38、口置復位。由題目可知方式控制寄存器的地址為 7FFFH 。 ORG 0100H MAIN : MOV DPTR,#7FFFH ;控制字寄存器地址7FFFH 送DP TR MOV A,#0EH ;將PC7 置0 MOVX DPTR,A MOV A,#09H ;將PC4 置1 MOVX DPTR,A END 7答:當外設輸入一個數據并送到PA7 PA0 上時,輸入設備自動在選通輸入線STB A 向82C55 發(fā)送一個低電平選通信號,則把PA7 - PA0 上輸入的數據存入PA口的輸入數據緩沖/鎖存器;然后使輸入緩沖器輸出線I BFA 變成高電平,以通知輸入設備,82C55 的PA口已收到它送來的輸

39、入數據。82C55 檢測到聯絡線STB A 由低電平變成了高電平、IBFA 為1 狀態(tài)和中斷允許觸發(fā)器INTEA 為1 時,使輸出線INTRA (PC3 )變成高電平,向AT89S51 發(fā)出中斷請求。(INTEA 的狀態(tài)可由用戶通過對PC4 的置位/復位來控制。AT89S51 響應中斷后,可以通過中斷服務程序從PA口的輸入數據緩沖/鎖存器讀取外設發(fā)來的輸入數據。當輸入數據被CPU 讀走后,82C55 撤銷INTRA 上的中斷請求,并使 IBFA 變?yōu)榈碗娖?,以通知輸入外設可以送下一個輸入數據。 8答:81C55 的端口有以下幾種:命令/狀態(tài)寄存器、PA 口、PB 口、PC口、計數器的高8 位寄

40、存器與低8 位寄存器以及RAM單元。引腳IO/ M ,A2、A1、A0 決定端口地址。TI MERIN 是計數脈沖輸入引腳,輸入脈沖的上跳沿用于對81C55 片內的14位計數器減1。TIMEROUT為計數器輸出引腳。當14位計數器減為0 時就可以在該引線上輸出脈沖或方波,輸出的信號的波形與所選的計數器工作方式有關。 9答:電路圖可以參考圖 9- 10,PA 口每一位接二極管的正極,二極管的負極接地。P B 口每1 位接一開關和上拉電阻,開關另一端直接接地。這樣只需要將讀到的P B 口的值送給PA 口就可以滿足題目要求了。 ORG 0100H MIAN: MOV A,#10000010B ;設置

41、PA 口方式0 輸出,P B 口方式0 輸入 MOV DPTR,#0FF7FH ;控制口地址送DPTR MOVX DPTR,A ;送方式控制字 MOV DPTR,#0FF7DH ;P B 口地址送DP TR MOVX A,DP TR ;讀入開關信息 MOV DPTR,#0FF7CH ;PA 口地址送DPTR MOVX DPTR,A ;PA 口的內容送P B 口點亮相應的二極管 END 10答:81C55 計數器的初值范圍是:3FFFH - 2H。當頻率為4MHz,初值為3FFFH 時,最大定時時間為:0.004096 S 11 答:將1MHz 的脈沖改變?yōu)?0 ms的方波,實際上就是分頻。分頻

42、前后頻率之比為100:1,這樣只要將定時器初值設置為 64H 就可以了。(假設I/O 口地址為7F00H - 7F05H ) S TA RT : MOV DPTR,#7F04H ;指針指向計數器低8 位 MOV A,#64H ;送初值給A MOVX DPTR,A ;初值送給計數器低8 位 INC DPTR ;指向計數器高8 位 MOV A,#40H ;計數器方波輸出 MOVX DPTE,A MOV DPTR,#7F00H ;指向命令/狀態(tài)口 MOV A,#0C2H ;設定控制字 MOVX DPTE,A ;啟動計數器 END 第10章 AT89S51與鍵盤、顯示器、撥盤、打印機的接口設計 參考答

43、案 1. 答:A MAX7219 是專用顯示器芯片,不用于鍵盤;B錯:CH451 芯片也可用于控制鍵盤;C對: BUSY信號可作為查詢信號或中斷請求信號使用,但此時信號ACK不用;E錯:LED 數碼管的字型碼是可以變的,例如表 10-1 中的“a”段對應段碼字節(jié)的最高位。 “dp”段對應段碼字節(jié)的最低位,字型碼就改變了。 2. 答:在按鍵的閉合和斷開過程中,由于開關的機械特性,導致了按鍵抖動的產生。如果不消除按鍵的機械抖動,按鍵的狀態(tài)讀取將有可能出現錯誤。消除按鍵抖動一般是采用軟件或硬件去抖。軟件去抖的原理:在第一次檢測到有鍵按下時,該鍵所對應的行線是為低電平,執(zhí)行一端延時10ms的子程序后,

44、確認 該行線電平是否仍然為低電平,如果仍為低電平,則確認為該行確實有鍵按下。 3. 答:靜態(tài)顯示時,數據是分開送到每一位LED 上的。而動態(tài)顯示則是數據是同時送到每一個LED 上,再根據位選線來確定是哪一位 LED 被顯示。靜態(tài)顯示亮度很高,但口線占用較多。動態(tài)顯示口線占用較少,適合用在顯示位數較多的場合。 4. 答:80H(共陰極);7FH(共陽極)。 5. 答:按鍵設置在行、列線交點上,行、列線分別連接到按鍵開關的兩端。行線通過上拉電阻接到+5V 上,無按鍵按下時,行線處于高電平狀態(tài),而當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線的電平決定。列線的電平如果為低,則行線電平為低;列線的

45、電平如果為高,則行線的電平亦為高。將行、列線信號配合起來并做適當的處理,才能確定閉合鍵的位置。 6. 答:先對P1口高四位送低電平,讀取P1口低四位的值;再對P1口低四位送低電平,讀取P1口高四位的值,將兩次讀到的值組合在一起就得到了按鍵的特征碼,在根據特征碼查找鍵值。 KEYIN: MOV P1,#0FH ;反轉讀鍵 MOV A,P1 ANL A,#0FH MOV B,A MOV P1,#0F0H MOV A,P1 ANL A,#0F0H ORL A,B CJNE A,#0FFH,KEYIN1 RET ;未按鍵 KEYIN1: MOV B,A ;暫存特征碼 MOV DPTR,#KEYCOD

46、;指向特征碼表 MOV R3,#0FFH ;順序碼初始化 KEYIN2: INC R3 MOV A,R3 MOVC A,A+DPTR CJNE A,B,KEYIN3 MOV A,R3 ;找到,取順序碼 RET KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查 RET ;已查完,未找到,以未按鍵處理 KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征碼表 DB 0D7H,0DBH,0DDH,0DEH DB 0B7H,0BBH,0BDH,0BEH DB 77H,7BH,7DH,7EH 7. 答: (1)編程掃描方式:當單片機空閑時,才調用鍵盤掃描子程序,反復的

47、掃描鍵盤,等待用戶從鍵盤上輸入命令或數據,來響應鍵盤的輸入請求。(2)定時掃描工作方式:單片機對鍵盤的掃描也可用定時掃描方式,即每隔一定的時間對鍵盤掃描一次。(3)中斷工作方式:只有在鍵盤有鍵按下時,才執(zhí)行鍵盤掃描程序并執(zhí)行該按鍵功能程序,如果無鍵按下,單片機將不理睬鍵盤。 8. 答:DB0-DB7:數據線,單向傳輸,由單片機輸入給打印機。STB(STROBE):數據選通信號。在該信號的上升沿,數據線上的8 位并行數據被打印機讀入機內鎖存。BUSY:打印機忙狀態(tài)信號。當該信號有效(高電平)時,表示打印機正忙于處理數據。此時,單片機不得使STB 信號有效,向打印機送入新的數據。ACK:打印機的應答信號。低電平有

溫馨提示

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

評論

0/150

提交評論