單片機原理及應用合肥工業大學出版社_第1頁
單片機原理及應用合肥工業大學出版社_第2頁
單片機原理及應用合肥工業大學出版社_第3頁
單片機原理及應用合肥工業大學出版社_第4頁
單片機原理及應用合肥工業大學出版社_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第1章習題參考答案1-1什么是單片機?它與一般微型計算機在結構上何區別?答:單片微型計算機簡稱為單片機(SingleChipComputer),又稱為微控制器(MCU即Micro-ControllerUnit)0它是在一塊芯片上集成了中央處理器(CPU)、存儲器(RAM、ROM)、定時器/計數器、中斷控制、各種輸入/輸出(I/O)接口(如并行I/O口、串行I/O口和A/D轉換器)等為一體的器件。微型計算機的基本結構由CPU(運算器、控制器)、存儲器、輸入設備和輸出設備五大部分組成,各部分通過外部總線連接而成為一體。單片機的結構是在一塊芯片上集成了中央處理器(CPU)、存儲器、定時器/計數器、中

2、斷控制、各種輸入/輸出接口(如并行I/O口、串行I/O口和A/D轉換器)等,它們通過單片機內部部總線連接而成為一體。1-2MCS-51系列單片機內部資源配置如何?試舉例說明8051與51兼容的單片機的異同。答:MCS-51系列單片機內部資源配置型號程序存儲器片內RAM定時/計數器并行I/O口串行口中斷源/中斷優先級8031/80C31無128B2X164X815/28051/80C514KBROM128B2X164X815/28751/87C514KBEPROM128B2X164X815/28032/80C32無256B3X164X816/28052/80C524KBROM256B3X164X

3、816/28051與51兼容的單片機的異同J商型號程序存儲器片內RAM定時/計數器并行I/O口串行口中斷源/優先級其它特點Intel8051/80C514KBROM1128B2X164X815/2ATMELAT89C20512KBFlashROM128B2X161516/2直接驅動LED輸出,片上模擬比較器AT89S5312KBFlashROM256B3X163219/2SPI,WDT2個數據指針W77E5832KBFlashROM256B+1024B3X1636212/2擴展了4位I/O口,雙數據指針,WDTAnalogDevicesADuC8128KBEEPROM256B+640B2X16

4、3219/2WDTSPI,8通道12位ADC2通道12位DAC片上DM冊制器。.飛利浦80C552無256B3X1648115/4CMO提10位ADC捕捉/比較單元,PWM83/87C5528KBEEPROM256B3X1648115/4CMO提10位ADC捕捉/比較單元,PWM83/89CE55832KBEEPROM256B+1024B3X1640115/48通道10位ADC捕捉/比較單元,PWM雙數據指針,I2C總線,PLL(32kHz)。83C59216KBEEPROM256B+256B3X1648215/2CMO疆CANB控制器SSTSST89E55432KB+8KBFlashROM1

5、KB3X163228/440MHzSPI,雙數據指針,WDTTIMSC1210Y24KB+2KBFlashROM1280B3X163222132位累力口器,WDTSPI,低電壓檢測,16位PWM英特爾87C5416KBEPROM256B3X163217/4具有幀錯誤檢測的可編程串口。83/87C51GB8KBEPROM256B3X1648115/4PWMWDT8通道8位ADC具有幀檢測和識別的串口。1-3簡述單片機的仿真調試方式。答:1)通過仿真器調試,這種方式下,通過PC機,編寫源程序,匯編后如無錯誤,則下載到仿真器中,通過調試,如斷點、單步等調試功能,可以利用各種窗口,觀察程序的執行情況,

6、同時,觀察用戶板上相應的硬件變化。這種方式的優點是,調試時,程序在仿真器內部RAM中,可以無限次寫入而不會損壞仿真器,缺點是仿真器價格一般較貴。2)利用下載板調試,通過單片機內部的FLASH,使用ISP方式,稱在片上編程系統,即InSystemProgram,直接把編好的程序寫入單片機內步的FlashROM或E2PROM中,直接在用戶版上調試。這種方式的優點是,調試時,程序直接下載到單片機內部的程序存儲器中,無需仿真器,下載板價格低廉,缺點是需要專用的內部帶程序存儲器的單片機,如AT89S51、AT89S52系歹的單片機,下載的次數也有限制,另外,下載板也會占用單片機的若干個I/O口資源。第2

