




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第8章 常用接口技術-習題本章的習題按本章的小節分為五大部分,即:8.1計數器/定時器8.2 并行輸入輸出接口8.3 模/數和數/模轉換接口8.4 串行通信接口8.5 綜合題 8.1 計數器/定時器習題1、8253主要由哪幾個部分組成?簡要說明CLK、OUT和GATE引腳的含義。解:8253主要由數據總線緩沖器、讀寫控制電路、控制字寄存器以及三個計數器。8253內部有三個計數器通道,每個通道都可獨立地用于計數和定時。CLK:時鐘信號輸入引腳。計數器就是對這個時鐘信號計數。8253規定,加在CLK引腳的輸入時鐘周期不能小于380ns。GATE:門空信號輸入引腳。這是控制計數器工作的一個外部信號。
2、當GATE因腳為低電平(無效)時,通常都是禁止計數器工作;只有當計數器為高點平時,才允許計數器工作。OUT:輸出引腳。OUT引腳根據各種工作方式的不同,輸出各種工作波形。2、設8253通道2工作于方式3,輸入時鐘頻率為1MHz,OUT引腳輸出周期為1ms的方波。已知通道0的口地址為3F0H,試編寫該8253芯片的初始化程序段。解:(1)8253內部有三個計數通道,計數器#0、#1、#2。計數初值N=fclk/fout=fclk*Tout =1000(2) MOV AL,10110110BMOV DX,3F3HOUT DX,ALMOV AX,1000MOV DX,3F2HOUT DX,ALMOV
3、 AL, AHOUT DX(3) MOV AL,10110111BMOV DX,3F3HOUT DX,ALMOV AL,00HMOV DX,3F2HMOV AL, 10HOUT DX,ALOUT DX3、假設有一片8253芯片,其端口地址為0FCH0FFH,其CLK引腳輸入的時鐘信號周期為0.84s。現用該8253芯片的計數器1,工作在方式2,產生周期為2ms的信號,試寫出該8253芯片的初始化程序。解: 計算2ms對應的時間常數 N2mS084s210000842381094DH 初始化編程: MOV AL ,75H OUT 0FFH ,AL MOV AL ,81H OUT 0FDH ,AL
4、 MOV AL ,23H OUT 0FDH ,AL MOV AL ,74H OUT 0FFH ,AL MOV AL ,4DH OUT 0FDH ,AL MOV AL ,09H OUT 0FDH ,ALMOV AL ,74H OUT 0FFH ,AL MOV AX, 200000/84 OUT 0FDH ,AL MOV AL ,AH OUT 0FDH ,ALMOV AL ,74H OUT 0FFH ,AL MOV AX, 2381 OUT 0FDH ,AL MOV AL ,AH OUT 0FDH ,AL4、假設8253各端口的地址分別為40H43H,若計數器0,OUT引腳輸出頻率為1KHZ的連續
5、方波信號;計數器1,每秒產生18.2次連續的方波信號;計數器2,每15.12s輸出一次連續的單脈沖信號。CLK時鐘脈沖的頻率為1.19MHz。請對以上計數器通道進行初始化編程。解: TC(計數周期)1/1.19MHZ0.84s 計數器0:N1.19* 1000000/10001190=04A6H 計數器1:N=54900/0.84=65357=FF4DH 計數器2:N=15.12/0.84=18=12H 初始化編程: MOV AL, 36H ;通道0 OUT 43H, AL MOV AL, 0A6H OUT 40H, AL MOV AL, 04H OUT 40H, AL MOV AL, 76H
6、 ;通道1 OUT 43H, AL MOV AL, 4DH OUT 41H, AL MOV AL, 0FFH OUT 41H, AL MOV AL,94 H ;通道2 OUT 43H, AL MOV AL, 12H OUT 42H, AL5、假設8253各端口的地址分別為40H43H,CLK時鐘信號頻率為1MHZ,若要計數器產生周期為1s的方波,請問使用一片8253如何達到目的?寫出初始化程序。 解:在只用一個計數器的情況下。由于計數值:N1000000/110665536故可以采用計數器級聯的方式實現題目的要求。級聯方法:計數器0的CLK接1MHZ的時鐘脈沖,計數值為1000,工作于方式3;
7、再將計數器0的OUT接于計數器1的CLK端口。令計數器1也工作于方式3,計數值為1000,就可以在計數器1的OUT輸出得到所需要的方波。初始化程序:MOV DX, 43H ;初始化計數器0MOV AL, 37HOUT DXMOV AL, 00MOV DX, 40HOUT DXMOV AL, 10OUT DXMOV DX, 43H ;初始化計數器1MOV AL, 77HOUT DXMOV AL, 00MOV DX, 41HOUT DXMOV AL, 10OUT DX, AL6說明當8253的外部時鐘為1MHZ時,只用該8253如何產生寬度為1秒的方波? 解: 因為計數時鐘為1MHZ,而每個計數器
8、的計數值是16位的。因此,一個計數器產生的方波信號的周期最大為: Tout=N*Tclk=N/fclk=65536/1000000=65.536ms 。 無法滿足要求。 但8253有三個計數器,可以串聯使用以解決問題。 例如級聯方法如下:計數器0的CLK接1MHZ的時鐘脈沖,計數值為1000,工作于方式3;再將計數器0的OUT接于計數器1的CLK端口。令計數器1也工作于方式3,計數值為1000,就可以在計數器1的OUT輸出得到所需要的寬度為1秒方波。78253 可編程定時器/計數器為 計數器,當作為定時器使用時,其定時基準由 確定。A 二進制數 B. BCD C. 二進制或BCD D. 輸入C
9、LK頻率 E. 計數器計數值 F. 定時時間常數解:C ,D 8設8253的計數器用于對外部事件記數,計滿100后輸出一跳變信號,若按BCD方式計數,則寫入計數初值的指令為MOV AL,_100H_和OUT PORT,AL。解:100H。 3、8253的初始化編程包括哪些內容?在什么情況下要進行初始化操作? 解: 8253 的初始化編程包括2項內容: 一是向命令寄存器寫入方式命令,以選擇計數器(3個計數器之一),確定工作方式(6種方式之一),指定計數器計數初值的長度和裝入順序以及計數值的碼制(BC D 碼或二進制碼)。二是向已選定的計數器按方式命令的要求寫入計數初值 使用8253芯片必須進行初
10、始化操作。 4、 8253有哪幾種工作方式?區分不同工作方式的特點體現在哪幾個方面?為什么方式3使用最普遍? 8253芯片的每個計數器通道都有6種工作方式可供選用。 區分這6種工作方式的主要標志有3點:一是輸出波形不同;二是啟動計數器的觸發方式不同;三是計數過程中門控信號GATE 對計數操作的控制不同。 由于方式3具有自動裝入時間常數(計數初值)的功能,能輸出占空比為1:1或近似1:1的方波。8.2 并行輸入輸出接口習題與參考答案1、通常并行接口應具有哪些功能?解:(1)兩個或兩個以上具有鎖存器或緩沖器的數據端口;(2)每個數據端口都有與CPU進行聯絡的控制和狀態信息,也有與外設交換信息所必須
11、的控制和狀態信息;(3)通常每個數據端口,還可用中斷方式與CPU交換信息;(4)有片選和控制電路;(5)可通過編程達到選擇端口、傳送方向與CPU交換信息的方法等目的。2、8255A由哪幾個主要部分組成?解:(1)數據端口A,B,C。而且每個端口都是8位;(2)A組和B組控制電路;(3)數據總線緩沖器;(4)讀寫控制邏輯。3、8255A有哪些控制信號?各有何功能?解:(1)片選信號與A0,Al一起確定其端口地址;(2)讀信號,控制8255A送出數據或狀態信息至CPU;(3)寫信號,控制CPU輸出的數據或命令到8255A;(4)RESET復位信號,清除控制寄存器和將所有端口設置成輸入方式。4、若8
12、255A端口A工作在方式2(雙向)。端口B能工作在哪種方式?解:若8255A端口A工作在方式2(雙向)。端口B能工作在方式0、方式1。5、若B口工作在方式1的輸出狀態時,應執行哪個操作,可禁止它產生中斷請求信號?解:將C口的PC2置0。6、8255A工作在方式1和方式2時C口哪些引腳負責中斷允許或禁止?解:方式1:輸入A口為PC4 B口為PC2 輸出A口為PC6 B口為PC2方式2:輸入PC4 輸出PC67、假設8255A芯片起始端口地址為60H,編寫指令序列,分別完成:(1)設置端口A組和B組都是方式0,其中端口B和C是輸出口,A為輸入口。(2)設置端口A組為方式2、B組為方式0且端口B為輸
13、出。(3)設置端口A組為方式1且端口A為輸入、PC6和PC7為輸出;設置端口B組為方式1且端口B為輸入。解:(1)MOV DX, 0063H MOV AL, 90H OUT DX, AX(2)MOV DX, 0063H MOV AL, 0D0H OUT DX, AX(3)MOV DX, 0063H MOV AL, 0B6H OUT DX, AX8、現要求用一個8255作為終端機的接口。由PA通道輸出字符到終端機的顯示緩沖器,PB通道用于鍵盤輸入字符,PC通道為終端狀態信息輸入通道。當PC0=1表示鍵盤輸入字符就緒, PC7=0表示顯示緩沖器已空。要求用查詢方法把從鍵盤輸入的每個字符都送到終端機
14、的顯示緩沖器上,當輸入的是回車符(ASCII碼為0DH)則操作結束。已知控制字格式如下圖所示,并假設該8255A芯片的端口地址為60H-63H。請編寫包括8255初始化的輸入輸出驅動程序。解:MOVAL,10001011BOUT63H,ALAGAIN1:INAL,62HTEST AL,01HJZAGAIN1AGAIN2:INAL,62HTESTAL,80HJNZAGAIN2INAL,61HOUT60H,ALCMPAL,0DHJNZAGAIN198255A接口電路如下圖所示。已知8255A控制字寄存器的端口地址為103H,編寫8255A初始化程序和循環彩燈控制程序。初始時D0亮,其余不亮,D0亮
15、一秒后移位一次,D1亮,其余不亮,以此類推每隔一秒移位一次,每移位8次為一個循環.共循環8次。要求用匯編語言寫出滿足上述要求的程序段(已知一個延時1秒的子程序入口地址為DELAY1S)。解:8255編程。因為用到LOOP指令,循環計數器應該使用CX,而不應該只用CL。MOVDX , 103H; 103H為方式控制字地址MOVAL , 80HOUTDX , AL;設置該8255 B口為方式0輸出,其他位可置0MOVCX , 8;設置循環次數MOVDX , 101H;101H 為B口數據端口地址AGAIN:MOVAL , 01H;先設置D0位輸出為高電平,點亮第一個彩燈NEXTP:OUTDX ,
16、ALCALLDELAY1S;B口相應位發出高電平點亮彩燈,并維持1SSHLAL , 1JNZNEXTPLOOPAGAIN 108255并行接口的工作方式有哪些? 解:8255并行接口的工作方式可以為:無條件傳送方式、程序查詢方式和中斷控制方式11可編程芯片8255A面向I/O設備一側的端口有幾個?其中C口的使用有哪些特點? 解:可編程芯片8255A面向I/O設備一側的端口有2個8位并行端口、2個4位并行端口。 在8255A設置為方式1或方式2時,C口用于傳送應答信號,在C口不用于傳送應答信號時,可作為普通的IO口使用。12、“由于按位置位/復位命令是對C口進行操作,所以可以寫到C口”,這句話對
17、嗎?為什么? 解:不對,C口置位/復位控制字只能寫入控制口,而不是寫入C口。13如何對8255A進行初始化編程?解:向8255A 控制寄存器寫入一個控制字,以確定各端口的工作模式、輸入輸出方向等。13可編程芯片8255A 有哪幾種工作方式?如何選擇其工作方式?解 : 8255A 有三種工作方式: 方式0基本輸入/輸出模式 方式1選通輸入/輸出模式方式2雙向輸入/輸出模式 向8255A 的控制寄存器(命令口)寫入一個控制字(命令字)來選擇8255的工作方式。14. 填空題(1)8255A引腳信號WR=0,CS=0,A1=1,A0=1時,表示 ( )。A.CPU向數據口寫數據 B.CPU向控制口送
18、控制字C.CPU讀8255A控制口 D.無效操作解:B 。(2)8255A工作在方式1的輸入狀態時, 通過信號 ( D )。表示端口已經準備好向CPU輸入數據.(A) READY (B) ACK(C) IBF (D) OBF解:C 。(3)當8255A工作在方式1輸出時,通知外設將數據取走的信號是 ( D)。A.ACK B.INTE C. IBF D. OBF解:D 。8.3 模/數和數/模轉換接口習題與參考答案什么叫分辨率?什么叫相對轉換精度?答:分辨率:這個參數是D/A轉換器對微小輸入量變化的敏感程度的描述。用數字量的位數來表示,如8位、10位等。對于一個分辨率為n位的轉換器,它能對刻度的
19、2-n輸入作出反應。相對轉換精度:指滿刻度已校準的情況下,在整個刻度范圍內,對應于任一數碼的模擬量輸出與它的理論值之差。在T型電阻網絡組成的DA轉換器中,設開關S0、S1、S2、S3分別對應一位二進制數,當二進制數據為1011時,流入運算放大器的電流為多少?以圖81為例。答:I = (20*D0+21*D1+22*D2+2n-1*Dn-1)/2n* VREF/2R; I = 13 VREF/32R。用帶兩級數據緩沖器的DA轉換器時,為什么有時要用三條輸出指令才完成16位或12位數據轉換?答:當主機位數小于DAC芯片位數時,我們需要對連接方式作出調整。如果仍采用8位CPU,則被轉換的數據必須分幾
20、次送出;同時,就需要多個鎖存器來鎖存分幾次送來的完整的數字量。這種情況下,可采用雙緩沖器結構。CPU輸出時,先輸出低8位給第一級鎖存器(此時第二級鎖存器不通),然后輸出高4位給第一級鎖存器。等這兩者都輸出后,再輸出一個打開第二級鎖存器的選通脈沖,把16位或12位數據輸給D/A轉換,這樣可避免毛刺。如圖:使用DAC0832進行數模轉換時,有哪兩種方法可對數據進行鎖存?答:單緩沖方式:LE1或LE2一直為高,只控制其中一級寄存器。第一種方法是使輸入寄存器工作在鎖存狀態,而DAC寄存器工作在不鎖存狀態。使和為低電平,這樣,DAC寄存器的鎖存端得不到有效電平;另一方面,使輸入寄存器的有關控制信號中,I
21、LE處于高電平,處于低電平。這樣,當端來一個負脈沖時,就可以完成一次變換。第二種方法是使輸入寄存器工作在不鎖存狀態,而使DAC寄存器工作在鎖存狀態。使為低電平,為低電平而ILE為高電平,這樣,輸入寄存器的鎖存信號處于無效狀態;另外,和端輸入一個負脈沖,從而使DAC寄存器工作在鎖存狀態。雙緩沖方式:不讓LE1和LE2一直為高,控制兩級寄存器。控制LE1從高變低,將從DI0DI7輸入的數據存入輸入寄存器。控制LE2由高變低,則將輸入寄存器的數據存入DAC寄存器,開始D/A轉換。雙緩沖方式能做到對某個數據進行D/A轉換的同時,輸入下一個數據,適用于要求多個模擬量同時輸出的場合。設計一個電路和相應程序
22、完成一個鋸齒波發生器的功能,使鋸齒波呈正向增長且鋸齒波周期可調。電路如下:產生鋸齒波只須將輸出到DAC 0832的數據由0循環遞增,程序如下:MOVAL, 0;初始值MOVAX, 290H;D/A轉換器的端口地址CYCLE:INCALOUTAX, CLJMPCYCLE;若無則轉CYCLE上面程序在執行時得到的輸出電壓將為連續上升的鋸齒波,我們可以利用延遲來調整鋸齒波的周期。程序如下:MOVAL, 0;初始值MOVDX, 290H;D/A轉換器的端口地址CYCLE:INCALOUTDX, AL;往D/A轉換器輸出數據CALLDELAYJMPCYCLE;若無則轉CYCLEMOVCX, TIMES;
23、TIMES為延遲常數DELAY:LOOPDELAYRET什么叫模數轉換精度?什么叫轉換率?什么叫分辨率?模數轉換絕對精度:指對應于一個給定的數字量的實際模擬量輸入與理論模擬量輸入之差。實際上對應于同一個數字量其模擬量輸入不是固定值,而是一個范圍。模數轉換相對精度:在整個轉換范圍內,任一數字量所對應的模擬輸入量實際值與理論值之間的差。轉換率:完成一次A/D轉換所須的時間,在大多數情況下,轉換率是轉換時間的倒數。分辨率:這個參數是A/D轉換器對微小輸入量變化的敏感程度的描述。說明并行比較、雙積分式和逐次逼近式AD轉換的工作原理。答:并行比較ADC由電阻分壓器、比較器、緩沖器及編碼器四部分組成。這種
24、結構的ADC所有位的轉換同時完成, 其轉換時間主要取決于比較器的開關速度、編碼器的傳輸時間延遲等。雙積分式ADC的基本原理是通過兩次積分將輸入的模擬電壓轉換成與其平均值成正比的時間間隔。與此同時,在此時間間隔內利用計數器對時鐘脈沖進行計數,從而實現A/D轉換。逐次逼近型ADC是應用非常廣泛的模/數轉換方法,它由比較器、D/A轉換器、比較寄存器SAR、時鐘發生器以及控制邏輯電路組成,將采樣輸入信號與已知電壓不斷進行比較,然后轉換成二進制數。比較并行比較、雙積分式和逐次逼近式AD轉換的優缺點。答:并行比較ADC特點增加輸出代碼對轉換時間的影響較小,但隨著分辨率的提高,需要高密度的模擬設計以實現轉換
25、所必需的數量很大的精密分壓電阻和比較器電路。積分型ADC兩次積分的時間都是利用同一個時鐘發生器和計數器來確定,其轉換精度只取決于參考電壓。此外,由于輸入端采用了積分器,所以對交流噪聲的干擾有很強的抑制能力。若把積分器定時積分的時間取為工頻信號的整數倍,可把由工頻噪聲引起的誤差減小到最小,從而有效地抑制電網的工頻干擾。這類ADC主要應用于低速、精密測量等領域,如數字電壓表。其優點是:分辨率高,可達22位;功耗低、成本低。缺點是:轉換速率低,轉換速率在12位時為100300sps。逐次逼近ADC的優點:高速,采樣速率可達1Msps;與其它ADC相比,功耗相當低;在分辨率低于12位時,價格較低。缺點
26、:在高于14位分辨率情況下,價格較高;傳感器產生的信號在進行模/ 數轉換之前需要進行調理,包括增益級和濾波,這樣會明顯增加成本。在實時控制和實時數據處理系統中,當需要同時測量和控制多路信息時,常用什么方法解決?答:以ADC0809為例,模擬輸入部分提供一個8通道的多路開關和尋址邏輯,可以接入8個輸入電壓,由三位地址輸入ADDA、ADDB、ADDC的不同組合來選擇。我們可查詢狀態端口確定轉換是否完成。當ADC0809工作在查詢模式時,利用ADC0809 芯片有8路模擬信號輸入通道的多路開關,可以實現8個模擬信號的分時轉換。10. 請編寫一個用延時等待方式進行一次A/D轉換并讀入轉換結果的程序,啟
27、動A/D轉換的 CS 地址為0FFE0H,讀入口地址為 288H。(已知一個延時子程序入口地址為DELAY)。 解:MOV dx,0FFE0H Out DX,ALCall DELAYMOV DX,288HIN AL,DX8.4 串行通信及接口電路習題與參考答案1、串行通信有哪些特點?解: (1)需要的通信線少(通常為兩條),特別適合于遠距離傳送;(2)傳送速度較并行通信慢。2、串行通信方式有哪兩種?解:異步通信與同步通信3、串行通信傳送編碼主要有哪兩種形式?解: (1)擴展的BCD交換碼(2)ASCII碼4、同步傳送中CPU與外設有哪些規定?解: (1)字符格式:起始位、有效數據位(5-8位)
28、奇偶校驗位停止位(1-2位)(有一種還有空閑位);(2)波特率:常用為509600波特。5、串行通信在傳送過程中,有哪幾種方式?解: 單工;半雙工;全雙工。6、同步傳送與異步傳送有何差別?解: (1)同步傳送的字符格式,僅在開始時使用同步字符(常用為2個),因而傳送速度可達十幾百干波特; (2)同步傳送需時鐘來實現發送端與接收端之間的同步,故硬件較復雜; (3)異步速度比同步慢,硬件較同步簡單一些。7、8250內部結構,主要由哪幾部分組成?解: (1)發送器,接收器部分:A、發送器;B、接收器;(2)通信控制和狀態寄存器:A、LCR串行通信的數據格式;B、LSR通信線狀態寄存器;(3)波特率發
29、生控制電路(4)調制解調控制部分:A、調制解調控制寄存器MCR;B、調制解調狀念寄存器MSR;(5)中斷控制:A、中斷識別寄存器IIR;B、中斷允許寄存器IER;8、8250有哪些控制字? 解: (1) 通信線控制字(確定通信的數據格式);(2) 中斷控制字;(3) 調制解調控制字(設置8250與通信設備之間聯絡應答的輸出信號);(4) 設置波特率的除數鎖存器;(5) 狀態讀出的控制字: A、通信線狀態字; B、調制解調狀態字。9、8250的初始化編程,有哪幾個主要步驟?解: (1) 為確定波特率設置除數鎖存器(D7應為1);(2)對通信線控制寄存器編程確定通信的數據格式(D7應為);(3)若
30、要使用中斷,則應設置中斷允許寄存器的狀態;(4)設置調制解調控制寄存器。10、假設8250以波持率為9600進行異步通信,每個字符7位,1個停止位,1個奇偶校驗位,允許所有中斷,試進行初始化編程?假設:8250異步通信的端口地址為4E84EFH。解:初始化編程:MOVAL ,80H MOV DX, 4EBHOUTDXMOVAL , 0C HMOV DX, 4E8HOUTDXMOVAL , 0MOV DX, 4E9HOUTDXMOVAL , 1AH MOV DX, 4EBOUT DXMOVAL , 0FH MOV DX , 4E9HOUTDX , ALMOVAL , 0BH MOV DX , 4
31、ECHOUTDX , AL118251A異步模式下,每字符8位,無奇偶校驗,2個停止位,波特率因子為64,則每秒能傳輸的最大字符數是多少?答:時鐘的頻率fc和數據傳輸速率fd的關系為fc=Kfd已知fc的最大值為19.2KHz, 波特率因子K為64。則數據傳輸的波特率fd=fc/K=19200/64=300bps由于該異步模式下每字符8位、無奇偶校驗、2個停止位,也就是說傳輸一個字符需要10位。因此,每秒能傳輸的字符數為:300/10=30。即,本題答案為,每秒能傳輸的最大字符數是30。12編寫8251A異步模式下的接收和發送程序,完成256個字符的發送和接收,設端口地址為208H和209H,
32、波特率因子為16,1個起始位,1個停止位,無奇偶校驗,每字符8位。答:發送端初始化程序與發送控制程序如下:START: MOV DX,209H;8251A控制端口 MOV AL,00011110B;1EH - 將825lA定義為異步方式,8位數據,1位停止位 OUTDX,AL; 無奇偶校驗,取波特率系數為16 MOV AL,11H ;寫命令字,發送允許,錯誤標志復位 OUT DX,AL MOV DI,發送數據塊首地址 ;設置地址指針。 MOV CX,256 ;設置計數器初值-256NEXT:MOV DX,209H;8251A狀態端口(與控制端口同用一個端口地址) IN AL,DX AND AL
33、,01H ;查詢TXRDY有效否 JZ NEXT ;無效則等待 MOV DX,208H;8251A數據端口 MOV AL,DI ;向8251A輸出一個字節數據 OUT DX,AL INC DI ;修改地址指針 LOOP NEXT ;未傳輸完,則繼續下一個 HLT接收端初始化程序和接收控制程序如下。RECEIVE:MOV DX,209H;8251A控制端口 MOV AL,1EH ; 初始化8251A,異步方式,8位數據 OUT DX,AL ; 1位停止位,無奇偶校驗,波特率系數16 MOV AL, 14H ;允許接收,清除錯誤標記 OUT DX,AL MOV DI,接收數據塊首地址 ;設置地址指
34、針 MOV CX,256;設置計數器初值-接收數據塊字節數RRR:MOV DX,209H;8251A狀態端口 IN AL,DX ROR AL,1 ;查詢RXRDY有效否 ROR AL,1 JNC RRR ;無效則等待 MOV DX,208H;251A數據端口 IN AL,DX ;無錯時,輸入一個字節到接收數據塊 MOV DI,AL INC DI ;修改地址指針 LOOP RRR ;未傳輸完,則繼續下一個 HLT13對8251A進行編程時,必須遵守哪些約定?答:編程的內容包括兩大方面: 是由CPU發出的控制字,即向8251A寫入方式選擇控制字和操作命令控制字; 是由8251A向CPU送出的狀態字
35、,由CPU從8251A讀取。 8251A有一奇一偶兩個端口地址,偶地址對應數據輸入和輸出寄存器,奇地址端口對應狀態寄存器、模式寄存器、控制寄存器和同步字符寄存器。8251A的初始化與其他芯片有個很重要的不同之處,在8251A的方式字和命令字寫入之前需要先進行一次復位,一般采用先送3個00H,再送40H的方法,這是8251A的編程約定。當復位完之后,由于8251A芯片只提供2個分別用于命令寄存器和數據寄存器的可訪問地址,所以按照約定第一次寫入奇地址的是方式選擇字。如果編程8251A的工作方式為同步方式,緊接著送入奇地址的是同步字。方式選擇字還規定了同步字的個數,必須根據方式字的設定,向奇地址寫入
36、1個或按順序寫入2個同步字。如果是異步方式,則設置模式字后,便接著設置控制字。之后,寫入奇地址的數據一概被認為是命令字。命令字中如果包含復位命令,8251A被復位。其后送入奇地址的字節又被認為是方式字。命令字中如果不包含復位命令,初始化完畢,便可以開始使用偶地址傳送數據。下圖是8251的命令字與初始化編程流程圖:8251A命令字與初始化編程流程圖14參考初始化流程,用程序段對8251A進行同步模式設置。奇地址端口地址為66H,規定用內同步方式,同步字符為2個,用奇校驗,7個數據位。解:具體程序段如下。MOV AL,16H ;設置模式字,同步模式,用2個同步字符OUT 66H,AL ;7個數據位
37、,奇校驗MOV AL,16H OUT 66H,AL ;送同步字符16HOUT 66H,AL ;兩個同步字符均為16HMOV AL, 97H ;設置控制字,使發送器和接收器啟動OUT 66H, AL15請簡答8251芯片中DTR、DSR兩個引腳的作用及其用法?解: (1)DTR-數據終端準備好。這是一個通用的輸出信號,低電平有效。它能由命令指令的位置“1”變為有效,用以表示CPU準被就緒。(2)DSR數據裝置準備好。這是一個通用的輸入信號,低電平有效。用以表示調制解調器或外設已準備好。CPU可通過讀入狀態操作,在狀態寄存器的位7檢測這個信號。DTR與DSR是一組信號,通常用于接收器。13串行異步
38、通信接口8251A芯片中,接收時是由( )接收RxD腳上的串行數據,并按規定的格式轉換成并行數據,存放在接收數據緩沖器中。在發送時,是由( )接收CPU送來的并行數據,加上起始位、奇偶校驗位和停止位,然后由TxD腳發送。解: 接收器 、發送器 。14設異步串行通信的數據格式為:起始位、8位數據、無校驗位、2位停止位。波特率1200B/S,如果傳送內存中起始地址從3A05H:0000H到3A05H:FFFFH的數據塊,需時多少?解:1+8+2=11,216=64K 64K*11*1/1200=600.7S8.5 綜合題這部分包括常用接口芯片的綜合題,也包括了上一章的8259中斷控制器芯片。設一8
39、259芯片與8088CPU相連,CPU的地址線與8259的CS、 A0引腳連接圖如下圖所示,8259的IR1接8255。 IR1 IR1 CS 8259A0 A7A6A5A4A3A2A1A0PC3 PAA0 A1 PC4 CS A7A6A5A4A3A2A0 A18255鍵盤KBSTB(1)8259采用固定優先權級別(IR0優先權最高,IR7優先權最低),中斷類型基值為08H,采用邊沿觸發方式,中斷服務結束后用一般EOI命令,中斷為一般屏蔽方式,試編寫關于8259的初始化程序。(2)某8255的連接圖如上圖所示,8255的PA口連接某鍵盤輸入(數據采用ASCII碼),KBSTB為鍵盤數據選通信號
40、。試用查詢方法從鍵盤輸入10個字符送到內存數據區BUFFER開始的10個單元中。請編寫包括8255初始化的輸入驅動程序。8259初始化命令字格式:ICW1 A0D7 D0X X X 1 LTIM X SNGL IC40X X X 1 LTIM X SNGL IC40ICW2 A0D7 D0T7 T6 T5 T4 T3 1T7 T6 T5 T4 T3 1 請求級別ICW4 A0D7 D00 0 0 SFNM BUF M/S AEOI PM LTIM X SNGL IC400 0 0 SFNM BUF M/S AEOI PM LTIM X SNGL IC408255控制字格式:1A組方式 端口A
41、C上 B組 端口B C下 I/O I/O 方式 I/O I/O D7 D6 D5 D4 D3 D2 D1 D01A組方式 端口A C上 B組 端口B C下 I/O I/O 方式 I/O I/O 方式1 A組輸入狀態字格式: D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAXXX解:8259的端口地址為 偶地址:10111110B (0BEH) ; 奇地址:10111111B (0BFH)。的端口地址高六位為:011000,8255的端口地址為60H 63H 。(1)8259的初始化程序。MOVAL,00010011BOUT0BEH,ALMOVAL,08HOUT0BFH,
42、ALMOVAL,00000001BOUT0BFH,AL(2)8255初始化程序:(PA口方式輸入)MOVAL,1011XXXXBOUT63H,AL輸入程序:LEABX,BUFFERMOVCX,10AGAIN:INAL,62HTESTAL,00100000BJZAGAININAL,60HMOVBX,ALINCBXLOOPAGAIN2一種通過接口芯片8255將ADC0809接到8088系統總線上的連接圖如下圖所示。該電路以可編程并行接口8255作為ADC0809的接口,其初始化程序規定:8255工作在方式0之下,A口輸入,B口輸出,C口的低4位輸出、高4位輸入,并且使PC0=0,PC1=0。結合給
43、出的硬件連接圖,回答下面兩個問題: 若完成上述規定的8255的初始化程序如下,試在下劃線處填上相應的數字或指令。 INITI55: MOV DX, ; MOV AL, ; OUT DX,AL ;設置8255方式字 MOV AL,00H OUT DX,AL;使PC0=0,PC1=0(1) 解: 8003H 10011000B MOV DX,8002H 一個具體的采集子程序如下,每調用一次采集子程序,可順序對8路模擬輸入IN0到IN7進行一次A/D變換,并將變換的結果存放在內存ADATA所在段、偏移地址為ADATA的順序8個單元中。PRMAD PROC NEARPUSHBXPUSHDXPUSHDS
44、PUSHAXPUSHSIMOVDX,SEG ADATAMOVDS,DX MOVBL,00HMOVBH,08HGOON:MOVDX,8001HMOVAL,BLOUTDX,AL;送模擬輸入路地址MOVDX,8002HMOVAL, ;PC0=1OUTDX,ALMOVAL, ;PC0=0OUTDX,AL;送ALE和START正脈沖NOPWAIT:INAL,DXTESTAL, ;檢測PC4=1?為1則轉換結束 JZWAIT;等待變換結束MOVAL,02H;PC1=1,ADC0809的OE=1,OUTDX,AL;允許ADC0809輸出轉換后的數據MOVDX,8000HINAL,DX;MOVSI,ALMOV
45、DX,8002HMOVAL,00HOUTDX,AL;PC0=0,PC1=0,準備下一次轉換 ;存入下一個地址INC ;下一個模擬輸入DECBH;8路模擬輸入完成轉換了嗎JNZGOONPOPSIPOP POPDSPOPDXPOPBXRETPRMADENDP解:MOV SI,OFFSET ADATA; (或:LEA SI, ADATA) 01H 00H 10H INC SI BL AX3(14分)利用8253定時器及8255并行接口控制揚聲器發聲的電路如下圖所示,8255的起始端口地址為288H,8253的起始端口地址為280H。請編寫包括8255、8253初始化的程序,讓揚聲器以頻率330Hz發
46、出一段時間的聲音后關閉。 電子音樂原理圖 已知8253的控制字格式為:D7 D6D5 D4D3 D2 D1D0計數器 讀/寫格式工作方式 數制已知8255方式選擇控制字格式為:D7D6 D5D4D3D2D1D01A組方式端口AI/O C上I/O B組方式端口B I/O C下 I/O 解:MOVDX,28BHMOVAL,10000000BOUTDX,ALMOVDX,283HMOVAL,00110110BOUTDX,ALMOVAX,1000000/330MOVDX,280HOUTDX,ALMOVAL,AHOUTDX,ALMOVAL,3MOVDX,288HOUTDX,ALMOV BX,3MOVCX,0AGAIN: LOOPAGAIN DECBX JNZAGAIN MOVAL,0 OUTDX,AL4選擇題(1)串行通信適用于微機間 D 的數據傳送。A、不同類型 B、同類型 C、近距離 D、遠距離(2)并行通信適用于 C 的數據傳送。A、不同類型 B、同類型 C、近距離 D、遠距離(3)825
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 短期勞務合同2025
- 新版二手房買賣合同
- 深圳建筑勞務分包合同樣本
- 股權轉讓合同規范化樣本
- 離婚協議書模板:一雙兒女
- 房屋交易合同協議
- 二手房銷售代理協議
- 遼寧省大連市高新園區2021-2022學年八年級上學期期末考試物理試題【含答案】
- 臨時工勞動合同
- 新能源汽車融資租賃合同研究
- 圍墻拆除工程施工方案
- 性發育異常疾病課件
- 動態分析與設計實驗報告總結
- 清水河儲能電站施工方案設計
- 從汽車檢測看低空飛行器檢測發展趨勢
- 《短視頻拍攝與制作》課件-3短視頻中期拍攝
- 中鐵投資公司招聘筆試題
- 2024年十堰市中小學教師職稱晉升水平能力測試題附答案
- 中藥熱奄包在急性胃炎治療中的應用研究
- 觀光小火車方案
- 《資本論》思維導圖
評論
0/150
提交評論