




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第9章常用I/0接口芯片9.1可編程并行接口芯片8255A9.2可編程串行通信接口芯片8251A9.3可編程定時/計數(shù)器8253/82549.4鍵盤/顯示控制器82799.5DMA控制器8237A9.6D/A轉換接口9.7A/D轉換接口
各種I/O接口芯片在使用過程中,都存在一個與CPU之間的連接問題,端通常接地址譯碼器的輸出,以圖9-1為例說明。它就有兩個端口;如果沒有地址線,那么該芯片就只有1個端口。有了端口地址,CPU才能對該I/O接口芯片實施讀/寫操作。9.1可編程并行接口芯片8255A圖9-1片選與端口地址
任何一個I/O接口芯片位于CPU與I/O設備之間,它們的引腳必然會被分為3部分:(1)與CPU的連線為地址線、數(shù)據(jù)線和控制線;(2)與I/O設備的連線為數(shù)據(jù)線和控制線;(3)電源、地和時鐘信號等。圖9-2I/O接口芯片引腳9.1.1內部結構和引腳功能
1.8255A的基本性能
8255A有如下一些基本性能:8255A是一個有3個數(shù)據(jù)口、1個控制/狀態(tài)口的8位并行輸入輸出接口芯片;8255A能為80系列CPU與I/O設備之間提供兼容TTL電平的接口,能接通鍵盤、打印機、步進電機、顯示器、A/D和D/A轉換器等等;8255A原則上適用于一切需并行輸入輸出的I/O設備;8255A設置了方式0、方式1、方式2等3種不同的工作方式,可用于無條件傳送、查詢傳送、中斷傳送,采用哪種傳送方式可用控制字設置;8255A有兩個控制字供編制初始化程序使用,使用OUT指令從控制寄存器端口寫入,有一個狀態(tài)字可供查詢,使用IN指令從C端口讀出;對8255A的4個端口讀/寫操作實質上就是對8255A所接I/O設備的操作。
2.8255A的內部結構
8255A的內部結構和引腳如圖9-3所示,內部由三部分組成:
(1)4個8位端口,分別為PA、PB、PC和CWR。PA、PB、PC是3個8位數(shù)據(jù)端口,其中,PA口由一個8位數(shù)據(jù)輸入鎖存器和一個8位數(shù)據(jù)輸出鎖存/緩沖器組成;PB口由一個8位數(shù)據(jù)輸入緩沖器和一個8位數(shù)據(jù)輸入/輸出鎖存/緩沖器組成;PC口由一個8位數(shù)據(jù)輸入緩沖器和一個8位數(shù)據(jù)輸出鎖存/緩沖器組成。
(2)工作方式控制電路,控制PA口、PB口、PC口的工作方式。A組有方式0、1、2三種工作方式;B組有方式0、1兩種工作方式。
(3)數(shù)據(jù)總線緩沖器和讀/寫邏輯。數(shù)據(jù)總線緩沖器是一個三態(tài)雙向8位緩沖器,用作8255A與CPU數(shù)據(jù)總線的接口。圖9-38255A的結構框圖和引腳圖(a)內部結構;(b)引腳
3.8255A引腳的功能:片選信號。輸入低電平有效,常接地址譯碼器輸出或1根地址線。
A1、A0:地址信號,輸入。內連8255A的片內寄存器,外接CPU地址線,和一起決定了8255A的4個端口地址。
D7~D0:雙向三態(tài)數(shù)據(jù)線。常接CPU低8位數(shù)據(jù)總線,用于傳送8位二進制數(shù)據(jù)、控制命令字和狀態(tài)字。
RD:讀。低電平有效,輸入控制命令字,CPU執(zhí)行IN指令時起作用,將8255A的3個端口PA、PB、PC的數(shù)據(jù)或端口PC的狀態(tài)信息讀至CPU。WR:寫。低電平有效,輸入控制命令字,CPU執(zhí)行OUT指令時起作用,將AL中的數(shù)據(jù)送到PA、PB、或PC;將AL中存放的控制命令字從CWR口寫入。
RESET:復位。高電平有效,輸入信號線。它能置PA、PB、PC為輸入方式;清除控制寄存器、輸出寄存器和狀態(tài)寄存器;屏蔽中斷申請;使連接外設的24條信號線呈高阻懸浮狀態(tài)。在使用工作方式控制字后可結束復位狀態(tài),進入用戶設置的工作方式。
PA7~PA0:A口輸入輸出線,雙向口。
PB7~PB0:B口輸入輸出線,雙向口。
PC7~PC0:C口輸入輸出線。工作于方式0時,C口為雙向數(shù)據(jù)口;工作于方式1或2時,C口為控制/狀態(tài)口。9.1.24個端口和端口地址表9-18255A的端口地址【例9-1】電路如圖9-4所示,計算端口地址。圖9-4例9-1圖
解因 ,只有當A15~A3=8191=1111111111111B且A0=0時才為0,故端口地址為1111111111111A2A10。9.1.32個控制字和1個狀態(tài)字
1.工作方式控制字
該字規(guī)定了PA、PB、PC的工作方式,格式為:【例9-2】8255A端口地址44H~47H,A口工作于方式0,外接鍵盤;B口工作于方式1,外接顯示器,C口上半部作輸出控制線用,下半部bit3作輸入線用。試編制初始化程序。
解工作方式控制字為10010101=95H。初始化程序為:MOVAL,95H;將控制字送入AL內OUT47H,AL;用OUT指令從CWR口寫入2.PC口按位置位/復位控制字該字用于將PC口某一位置“0”或置“1”,格式為:【例9-3】通過8255A的PC3位向外輸出一個正脈沖信號,設端口地址為300H~303H。
解每送一個控制字,將PC3置位或復位一次,就獲得高低電平交替的正脈沖。
3.8255A的狀態(tài)字在8255A工作時,CPU可以通過讀PC的內容來了解各端口的工作狀態(tài),這時PC的內容稱為狀態(tài)字。工作方式0沒有狀態(tài)字,工作方式1和工作方式2的狀態(tài)字是不同的。9.1.4工作方式0及應用
1.工作方式0的特性工作方式0又叫基本輸入/輸出方式,其特點如下:
(1)適合于無條件傳送和查詢傳送,無中斷功能,不適合于中斷傳送。
(2)輸入只有緩沖功能無鎖存功能,輸出可以鎖存。
(3)1片8255A可以分成4個獨立的數(shù)據(jù)端口使用,這4個端口是兩個8位端口PA、PB,兩個4位端口PC7~4、PC3~0。使用時不分組,組合使用可以有24=16種不同的組合。(4)4個端口的每一個都能用I/O指令讀/寫數(shù)據(jù),注意PC口的高4位是一組,低4位是另一組,不能把4位中的某位作輸入而另一兩位作輸出。如果某位作輸入(出)數(shù)據(jù)用,則4位都作輸入(出)數(shù)據(jù)用。
(5)端口各引線之間無固定時序關系,由用戶按數(shù)據(jù)傳送要求決定I/O操作過程。
(6)工作方式0無狀態(tài)字。
2.并行打印機接口用例
1)打印機接口標準CentronicsI/O接口芯片8255A外接打印機,是通過打印機接口標準實現(xiàn)的。并行接口的點陣式打印機普遍遵守Centronics并行標準,是國際公認的工業(yè)標準8位并行接口,共36芯連線,引腳編號如表9-2所示。表9-2并行接口標準Centronics的信號線電源和編號圖9-5Centronics的工作時序2)方案選擇圖9-6工作方式0連接舉例9.1.5工作方式1及應用
1.工作方式1的特點工作方式1又叫選通輸入/輸出方式,其特點如下:
(1)適合于查詢傳送和中斷傳送,不適合無條件傳送。
(2)輸入和輸出均有緩沖鎖存功能。
(3)PA、PB為數(shù)據(jù)口,PC有兩條線為數(shù)據(jù)口,另外6條線作控制/狀態(tài)口。(4)PC作控制/狀態(tài)口的6條線是CPU、8255A、I/O設備之間的聯(lián)絡信號線,各聯(lián)絡線之間時序關系固定,數(shù)據(jù)傳輸嚴格遵循時序要求。
(5)有輸入和輸出兩種不同格式的狀態(tài)字,兩種狀態(tài)字可以作為程序或中斷申請使用,需要使用IN指令從PC口地址讀出到AL中。
(6)PA、PB在作輸入和輸出使用時的引腳分配和時序都不相同,下面分別敘述。2.PA、PB均為輸入時的引腳與時序圖9-7工作方式1時PA、PB作輸入1)PA端口作輸入
PA7~PA0:輸入8位數(shù)據(jù)用,與之配套使用的有PC口5條線。
STB:從I/O設備來的輸入選通信號。當它為低電平時表示I/O設備告訴8255A有8位數(shù)據(jù)要送到PA口的輸入緩沖鎖存器,高電平時表示無數(shù)據(jù)送來。
IBF(InputBufferFull):從8255A送到I/O設備的“輸入緩沖器滿”信號。當它為低電平時表示8255A通知I/O設備可以把8位數(shù)據(jù)從A口送進來,這時PA的輸入緩沖器空;當它為高電平時通知I/O設備不要送數(shù)據(jù),這時PA的輸入緩沖器滿,數(shù)據(jù)還占著輸入緩沖器,沒有被CPU取走。INTR:從8255A向CPU提出中斷申請的信號。當它為低電平時無中斷申請;為高電平時有中斷申請。在端口內有一個與門電路,中斷申請信號INTRA(PC3)=INTEA?IBFA(PC5),與門輸入端決定了中斷申請在什么情況下發(fā)出,只有當輸入緩沖器滿,即IBFA=1,且中斷允許信號INTEA=1時,才申請中斷。
INTEA(InterruptEnablePortA):端口中斷使能信號,無外引腳。信號特征與PC4狀態(tài)一致,不受PC4外接的STB狀態(tài)影響,只能通過寫入PC口按位置位/復位控制字設置。PB端口作輸入PB7~PB0:輸入8位數(shù)據(jù)用,與之配套使用的有PC口3條線。3)工作方式1輸入時的工作時序圖9-8工作方式1輸入時序表9-38255A工作方式1輸入時的時序3.PA、PB均為輸出時的引腳與時序圖9-9工作方式1時PA、PB作輸出
有幾種信號說明如下::8255A的輸出緩沖器滿。當它為低電平時表示CPU來的數(shù)據(jù)已在輸出緩沖器中,8255A通知I/O設備來取數(shù)。:I/O設備的響應信號。當它為低電平時表示I/O設備已知道8255A把數(shù)據(jù)準備好了。它是對OBF信號的響應。INTR:8255A向CPU發(fā)出的中斷申請,高電平有效。端口內有一與門電路,INTRA(PC3)= (PC7),只有在輸出緩沖器空,CPU沒有送數(shù)據(jù)來,OBF=1,且中斷允許INTEA=1時,才會有申請送至CPU。而INTEA和PC6的狀態(tài)相同,但不受ACK信號的影響,僅由PC按位置位/復位控制字決定。圖9-10工作方式1輸出時序表9-48255A工作方式1輸出時的時序
4.工作方式1的狀態(tài)字工作方式1的狀態(tài)字有輸入操作和輸出操作兩種不同的格式,如圖9-11所示。圖9-11工作方式1的狀態(tài)字
狀態(tài)字通過INAL,PORTC讀取。指令中PORTC是PC的端口地址。從PC讀出的狀態(tài)字和PC端口的外部引腳無關。例如輸入操作,引腳PC2和PC4是選通聯(lián)絡信號STB;狀態(tài)位PC2和PC4卻表示中斷允許信號INTEB和INTEA。又如輸出操作,作為引腳使用的PC2和PC6表示響應聯(lián)絡信號ACK;狀態(tài)位PC2和PC6卻表示中斷允許信號INTEB和INTEA。輸入操作和輸出操作狀態(tài)字相同的地方是:高5位表示A組的狀態(tài),低3位表示B組的狀態(tài)。當8255A處于查詢方式工作時,只查INTR是復位還是置位,或查IBF或位OBF。狀態(tài)字中有INTR位,表明8255A可提供查詢是否申請了中斷,但不能提供中斷向量。如果微機系統(tǒng)使用向量中斷,則需用中斷控制器,如8259A等。若想INTEA=1,那么在PA口作輸入用時就應置PC4=1,相應程序為:MOVDX,PORT_CWRMOVAL,00001001B ;置PC4=1OUTDX,AL
在PA作輸入用時要想禁止中斷,只需用程序將PC4置成“0”。如果要想使INTEA=1,但PA作輸出使用,這時就應置PC7=1,相應程序為:MOVDX,PORT_CWRMOVAL,00001111B ;置PC7=1OUTDX,AL5.并行打印機接口用例圖9-12工作方式1連接舉例9.1.6工作方式2及應用
1.工作方式2的特點工作方式2僅限于PA端口,又稱為雙向選通輸入/輸出方式,它有以下特點:適合于查詢傳送和中斷傳送,不適合于無條件傳送。2.引腳與時序圖9-13工作方式2的引腳圖9-14工作方式2的時序圖
3.狀態(tài)字工作方式2的狀態(tài)字由8位二進制數(shù)組成,高5位用于A組,處于工作方式2;低3位用于B組,處于工作方式1。工作方式2的狀態(tài)字格式如圖9-15所示,圖中有輸入操作用字和為輸出操作用字,只因B組工作方式1的輸入/輸出操作不同,使得方式2的狀態(tài)字也有兩種格式。圖9-15方式2的狀態(tài)字
4.并行接口舉例兩個微機并行傳送100字節(jié)的數(shù)據(jù),主機8255A工作在方式2(中斷方式);從機8255A工作在方式0(查詢方式)。電路設計如圖9-16所示。圖9-16工作方式2連接舉例9.2可編程串行通信接口芯片8251A
信息交換就是通信。微機與微機之間、微機與外部設備之間都存在如何通信的問題。通信方法有并行和串行兩種,如圖9-17所示。圖9-17通信方法(a)并行通信;(b)串行通信9.2.1串行通信特征和傳輸協(xié)議
1.串行通信特征按數(shù)據(jù)傳送方向劃分,串行通信可劃分成單工、半雙工和全雙工等3種不同的形式,如圖9-18所示。圖9-18通信方式(a)單工;(b)半雙工;(c)全雙工
2.串行通信協(xié)議
1)異步通信異步通信中的1幀是一個由4部分組成的字符數(shù)據(jù),先有一個起始位“0”表示數(shù)據(jù)開始;隨后是5~8位二進制數(shù)表示數(shù)據(jù)自身,且低位在前,高位在后;接著是可省略的奇偶校驗位1位;最后是一個停止位“1”。圖9-19給出了字符數(shù)據(jù)的11位幀格式和字符Q的10位幀格式,圖中所畫就是字符Q的波形。圖9-19異步通信的1幀字符(a)11位幀格式;(b)字符Q的10位幀格式2)同步通信同步通信中的1幀由若干個字符組成。1幀數(shù)據(jù)格式如圖9-20所示。由于數(shù)據(jù)塊傳送時每個字符數(shù)據(jù)無起始和停止標志,1幀可以傳送多個數(shù)據(jù),因此同步通信的速度高于異步通信,但因需要確定同步字符(使用2個同步字符的稱為雙同步,使用一個字符的稱為單同步),相應硬件電路也復雜一些。圖9-20同步通信的1幀數(shù)據(jù)
3.波特率和發(fā)送接收時鐘串行通信數(shù)據(jù)傳輸速率指每秒傳送的二進制數(shù)位數(shù)(bit/s),又稱為波特率,1波特(Baud)=1位/秒(1bit/s)。例如異步傳輸速率為每秒100字符,每字符由1個起始位、8位ASCII數(shù)據(jù)位和一個停止位組成,則傳輸波特率為100字符/s×10位/每字符=1000波特
4.傳輸距離串行通信的有效距離(波形不發(fā)生畸變)與傳輸速率和傳輸線電氣特性有關。傳輸距離隨傳輸速率的增大而減小。不同的傳輸距離,需要不同的傳輸通道配置。圖9-21畫出了3種不同距離時的通道配置。圖9-21傳輸通道配置(a)近距離傳輸;(b)中距離傳輸;(c)遠距離傳輸
5.RS-232C串行通信接口標準
RS-232接口標準是美國EIA(電子工業(yè)聯(lián)合會)與BELL等公司于1969年一起開發(fā)的通信協(xié)議,它適合于傳輸速率為0~20000波特的通信范圍,使用電纜傳輸能連接的最大物理距離為15m(50英尺)。該標準規(guī)定了信號線、連接器的功能以及電氣特性。
1)RS-232C接口信號
EIARS-232C標準規(guī)定了數(shù)據(jù)終端和通信設備之間的接口信號。所謂“發(fā)送”和“接收”都是從數(shù)據(jù)終端設備角度定義的。該標準有25線插件和9線插件兩種,如圖9-22所示,實用中以9線插件為多。圖9-22RS-232C接口(a)25線插件;(b)9線插件圖9-23信號線連接2)電氣特性和電平轉換電路
EIARS-232C對電氣特性、邏輯電平作了如下規(guī)定:①在TXD和RXD數(shù)據(jù)線上有邏輯“1”(MARK)=-3~-15V,邏輯“0”(SPACE)=+3~+15V;②在RTS、CTS、DSR、DTR、DCD控制線上有+3~+15V為信號有效(接通、ON狀態(tài),正電壓),-3~-15V為信號無效(斷開、OFF狀態(tài),負電壓),在-3~+3V之間的電壓無意義,低于-15V或高于+15V電壓也無意義,實際操作中應保證電平在±(3~15)V之間。
圖9-24畫出了MC1488、MC1489的內部結構和引腳,其中MC1488的2、4、5、9、10、12和13腳接TTL電平輸入;3、6、8、11腳接EIARS-232C輸出。MC1489的1、4、10、13腳接EIA輸入;3、6、8、11腳接TTL輸出。圖9-25畫出了TTL器件8251與EIA插接件RS-232C之間的連接。前者要求TTL電平,后者要求EIA電平,RS-232C所有的輸入、輸出信號分別經(jīng)MC1488和MC1489轉換后才能進入連接器或從連接器送進來。MAX232是一種新型的RS-232C轉換芯片,用于完成TTL和RS-232電平的雙向轉換,僅需+5V單一電源和外接5個電容便能工作,其內部含有電壓倍增電路和轉換電路,使用時可連接兩對收發(fā)線,把通信接口TXD(發(fā)送)、RXD(接收)端的TTL電平0~5V轉換成RS-232CEIA電平(-10~+10V)。圖9-24電平轉換器圖9-25轉換連接圖9.2.28251A的內部結構和引腳功能
8251A是一種可用于異步或同步串行通信的可編程接口芯片,適合于異步或同步傳遞。
1.8251A的內部結構及工作過程
8251A的結構和引腳分別如圖9-26和圖9-27所示,內部由5個主要部分組成:接收器、發(fā)送器、調制控制、讀寫控制以及系統(tǒng)數(shù)據(jù)總線緩沖器。各部分由內部總線實現(xiàn)相互之間聯(lián)系和通信。圖9-268251A的內部結構
圖9-278251A的引腳表9-58251A讀寫控制功能表
2.引腳
CS:片選信號。低電平有效,常接地址譯碼器的一根輸出線。
C/D:控制/數(shù)據(jù)線。常接CPU的一根地址線,例如A1或A0。和C/的接法決定了8251A有兩個端口以及兩個端口地址。
D0~D7:雙向三態(tài)數(shù)據(jù)線。與CPU的D0~D7相連。
RD(Read):讀數(shù)據(jù)信號。低電平有效,輸入。當CPU要從8251A讀取數(shù)據(jù)或狀態(tài)字時產(chǎn)生此信號并送達8251A。WR(Write):寫數(shù)據(jù)信號。低電平有效,輸入。當CPU要向8251A寫入數(shù)據(jù)或控制字時產(chǎn)生此信號并送達8251A。8251A的讀寫時序是:首先,CS、C/D有效以選中8251A芯片和相應的端口;然后,CPU發(fā)出RD、WR(讀、寫)控制命令。
TXRDY(TransmitterReady):發(fā)送器準備好信號。用于收發(fā)聯(lián)絡,高電平有效。有效時表明發(fā)送器已準備好,能夠接收CPU送來的數(shù)據(jù)字符。當CPU已向8251A送來一個數(shù)據(jù)后,TXRDY自動為零。當CTS=0,TXE=1時允許8251A發(fā)送數(shù)據(jù)。該信號在查詢方式工作中是一個狀態(tài)信號,CPU通過狀態(tài)寄存器的D0能檢測到;該信號在中斷方式中是中斷申請信號。TXE(TransmitterEmpty):發(fā)送器空信號。高電平有效時表示發(fā)送操作已結束,說明發(fā)送器中的數(shù)據(jù)已發(fā)送出去。
RXRDY(ReceiverReady):接收器準備好信號。高電平有效時表示8251A已經(jīng)從它的串行輸入端接收了一個字符,并且已完成格式變換,等CPU來取。當CPU從8251A讀了一個數(shù)據(jù)后,該信號自動復位。該信號在查詢方式中作聯(lián)絡信號用;在中斷方式中作中斷申請信號用。SYNDET(SynchronousDetection)/BD(BreakDetection):同步檢測/間斷檢測。
RESET:復位信號。接CPU復位線,要求復位高電平持續(xù)6個時鐘周期以上。
DTR:數(shù)據(jù)終端準備好信號,輸出??捎霉ぷ髅钭值腄1置1使DTR=0有效。
RTS:請求發(fā)送信號,輸出。由8251A送至MODEM,表示要求發(fā)送??捎霉ぷ髅钭值腄5置1使RTS=0有效。
DSR:數(shù)據(jù)裝置準備好信號,輸入。表示調制器已準備好,用狀態(tài)寄存器D7位檢測。
CTS:允許傳送信號,輸入。是MODEM對8251A的RTS信號的響應。TXD:發(fā)送器發(fā)送數(shù)據(jù)線。
RXD:接收器接收數(shù)據(jù)線。
TXC(TransmitterClock):發(fā)送器輸入時鐘。用于控制8251A發(fā)送字符的速度。同步方式下,TXC的頻率與數(shù)據(jù)位速率相同。異步方式下,TXC的頻率既可以等于波特率,也可以是波特率的16倍或64倍。
RXC(ReceiverClock):接收器輸入時鐘。頻率約定與TXC相同。實際應用中,把TXC和RXC連接一起,使用波特率發(fā)生器作同一個時鐘源。CLK:輸入時鐘線。為內部電路提供定時。同步方式下,CLK的頻率要大于接收器或發(fā)送器輸入時鐘頻率的30倍;異步方式下,CLK的頻率要大于接收器或發(fā)送器輸入時鐘頻率的4.5倍。CLK的周期要在0.42~1.35μs范圍內。
VCC:電源,+5V。
GND:接地。9.2.32個端口、2個控制字和1個狀態(tài)字
1.8251A的2個端口及端口地址
C/D為低電平時選中的是數(shù)據(jù)口,C/為高電平時選中的是控制/狀態(tài)口。
【例9-4】8251A的端口地址為308H、309H。設控制字為40H,已放在AL中。狀態(tài)字為56H,執(zhí)行下列程序段后,AL=?
2.8251A、CPU、外設之間的連接
8251A、CPU、外設(MODEM)之間的典型連接如圖9-28所示。8251A與CPU之間并行傳送數(shù)據(jù);8251A與MODEM之間串行傳送數(shù)據(jù)。圖9-288086、8251A和外設連接
3.2個控制字
1)工作方式字工作方式字能讓8251A選擇異步方式還是同步方式工作,并可按其工作方式指定幀數(shù)據(jù)格式。該字8位二進制數(shù)被分為四組,每組兩位,格式如下:2)工作命令字工作命令字的格式如下:3)工作方式和工作命令字的寫入工作方式字只能寫入1個,工作命令字可寫入多個,寫入順序如圖9-29所示。圖9-29從控制/狀態(tài)口寫入工作方式字和工作命令字
4.1個狀態(tài)字狀態(tài)字是8251A能否進行發(fā)送或接收的狀態(tài),它位于狀態(tài)寄存器中。格式如下:9.2.4初始化編程舉例
【例9-5】甲乙兩臺微機進行串行通信,設甲機發(fā)送,乙機接收。要求把甲機上的100個數(shù)據(jù)傳送到乙機,采用異步方式,波特率為2400Baud,字符長度8位,停止位2位,波特率因子16,無校驗。CPU與8251A之間用查詢方式交換數(shù)據(jù)。端口地址為308H、309H。
解近距離傳送直接相連,不用MODEM。兩臺微機之間使用TXD、RXD和SG三根線連接。8251A作為接口的主芯片,與波特率發(fā)生器、RS-232C、TTL電平轉換電路、地址譯碼電路等就構成一個串行通信接口,如圖9-30所示。接收和發(fā)送程序采用查詢I/O方式,各自編寫,包括8251A初始化、檢查狀態(tài)字的D5~D3位確定是否有錯、檢查發(fā)送D0/接收D2的狀態(tài)是否為1,為1時表示準備好,允許發(fā)送/接收1個字節(jié)。圖9-30雙機串行通信接收程序段如下:9.3可編程定時/計數(shù)器8253/82549.3.18253的內部結構和引腳功能
8253-5和8254-2是24腳雙列直插芯片,使用單一+5V供電,輸入輸出與TTL電平兼容。它的內部結構和引腳分配如圖9-31所示。圖9-318253-5/8254-2
1.內部結構
1)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個8位的三態(tài)雙向緩沖器,作用是將8253與CPU數(shù)據(jù)總線相連。
2)讀寫控制邏輯讀寫控制邏輯接收CPU送來的地址和讀寫控制信號,經(jīng)過邏輯組合,完成對各端口的選擇和各部分的控制。3)控制字寄存器用于存放控制字??刂谱譀Q定計數(shù)器的工作方式,該寄存器只能寫不能讀。
4)3個獨立的計數(shù)通道
3個計數(shù)通道分別命名為計數(shù)器#0、計數(shù)器#1、計數(shù)器#2。3個通道彼此完全獨立,每個通道的內部結構又完全相同,由1個16位減1計數(shù)器、1個16位計數(shù)初值寄存器、1個16位輸出鎖存器組成,如圖9-32所示。每個通道對外引線除16位數(shù)據(jù)線和內部總線相連外,還有一條時鐘輸入線CLK、一條門控制線GATE、一條輸出線OUT。圖9-32計數(shù)通道
2.引腳
CS:片選信號,輸入。低電平有效,接地址譯碼器輸出。
A1、A0:端口地址選擇信號,輸入。接CPU兩根地址線,例如接A1A0。按其取值選擇8253/8254的3個計數(shù)器端口和1個控制寄存器端口。
D0~D7:雙向三態(tài)數(shù)據(jù)線,與CPU的D0~D7相連,用于傳送CPU向8253/8254寫入的控制字和讀寫的字節(jié)數(shù)據(jù)。
RD:讀信號,輸入。低電平有效,由CPU發(fā)出的對8253/8254讀命令。WR:寫信號,輸入。低電平有效,由CPU發(fā)出的對8253/8254寫命令。
CLK:時鐘信號,輸入。每一個通道都有一個獨立的時鐘輸入,分別為CLK0、CLK1、CLK2。其功能是作計數(shù)脈沖使用,每輸入一個CLK脈沖,計數(shù)值減1。
GATE:門控信號,輸入。每一個通道都有一個獨立的門控輸入端,分別為GATE0、GATE1、GATE2。其功能是禁止、允許或啟動計數(shù)過程。8253/8254有6種不同的工作方式,每種方式下的GATE控制作用不同。OUT:計數(shù)器輸出信號。每一個通道都有一個獨立的信號輸出端,分別為OUT0、OUT1、OUT2。當計數(shù)值為0時,OUT輸出一個負脈沖,表示定時/計數(shù)已到。它可用于外部定時啟動I/O設備某些操作或開關啟停,也可表示計數(shù)過程完結,還能作中斷申請信號使用。9.3.24個端口和1個控制字
8253/8254內部有4個端口:計數(shù)器#0、計數(shù)器#1、計數(shù)器#2、控制字寄存器(CWR)。前3個為數(shù)據(jù)口,用于給16位計數(shù)器輸入初值和讀出16位減1計數(shù)器當前值,如果是字操作,則讀寫時先低字節(jié)后高字節(jié)。后1個為控制口,用于寫方式控制字。4個端口有4個地址,從小到大按計數(shù)器#0~#2、CWR口順序排列。表9-6給出了4個端口的操作。表9-68253/8254讀寫操作和端口地址8253/8254只有1個方式控制字,用于規(guī)定該芯片處于哪種工作方式、如何賦予計數(shù)初值、是否要讀取當前計數(shù)值等等。方式控制字格式如下:【例9-6】使用CPU的低8位地址線選擇I/O端口,地址譯碼器與8253連接如圖9-33所示。要求對計數(shù)器1初始化編程,工作于工作方式2,計數(shù)值二進制數(shù)4A70H。圖9-338253與CPU相連
解8253端口地址為010000A1A0,或計數(shù)器0地址為40H,計數(shù)器1為41H,計數(shù)器2為42H,CWR口為43H。計數(shù)器1的方式控制字為0111×100,初始化程序段如下:【例9-7】要求讀出并檢查2號計數(shù)器當前值是否全為“1”,假設計數(shù)器計數(shù)值只有低8位,高8位全為0,端口地址為304H~307H。程序段為:9.3.36種工作方式
1.方式0——計數(shù)結束時中斷方式方式0有3個特點:
(1)寫入計數(shù)初值后,計數(shù)器就開始減1計數(shù),OUT變?yōu)榈碗娖健.斢嫷搅銜r,OUT輸出高電平。如果重新寫入計數(shù)值,計數(shù)器又立即開始減1計數(shù),OUT再次變低。
(2)門控信號GATE=1時允許計數(shù)器工作;GATE=0時禁止計數(shù)器計數(shù),計數(shù)值不變。
(3)計數(shù)過程中,若未計到零時又重新寫入新的計數(shù)值,則按新值重新計數(shù)。圖9-34畫出了包含以上3個特點的方式0時序。圖9-34方式0時序
2.方式1——程序可控單穩(wěn)方式方式1有3個特點:
(1)寫入計數(shù)初值后,計數(shù)器不會立即開始計數(shù),必須要等到GATE=1后的下一個CLK下降沿到來才開始計數(shù)。計數(shù)開始,OUT輸出低電平;計滿到0,OUT輸出高電平。從OUT端輸出的單穩(wěn)負脈沖,其脈沖寬度等于計數(shù)器初值乘以CLK輸入時鐘脈沖周期。
(2)GATE成為計數(shù)器的觸發(fā)信號,每觸發(fā)一次,計數(shù)器輸出一個負脈沖。如果計數(shù)過程中未計滿到0,GATE出現(xiàn)負脈沖,則計數(shù)器將重新裝入初值進行減1計數(shù)。(3)在計數(shù)過程中,若未計到0時重新寫入新的計數(shù)值,則計數(shù)器不理睬新寫入計數(shù)值,仍然按原計數(shù)過程進行下去,直到計滿為0。如果沒有觸發(fā)脈沖出現(xiàn)在GATE處,則計數(shù)器仍不理睬新寫入的計數(shù)值,只有當GATE出現(xiàn)觸發(fā)信號,才按新寫入計數(shù)值減1計數(shù)。圖9-35畫出了含有3個特點的時序。
3.方式2——分頻方式方式2有3個特點。圖9-36畫出了包含如下3個特點的時序:寫入計數(shù)初值后,下一個CLK時鐘脈沖到來可以計數(shù);計滿到1,OUT輸出低電平;計滿到0,OUT輸出高電平??梢姺绞?具有裝入初值n能實現(xiàn)n分頻的功能。GATE=1允許計數(shù),GATE=0禁止計數(shù)。計數(shù)期間GATE由1變?yōu)?,停止計數(shù)。計滿到0,自動裝入原計數(shù)初值重新開始計數(shù),計數(shù)過程中不接收新裝入的計數(shù)初值。圖9-36方式2的時序
4.方式3——發(fā)生方波方式方式3有3個特點。圖9-37是包含3個特點的時序:寫入計數(shù)初值后,下一個CLK時鐘脈沖到來就可以計數(shù)。計到一半時,OUT輸出低電平;計滿到0,OUT輸出高電平??梢姺绞?能產(chǎn)生一定頻率的方波,方波的頻率由計數(shù)初值決定。GATE=1允許計數(shù),GATE=0禁止計數(shù)。計數(shù)期間GATE由1變?yōu)?,停止計數(shù)。計滿到0后,自動裝入原初值重新開始計數(shù)。計數(shù)過程中不接收新裝入的計數(shù)初值。下一個輸出周期開始時,會接收新的初值進行計數(shù)。圖9-37方式3的時序
5.方式4——軟件觸發(fā)的選通信號方式方式4有3個特點:
(1)寫入計數(shù)初值后,過一個時鐘周期開始計數(shù)。計數(shù)到0時OUT變?yōu)榈碗娖剑龠^一個時鐘周期,OUT又恢復成高電平。這個負脈沖可作為選通信號使用。如果輸入新的計數(shù)值,計數(shù)器又重新計數(shù)。
(2)當GATE=1時允許計數(shù),GATE=0禁止計數(shù),輸出電平保持不變。只有計數(shù)到0,才會產(chǎn)生選通負脈沖輸出。(3)計數(shù)時寫入新的初值,下一個時鐘周期到來,將把此數(shù)送入執(zhí)行單元,開始新的計數(shù)過程。如果寫入計數(shù)值是兩個字節(jié),則當前計數(shù)過程不受第一個字節(jié)影響。第二個字節(jié)寫入后的下一個時鐘周期,計數(shù)器按新計數(shù)值開始新的計數(shù)過程,這一過程稱為軟件再觸發(fā)。圖9-38畫出了包含以上3條特點的時序。圖9-38方式4的時序
6.方式5——硬件觸發(fā)選通方式方式5的3個特點如下:
(1)寫入了計數(shù)初值后,計數(shù)器并不計數(shù),而必須有門控信號GATE=1在下一個CLK開始計數(shù)。計滿到0時,OUT輸出一個寬度為一個時鐘周期的負脈沖,它用于選通脈沖。
(2)GATE的上升沿用于觸發(fā)計數(shù)。在計數(shù)過程中,若GATE端又出現(xiàn)上升觸發(fā),則計數(shù)器在下一個時鐘周期重新賦初值計數(shù),直到減為0為止。這就是門控觸發(fā),也就是指硬件觸發(fā)。(3)在計數(shù)過程中寫入新的初值,如果沒有觸發(fā)脈沖,那么計數(shù)過程不受影響。以后觸發(fā)將按新的初值開始計數(shù)。如果在計數(shù)過程中寫入新的計數(shù)值,并且計數(shù)結束前又受到GATE觸發(fā),則在下一個時鐘周期到來后,按新的計數(shù)初值開始計數(shù)。含有上述3個特征的時序圖如圖9-39所示。圖9-39方式5的時序
7.8253在PC/XT中的使用
PC/XT機中的8253連接圖見圖9-40。8253在該機作為定時器使用,4個端口地址分別為40H~43H。時鐘信號由8284時鐘發(fā)生器提供,頻率為2.385MHz,經(jīng)過D觸發(fā)器二分頻后,得到1.19MHz的時鐘信號,送至8253的三個計數(shù)器的CLK輸入端。GATE0和GATE1都接在+5V上,因此計數(shù)器0和計數(shù)器1總處于允許計數(shù)的狀態(tài)。圖9-40PC/XT中的82539.4鍵盤/顯示控制器82799.4.18279的內部結構和引腳圖9-41Intel8279內部結構和引腳8279的40條引腳按功能分成4組,分別為與CPU的連線、與鍵盤的接口線、與顯示器的接口線和電源線。
CS:片選輸入線。低電平有效,接地址譯碼器輸出。
A0:端口選擇輸入線。A0取值0和1分別選擇8279兩個端口。為0時選中數(shù)據(jù)口,用于8279和CPU交換數(shù)據(jù);為1時選中控制/狀態(tài)口,用于CPU寫入控制命令字和讀取8279的狀態(tài)。
D0~D7:雙向三態(tài)數(shù)據(jù)線。傳送數(shù)據(jù)控制字和狀態(tài)字。
RD:讀控制線,輸入。低電平有效,傳送CPU的讀命令。
WR:寫控制線,輸入。低電平有效,傳送CPU的寫命令。RESET:復位線,輸入。來自于CPU或外界復位電路,正脈沖復位。
CLK:系統(tǒng)時鐘線,輸入。由CPU或8282時鐘發(fā)生器輸入作8279內部定時使用。
IRQ:中斷申請線,輸出。傳感器RAM狀態(tài)變化時,輸出高電平申請中斷。
SL0~SL3:掃描信號線,輸出。是鍵盤的行掃描信號或數(shù)碼顯示器的位選信號。8279的工作方式有編碼方式和譯碼方式。編碼方式工作時SL0~SL3形成4位編碼,輸出24種編碼正脈沖。譯碼方式工作時從SL0~SL3依次輸出負脈沖。
RL0~RL3:回饋信號線,輸入。與鍵盤列線一對一連接。8279輸出掃描信號后,就能從RL0~RL3自動接收到回饋信號,由回饋信號可以斷定哪些鍵被按下。SHIFT:移位信號線,輸入。和CNTL/STB連用。
CNTL/STB:控制/選通信號線,輸入。鍵盤方式中鍵的定義由CNTL/STB、SHIFT和閉合鍵的參數(shù)決定。8279支持64鍵鍵盤,配合SHIFT和CNTL/STB的4種編碼,可使鍵定義達到256個。選通輸入方式中CNTL/STB起選通功能,允許數(shù)據(jù)進入FIFO。
SL0~SL3:顯示器位選信號線。也是鍵盤掃描輸出線。
OA0~OA3,OB0~OB3:兩組8根數(shù)據(jù)輸出線。輸出顯示器段碼。與位選輸出SL0~SL3同步,實現(xiàn)分時數(shù)據(jù)顯示。
BD:消隱信號線,輸出。低電平有效,用于消去顯示時切換引起的晃動。9.4.28種鍵盤工作方式和4種顯示方式表9-78279的3類8種鍵盤輸入方式表9-88279的1類4種顯示器輸出方式9.4.32個端口、8個控制字和1個狀態(tài)字
A0=0的端口為數(shù)據(jù)口,用于接收來自鍵盤的輸入字節(jié)數(shù)據(jù)或輸出到顯示器的輸出字節(jié)數(shù)據(jù),輸入和輸出分別使用IN指令和OUT指令完成:
掃描傳感器方式或選通方式中,輸入數(shù)據(jù)為RL7~RL0的輸入狀態(tài);鍵盤掃描方式中,發(fā)出讀FIFO命令后,從數(shù)據(jù)口讀入數(shù)據(jù)為:D2~D0:指示輸入鍵所在的列號RL7~RL0的計數(shù)值。
D5~D3:指示輸入鍵所在的行號SL3~SL0的計數(shù)值。
D6:引腳SHIFT的狀態(tài)。一般在SHIFT上接一個按鍵作上、下?lián)蹩刂奇I。
D7:引腳CNTL的狀態(tài)。一般在CNTL上接一個按鍵與其它鍵聯(lián)用作特殊命令鍵。
A0=1的端口為控制/狀態(tài)口,用OUT指令寫入控制字,IN指令讀取8279的狀態(tài):8279共使用8個控制字,每字的高3位D7D6D5為特征位,從一個控制端口寫入時就可以使用特征位加以區(qū)別。8個控制字如表9-9所示。這些控制字是由CPU送到數(shù)據(jù)總線以后,在CS=0,A0=1,WR上升沿送入8279控制寄存器的,在編程時使用一條OUT指令便能完成。表9-98279的控制字表9-98279的控制字8279有1個狀態(tài)字,僅適用于鍵盤輸入和選通輸入方式檢查FIFO,格式如下:D2~D0:FIFORAM中字符的個數(shù)。取值為000~111。
D3:FIFORAM滿。D3=1表示FIFORAM已滿。
D4:FIFORAM空。D4=1表示FIFORAM內無字符。
D5:FIFORAM溢出。如果FIFO已滿時再送一個字符,則D5=1。
D6:傳感器信號結束/特征位。
D7:顯示無效特征位。DU=1表示顯示無效,此時不可對顯示RAM寫入數(shù)據(jù)。9.4.4連接鍵盤和數(shù)字顯示圖9-428279鍵盤和顯示器8279的編程須編制3個程序段:初始化、鍵盤服務程序和顯示器服務程序。
8279雖然有8個控制字,但是在初始化程序中只需要寫入3個:
(1)清除控制字??紤]到應允許清除顯示器并將FIFO和RAM復位或清零,該字為0D1H。
(2)設置鍵盤和顯示方式控制字。設顯示16位右邊輸入,鍵盤用N鍵互鎖編碼掃描,則該字為1AH。
(3)設置時鐘頻率控制字。設內部時鐘頻率為100kHz,CLK輸入時鐘頻率為2MHz,則時鐘為2MHz/100kHz=20,該字為34H。初始化程序段為:
鍵盤服務程序至少應當包括3部分:先要寫入讀FIFO/傳感器RAM控制字,由按下鍵產(chǎn)生的字符允許通過FIFO讀取,與A5和A2A1A0的狀態(tài)無關(該字為01000000B)。使用OUT指令寫入該字后,再用IN指令從狀態(tài)口讀取狀態(tài)字,查詢FIFO/RAM的狀態(tài),看是否有數(shù)據(jù)。若有,則從數(shù)據(jù)口讀取掃描值SL0~SL3,回送RL0~RL7,形成一個字節(jié)數(shù)據(jù)。最后修改地址指針,依次輸入8個鍵盤字,形成一個8字節(jié)的數(shù)據(jù)塊。設第一字節(jié)放入內存KEYS單元,則相應的程序段為:
顯示器服務程序中,必須首先從控制口寫入“寫顯示RAM控制字”,然后將字形碼從數(shù)據(jù)口用OUT指令輸出,才能實現(xiàn)顯示。相應程序段為:9.5DMA控制器8237A9.5.18237A內部寄存器尋址信號圖9-438237A-5的內部結構8237A內部有4個獨立通道,每個通道都有64KB尋址和計數(shù)能力,各通道都有4個寄存器,分別是基地址寄存器(16位)、基字計數(shù)寄存器(16位)、當前地址寄存器(16位)、當前字計數(shù)寄存器(16位);另外還有8個所有通道公用的寄存器,它們是工作方式寄存器(6位)、命令寄存器(8位)、狀態(tài)寄存器(8位)、臨時寄存器(8位)、屏蔽寄存器(1位)、DMA請求寄存器(1位)、臨時計數(shù)器(16位)、臨時地址寄存器(16位)。8237A-5內總共有24個寄存器。這些寄存器除臨時計數(shù)器和臨時地址寄存器外,還有22個能夠進行讀/寫操作。其編程特征是有的只能讀出不能寫入,有的只能寫入不能讀出,有的既能讀出又能寫入。這些寄存器占用16個端口,編號為PORT0~PORT15。在PC/XT中,分配給8237A的I/O端口地址為00H~0FH。00H~07H為4個通道所占用,每個通道使用2個實現(xiàn)對4個16位寄存器的讀/寫;08H~0FH為所有通道公用,完成其它寄存器的讀/寫。寄存器的端口地址分配和讀/寫操作如表9-10所示。表9-10PC/XTDE8237A的寄存器地址9.5.28237A的4種工作方式和2種工作時序
8237A有4種工作方式,其中有3種是數(shù)據(jù)傳送方式(單一傳送、成組傳送和詢問傳送),1種是多芯片級聯(lián)方式。單一傳送方式的特點是通道每啟動一次DMA申請,就使用一個總線周期,只傳送一個數(shù)據(jù),傳送之后就釋放系統(tǒng)總線并交還給CPU,因此這種方式又稱為總線周期竊取方式。成組傳送方式的特點是通道啟動一次可傳送完整個數(shù)據(jù)塊。
詢問傳送方式的特點與成組傳送方式類似,其不同點在于每傳送一個字節(jié)之后都要檢測(詢問)DREQ引腳是否有效。若無效,則立即“掛起”,但并不釋放總線;若有效,則繼續(xù)傳送。級聯(lián)方式不用于數(shù)據(jù)傳送,僅用于多片連接。第一級為主片,第二級為從片。當主片編程為級聯(lián)方式時,它的DREQ和DACK引腳分別與從片的HRQ和HLDA引腳相連。針對8237A的兩種工作狀態(tài),相應地也有兩種工作時序或兩個操作周期:DMA空閑周期和DMA有效周期。從空閑周期到有效周期之間還存在一個過渡階段。8237A-5有7種狀態(tài)周期SI、S0、S1、S2、S3、S4及SW。每種狀態(tài)均由一個時鐘周期形成,如圖9-44所示。圖9-448237A-5的DMA時序9.5.316個端口和22個寄存器的讀/寫操作
8237A是一個40引腳雙列直插芯片,它既受CPU控制,又能控制3組總線、存儲器和I/O接口芯片,因此它的引腳、端口操作都具有雙重特征。
1.引腳
40條引腳見圖9-45,分成對CPU連接的3總線和對存儲器、I/O接口連接的3總線。圖9-458237A-5的外部引腳圖CS:片選,低電平時選中本片。
A0~A3:最低地址線,雙向三態(tài)。從態(tài)時作輸入,選中8237的16個端口地址;主態(tài)時作輸出,提供20位內存地址最低4位。
A4~A7:地址線,單向。主態(tài)時作輸出,提供20位地址中的A4~A7
。
DB0~DB7:數(shù)據(jù)/地址線,雙向三態(tài)。從態(tài)時為數(shù)據(jù)線,作為CPU對8237A進行讀/寫操作的數(shù)據(jù)輸入/輸出線。主態(tài)時為地址線,提供高8位地址線A8~A15,DMA傳送時還是數(shù)據(jù)的輸入輸出端。8237A-5作DMA控制時可以為存儲器和I/O設備提供16位地址線:A0~A7(低8位)和DB0~DB7(高8位)。DREQ0~DREQ3:外設對4個獨立通道0~3的DMA服務請求,輸入。依靠程序選定高或低電平有效,優(yōu)先級DREQ0最高,DREQ3最低。
DACK0~DACK3:8237A發(fā)給I/O設備的DMA應答信號,輸出。程序選定高或低電平有效。系統(tǒng)允許多個外設同時提出DMA申請,但在同一個時間,8237A只能有一個應答有效。
HRQ:總線請求。高電平輸出有效,8237A向CPU發(fā)出的要求接管系統(tǒng)總線的請求。
HLDA:總線應答響應。高電平有效,來自于CPU,有效時表示CPU已讓出總線。
IOR/IOW:I/O讀/寫信號,雙向。8237A主態(tài)工作時作輸出,在DMAC控制下,對I/O設備進行讀/寫;從態(tài)工作時作輸入,由CPU向DMAC初始化寫入。
:存儲器讀/寫信號,單向輸出。用于8237A主態(tài)工作,控制向存儲器讀或寫數(shù)據(jù)。
ADSTB:地址選通輸出,鎖存16位地址的高8位,當DB0~DB7作為高8位地址線時,ADSTB把這8位地址鎖存到地址鎖存器的輸入選通信號。高電平允許輸入,低電平鎖存。
AEN:地址允許輸出。AEN為高電平時允許地址鎖存器輸出,為低電平時禁止輸出。DMA傳送時禁止其他系統(tǒng)總線驅動器占用系統(tǒng)總線。
READY:I/O設備或存儲器準備就緒信號,輸入。高電平有效。在DMA有效周期插入SW時,迫使READY處于低電平。一旦SW滿足要求,該信號就變高,表示準備好。
EOP:計數(shù)結束信號,在DMA傳送結束時EOP輸出負脈沖,并將內部寄存器復位。
2.16個端口和22個寄存器的讀寫操作在CS=0時,8237的地址線A3~A0接CPU的地址線可選擇16個端口,A3~A0的值0H~FH對應的端口直接用寄存器名表示。對端口地址的操作就是對這些寄存器的操作。
1)工作方式寄存器用于設置DMA傳送的工作方式、傳送方向和類型預置。端口地址為PORT11。只能寫不能讀。格式如下:2)基地址寄存器用于存放DMA傳送的存儲單元首址。在初始化時,先低字節(jié)后高字節(jié)順序寫入,傳送過程中內容不變。只能寫不能讀。端口地址為PORT0、2、4、6(分別對應通道0~3)。
3)當前地址寄存器用于存放DMA傳送中的存儲單元地址偏移量。它的初值與基地址寄存器的內容相同,并且兩者端口地址相同,初值由CPU同時寫入??勺x可寫。在自動預置條件下,信號使其重新置為首址值。在每次傳送后地址自動增1或減1。4)基字計數(shù)器用于存放DMA傳送的總字節(jié)數(shù)。在初始化時,由CPU以先低字節(jié)后高字節(jié)順序寫入,傳送過程中內容不變。只能寫不能讀。端口地址為PORT1、3、5、7(分別對應通道0~3)。
5)當前字計數(shù)器用于存放DMA過程沒有傳送完的字節(jié)數(shù)。它的端口地址、初值與基字計數(shù)器相同,且初值由CPU同時寫入,可讀可寫。每次傳送后,字節(jié)計數(shù)器減1,直至減為0,產(chǎn)生,表示字節(jié)數(shù)已傳送完。選擇自動預置時,信號使該計數(shù)器內容重新置為計數(shù)初值。6)屏蔽寄存器屏蔽寄存器有兩種,用于禁止或允許通道的DMA請求。在屏蔽位置位時,禁止本通道的DREQ進入。若通道程序為非自動預置,則當該通道遇到信號時,對應屏蔽位置位。屏蔽字有兩種格式:1個屏蔽位的屏蔽字和4個屏蔽位的屏蔽字。單一屏蔽位寄存器每次只能屏蔽一個通道,用D2設置。所謂“屏蔽”,是指禁止通道申請DREQ。D2置0允許DREQ申請。單一屏蔽位寄存器只能寫不能讀,端口地址為PORT10,其格式如下:
四位屏蔽位寄存器用于屏蔽通道0~3,只能寫不能讀,端口地址為PORT15,格式中的D3D2D1D0分別對應通道3~0,寫入1時將該通道屏蔽,禁止DMA申請;寫入0時不屏蔽,允許DMA申請。其格式如下:
選擇通道3支持軟盤DMA申請,初始化程序僅僅只要兩條指令,前兩條用單一屏蔽位寄存器,后兩條用4位屏蔽位寄存器,用前(后)兩條可不用后(前)兩條。7)DMA請求寄存器該寄存器適于軟件啟動DMA申請,只能寫不能讀,端口地址為PORT9,其格式如下:8)命令寄存器該寄存器用于選擇8237A的操作過程,可用復位信號RESET和清除命令清除,只能寫不能讀,端口地址為PORT8,其格式如下:9)狀態(tài)寄存器該寄存器存放8237A的狀態(tài),只能讀不能寫,端口地址為PORT8,其格式如下:10)暫存寄存器用于存儲器對存儲器傳送時,暫時保存從源地址讀出的數(shù)據(jù),端口地址為PORT13。11)軟命令所謂“軟命令”是指對特定地址完成一次寫操作的指令。8237A有3條軟命令。當、有效時軟命令就能操作,與寫入數(shù)據(jù)無關。這些軟命令分述如下:
(1)清先/后觸發(fā)器命令:程序中向端口PORT12寫入任意數(shù)就可以使先/后觸發(fā)器清0:(2)總清除命令:該命令與硬件RESET信號功能相同,執(zhí)行結果將復位“命令”、“狀態(tài)”、“請求”、“暫存”寄存器以及“先/后觸發(fā)器”,置位屏蔽寄存器,屏蔽所有外部DMA請求。使用OUT指令向端口PORT13寫入任意數(shù)就可以完成該命令:(3)清屏蔽寄存器命令:將4個屏蔽位均全部清0,端口地址為PORT14,讓4個通道都允許接受DMA請求:
3.初始化編程
8237A的初始化編程和一般I/O接口芯片相同,都是使用OUT指令從控制端口寫入控制字。8237A寫入控制字的過程是給22個寄存器初始化的過程。初始化中并不是要對22個寄存器逐一加載,而是對那些要用到的寄存器寫入初值,具體如下。所有通道的方式寄存器都要加載。
給命令寄存器發(fā)送命令字禁止8237A工作,發(fā)出總清除軟命令,將要編程的通道加以屏蔽。待編程完成后再允許8237A工作并清除屏蔽位。
上電時期對8237A進行檢測,只有檢測通過才能對芯片初始化。只有做全“1”和全“0”檢測并通過后,方可寫入控制字。9.6D/A轉換接口DAC0832是一種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷產(chǎn)業(yè)鏈產(chǎn)業(yè)鏈協(xié)同效應評估考核試卷
- 地下車庫充電設施與智能交通系統(tǒng)融合考核試卷
- 農(nóng)藥合成中酶反應的酶促反應器優(yōu)化考核試卷
- 合成材料技術創(chuàng)新戰(zhàn)略考核試卷
- 圓-2024-2025學年六年級數(shù)學暑假專項提升(西師大版)
- 8焊工工藝學第五版教學課件第八章-氣體保護電弧焊
- 上海市西中學2024-2025學年高一下學期化學期末試卷(含答案)
- 河南省信陽市息縣2024-2025學年八年級下學期期末學業(yè)質量監(jiān)測英語試卷(含答案無聽力原文及音頻)
- 規(guī)范數(shù)據(jù)使用保障創(chuàng)新模型信息安全
- 智能交通系統(tǒng)多模態(tài)信息處理規(guī)則
- 射頻消融術治療房顫的護理
- PCB基礎知識單選題100道及答案解析
- 鋼板止水帶穿混凝土外墻柱處鋼筋構造施工工法
- 商丘中草藥種植基地建設項目可行性研究報告
- 2024-2025學年山東省青島市高三上學期期初考數(shù)學試題及答案
- 部編版二年級上冊語文全冊必背內容
- 2024至2030年版內蒙古水利工程發(fā)展情況研究報告
- 2024年工會專業(yè)知識考試題庫及答案
- 2024版全新貸款居間協(xié)議合同下載
- 2024-2030年中國粽葉市場發(fā)展狀況及競爭力研究研究報告
- 紀錄片文案腳本范文
評論
0/150
提交評論