7、章習題參考答案2-1MCS-51系列單片機內部有哪些主要的邏輯部件?答:一個8位CPU;一個片內振蕩器及時鐘電路;4K字節ROM程序存儲器;128字節RAM數據存儲器;兩個16位定時器/計數器;可尋址64K外部數據存儲器和64K外部程序存儲器空間的控制電路;32條可編程的I/O線(四個8位并行I/O端口);一個可編程全雙工用行口;具有五個中斷源、兩個優先級嵌套中斷結構2-2MCS-51設有4個8位端口(32條I/O線),實際應用中8位數據信息由哪一個端口傳送?16位地址線怎樣形成?P3口有何功能?答:實際應用中8位數據信息由P1口傳送。16位地址線由P0口輸出低8位地址A7A0P2口輸出高8位

8、地址A15A8P3口是一個多用途的端口,也是一個準雙向口,作為第一功能使用時,其功能同P1口;當作第二功能使用時,P3.0一RX邛行輸入(數據接收)口,P3.1TXD串行輸出(數據發送)口,P3.2nt0外部中斷0輸入線,P3.3一棺外部中斷1輸入線,P3.4T0定時器0外部輸入,P3.5T1定時器1外部輸入,P3.6析外部數據存儲器寫選通信號輸出,P3.7一而外部數據存儲器讀選通信號輸入。2-3MCS-51的存儲器結構與一般的微型計算機有何不同?程序存儲器和數據存儲器各有何作用?答:MCS-51存儲器結構與常見的微型計算機的配置方式不同,它把程序存儲器和數據存儲器分開,各有自已的尋址系統、控

9、制信號和功能。程序存儲器用來存放程序和始終要保留的常數,如經匯編后所編程序的機器碼。數據存儲器通常用來存放程序運行中所需要的常數或變量,例如模/數轉換時實時采集的數據等。2-4MCS-51內部RAM區功能結構如何分配?4組工作寄存器使用時如何選用?位尋址區域的字節地址范圍是多少?答:MCS-51系列單片機內部數據存儲器:00H7FH單元組成的低128字節地址空間的RAM區,又分為為工作寄存器區(00H1FH)、位尋址區(20H2FH)和數據緩沖區(30H7FH)。80HFFH(128255)單元組成的高128字節地址空間的特殊功能寄存器(又稱SFR)區。對于8032、8052、8752的單片機

10、還有80HFFH單元組成的高128字節地址空間的RAM區。4組工作寄存區是由程序狀態字PSW(特殊功能寄存器,字節地址為0D0H)中的D4、D3位(RS1和RS0)來決定的。PSW.4PSW.3當前使用的工作寄存器區(RS1)(RS0)R0R7000區(0007H)011區(080FH)102區(1017H)113區(181FH)位尋址區域的字節地址范圍是20H2FH(對應的位地址范圍是00H7FH)。2-5特殊功能寄存器中哪些寄存器可以位尋址?它們的字節地址是什么?答:P0字節地址80H,TCON字節地址88H,P1字節地址90H,SCON字節地址98H,P2字節地址A0H,IE字節地址A8

11、H,P3字節地址B0H,IP字節地址B8H,PSW字節地址D0H,ACC字節地址E0H,B字節地址F0H。2-6簡述程序狀態字PSW中各位的含義。答:CY(PSW7)進位標志,AC(PSW6)輔助進位標志,F0(PSW5)用戶標志位RS1、RS0(PSW4、PSW3)寄存器區選擇控制位,OV(PSW2)溢出標志,P(PSW.0)奇偶標志,每個指令周期都由硬件來置位或清“0;以表示累加器A中1的位數的奇偶數2-7一個時鐘頻率為6MHz的單片機應用系統,它的時鐘周期、機器周期、指令周期分別是多少?答:時鐘周期=1/3us、機器周期=2us、指令周期=2us。2-8單片機有幾種主要的工作方式?其特點

