版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第八章接口技術1第一頁,共八十三頁,編輯于2023年,星期四第一節(jié)定時器/計數器第二頁,共八十三頁,編輯于2023年,星期四8.1定時與計數(課本317頁)
定時功能是由計數器實現(xiàn)的(計數器的實現(xiàn)原理是每個時鐘周期進行減1操作),如果輸入計數器的時鐘脈沖是頻率精確的,則可實現(xiàn)定時。例如:時鐘周期是1ns,則如果給計數器賦計數值為109。則每次計數器減到0時,就是1s時間。所以定時器就是計數器,它們的硬件電路是一樣的。常用的計數器/定時器是:Intel系列的8253/8254.
第三頁,共八十三頁,編輯于2023年,星期四計算機系統(tǒng)中的定時通常,一個計算機系統(tǒng)中定時功能是必需的。該定時器用來驅動操作系統(tǒng)的系統(tǒng)時鐘。操作系統(tǒng)根據系統(tǒng)時鐘完成任務調度等。定時長度(古代稱之為Tick,嘀嗒聲)可以是500ns,10ms,100ms等。定時器的工作原理Fosc—標準時鐘發(fā)生器預分頻器—其輸出作為計數器時鐘(計時精度與計時長度)時間常數寄存器(TCR)--存放計數初值,決定計時長度。計數器—它從TCR取得初值,在時鐘驅動下進行計數(可以是減計數或加計數)第四頁,共八十三頁,編輯于2023年,星期四定時方法軟件定時用循環(huán)程序實現(xiàn)。占用CPU時間。主機頻率不同,軟件延時就不同。定時程序通用性差。硬件定時采用硬件或可編程定時器芯片實現(xiàn)。定時準確,不占用CPU時間。但需附加硬件。典型芯片Intel8253/8254ZilogCTC第五頁,共八十三頁,編輯于2023年,星期四8.2.18253的內結構和外特性(課本321頁)第六頁,共八十三頁,編輯于2023年,星期四1、數據總線緩沖器:D7—D0
數據總線緩沖器是一個三態(tài)緩沖器,用于8253與CPU數據總線的連接。它的功能是:
①CPU通過它向8253寫入命令(控制字,控制字要寫到控制字寄存器中)
②寫數據(對相應計數器設置的初始計數值)
③從內部讀出數據(某個計數器中的當前計數值)。2、讀/寫邏輯讀/寫邏輯接收CPU的讀/寫和地址信號,選擇讀出或寫入內部的寄存器。可接收的各個信號的作用是:
(1)A1A0—地址信號。用于選擇芯片內部的三個計數器和控制寄存器。一般A1A0與CPU的地址線A1A0連接。
(2)RD、WR—讀、寫控制信號。
(3)CS—片選信號,低電平有效,此時CPU才可對8253進行操作。否則芯片不能工作。CS一般由CPU的地址譯碼輸出控制。第七頁,共八十三頁,編輯于2023年,星期四8253的內部結構3、計數器0—計數器2每個計數器的結構完全一致,為16位計數結構,可以有兩種技術格式(二進制和壓縮BCD碼形式)包括一個計數初值寄存器、一個減1寄存器和一個鎖存寄存器,分別負責保存計數初值、完成計數和將現(xiàn)在減1計數器中的計數值鎖存起來。每個計數器有三根信號引腳,CLK是計數脈沖輸入,GATE是計數門控制信號,OUT是計數結束輸出信號(定時時間到或計數到0產生中斷信號,送到8259A的IRQ端)。第八頁,共八十三頁,編輯于2023年,星期四第九頁,共八十三頁,編輯于2023年,星期四4、控制字寄存器(由D7D6位區(qū)別當前所寫入的控制字是控制哪一個計數器工作,A0A1=11)第十頁,共八十三頁,編輯于2023年,星期四8253/8354的每個計數通道邏輯框圖
第十一頁,共八十三頁,編輯于2023年,星期四8253/8254的內部邏輯(續(xù))計數器芯片內部有3個獨立、完全相同的計數器。每一個計數器可工作在不同的模式。16位計數初值寄存器CR用于存放計數初值。然后將初值裝入減1計數器CE??勺詣又剌d初值16位計數單元CE減“1”計數器。CPU不能直接讀、寫CE的值。16位當前計數值鎖存器OLOL“跟隨”CE的值。收到“鎖存”命令后,鎖存當前CE的值。CPU讀走后,恢復到“跟隨”CE的狀態(tài)。第十二頁,共八十三頁,編輯于2023年,星期四8.2.28253編程示例
8253編程注意問題:(1)計數器0,1,2可以獨立工作,定時計數無先后順序;(即先讓哪個計數器開始工作都可以)(2)編程命令(分類):讀出命令:
①對要讀取計數值的計數器發(fā)出鎖存命令。
②讀當前計數器的值寫入命令:
①設置計數器工作方式、寫計數初值方式;
②設置計數器的計數初值;
第十三頁,共八十三頁,編輯于2023年,星期四8.2.28253編程示例例如:選擇8253計數器0工作在方式1,計數初值1000H,計數器0的初值寫入方法是:先寫入低字節(jié),再寫入高字節(jié);
計數器1工作在方式2,計數初值為50H,只寫入低字節(jié)。8253的端口地址為40H一43H(計數器0的端口地址為A1A0為0,所以地址最低,控制寄存器的端口地址最高;因此,計數器0的端口地址為40H;控制字寄存器的端口地址為43H),兩個計數器的計數工作方式為:二進制。其程序段(主要指令)為:
MOVAL,00110010B;計數器0控制字
OUT43H,ALMOVAX,1000H;計數器0初值
第十四頁,共八十三頁,編輯于2023年,星期四8.2.28253編程示例OUT40H,AL;先寫低字節(jié)MOVAL,AHOUT40H,AL;再寫高字節(jié)MOVAL,01010100B;計數器1控制字OUT43H,ALMOVAL,50H;計數器1初值OUT41H,AL;只寫低字節(jié)第十五頁,共八十三頁,編輯于2023年,星期四例如,(接上題)要求讀出并檢查0#計數器的計數值是否為“05AAH”若非“05AAH”則等待再讀,當為“05AAH”后程序可繼續(xù)執(zhí)行,則程序片斷如下:COUNTEQU040H;設0#計數器的符號地址為040H┆LPCN:MOVAL,00000010B;對0#計數器送鎖存命令,工作方式為方式1。OUTCOUNT+3,ALINAL,COUNT;讀0#計數器當前計數值MOVAH,AL;低8位暫存AH中INAL,COUNT;讀高8位XCHGAH,AL;16位計數值存AX中CMPAX,05AAH;計數值寫05AAH相比較JNELPCN;若不相等則繼續(xù)等待第十六頁,共八十三頁,編輯于2023年,星期四1.方式0——計數結束產生中斷(一次定時或計數,重寫初值,啟動新一輪的計數)
8253工作模式0第十七頁,共八十三頁,編輯于2023年,星期四1.方式0—計數結束中斷(課本323頁)在方式0下,GATE信號可用來控制計數過程,當GATE=1時,允許計數;GATE=0時,停止計數,計數值將保持GATE有效時的數值不變,待GATE信號重新有效后,減1計數繼續(xù)進行。第十八頁,共八十三頁,編輯于2023年,星期四1.方式0—計數結束中斷在計數過程中如果改變計數初值,則計數器停止計數。待計數初值寫入后,計數器按照新的數值開始計數。
第十九頁,共八十三頁,編輯于2023年,星期四高2.方式1_單脈沖觸發(fā)器(GATE邊沿觸發(fā),啟動新一輪計數)
8253工作模式1第二十頁,共八十三頁,編輯于2023年,星期四
2.方式1—可編程單穩(wěn)態(tài)觸發(fā)器
方式1具有可重復觸發(fā)特性,也就是在減1計數過程中,如果GATE信號重新產生一個上升沿,將使計數初值被重新裝入計數器并重新開始計數,于是擴展了輸出負脈沖的寬度。
第二十一頁,共八十三頁,編輯于2023年,星期四2.方式1—可編程單穩(wěn)態(tài)觸發(fā)器在計數過程中,如果改變計數初值,本次計數過程不受影響,計數到0后輸出為高。如果再來一個計數脈沖,則計數器按照新的計數值計數。第二十二頁,共八十三頁,編輯于2023年,星期四3.方式2----分頻器(具有計數初值重裝能力)8253工作模式2第二十三頁,共八十三頁,編輯于2023年,星期四
3.方式2—速率產生器在方式2,GATE同樣可以控制計數過程。GATE=1,允許計數;GATE=0,停止計數。如果在計數過程中GATE變?yōu)?,暫停計數,待GATE信號恢復為高電平后,重新裝入計數初值并開始減1計數。第二十四頁,共八十三頁,編輯于2023年,星期四方式2—速率產生器
計數過程中如果改變計數初值,對本次計數過程沒有影響。再下一個計數過程中,計數器按照新的計數值計數。第二十五頁,共八十三頁,編輯于2023年,星期四4.方式3----方波發(fā)生器(具有計數初值重裝能力)
8253工作模式3第二十六頁,共八十三頁,編輯于2023年,星期四4、方式3——方波發(fā)生器的特點:①.若計數值為偶數,a每一個計數脈沖使計數值減1,減到n/2時,out端改變輸出狀態(tài);b如果減到0,則改變輸出狀態(tài),重新裝入新的計數值。重復a,b兩步。②.計數值為奇數,規(guī)律是:a.每一個脈沖減1,如果減到(n-1)/2,則改變輸出狀態(tài);b如果減到0,則改變輸出狀態(tài),重新裝入新的計數值。重復a,b兩步。③
GATE=1時,計數進行;GATE=0時,計數停止。如果計數過程中,GATE變?yōu)榈碗娖?,則輸出端會立即變?yōu)楦唠娖剑藭r計數停止;在GATE又變?yōu)楦唠娖降南乱粋€時鐘脈沖來到時,計數器重新裝入初始值,重新開始計數。第二十七頁,共八十三頁,編輯于2023年,星期四4.方式4----軟件觸發(fā)的選通信號發(fā)生器8253工作模式4第二十八頁,共八十三頁,編輯于2023年,星期四5、方式4——軟件觸發(fā)的選通信號發(fā)生器模式4具有下列特點:當寫入控制字以后,輸出端OUT變?yōu)楦唠娖阶鳛槌跏茧娖?,寫入初始值后,再過一個周期,計數執(zhí)行部件(減1計數器)獲得計數初值,并開始計數。當計數器減到0的時侯,輸出變?yōu)榈碗娖匠掷m(xù)一個時鐘周期,然后又自動變?yōu)楦唠娖剑⒁恢本S持高電平。一般將此負脈沖作為選通信號。
GATE=1時,進行計數;GATE=0時,計數停止,而輸出維持當時的電平。當GATE恢復為高電平后從新計數。
如果在計數時,又寫入新的計數值,那么,在下一個時鐘周期時,此計數值被寫入執(zhí)行部件,并且,計數器將從新的計數值開始作減1計數。這種情況下,通過寫入新的計數值使計數器從頭工作,叫軟件再觸發(fā)。第二十九頁,共八十三頁,編輯于2023年,星期四5.方式5----硬件觸發(fā)的選通信號發(fā)生器
8253工作模式5第三十頁,共八十三頁,編輯于2023年,星期四6、方式5——硬件觸發(fā)選通模式5具有下列特點:寫入控制字后,輸出端OUT出現(xiàn)高電平作為初始電平。寫入計數值后,必須有信號GATE的上升沿來到,才在下一個時鐘周期將計數初值送到計數執(zhí)行部件。此后,執(zhí)行部件作減l計數,計數到達0的時候,輸出端出現(xiàn)一個寬度為1個時鐘周期的負脈沖后又自動變?yōu)楦唠娖剑⒊掷m(xù)不變。此負脈沖可以用作選通脈沖,它是通過硬件電路的門控信號上升沿觸發(fā)后得到的,所以叫硬件觸發(fā)的選通脈沖。如果在計數過程中,GATE端又來一個上升沿進行觸發(fā),則在上升沿后的下一個時鐘周期,執(zhí)行部件將重新獲得計數初值,并且按初值往下作減1計數,直到減為0為止。
計數過程中,如果改變計數值,則GATE信號有上升沿后的下一個周期按新的計數值計數。第三十一頁,共八十三頁,編輯于2023年,星期四8253初始化方法計數初值:=定時時間Tout/時鐘周期時鐘周期=1/頻率fc
:=定時時間Tout×CLK的頻率fc定時時間Tout=計數初值/CLK的頻率fc例5:設8253:fc=1MHZ,最大計數初值:N=65536一個定時器最大定時時間:Tmax=N/fc=65536/106=0.065536s8253應用舉例8253應用舉例第三十二頁,共八十三頁,編輯于2023年,星期四例:設定時器0、定時器1工作于方式2,外部提供一個時鐘,頻率f=2MHZ。要求定時器1每5ms產生一個脈沖,定時器0每5s產生一個脈沖。1).一個定時器的最大定時時間:65536/(2*106)=0.032768s=32.768ms2).將定時器1的CLK1接2MHZ時鐘,計數初值:3).將定時器1的OUT1端接到定時器0的CLK0端,定時器0的計數初值:8253應用舉例第三十三頁,共八十三頁,編輯于2023年,星期四地址譯碼CPUD7~D0AB8253兩個定時器串連使用8.2.3:8253應用舉例第三十四頁,共八十三頁,編輯于2023年,星期四8253初始化程序:(端口地址為:40H-43H)MOVAL,00110100B;0號定時器,方式2OUT43H,ALMOVAX,1000(十進制數據)OUT40H,ALMOVAL,AHOUT40H,ALMOVAL,01110100B;1號定時器,方式2OUT43H,ALMOVAX,10000(十進制數據)OUT41H,ALMOVAL,AHOUT41H,AL8.2.3:8253應用舉例第三十五頁,共八十三頁,編輯于2023年,星期四實驗:(實驗指導書中實驗四的第一個8253計數器應用實驗)時間:實驗要求:設定8253計數器2的工作方式為0,用于事件計數,計數器初值設定為5,當計數值由5減到0時,發(fā)出中斷請求,在屏幕上顯示“M”.實驗步驟:1.接線,接線圖:KK1接CLK2,OUT2接IRQ7;+5V接GATE2。第三十六頁,共八十三頁,編輯于2023年,星期四實驗:2.編寫程序,計數器2的計數初值設定為5,匯編和連接后將可執(zhí)行文件裝入系統(tǒng);3.運行程序,并按動kk1鍵,觀察是否屏幕上顯示一個“M”字符。第三十七頁,共八十三頁,編輯于2023年,星期四第二節(jié)并行傳輸及其接口第三十八頁,共八十三頁,編輯于2023年,星期四并行接口的特點接口設計簡單,因為計算機的接口總線多數是并行總線多條數據線同時傳送信息,傳送距離短需要握手信號進行控制數據傳輸率高并行接口分為非選通接口(簡單接口)與選通接口第三十九頁,共八十三頁,編輯于2023年,星期四一、簡單并行口簡單接口一般用于控制輸出口和狀態(tài)輸入口,電路比較簡單;而選通接口用于和外設交換數據,電路比較復雜。簡單輸出口必須有數據輸出寄存器,用來接收和發(fā)送數據。其原因是數據總線是高速、時分復用的公用總線。簡單輸入口必須是三態(tài)門,因為它要向總線發(fā)送數據。它須在特定時間的特定條件下才可向總線發(fā)送數據,其他條件下,該口必須與總線脫離。第四十頁,共八十三頁,編輯于2023年,星期四一、簡單并行口(續(xù))通用簡單并行口舉例I/O選擇=1,外部輸入;I/O選擇=0,輸入的是數據輸出寄存器的內容。必須有命令寄存器來配置接口邏輯第四十一頁,共八十三頁,編輯于2023年,星期四二、選通并行口及其聯(lián)絡選通并行I/O口選通I/O口的輸入或輸出是有條件的,與外設交換數據時,除了I/O數據線外,還需有聯(lián)絡線(握手信號)簡單并行口的輸入或輸出是無條件的,一般不需要聯(lián)絡信號第四十二頁,共八十三頁,編輯于2023年,星期四二、選通并行口及其聯(lián)絡(續(xù))選通I/O口的聯(lián)絡方式
─異步互鎖聯(lián)絡傳送數據時有發(fā)、收聯(lián)絡信號,采用一問一答方式互鎖聯(lián)絡
─脈沖聯(lián)絡發(fā)、收聯(lián)絡信號為負脈沖(STB和ACK)而非電平信號
─混合聯(lián)絡聯(lián)絡信號既不同于電平聯(lián)絡,又不同于脈沖聯(lián)絡,發(fā)、收中一個為電平,一個為脈沖信號,不屬于互鎖聯(lián)絡。
─NRZ(不歸零)聯(lián)絡為了減少聯(lián)絡線的跳變次數,采用NRZ,上沿與下沿各為一次聯(lián)絡,每次不歸零(NonReturntoZero)。第四十三頁,共八十三頁,編輯于2023年,星期四三、可編程并口8255A8255A是一種典型的通用選通并行接口芯片。其內部有三個獨立的8位數據口,即A口、B口、C口。有三種工作方式
?方式0--基本輸入/輸出方式?方式1--選通輸入/輸出方式
?方式2--雙向傳送方式第四十四頁,共八十三頁,編輯于2023年,星期四8255A外部引腳第四十五頁,共八十三頁,編輯于2023年,星期四8255A內部結構圖第四十六頁,共八十三頁,編輯于2023年,星期四8255A內部結構
?主要由數據總線緩沖器、讀寫控制邏輯、A、B、C三個雙向I/O端口及有關控制電路組成。數據總線緩沖器三態(tài)雙向8位緩沖,用于收發(fā)數據總線上的數據讀/寫控制邏輯包括RD、WR、CS、A0、A1。控制總線的開放、關閉和數據的傳送方向。第四十七頁,共八十三頁,編輯于2023年,星期四8255A內部結構(續(xù))數據端口A、B、CA口、B口具有輸入/輸出鎖存、三態(tài)緩沖功能C口具有輸出鎖存/輸入緩沖功能,可分成兩個4位端口。A、B組控制電路控制A、B和C三個端口的工作方式。A組控制A口和C口的高4位;B組控制B口和C口的低4位第四十八頁,共八十三頁,編輯于2023年,星期四在使用中,端口A和端口B常常作為獨立的輸入端口或者輸出端口,端口C則配合A口和端口B的工作。具體地講,端口C常常通過控制命令被分成2個4位端口,它們分別用來為端口A和端口B提供控制信號(決定8255的工作方式)和狀態(tài)信號(當前8255中各位的狀態(tài))。(在不同的工作方式下,C口各個位的功能不同)端口A,B的功能:數據的輸入和輸出;端口C的功能:①數據的輸入和輸出;②控制和狀態(tài)信號第四十九頁,共八十三頁,編輯于2023年,星期四3、讀/寫控制邏輯電路讀/寫控制邏輯電路負責管理8255A的數據傳輸過程。它接收CS,來自系統(tǒng)地址總線信號A1、A0(連接8086系統(tǒng)中的A2、A1)和控制總線的信號RESET、WR、RD,將這些信號進行組合后,得到對A組控制部件和B組控制部件的控制命令,并將命令發(fā)給這兩個部件以完成對數據、狀態(tài)信息和控制信息的傳輸。4、數據總線緩沖器這是一個雙向三態(tài)的8位數據緩沖器,8255A正是通過它與系統(tǒng)數據總線相連。通過數據緩沖器的數據:
1.輸入數據、輸出數據;2.CPU發(fā)給8255A的控制字;3.向CPU反映與8255A相聯(lián)的外設的狀態(tài)。第五十頁,共八十三頁,編輯于2023年,星期四(二)8255的信號引腳1、和外設一邊相連的
PA7一PA0:A組數據信號
PB7一PB0:B組數據信號
PC7—PC0:C組數據信號2、和CPU一邊相連的RESET:復位信號,低電平有效。當RESET信號來到時,所有內部寄存器都被清除,同時,3個數據口被自動設為輸入端口。D7一D0:它們是8255A的數據線,和系統(tǒng)數據總線相連。CS:芯片選擇信號,低電平有效。只有當CS有效時,讀信號
和寫信號信號才對8255A有效。A1、A0:端口選擇信號。8255A內部有3個數據端口和1個控制端口,共4個端口。規(guī)定Al、A0(8086CPU的A2,A1)為00時,選中A端口;為01時,選中B端口;為10時,選中C端口;為11時,選中控制寄存器第五十一頁,共八十三頁,編輯于2023年,星期四8255A方式選擇控制字第五十二頁,共八十三頁,編輯于2023年,星期四8255A編程命令例:A口方式1、輸入,C口高4位為輸出;B口方式0、輸出,C口低4位為輸入。假設8255A的端口地址為60H~63Hmovdx,63hmoval,10110001boutdx,al第五十三頁,共八十三頁,編輯于2023年,星期四8255AC口置位/復位控制字第五十四頁,共八十三頁,編輯于2023年,星期四8255A編程命令(續(xù))例:對端口C的bit3置1movdx,63hmoval,00000111boutdx,al第五十五頁,共八十三頁,編輯于2023年,星期四1、方式0及其應用第五十六頁,共八十三頁,編輯于2023年,星期四8255A工作方式0第五十七頁,共八十三頁,編輯于2023年,星期四方式0稱為基本輸入/輸出方式8bits并行的輸入或輸出,無專用的握手信號,可使用C口中的一條或若干條用做握手線輸出具有鎖存功能,輸入具有緩沖功能而無鎖存功能端口的輸入、輸出配置有16種使用組合A口:8位,輸入,輸出B口:8位,輸入,輸出C口:低4位,輸入,輸出C口:高4位,輸入,輸出第五十八頁,共八十三頁,編輯于2023年,星期四2、方式1及其應用第五十九頁,共八十三頁,編輯于2023年,星期四8255A工作方式1(輸入)第六十頁,共八十三頁,編輯于2023年,星期四方式1的特點稱為選通輸入/輸出方式A口、B口用作數據傳送口,可輸入或輸出使用C口中的若干線作專用的握手信號輸出具有鎖存功能,輸入具有緩沖功能和鎖存功能第六十一頁,共八十三頁,編輯于2023年,星期四方式1輸入STB(外部設備發(fā)來)低電平將數據鎖存在輸入緩沖器(INBUFFER)IBF輸入緩沖器滿INTR(由8255A發(fā)給8259A)中斷請求信號INTEA或B(A口與B口內的中斷允許控制位)中斷請求允許位。INTEA對應PC4位,INTEB對應PC2位。即:對INTEA/B的置位、復位是通過對PC4/2的置位、復位來完成的。第六十二頁,共八十三頁,編輯于2023年,星期四8255輸入方式CPU8255(INTE=1)輸入設備IBFSTBA口或B口INTRRDD0-D7數據線第六十三頁,共八十三頁,編輯于2023年,星期四(1)輸入時信號引腳的定義:
外設輸入數據后,用STB信號通知8255,8255通過D0-D7數據線將數據輸入到自己的輸入緩沖器中,同時,發(fā)送IBF信號給外設,告訴外設先不要往8255中輸入數據;8255通過INTR信號(INTE必須為1)告訴CPU,有新的數據輸入。CPU發(fā)出RD信號給8255,通過D0-D7將數據輸入到CPU,同時RD信號使8255的INTR信號復位。CPU將數據從8255輸入后,8255的IBF信號無效,此時外設可以接著往8255中輸入下一個數據,時序如下:第六十四頁,共八十三頁,編輯于2023年,星期四方式1輸出OBF輸出緩沖器滿,表示CPU已把數據寫入8255A中。ACK低電平通知8255已將數據從端口A或端口B取走INTR中斷請求信號INTEA或B中斷請求允許位。INTEA對應PC6位,INTEB對應PC2位。即:對INTEA/B的置位、復位是通過對PC6/2的置位、復位來完成的。第六十五頁,共八十三頁,編輯于2023年,星期四8255A方式1(輸出)第六十六頁,共八十三頁,編輯于2023年,星期四8255A方式1狀態(tài)字(續(xù))說明在輸入方式下,PC2、PC4的取值是由程序設定,與外部引腳STBB、STBA無關在輸出方式下,PC2、PC6的取值是由程序設定,與外部引腳ACKB、ACKA無關第六十七頁,共八十三頁,編輯于2023年,星期四8255輸出方式CPU8255(INTE=1)輸出設備OBFACKA口或B口INTRWRD0-D7數據線第六十八頁,共八十三頁,編輯于2023年,星期四(2)輸出時信號引腳的定義:CPU發(fā)出WR信號給8255,通過D0-D7將數據輸出到8255的輸入輸出緩沖器中,同時WR信號使8255的INTR信號復位。數據輸出到8255的輸入輸出緩沖器中,8255向輸出外設發(fā)送信息OBF,有新的數據需要輸出,外設將數據輸出后,向8255發(fā)送ACK信號,8255向CPU發(fā)送INTR信號,CPU可以向8255輸出下一個數據。時序如下:第六十九頁,共八十三頁,編輯于2023年,星期四
(三)方式2一雙向傳送方式特點:雙向方式指同一組信號線可以兩個方向傳送數據,8255A只允許端口A工作在這種方式。為了控制數據雙向傳送,還使用了C口的5根線作為專用應答線。方式2的應答信號線實際上是方式1輸入、方式1輸出應答線的組合。因而引腳定義與方式1相同,所不同的是用一個中斷請求信號INTR既作為輸入中斷也作為輸出中斷。見下圖:第七十頁,共八十三頁,編輯于2023年,星期四時序圖如下:第七十一頁,共八十三頁,編輯于2023年,星期四五、8255A的三種工作方式
1、8255A工作在方式0例1:8255A的A口和B口工作在方式0,A口為輸入端口,接有四個開關。B口為輸出端,接有一個七段發(fā)光二極管,連接電路如圖所示。試編一程序要求七段發(fā)光二極管顯示開關所撥通的數字。
第七十二頁,共八十三頁,編輯于2023年,星期四電路LED數碼管段碼表
第七十三頁,共八十三頁,編輯于2023年,星期四DATASEGMENTTAB1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H;定義7段碼表DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX……MOVAL,10010000B ;設置8255方式字MOVDX,CTRL-PORTOUTDX,ALMOVDX,A-PORTINAL,DX;取鍵盤信息ANDAL,0FH ;屏蔽高4位MOVBX,OFFSETTAB1 ;取段碼表首地址XLAT ;查表得段碼MOVDX,B-PORT ;輸出顯示OUTDX,AL第七十四頁,共八十三頁,編輯于2023年,星期四例2:8255A的A口和B口分別工作在方式1和方式0,A口為輸入端口,接有8個開關。B口為輸出端口,接有8個發(fā)光二極管,連接電路如圖所示?,F(xiàn)要求用方式1把改變后的鍵信息輸入到CPU并通過B口顯示。
第七十五頁,共八十三頁,編輯于2023年,星期四例題2電路圖第七十六頁,共八十三頁,編輯于2023年,星期四這個系統(tǒng)的工作過程如下:
1、用戶(相當于輸入設備)通過改變K0~K7,產生新的鍵信息;
2、按下開關K(STBA#信號有效),產生選通信號,數據進入A口的緩沖器,此步驟實際上告訴8255,8255的A口來了一個新數據;
3、8255使IBF信號有效,使LED點亮(同時使STBA#信號無效)。這里含有兩個信息,一個是8255A(通過INTR信號,INTEA必須為1)通知CPU其A口來了一個新數據,另一個是告訴用戶CPU尚未取走這個這個數據,用戶不得再送其他數據;
4、CPU取走這個數據,LED熄滅(IBFA信號無效);
5、轉步驟1。
第七十七頁,共八十三頁,編輯于2023年,星期四設8255的I/O地址分布為8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度門窗行業(yè)環(huán)保生產與安裝規(guī)范合同4篇
- 2025年廠房建筑合同范本:廠房建筑與節(jié)能評估合同規(guī)范4篇
- 影視作品海外推廣與發(fā)行2025年度合同2篇
- 二零二五年度工程設備搬運承包合同文本4篇
- 2025年云計算基礎設施服務采購合同模板4篇
- 2025年度智能家居系統(tǒng)設計與集成合同樣本4篇
- 二零二五年度智慧城市基礎設施建設承包協(xié)議合同4篇
- 二零二五版農業(yè)設施租賃合同
- 二零二五年度新能源汽車充電樁建設承包合同4篇
- 二零二五年度新能源汽車鋁合金零部件采購合同4篇
- 中國華能集團公司風力發(fā)電場運行導則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項練習及答案
- 2022-2023學年度六年級數學(上冊)寒假作業(yè)【每日一練】
- 法人不承擔責任協(xié)議書(3篇)
- 電工工具報價單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識別實例
- 流體靜力學課件
- 顧客忠誠度論文
- 實驗室安全檢查自查表
- 證券公司績效考核管理辦法
評論
0/150
提交評論