




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機原理與接口技術習題答案習題與思考題11-2 單片微型計算機與一般微型計算機相比較有哪些區(qū)別?有哪些特點?答:與通用微型計算機相比,單片機的硬件上,具有嚴格分工的存儲器ROM和RAM和I/O端口引腳具有復用功能;軟件上,采用面向控制的指令系統(tǒng)和硬件功能具有廣泛的通用性,以及品種規(guī)格的系列化。單片機還具備體積小、價格低、性能強大、速度快、用途廣、靈活性強、可靠性高等特點。1-4 單片機的幾個重要指標的定義。答:單片機的重要指標包括位數(shù)、存儲器、I/O口、速度、工作電壓、功耗和溫度。習題與思考題22-2 MCS-51單片機的EA、ALE和PSEN端的功能是什么?答:ALEALE為地址鎖存允許信號,在訪問外部存儲器時,ALE用來鎖存P0送出的低8位地址信號。PSEN外部程序存儲器的讀選通信號。當訪問外部ROM時,PSEN產生負脈沖作為外部ROM的選通信號;在訪問外部RAM或片內ROM時,不會產生有效的PSEN信號。PSEN可驅動8個LSTTL門輸入端。EA訪問外部程序存儲器控制信號。對8051和8751,它們的片內有4KB的程序存儲器。當EA為高電平時,CPU訪問程序存儲器有兩種情況:一是訪問的地址空間在04K范圍內,CPU訪問片內程序存儲器;二是訪問的地址超出4K時,CPU將自動執(zhí)行外部程序存儲器的程序。對于8031,EA必須接地,只能訪問外部ROM。2-3 程序計數(shù)器(PC)有多少位?它的主要功能是什么?答:程序計數(shù)器有16位,它的功能和一般微型計算機的相同,用來存放下一條要執(zhí)行的指令的地址。當按照PC所指的地址從存儲器中取出一條指令后,PC會自動加l,即指向下一條指令。2-5 MCS-51單片機如何實現(xiàn)工作寄存器組R0R7的選擇?答:每個工作寄存器組都可被選為CPU的當前工作寄存器,用戶可以通過改變程序狀態(tài)字寄存器(PSW)中的RS1、RS0兩位來任選一個寄存器組為當前工作寄存器。RS1RS0寄存器組R0R1R2R3R4R5R6R7000組00H01H02H03H04H05H06H07H011組08H09H0AH0BH0CH0DH0EH0FH102組10H11H12H13H14H15H16H17H113組18H19H1AH1BH1CH1DH1EH1FH2-6 單片機復位后,各特殊功能寄存器中的初始化狀態(tài)是什么?答:特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)ACC00HTMOD00HPC0000HTCON00HPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0P30FFHTH100HIPxx000000BB00HIE0x000000BSCON00HPCON0xxx0000BSBUF不定 2-7 MCS-51單片機的21個特殊功能寄存器中,哪些具有位尋址能力?答:MCS-51單片機中的程序狀態(tài)字寄存器(PSW),B寄存器,累加器(ACC),端口P0P3,控制寄存器中用于中斷控制的中斷優(yōu)先級控制寄存器(IP)和中斷允許控制寄存器(IE),用于設置定時/計數(shù)器和串行口工作方式的定時/計數(shù)器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位尋址能力。2-8 程序狀態(tài)字寄存器(PSW)的作用是什么? 答:PSW寄存器是8位寄存器,用做程序運行狀態(tài)的標志,字節(jié)地址為D0H??梢赃M行位尋址。2-9 MCS-51單片機的P3口具有哪些功能?答:P3口是雙功能口,除了作為準雙向通用I/O口使用外,每一根口線還具有第二種功能,P3口的各位如不設定為第二功能則自動處于第一功能。P3的第二功能涉及到串行口、外部中斷、定時器,與特殊功能寄存器有關。2-13 什么是時鐘周期、狀態(tài)周期、機器周期和指令周期?當單片機時鐘頻率為12MHz時,一個機器周期是多少?ALE引腳的輸出頻率是多少?答:時鐘周期也稱為振蕩周期,定義為時鐘脈沖頻率(fosc)的倒數(shù),它是計算機中最基本的、最小的時間單位。時鐘周期經2分頻后成為內部的時鐘信號,用作單片機內部各功能部件按序協(xié)調工作的控制信號,稱為狀態(tài)周期,用S表示。完成一個基本操作所需要的時間稱為機器周期。指令周期是執(zhí)行一條指令所需要的時間,一般由若干個機器周期組成,指令不同,所需要的機器周期數(shù)也不同。當單片機時鐘頻率為12MHz時,一個機器周期為1s。ALE引腳的輸出頻率為2MHz。2-14 什么時候需要復位操作?對復位信號有何要求?答:復位是單片機的初始化操作。單片機系統(tǒng)在上電啟動運行時,都需要先復位。上電復位利用電容器的充電實現(xiàn)。在時鐘電路工作后,在RST端連續(xù)給出2個機器周期的高電平就可完成復位操作。MCS-51單片機的上電加按鍵復位電路當復位按鍵按下 后,復位端通過51的小電阻與+5V電源接通,迅速放電,使RST引腳為高電平;當復位按鍵彈起后,+5V電源通過2k電阻對22F電容重新充電,RST引腳端出現(xiàn)復位正脈沖。習題與思考題33-1 什么是尋址方式?MCS-51指令系統(tǒng)有哪些尋址方式?相應的尋址空間在何處?答:在指令系統(tǒng)中,操作數(shù)是一個重要的組成部分,它指定了參與運算的數(shù)據(jù)或數(shù)據(jù)所在的地址單元。如何找到參與運算的這個數(shù)據(jù)或數(shù)據(jù)所在的地址就稱為尋址方式。MCS-51指令系統(tǒng)的尋址方式主要有立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、基址加變址尋址、相對尋址和位尋址等七種。對程序存儲器只能采用立即尋址和基址加變址尋址方式;對特殊功能寄存器只能采用直接尋址方式,不能采用寄存器間接尋址,對8032/8052等單片機內部RAM的高128個字節(jié)(80HFFH),只能采用寄存器間接尋址,不能使用直接尋址方式;對位操作指令只能對位尋址區(qū)操作;外部擴展的數(shù)據(jù)存儲器只能用MOVX指令訪問,而內部RAM的低128個字節(jié)(00H7FH)既能用直接尋址,也能用間接尋址。3-2 訪問外部數(shù)據(jù)存儲器和程序存儲器可以用哪些指令來實現(xiàn)?舉例說明。答:訪問外部數(shù)據(jù)存儲器可以用以下指令實現(xiàn):MOVX A, Ri ;(Ri)A,寄存器Ri指向的片外RAM地址中的內容送到累加器A中MOVX Ri, A ;A(Ri),累加器中內容送到寄存器Ri指向的片外RAM地址中MOVX A, DPTR ;(DPTR)A,數(shù)據(jù)指針指向的片外RAM地址中的內容送到累加器A中MOVX DPTR, A ;A(DPTR),累加器中內容送到數(shù)據(jù)指針指向的片外RAM地址中訪問程序存儲器可以用以下指令實現(xiàn):MOVC A, A+DPTR ;(A+DPTR)A,表格地址單元中的內容送到累加器A中MOVC A, A+PC ;PC+1PC,(A+PC)A,表格地址單元中的內容送到累加器A中 3-3 試用下列3種尋址方式編程,將立即數(shù)0FH送入內部RAM的30H單元中。 (1) 立即尋址方式;(2) 寄存器尋址方式;(3) 寄存器間接尋址方式答:(1)立即尋址方式: MOV 30H, #0FH(2)寄存器尋址方式: MOV R5, #0FHMOV 30H, R5(3)寄存器間接尋址方式:MOV R1, #0FHMOV 30H, R13-5 試編寫一段程序,將內部數(shù)據(jù)存儲器30H、3lH單元內容傳送到外部數(shù)據(jù)存儲器1000H、1001H單元中。答: MOV A, 30HMOV DPTR, #1000HMOV DPTR, AMOV A, 31HMOV DPTR, #1000HMOV DPTR, A3-13 SJMP指令和AJMP指令都是字節(jié)轉移指令,它們有什么區(qū)別?各自的轉移范圍是多少?能否用AJMP指令代替程序中的所有SJMP指令?為什么?答:AJMP和SJMP的區(qū)別有:(1) 跳轉范圍不同。AJMP addr1 ;短跳轉范圍:2KBSJMP rel ;相對跳轉范圍:-128+127(2) 指令長度不同。(3) 指令構成不同。AJMP、LJMP后跟的是絕對地址,而SJMP后跟的是相對地址。不能用AJMP指令代替程序中的SJMP指令,因為如果改變的話,程序跳轉到的新PC值指向的地址會不同,導致程序出現(xiàn)錯誤。3-14 試用位操作指令實現(xiàn)下列邏輯操作。要求不得改變未涉及到的位的內容。(1)使ACC.0置位; (2)清除累加器高4位; (3)清除ACC.3,ACC.4,ACC.5,ACC.6。 答:(1)SETB ACC.0 (2)CLR ACC.4 CLR ACC.5 CLR ACC.6 CLR ACC.7 (3)CLR ACC.3 CLR ACC.4 CLR ACC.5 CLR ACC.6 習題與思考題44-1 MCS-51系列單片機匯編語言進行程序設計的步驟如何?答:單片機匯編語言進行程序設計的步驟:(1)分析題意,明確要求;(2)確定算法;(3)畫程序流程圖,用圖解來描述和說明解題步驟;(4)分配內存工作單元,確定程序與數(shù)據(jù)區(qū)的存放地址;(5)編寫源程序;(6)程序優(yōu)化;(7)上機調試、修改和最后確定源程序。4-3 子程序調用時,參數(shù)的傳遞方法有哪幾種?答:傳遞方法有傳遞數(shù)據(jù)、傳送地址和通過堆棧傳遞參數(shù)。 4-5 編寫程序,采用算術平均值濾波法求采樣平均值,設8次采樣值依次放在20H27H的連續(xù)單元中,結果保留在A中。 答:FILT: CLR AMOV R2, AMOV R3, AMOV R0, #20HMOV R7, #08H;初始化FILT1: MOV A, R0ADD A, R3 MOV R3, ACLR AADDC A, R2MOV R2, AINC R0DJNZ R7, FILT1;累加采樣值到R3,累加進位到R2=00000xxxBFILT2: SWAP ARL A ;R2/8,節(jié)省一個指令周期XCH A, R3SWAP ARL A ;R3/8,節(jié)省一個指令周期ADD A, #80H ;四舍五入ANL A, #1FH ;屏蔽移位進入的前三位ADDC A, R3 ;結果相加END;取平均值 4-8 假設在R0指向的片內RAM區(qū),存有20個16進制數(shù)的ASCII字串。將ASCII碼轉換為16進制數(shù),然后兩兩合成一個字節(jié),從低地址單元到高地址單元依次組合。答: ORG 0000HSTART: MOV R7, #20S0: MOV A, R0MOV R1, A ;R1為中間量MOV A, R0CLR CSUBB A, #30HMOV R1, AJC S01MOV A, R0SUBB A, #07HMOV R1, AS01: INC R0MOV A, R0CLR CSUBB A, #30HSWAP AORL A, R1MOV R1, AJC S02MOV A, R0SUBB A, #07HSWAP AOR A, R1MOV R1, AS02: INC R0DJNZ R7, S0END 習題與思考題6 6-2 MCS-51單片機提供了幾個中斷源?有幾級中斷優(yōu)先級別?各中斷標志是如何產生的又如何清除這些中斷標志?各中斷源所對應的中斷矢量地址是多少?答:MCS-51單片機提供了5個中斷源,有2級中斷優(yōu)先級別。中斷標志由特殊功能寄存器TCON和SCON的相應位鎖存。(見書中圖6-4、6-6)中斷標志的撤消分為:1)定時/計數(shù)器中斷請求的撤消中斷請求被響應后,硬件會自動清TF0或TF1。2)外部中斷請求的撤消(1)跳沿方式外部中斷請求的撤消是自動撤消的。(2)電平方式外部中斷請求的撤消,除了標志位清“0”之外,還需在中斷響應后把中斷請求信號引腳從低電平強制改變?yōu)楦唠娖健#ㄒ姇袌D例6-1)3)串行口中斷請求的撤消響應串行口的中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,還需測試這兩個中斷標志位的狀態(tài),以判定是接收操作還是發(fā)送操作,然后才能清除。所以串行口中斷請求的撤消只能使用軟件的方法。CLR TI ;清TI標志位CLR RI ;清RI標志位各中斷源對應的中斷矢量地址分別為:中斷源中斷矢量外部中斷00003H定時器T0中斷000BH外部中斷10013H定時器T1中斷001BH串行口中斷0023H定時器中斷T2(僅52系列有)002BH 6-3 外部中斷源有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式,這兩種觸發(fā)方式所產生的中斷過程有何不同?怎樣設定? 答:采用中斷電平觸發(fā)方式時,中斷請求標志IT0=0,CPU在每個機器周期的S5P2期間采樣,一旦在P3.2引腳上檢測到低電平,則有中斷申請,使IE0置位(置1),向CPU申請中斷。在電平觸發(fā)方式中,在中斷響應后中斷標志位IE0的清0由硬件自動完成,但由于CPU對P3.2引腳沒有控制作用,使中斷請求信號的低電平可能繼續(xù)存在,在以后的機器周期采樣時又會把已清0的IE0標志位重新置1,所以,在中斷響應后必須采用其它方法撤消該引腳上的低電平,來撤除外部中斷請求信號,否則有可能再次中斷造成出錯。采用邊沿觸發(fā)方式時,IT0=1,CPU在每個機器的S5P2期間采樣,當檢測到前一周期為高電平,后一周期為低電平時,使標志IE0置1,向CPU申請中斷,此標志位一直保持到CPU響應中斷后,才由硬件自動清除。在邊沿觸發(fā)方式中,為保證CPU在兩個機器周期內檢測到由高到低的負跳變,高電平與低電平的持續(xù)時間不得少于一個機器周期的時間。6-4 試分析以下幾種中斷優(yōu)先級的排列順序(級別由高到低)是否可能?若可能,則應如何設置中斷源的中斷級別?否則,請簡述不可能的理由。 (1) 定時器T0中斷,定時T1中斷,外中斷1NT0,外中斷INT1,串行口中斷;(2) 串行口中斷,外中斷1NT0,定時器T0中斷,外中斷INT1,定時器T1中斷;(3) 外中斷INT0、定時器T1中斷,外中斷INT1,定時器T0中斷,串行口中斷。答:(1)可以,將定時器T0中斷,定時T1設置為高優(yōu)先級中斷,將外中斷1NT0,外中斷INT1,串行口中斷(2)可以,將串行口中斷設置為高優(yōu)先級中斷,將外中斷1NT0,定時器T0中斷,外中斷INT1,定時器T1中斷設置為低優(yōu)先級中斷;(3)不行,因為MCS-51單片機有2級中斷優(yōu)先級別,同級中斷還存在按次序決定的第二優(yōu)先級結構,由高到低依次為外中斷1NT0、定時器T0中斷、外中斷INT1、定時器T1中斷、串行口中斷。 習題與思考題77-1 定時/計數(shù)器有哪些專用寄存器,它們有幾種工作模式?如何設置?答:有定時控制寄存器(TCON)和工作方式寄存器(TMOD),具有四種工作方式:方式0、方式1、方式2和方式3,四種方式由工作方式寄存器(TMOD)的M1和M0兩位決定。7-4 定時/計數(shù)器用作計數(shù)器時,對外界計數(shù)頻率有何限制?答:外部輸入的計數(shù)脈沖的最高頻率為振蕩器頻率的1/24。7-7 編寫程序,要求使用T0,采用方式2定時,在P1.0輸出周期為400s,占空比為10:1的矩形脈沖。 答:本題采用晶體振蕩器頻率為12MHz,使用定時器配合計數(shù)器,設計成一個40s定時將P1.0置0和一個400s定時將P1.0置1。ORG 0000H ;中斷入口地址AJMP STARTORG 000BH ;定時器0的中斷向量地址AJMP TIME0ORG 0030HSTART: MOV SP, #5FHMOV 30H, #00H ;軟件計數(shù)器清零MOV TMOD, #02H ;T0工作在方式1MOV TH0, #216MOV TL0, #216SETB EASETB ET0SETB TR0;任意程序段TIME0: PUSH ACC ;中斷處理子程序PUSH PSWCLR P1.0INC 30HMOV A, 30HCJNE A, #10, T0_4SETB P1.0MOV 30H, #00HT0_4: POP PSWPOP ACCRETIEND7-9 利用定時/計數(shù)器T0產生定時時鐘,由P1口控制8個指示燈。編一個程序,使8個指示燈依次一個一個閃動,閃動頻率為20次/秒(8個燈依次亮一遍為一個周期)。答:本題采用晶體振蕩器頻率為12MHz,每個燈的閃爍周期是:50ms,采用工作方式1。ORG 0000HAJMP STARTORG 000BHAJMP TIME0ORG 0030HSTART: MOV SP, #5FHMOV R7, #0FEHMOV TMOD, #01H ;T0在工作方式1MOV TH0, #3CHMOV TL0, #0B0HSETB EASETB ET0SETB TR0S0: AJMP S0 ;此處放任意程序段TIME0: PUSH ACCPUSH PSWMOV P1, R7MOV A, R7RL AMOV R7, AMOV TH0, #3CHMOV TL0, #0B0HPOP PSWPOP ACCRETIEND7-12 簡述特殊功能寄存器SCON,TCON,TMOD功能。答:SCON是串行口控制寄存器,主要用于控制、監(jiān)視串行口的工作狀態(tài);TCON是定時控制寄存器,主要用于控制定時/計數(shù)器的啟動和停止、計數(shù)溢出標志和管理外部中斷;TMOD是工作方式控制寄存器,主要用于設定定時/計數(shù)器的的工作方式和選定定時還是計數(shù)以及門控INT0非信號。7-15 幀格式為1個起始位,8個數(shù)據(jù)位和1個停止位的異步串行通信方式是方式幾?。 答:是異步串行通信方式1。7-16 簡述串行口通信的第9數(shù)據(jù)位的功能。答:在工作方式2和3下,才有第9數(shù)據(jù)位,既可作為奇偶校驗位使用,也可作為控制位使用。習題與思考題88-1 畫圖說明單片機系統(tǒng)總線擴展方法。答:單片機系統(tǒng)擴展總線原理如下圖所示,擴展后由P0口經鎖存器形成低8位地址,P2口形成高8位地址,共同形成16位地址總線;P0口形成8位數(shù)據(jù)線,/WR、/RD及/PSEN形成控制總線。 8-10 以8031為核心的單片機應用系統(tǒng)中擴展程序存儲器至16KB。 (1)選擇存儲器件;(2)畫出原理電路;(3)說明各器件占用存儲空間。答:(1)選用EPROM存儲器作為程序存儲器,可選用1片27128或2片2764,本題選兩片6264作為程序存儲器。(2)原理電路如下圖所示。(3)由于8031單片機內部沒有程序程序器,外擴程序存儲器地址必須從0000H開始,并且單片機的/EA引腳應接地。從圖中可以看出,1#2764的地址范圍為0000-1FFFH,2#2764的地址范圍為2000H-3FFFH8-12 試編程對8155進行初始化,設A口為選通輸出,B口為選通輸入,C口作為控制聯(lián)絡口,并啟動定時/計數(shù)器按方式1工作,工作時間為10 ms,定時器計數(shù)脈沖頻率為單片機的時鐘頻率24分頻,fOSC=12 MHz。答:(1)參照書中圖8-21,設: 8155的片選信號CE接至51單片機的P2.7口,即單片機操作指令產生的地址信號P2.7為0時,對擴展的8155進行操作。因此,擴展的8155口地址最高位為0; 8155的IO/M(IO/M=1時選擇8155的寄存器,IO/M=0時選擇8155的存儲器)信號接至51單片機的P2.0口,即單片機操作指令產生的地址信號P2.0為1時(前提是P2.7為0),對擴展8155的內部寄存器進行操作。 (2)8155內部寄存器口地址分析 根據(jù)前面假設,擴展的8155內部寄存器高8位地址是:0xxx,xxx1B,取其中的任意位x為1,則8155內部寄存器高8位地址是:0111,1111B=7FH。 參照書中表8-5知,8155地址信號有效時,由地址信號的低3位確定所操作的寄存器如下: 控制字寄存器和狀態(tài)字寄存器地址是:,000B,取其中任意值x為0,則該寄存器低8位地址是00H。加上前面分析過的這里擴展的8155內部寄存器高8位地址7FH,該寄存器的16位地址為7F00H; A口寄存器地址是:,001B,取其中任意值x為0,則該寄存器低8位地址是01H。同理,加上高8位地址7FH,該寄存器的16位地址為7F01H; B口寄存器地址是:,010B,取其中任意值x為0,則該寄存器低8位地址是02H。同理,加上高8位地址7FH,該寄存器的16位地址為7F02H; C口寄存器地址是:,011B,取其中任意值x為0,則該寄存器低8位地址是03H。同理,加上高8位地址7FH,該寄存器的16位地址為7F03H; 定時/計數(shù)器低字節(jié)寄存器地址是:,100B,取其中任意值x為0,則該寄存器低8位地址是04H。同理,加上高8位地址7FH,該寄存器的16位地址為7F04H; 定時/計數(shù)器高字節(jié)寄存器地址是:,101B,取其中任意值x為0,則該寄存器低8位地址是05H。同理,加上高8位地址7FH,該寄存器的16位地址為7F05H。 (3)8155控制字分析 根據(jù)8155控制字各位定義可知: D7D6位(TM1和TM2)是定時/計數(shù)器工作方式,TM1和TM2=11時,啟動定時/計數(shù)器。根據(jù)題意要求,這兩位取11(啟動定時/計數(shù)器); D5位(IEB)是B口中斷控制位,本題不涉及,故取0; D4位(IEA)是A口中斷控制位,本題不涉及,故取0; D3D2位(PAB2和PAB1)是定義A口、B口和C口的工作方式。按照定義可知,PAB2PAB1=10時,A口和B口均為選通方式。此時,C口的PC0PC5提供它們所需握手聯(lián)絡信號(PC0=INTRA,PC1=BFA,PC2=STBA,PC3=INTRB,PC4=BFB,PC5=STBB)。其中與本題有關的信號是:STBA為A口數(shù)據(jù)選通輸入信號,STBB為B口數(shù)據(jù)選通輸入信號(選通信號只在讀取A、B口數(shù)據(jù)時使用,本題要求的初始化程序中不需要考慮); D1位(PB)定義B口的輸入/輸出,PB=0為輸入,PB=1為輸出。根據(jù)題意應取該位為0; D0位(PA)定義A口的輸入/輸出,PA=0為輸入,PA=1為輸出。根據(jù)題意應取該位為1。 綜合以上分析,這里擴展的8155控制字為:1100,1001B=C9H。意為:啟動定時/計數(shù)器,A口和B口均為選通方式,B口為輸入,A口為輸出。 (4)定時/計數(shù)器工作方式及初值確定 51單片機的定時/計數(shù)器是以加法器方式工作,從定時常數(shù)開始加1直到溢出后產生定時中斷。而8155的定時/計數(shù)器是以減法器方式工作,從定時常數(shù)開始減1直到溢出后產生定時中斷。8155的定時時間常數(shù)計算公式為:10000/(分頻系數(shù)*(fOSC/12)。 8155的定時/計數(shù)器是一個14位的減法計數(shù)器。根據(jù)8155定時/計數(shù)器工作方式的定義,定時/計數(shù)器高字節(jié)寄存器的D7D6位(M2、M1)為01時,定時/計數(shù)器以方式1工作(連續(xù)方波),D5D0是定時時間常數(shù)的高6位。定時/計數(shù)器低字節(jié)寄存器是定時時間常數(shù)的低8位。 依照題意及要求,工作時間為10 ms,定時器計數(shù)脈沖頻率為單片機時鐘頻率的24分頻,fOSC=12 MHz。因此,按照8155定時時間常數(shù)計算公式,計算如下: 10000/(24*(fOSC/12)=417D=00,0001,1010,0001B=01A1H 即,定時/計數(shù)器低字節(jié)寄存器內容是定時/計數(shù)初值低8位1010,0001B(A1H)。高字節(jié)寄存器內容是定時/計數(shù)器工作方式1(D7D6=01)和定時/計數(shù)初值高6位(D5D0=00,0001B)的“位或”邏輯組合值0100,0001B(41H)。 (5)分析結果 綜合以上分析,得出本題中擴展的8155相關口地址和控制字結果如下: 控制寄存器地址:7F00H 端口A地址:7F01H(初始化程序中不使用) 端口B地址:7F02H(初始化程序中不使用) 端口C地址:7F03H(初始化程序中不使用) 定時/計數(shù)器低字節(jié)地址:7F04H 定時/計數(shù)器高字節(jié)地址:7F05H 控制字為:C9H 定時/計數(shù)器低8位初值為:A1H 定時/計數(shù)器高8位初值為:41H (6)編寫8155初始化程序如下。 ORG 1000H MOV DPTR, #7F04H ;數(shù)據(jù)指針指向定時/計數(shù)器低字節(jié)地址 MOV A, #0A1H ;10ms定時初值的低8位 MOVX DPTR, A ;裝入定時初值的低8位 INC DPTR ;數(shù)據(jù)指針指向定時/計數(shù)器高字節(jié)地址 MOV A, #41H ;連續(xù)方波方式和10ms定時初值的高6位 MOVX DPTR, A ;裝入定時/計數(shù)器工作方式及定時初值高6位 MOV DPTR, #7F00H ;數(shù)據(jù)指針指向控制寄存器地址 MOV A, #0C9H ;C9H為依題意確定的8155控制字 MOVX DPTR, A ;寫控制字到8155控制寄存器,設定A, B, C口 ;的工作方式,同時啟動定時/計數(shù)器 RET ;完成8155初始化,返回 END 習題與思考題99-2 SPI總線與I2C總線在擴展多個外部器件時有何不同? 答: SPI總線與I2C總線在擴展多個外部器件時區(qū)別如下: (1)I2C總線 下圖為I2C總線外圍接口擴展示意圖,單片機系統(tǒng)采用I2C總線可方便地擴展外部存儲器、AD和DA轉換器、實時時鐘、鍵盤、顯示等接口電路。 I2C總線上連接的器件都是總線上的節(jié)點,每個時刻只有一個主控器件操控總線。每個器件都有一個唯一確定的地址,主控器件通過這個地址實現(xiàn)對從器件的點對點數(shù)據(jù)傳輸。器件的地址由7位組成,其后附加了1位方向位,確定數(shù)據(jù)的傳輸方向。這8位構成了傳輸起始狀態(tài)S后的第一個字節(jié)。 器件的地址由4位固定位和3位可編程位組成。固定位由生產廠家給出,用戶不能改變??删幊涛慌c器件的地址管腳的連接相對應,當系統(tǒng)中使用了多個相同芯片時可以進行正確的訪問。 當主器件發(fā)送了數(shù)據(jù)幀的第一個字節(jié)后,總線上連接的從器件會將接收到的地址數(shù)據(jù)與自己的地址進行比較,被選中的從器件在根據(jù)方向位確定是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)。 (2)SPI總線 總線上有多個SPI接口的單片機時,應為一主多從,在某一時刻只能由一個單片機為主器件。如果總線上只有一個SPI接口器件,不需要進行尋址操作而進行全雙工通信。在擴展多個SPI外圍器件時,單片機應分別通過I/O口線為每個從器件提供獨立的使能信號,硬件上比I2C系統(tǒng)要稍微復雜一些,下圖所示為SPI總線擴展外圍器件。但是SPI不需要在總線上發(fā)送尋址序列,軟件上簡單高效。 9-7 簡述單線總線的操作原理。答: 由于單線總線沒有時鐘脈沖進行同步,需要嚴格的時序和協(xié)議來保證總線的操作有效性和數(shù)據(jù)的完整性。單線總線有四種基本操作,分別是復位、寫1、寫0和讀位操作。單線總線將完成一位傳輸?shù)臅r間稱為一個時隙。定義了基本操作后,對器件的讀寫操作可通過多次調用位操作來實現(xiàn)。 采用單線總線通信,要求CPU能夠產生較為精確的1s延時,還要保證通信過程不能被中斷。所有的數(shù)據(jù)和指令的傳遞都是從最低有效位開始通過單線總線。 所有單線總線操作的流程為現(xiàn)對總線上的器件進行初始化,然后利用ROM操作指令尋找和匹配,指定待操作器件,接著發(fā)出功能指令,進行具體操作或傳輸數(shù)據(jù)。系統(tǒng)對從器件的各種操作必須按協(xié)議進行,只有主機呼叫時,從器件才能應答,如果命令順序混亂,則總線將不能正常工作10-4 10-4 利用AD574設計一個接口電路,每隔5 s對模擬通道采樣一次,并將采樣結果保存在外部RAM的1000H單元。畫出原理圖并編制相應程序。答:AD574工作在單極性輸入方式時與MCS-51單片機的接口電路原理圖如下圖所示。 P0.0和P0.1通過地址鎖存器連接AD574的A0和R/C。啟動轉換時,R/C=0并且A0=0則按12位轉換,未連接的地址線按1算,則啟動12位A/D轉換的地址為FCH。讀取轉換結果時,在R/C=1條件下,A0=0讀高8位,A0=1讀低4位,因而,讀高8位數(shù)據(jù)的地址為FEH,讀低4位數(shù)據(jù)的地址為FFH。P1.0用于查詢A/D轉換是否結束。 編寫程序如下。包括AD574程序和5s延時程序(晶振頻率為12MHz)。 ORG 0200H DEY5S: MOV R5, #100 ; 置外循環(huán)計數(shù)器R5初值為100 LOOP1: MOV R6, #200 ; 置2層循環(huán)計數(shù)器R6為初值為200 LOOP2: MOV R7, #248 ; 置三層循環(huán)計數(shù)器R7的初值為248 LOOP3: DJNZ R7, LOOP3 ; 3層循環(huán)計數(shù)結束否? DJNZ R6, LOOP2 ; 2層循環(huán)計數(shù)結束否? DJNZ R5, LOOP1 ; 1層循環(huán)計數(shù)結束否? AD574:MOV DPTR, #1000H ; DPTR指向數(shù)據(jù)緩沖區(qū) MOV R0, #0FCH ; R0指向啟動地址 MOVX R0, A ; 啟動A/D轉換 LOOP: JB P1.0, LOOP ; 等待轉換結束 INC R0 ; 指向讀高8位數(shù)據(jù)地址 INC R0 ; 12的數(shù)據(jù)存儲時占兩個字節(jié) MOVX A, R0 ; 讀高8位數(shù)據(jù) MOVX DPTR, A ; 存高8位數(shù)據(jù) INC R0 ; 指向讀低4位數(shù)據(jù)地址 INC DPTR ; 指向緩沖區(qū)下一字節(jié)地址 10-7 利用DAC0832雙緩沖結構特性,設計一個接口電路并編制相應程序,實現(xiàn)雙路模擬信號同時輸出。答:(1)接口電路原理如下圖所示。圖中選用兩片0832作為雙路模擬信號輸出轉換器,由圖中的連接關系可以看出,1#0832第一級緩沖器地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共關系學考試高頻考點及試題與答案
- 2025-2026學年廣州市越秀區(qū)數(shù)學三上期末聯(lián)考試題含解析
- 2025年公共關系學考試簡明試題及答案
- 迷路的小花鴨情景教學課件
- 水資源合理配置試題及答案
- 如何進行項目調研試題及答案
- 大班健康快樂的秘密
- 2025年工程項目管理緊緊把握試題及答案
- 結合實際的市政工程考試試題及答案
- 管理辦法培訓課件
- 2025證券從業(yè)資格考試證券市場基礎知識真題試卷
- 2025年入團基礎知識試題及答案詳解
- 2025-2030年中國軍工行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 地震知識課件
- 2025年小學生科學知識競賽試題及答案
- 2025年中學語文教師招聘試題及答案
- 阿片類藥物的不良反應和對策
- 《液相色譜-質譜聯(lián)用》課件
- 潤滑油購銷合同協(xié)議
- 《醫(yī)療團隊中的護理管理:護士長角色定位》課件
- 2025年電商客服管理試題及答案
評論
0/150
提交評論