12、各是什么?答:有復位、程序執行、低功耗三種主要工作方式。復位操作是單片機的初始化操作,單片機在進入運行前和在運行過程中程序出錯或操作失誤使系統不能正常運行時,需要進行復位操作,復位操作后,程序將從0000H開始重新執行。單片機的程序的執行過程分為取指令、譯碼、執行三個過程。待機方式,也稱為空閑工作。系統進入待機工作方式時,振蕩器繼續工作,中斷系統、用行以及定時器模塊由時鐘驅動繼續工作,但時鐘不提供給CPU。單片機進入掉電工作方式,只有內部RAM單元的內容被保存,其它一切工作都停止。2-9堆棧有何功能?堆棧指針的作用是什么?二者的關系?為什么在程序設計時,要對SP重新賦值?答:堆棧的主要功能:保

13、護斷點和程序現場,保存用戶數據。堆棧指針的作用是:堆棧指針SP是一個8位特殊功能寄存器,指示出堆棧頂部在內部RAM中的位置。兩者的關系:堆棧指針SP給定當前的棧頂,SP的初始值越小,堆棧深度就越深。系統復位后,SP初始化為07H,使得堆棧事實上由08H單元開始。考慮到08H-1FH單元分屬于工作寄存器區13,若程序設計中要用到這些區,則最好把SP值改置為1FH或更大的值如60H,SP的初始值越小,堆棧深度就越深,堆棧指針的值可以由軟件改變,因此堆棧在內部RAM中的位置比較靈活。第3章習題參考答案器A,R0和內部RAM3-1設內部RAM中59H單元的內容為50H,寫出當執行下列程序段后寄存MOV

14、A,59H;A=50HMOVR0,A;R0=50HMOVA,#00H;A=00HMOVR0A;50H=00HMOVA,#25H;A=25HMOV51H,A;51H=25HMOV52H,#70H;52H=70HR0=50H50H=00H51H=25H中50H,51H單元的內容為何值?A=25H3-2訪問外部數據存儲器和程序存儲器可以用哪些指令來實現?舉例說明答:訪問外部數據存儲器指令有:MOVXDPTR,AMOVXA,DPTRMOVXA,RiMOVDPTR,#0100HMOVDPTR,AMOVDPTR,#0200HMOVA,DPTRMOVXA,R0MOVXRi,A訪問程序存儲器指令有:MOVXR

15、1,AMOVCA,A+PCA,A+PCMOVCA,A+DPTRPUSH30H;PUSH31H;POPDPL;POPDPH;MOV30H,#00HMOV31H,#0FFH3-3設堆棧指針SP中的內容為60H,分別為24H和10H,執行下列程序段后,中的內容將有何變化?內部RAM中30H和31H單元的內容61H,62H,30H,31H,DPTR及SP61H=24H62H=10HSP=62HDPL=10HDPH=24HSP=60H;30H=00H;31H=0FFH3-4設(A)=40H,(R1)=23H,(40H)=05H。執行下列兩條指令后,累加器A和R1以及內部RAM中40H單元的內容各為何值?

16、R1=40H40H=03H50H,51H和52H,53H,和存放在54H,55HXCHA,R1;A=23HXCHDA,R1;A=25H3-5兩個四位BCD碼數相加,被加數和加數分別存于單元中(千位、百位在低地址中,十位、個位在高地址中)和56H中(56H用來存放最高位的進位),試編寫加法程序ORG0000HLJMPSTARTORG0100HSTART:MOVA,53HADDA,51HDAAMOV55H,AMOVA,52HADDCA,50HDAAMOV56H,CSJMP$END3-6設(A)=01010101B,(R5)=10101010B,分別寫出執行下列指令后結果。ANLA,R5;00000

17、000BORLA,R5;11111111BXRLA,R5;11111111B3-7指令SJMPrel中,設rel=60H,并假設該指令存放在2114H和2115H單元中。當該條指令執行后,程序將跳轉到何地址?答:2116H+60H=2176H3-8簡述轉移指令AJMPaddU1、SJMPrel、LJMPaddU6及JMPA+DPTR的應用場合。答:AJMPaddrll為2K字節范圍內的無條件轉跳指令,把程序的執行轉移到指定的地址。SJMPrel是無條件轉跳指令,執行時在PC加2后,把指令中補碼形式的偏移量值加到PC上,并計算出轉向目標地址。轉向的目標地址可以在這條指令前128字節到后127字節

18、之間。LJMPaddr16執行這條指令時把指令的第二和第三字節分別裝入PC的高位和低位字節中,無條件地轉向指定地址。轉移的目標地址可以在64K程序存儲器地址空間的任何地方,不影響任何標志。JMPA+DPTR指令的功能是把累加器中8位無符號數與數據指針DPTR中的16位數相加,將結果作為下條指令地址送入PC,利用這條指令能實現程序的散轉。3-9試分析下列程序段,當程序執行后,位地址值?P1口的8條I/O線為何狀態?CCLRMOVJCCPLSETBLOOP1:ORLJBCLRLOOP2:MOVP1,SJMP$20H.0=020H.1=1A,#66HLOOP1C01HC,ACC.0ACC.2,LOO

19、P2;00HAP1=66H00H,01H中的內容將為何;CY=0;A=66H;CY=1;20H.1=1;CY=1;P1=01100110B3-10查指令表,寫出下列兩條指令的機器碼,并比較一下機器碼中操作數排列次序的特點。MOV58H,80H85(80)(58)直接尋址字節送直接尋址字節:匯編時源操作數在目標操作數之前。MOV58H,#80H75(58)(80)立即數送直接尋址字節:匯編時目標操作數在原操作數之前。第4章習題參考答案4-1什么是單片機的程序設計語言。答:單片機的程序設計語言是指計算機能理解和執行的語言,人與CPU、MCU交流的語言。MCS-51系列單片機的程序設計語言,按照語言

20、的結構及其功能可以分為三種:機器語言、匯編語言、局級語言。4-2單片機的程序設計包括哪幾個步驟。答:程序設計步驟如下:(1)分析問題。即仔細分析任務書中要實現的功能和性能指標。(2)(3)(4)(5)(6) (8)確定算法。即找到解決問題思路、方法。分配內存單元。即確定數據結構。這一步往往與算法同時考慮。根據算法和數據結構,畫出程序流程圖。根據流程圖編寫匯編語言源程序。編輯錄入,保存為*.ASM文件。匯編。排除語法錯誤。調試(DEBUG)。找出錯誤并更正,再調試,直至通過。編寫相關說明文檔。順序結構流程圖4-3畫出單片機的三種基本程序結構。流程圖4-4單片機的分支結構程序指令有哪幾條?答:分支

21、結構程序指令有JB、JNB、JC、JNC、JZ、JNZ、CJNE、JBC4-5什么是單片機的程序嵌套?生活中有哪些現象與單片機的嵌套類似?答:一個程序中還會調用別的程序,這稱為程序嵌套。生活例子:在學習,有電話了,去接電話,水開了,放下電話去關掉電水壺,接著打電話,打完電話,接著學習。4-6能否從一個子程序內部使用轉移指令直接跳轉到另一個子程序執行?答:可以,為了保證正確地從子程序2返回子程序1,再從1返回主程序,每次調用子程序時必須將下條指令地址保存起來,返回時按后進先出原則依次取出舊PC值。4-7能否使用轉移指令從主程序跳到子程序?答:不可以,當主程序需要執行某子程序的功能時,只需執行一條

22、調用指令。而并非使用轉移指令4-8能否使用轉移指令從子程序跳到主程序?答:不可以,子程序的最后一條指令應該是返回指令RET或RETI,以確保子程序能夠正確返回主程序。執行RET指令時單片機將原來存在堆棧中的斷點地址彈出給PC,保證子程序返回主程序中調用子程序的地方繼續執行主程序。子程序從子程序的標號開始,到RET或RETI指令結束。RET指令是一般子程序的返回指令。RETI指令是中斷服務子程序的返回指令。4-9畫出主程序的一般流程圖。答:主程序流程圖(上電/復位4-10畫出子程序的一般流程圖答:子程序流程圖4-11子程序的規范化設計包括那幾個部分?答:子程序的規范化設計包括:(1)子程序名稱。

23、給子程序起名字,起名的原則是子程序名能夠反映子程序功能,該名字就是子程序的入口地址標識符。(2)子程序功能,對子程序的功能給予簡要的描述。(3)入口參數,子程序所要運算或處理的數據(加工前的原料),在調用子程序之前,主程序要先準備好入口參數。(4)出口參數,子程序運算或處理的結果(加工完成的數據),子程序結束之前,最終結果(出口參數)存放在約定的RAM單元,供主程序取用。(5)資源占用情況,指出該子程序運行時所使用的片內工作寄存器(R0R7)、SFR(特殊功能寄存器)、片內RAM單元及片外RAM單元,以便在主程序調用該子程序之前,考慮將這些資源中的哪些字節保護入棧。4-12在片內RAM地址40

24、H到4FH的存儲單元中存有16個無符號數,找出其中的最大值,放入50H單元,請用“循環結構”和“分支結構”編程。答:流程圖:源程序:ORG0000HLJMPMAINORG0100HMAIN:MOVR2,#0FHMOVR0,#40HMOVA,R0SUB:INCR0MOVB,R0CJNEA,B,NEXTNEXT:JCNEXT1DJNZR2,SUBJMPLASTNEXT1:MOVA,BDJNZR2,SUBJMPLASTLAST:MOV50H,ASJMP$4-13將片內若干個RAM單元的內容復制到片外RAM單元,請用“主程序”調用“子程序”編程,要求子程序入口參數為:R0存放片內RAM起始地址,DPT

25、R存放片外RAM起始地址,R1存放字節數。請分別編寫主程序和子程序。答:流程圖主程序源程序:ORG0000HLJMPMAINORG0100HMAIN:子程序MOVR1,#10HMOVR0,#40HMOVDPTR,#0000HLCALLCOPYSJMP$COPY:NEXT:MOVA,R0MOVXDPTR,AINCR0INCDPLDJNZR1,NEXTRET第5章習題參考答案5-1簡述中斷、中斷源、中斷源的優先級及中斷嵌套的含義。答:當CPU正在處理某項事件的時,如果外界或內部發生了緊急情況,要求CPU暫停正在處理的工作轉而去處理這個緊急情況,待處理完以后再回到原來被中斷的地方,繼續執行原來被中斷

26、了的程序,這樣的過程稱為中斷。向CPU提出中斷請求的源稱為中斷源。當系統有多個中斷源時,就可能出現同時有幾個中斷源申請中斷,而CPU在一個時刻只能響應并處理中斷優先高的請求。在實際應用系統中,當CPU正在處理某個中斷源,即正在執行中斷服務程序時,會出現優先級更高的中斷源申請中斷。為了使更緊急的級別高的中斷源及時得到服務,需要暫時中斷(掛起)當前正在執行的級別較低的中斷服務程序,去處理級別更高的中斷源,待處理完以后,再返回到被中斷了的中斷服務程序繼續執行,但級別相同或級別低的中斷源不能中斷級別高的中斷服務,這就是所謂的中斷嵌套。5-2MCS-51單片機能提供幾個中斷源?幾個中斷優先級?各個中斷的

27、源的優先級怎樣確定?在同一優先級中各個中斷源的優先級怎樣確定?答:MCS-51單片機能提供五個中斷源,兩個中斷優先級。中斷優先級是由片內的中斷優先級寄存器IP(特殊功能寄存器)控制的。PS:用行口中斷優先級控制位。PS=1,用行口定義為高優先級中斷源;PS=0,用行口定義為低優先級中斷源。PT1:T1中斷優先級控制位。PT1=1,定時器/計數器1定義為高優先級中斷源;PT1=0,定時器/計數器1定義為低優先級中斷源。PX1:外部中斷1中斷優先級控制位。PX1=1,外中斷1定義為高優先級中斷源;PX1=0,外中斷1定義為低優先級中斷源。PT0:定時器/計數器0(T0)中斷優先級控制位,功能同PT

28、1。PX0:外部中斷0中斷優先級控制位,功能同PX1。在同一優先級中,循環輪流排隊。不分級別高低,所有中斷源優先級都一律平等,CPU輪流響應各個中斷源的中斷請求。5-3簡述MCS-5俾片機中斷響應過程。答:CPU在每個機器周期的S5P2時刻采樣中斷標志,而在下一個機器周期對采樣到的中斷進行查詢。如果在前一個機器周期的S5P2有中斷標志,則在查詢周期內便會查詢到并按優先級高低進行中斷處理,中斷系統將控制程序轉入相應的中斷服務程序。5-4MCS-51單片機外部中斷有哪兩種觸發方式?如何選擇?對外部中斷源的觸發脈沖或電平有何要求?答:MCS-51單片機外部中斷有:負邊沿觸發方式和電平觸發方式。外部中

29、斷1(而)觸發方式控制位。如果IT1為1,則外中斷1為負邊沿觸發方式(CPU在每個機器周期的S5P2采樣INTi腳的輸入電平,如果在一個周期中采樣到高電平,在下個周期中采樣到低電平,則硬件使IE1置1,向CPU請求中斷);如果IT1為0,則外中斷1為電平觸發方式。采用電平觸發時,輸入到而的外部中斷源必須保持低電平有效,直到該中斷被響應。同時在中斷返回前必須使電平變高,否則將會再次產生中斷。5-5在MCS-5俾片機的應用系統中,如果有多個外部中斷源,怎樣進行處理?答:當系統有多個中斷源時,就可能出現同時有幾個中斷源申請中斷,而CPU在一個時刻只能響應并處理一個中斷請求,為此,要進行排隊。排隊的方

30、式有:(1)按優先級排隊。(2)循環輪流排隊。MCS-51單片機優先級比較簡單,只有兩級,可以通過優先級控制寄存器設置不同的優先級。當優先級相同時,約定有5個中斷源優先級順序由高到低分別為:外部中斷0、定時器/計數器0溢出、外部中斷1、定時器/計數器1溢出、用行口中斷。5-6MCS-51有哪幾種擴展外部中斷源的方法?各有什么特點?答:1)利用定時器作為外部中斷使用特點:把MCS-51的兩個定時器/計數器(T0和T1)選擇為計數器方式,每當P3.4(T0)或P3.5(T1)引腳上發生負跳變時,T0和T1的計數器加1。可以把P3.4和P3.5引腳作為外部中斷請求輸入線,而定時器的溢出中斷作為外部中

31、斷請求標志。2)采用中斷和查詢相結合的方法擴充外部中斷源特點:這種方法是把系統中多個外部中斷源經過與門連接到一個外部中斷輸入端(例如而),并同時還接到一個I/O口,中斷請求由硬件電路產生,而中斷源的識別由程序查詢來處理,查詢順序決定了中斷源的優先級。5-7MCS-51單片機響應外部中斷的典型時間是多少?在哪些情況下,CPU將推遲對外部中斷請求的響應?答:響應外部中斷的典型時間是至少需要3個完整的機器周期。1、外部中斷INT0和INT1的電平在每個機器周期的S5P2時被采樣并鎖存到IE0和IE1中,這個置入到IE0和IE1的狀態在下一個機器周期才被其內部的查詢電路查詢,未產生了一個中斷請求。2、

32、沒有滿足響應的條件,CPU沒有響應中斷。3、沒有由硬件生成一條長調用指令轉到相應的服務程序入口第6章習題參考答案6-18051單片機內設有幾個可編程的定時器/計數器?它們可以有4種工作方式,如何選擇和設定?各有什么特點?答:MCS-51單片機內部有兩個16位可編程的定時器/計數器,即定時器T0和定時器T1M1M0:定時器/計數器四種工作方式選擇M1M0方式特點00013位定時器/計數器01116位定時器/計數器102自動裝入時間常數的8位定時器/計數器對T0分為兩個8位獨立計數器;對T1置方式3時停止113工作(無中斷重裝8位計數器)6-28051單片機內的定時/計數器T0、T1工作在模式3時

33、,有何不同?答:方式3對定時器T0和定時器T1是不相同的。若T1設置為方式3,則停止工作。方式3只適用于T0O當T0設置為方式3時,將使TL0和TH0成為兩個相互獨立的8位計數器,TL0利用了T0本身的一些控制方式,它的操作與方式0和方式1類似。而TH0被規定為用作定時器功能,對機器周期計數,并借用了T1的控制位TR1和TF1。在這種情況下TH0控制了T1的中斷。6-3已知單片機時鐘振蕩頻率為6MHz,利用T0定時器,在P1.1引腳上輸出連續方波,波形如下:100Ms1501sP1.1計算定時常數:100us方式0150us方式0Tc=FE0E;方式1Tc=FFCE;方式2Tc=CETc=FD

34、15;方式1Tc=FFB5;方式2Tc=B5方法一:采用方式一,定時器中斷源程序:ORG0000HLJMPSTARTORG000BHLJMPTINT0ORG0100HSTART:MOVTMOD,#01HMOVTL0,#0CEHMOVTH0,#0FFHSETBTR0SETBEASETBET0SETB20H.0SETBP1.1SJMP$TINT0:JNB20H.0,NEXTMOVTL0,#0B5HMOVTH0,#0FFHCLRP1.1CPL20H.0SJMPLASTNEXT:MOVTL0,#0CEHMOVTH0,#0FFHSETBP1.1CPL20H.0LAST:RETI方法二:采用方式2定時器中

35、斷加延時程序源程序:ORG0000HLJMPSTARTORG000BHLJMPTINT0ORG0100HSTART:MOVTMOD,#02HMOVTL0,#0CEHMOVTH0,#0CEHSETBTR0SETBEASETBET0SETB20H.0SETBP1.1SJMP$TINT0:JNB20H.0,NEXTCLRTR0CLRP1.1LCALLDELAYCPL20H.0SETBTR0SJMPLASTNEXT:SETBP1.1CPL20H.0LAST:RETIDELAY:MOVR7,#8DELAY1:DJNZR7,DELAY1RET中斷子程序流程圖主程序流程圖6-4定時器/計數器的工作方式2有什

36、么特點?適用于什么應用場合?答:方式2把TL0配置成一個可以自動恢復初值的8位計數器,TH0作為常數緩沖器,TH0由軟件預置值。當TL0產生溢出時,一方面使溢出標志TF0置1,同時把TH0中的8位數據重新裝入TL0中。方式2常用于定時控制,作用行波特率發生器。6-5定時器/計數器測量某正單脈沖的寬度,采用何種方式可得到最大量程?若時鐘頻率為6MHz,求允許測量的最大脈沖寬度是多少?答:采用方式1可得到最大量程。最大脈寬=2usX655366-6定時器/計數器作為外部中斷源使用時,需要如何初始化,以T0為例通過程序說明。答:初始化MOVTMOD,#06HMOVTL0,#0FFHMOVTH0,#0

37、FEHSETBTR0SETBEASETBET0第7章習題參考答案7-1波特率的含義是什么?答:所謂波特率是每秒鐘傳送信號的數量,單位為波特(Baud)。7-2什么是串行異步通信?它有哪些特征?答:通信時接收器和發送器有各自的時鐘。特征:異步通信的優點是不需要傳送同步脈沖,可靠性高,所需設備簡單,缺點是字符幀中因包含有起始位和停止位而降低了有效數據的傳輸速率7-3單片機的串行接口由哪些功能部件組成?各有什么作用?答:MCS-51單片機用行口主要由兩個物理上獨立的串行數據緩沖寄存器SBUF、發送控制器、接收控制器、輸入移位寄存器和輸出控制門組成。作用:SBUF為用行口的收發緩沖寄存器,它是可尋址的

38、專用寄存器,其中包含了發送寄存器SBUF(發送)和接收寄存器SBUF(接收),可以實現全雙工通信。7-4簡述串行接口接收和發送數據的過程。答:發送:發送操作是在TI=0下進行的,此時發送緩沖寄存器"SBUF(發送)”相當于一個并入用出的移位寄存器。CPU通過指令MOVSBUF,A,將數據寫入“SBUF(發送)”,立即啟動發送,將8位數據以設定波特率從RXD輸出,低位在前,高位在后。發送完一幀數據后,發送中斷標志TI由硬件置位,并可向CPU發出中斷請求。接收:接收過程是在RI=0且REN=1條件下啟動的,此時接收緩沖寄存器"SBUF(接收)”相當于一個申入并出的移位寄存器。接

39、收時,先置位允許接收控制位REN,此時,RXD為串行數據輸入端。當RI=0和REN=1同時滿足時,開始接收。當接收到第8位數據時,將數據移入接收緩沖寄存器"SBUF(接收)”,并由硬件置位RI,同時向CPU發出中斷請求。CPU查到RI=1或響應中斷后,通過指令MOVA,SBUF,將“SBUF(接收)”接收到的數據讀入累加器A。7-58051串行接口有幾種工作方式?有幾種幀格式?各工作方式的波特率如何確定?答:方式0、1、2、3.8幀10幀11幀三種格式。波特率:方式0的波特率固定為系統晶振頻率的1/12,其值為fosc/12。其中,fosc為系統主機晶振頻率。 方式2的波特率由PCO

40、N中的選擇位SMOD來決定,可由下式表示:波特率H2sMod/64)Mfosc即:當SMOD=l時,波特率為fosc/32;當腳SMOD=0時,波特率為fosc/64。 方式1和方式3的波特率由定時器Tl的溢出率控制。因而波特率是可變的。定時器TI作為波特率發生器,相應公式如下:SMOD、一.、波特率二(二)M定時器T1溢出率32T1溢出率=T1計數率/產生溢出所需的周期數-(fosc/12)/(2k_TC)式中K:定時器T1的位數,K的值等于8、13、16;TC:定時器T1的預置初值。第8章習題參考答案8-1MCS-51單片機外部程序存儲器和數據存儲器地址范圍都是0000HFFFFH在實際使

41、用時如何區分?答:訪問(讀)ROMM(程序存儲器),通過睢N引腳有效選中程序存儲器,PC指針指向程序存儲器的地址指針。訪問外部RAM數據存儲器),通過所、WR引腳有效選中數據存儲器(DPTRM卜部RAMff儲器的地址指針)8-2訪問8051片外數據存儲器MOVX1令采用的是間接尋址方式。訪問片外程序存儲器MOVCf令采用的是基址加變址尋址方式。8-3MCS-51單片機可以外接64KB的程序存儲器和64KB數據存儲器。這兩種片外存儲器地址重疊而不發生總線沖突,主要依靠單片機引腳上的那些信號來區分?答:同8-1.8-4給8031單片機擴展一片2716和6116,請畫出系統連接圖。方法一:地址自定:

42、(其中一種解法如下)設2716地址:0000H07FFH6116地址:0000H07FFH(不用譯碼器)P2.0P2.28051P0.0P0.7ALEEAPSENWRRDG2A方法二:采用部分譯碼如:2716的地址0000H07FFH6116的地址0800H08FFHP2.5P2.4P2.3P2.0P2.28051P0.0P0.7ALEPSENRDWR-方法三:采用全譯碼如:2716的地址0000H07FFH6116的地址0800H08FFHP2.5P2.4P2.3P2.0-P28051P0.0P0.7ALEPSENRD+5V74LS138G2AG2TY0Y?地址鎖存器GA8-A10CEA0-

43、A72716D0-D7OEA8-A10CEA0-A76116D0-D7WE-OE8-5試畫出MCS-51系列8051最小應用系統的原理結構圖。答:8051最小應用系統如圖所示。這種最小應用系統只要將單片機的時鐘電路和復位電路接上,同時EA接高電平,作一些小型的控制單元。其應用特點是:系統就可以工作。止二類AS用系:究只能用后THT鱉廣P1.C1二C280518751XTAL2(1)全部I/O口線均可供用戶用。+(2)內部存儲器容量有限(只有4KEM址君可午丁(3)應用系統開發具有特殊性。8-6如何構造MCS-51單片機擴展的系統總線?RESETP2P3<=>見課本P129-P130第9章習題參考答案9-1設計用P1、P2口擴展X4矩陣鍵盤、4位共陰極LED硬件電路8051P14P15P16P17_+5VVVYVVT10Kx4一LEDlindaa,gfedcbadpg1KP13P12P11P10P20P21P22P23P24P25P26P279-2已知一單片機應用系統如9-12圖所示。試回答問題并編寫顯示程序,以1秒

溫馨提示

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

評論

0/150

提交評論