微機系統(tǒng)與接口課件:Ch5_3第五章 數(shù)字量輸入輸出(3)_第1頁
微機系統(tǒng)與接口課件:Ch5_3第五章 數(shù)字量輸入輸出(3)_第2頁
微機系統(tǒng)與接口課件:Ch5_3第五章 數(shù)字量輸入輸出(3)_第3頁
微機系統(tǒng)與接口課件:Ch5_3第五章 數(shù)字量輸入輸出(3)_第4頁
微機系統(tǒng)與接口課件:Ch5_3第五章 數(shù)字量輸入輸出(3)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章 數(shù)字量輸入輸出(3)*概念:總線、接口電路、接口芯片、端口地址 *中斷及其處理 中斷控制器8259 *定時器/計數(shù)器*并行/串行 DMA電路與應用1計數(shù)器和定時器電路( Timers & Counters)背景為CPU和外部設備提供實時時鐘: 定時或延時控制(定時中斷、定時檢測、定 時掃描)Timer 對外部事件計數(shù)Counter。定時/延時控制實現(xiàn)方法 (1) 軟件定時; (2) 硬件定時(不可編程型;可編程型)。2 軟件定時:處理器執(zhí)行若干條指令(循環(huán))時間之和。但要占用大量CPU時間,降低CPU的利用率。 不可編程定時/計數(shù)電路簡單,但無法軟件控制和改變=計算機應用: 可編程的定

2、時器電路(定時值和定時范圍可方便地由軟件來確定和改變 )計數(shù)器和定時器電路( Timers & Counters)3可編程的定時器電路Programmable Interval Timer以均勻分布的時間間隔中斷分時操作系統(tǒng),以便切換程序(輸出脈沖事件);向IO設備輸出精確的定時信號,信號的周期可由程序控制; 用來作為可編程速率(波特率)發(fā)生器(可變速率); 檢測外部事件發(fā)生的頻率或周期;統(tǒng)計外部實驗過程中某一事件發(fā)生的次數(shù),并可將計數(shù)結(jié)果輸入計算機(計數(shù));在定時或計數(shù)達到編程規(guī)定的值以后,向外部輸出(向CPU申請中斷)。典型芯片 i82(C)53/8254 用 途 4典型T/C框圖 定時:

3、標準頻率CLK/計數(shù) 累加或遞減 例 減法CNTER:先計數(shù)值預置計數(shù)值寄存器減法計數(shù)器,計數(shù)脈沖經(jīng)CLK輸入端時使計數(shù)器進行減法計數(shù)。計數(shù)器的當前內(nèi)容-計數(shù)器輸出寄存器CPU不會干擾計數(shù)過程(緩沖)。計數(shù)值=零的狀態(tài)OUT引腳和狀態(tài)寄存器的某一位(查詢式I/O或中斷式IO來檢測零值狀態(tài))。有到零停計/不停兩種。 可硬件( GATE輸入端)或軟件控制定時計數(shù)器的動作。定時計數(shù)器基本工作原理對輸入CLK信號(脈沖)加法或減法計數(shù)定時/計數(shù)脈沖門控信號輸出信號5可編程定時器計數(shù)器i8253 (P265) (PITProgrammable Interval Timer)i8253TopView計數(shù)頻

4、率2.6MHz6可編程定時器計數(shù)器i825324P DIP +5V。三個完全獨立的計數(shù)器02(16Bit),每個計數(shù)器可單獨作為定時計數(shù)器用。- 2.6MHz,內(nèi)部結(jié)構(gòu)框圖/引腳P265D0D7-數(shù)據(jù)總線緩沖器:三態(tài)(/CS選中)、雙向的8位緩沖器(連接系統(tǒng)數(shù)據(jù)總線),CPU IO時緩沖器發(fā)送或接收數(shù)據(jù)(與/WR/ /RD配合:讀/寫邏輯)。A0、A1譯碼(/CS選中后)-00、01、10計數(shù)器0、1、2 -11控制字寄存器(三個計數(shù)器共用、只讀):控制每個計數(shù)器的工作方式,二進制或二十進制計數(shù)方式及向每個計數(shù)器裝入數(shù)據(jù)。 GATE(02):=電平0-禁止/1-允許計數(shù)(邊沿正跳變啟動:方式1

5、)OUT(02):計數(shù)器輸出,其輸出波形取決于工作方式(可作中斷源信號)。7三獨立通道16位可預置數(shù)減法計數(shù)器信號 時鐘輸入CLK和門控輸入GATE,輸出OUT)。計數(shù)器 二進制BIN(00FFFFH+1)或二十進制計數(shù)BCD(09999+1),方式選擇字控制。典型用途功能:頻率發(fā)生器、分頻器、實時時鐘、單脈沖發(fā)生器 計數(shù):裝入計數(shù)初值后,當GATE端變高電平時,可用外部事件作為CLK脈沖對計數(shù)值進行減1計數(shù)(可讀計數(shù)值)。計數(shù)值減至零時OUT端輸出信號。 定時:裝入計數(shù)初值后,當GATE端變?yōu)楦唠娖綍r,由標準CLK脈沖觸發(fā)開始自動減計數(shù),計數(shù)到零時發(fā)出OUT結(jié)束信號。8 8253/8254接

6、口電路8253/8254MPU三個計數(shù)器內(nèi)部各有一個初值寄存器和輸出鎖存器9i8253芯片初始化/編程(P267)-控制字00010000B=10H?三個通道(計數(shù)器):控制字CW或命令字: 初始化/控制。初始化控制字 CW(Control Word)格式01110111B=77H?CH1,16位,方式3,BCDCH0,低8位,方式0,BIN輔助尋址六種工作模式標明對計數(shù)器操作的類型10i8253芯片初始化/編程控制字MOV AL,10HOUT 43H,AL; CH0,低8位MOV AL,60HOUT 40H,AL ;0060H初值MOV AL,00HOUT 43H,AL;D5D4=01: 只

7、讀/寫低字節(jié); =10:只讀/寫高字節(jié) (仍按16位計數(shù)! 自動補零)D5D4=11: 分兩次讀寫寫初值:先低后高8位才算寫完,計數(shù)過程才能啟動;讀計數(shù):先低后高8位,由于計數(shù)器未停止,則可能在兩次讀之間恰好計數(shù)器變化.為避免錯誤,可在讀數(shù)前對計數(shù)器寫一個D5D4=00的控制字,將計數(shù)值鎖存到輸出鎖存器中,讀兩次后輸出鎖存器又自動隨計數(shù)器變化16位計數(shù), 計數(shù)初值(雙字節(jié),如為單字節(jié)則自動補零).MOV AL,77HOUT 43H,AL; CH1,16位讀寫MOV AL,60HOUT 41H,AL ;MOV AL,30HOUT 41H,AL; 3060H初值118253編程:六種工作模式Mod

8、e0 軟件觸發(fā),到0輸出高電平,不自動重復Mode4 軟件觸發(fā), 輸出選通信號(負脈沖)Mode1 硬(GATE)觸發(fā),單穩(wěn)輸出,不自動重復啟動Mode5 硬件觸發(fā), 輸出選通信號(負脈沖)Mode2、3 軟硬觸發(fā),自動重裝,頻率發(fā)生器/方波OUT輸出Gate控制CLK輸入控制字 CW計數(shù)初值Counter12 8253工作模式0(計數(shù)結(jié)束發(fā)中斷請求)繼續(xù)計數(shù)!控制字CW(1)計數(shù)回零時OUT高電平并保持,直至寫入新的控制字或初值。但計數(shù)器在到零后仍繼續(xù)計數(shù);GATE=1計數(shù)/=0暫停)。(2)計數(shù)過程中改變計數(shù)值:8位計數(shù)寫入新的計數(shù)值后,計數(shù)器按新值開始計數(shù);16位計數(shù)寫入第一個字節(jié)后,計

9、數(shù)器停止計數(shù),寫入第二個字節(jié)后,按新的初值計數(shù)。計數(shù)器0 低8位方式計數(shù)結(jié)束時輸出信號(可申請中斷)138253工作模式0控制減計數(shù)未完寫入新的初值:續(xù)新初值Gate控制:暫停14可編程單脈沖(可重復觸發(fā)的單穩(wěn)態(tài)觸發(fā)器)-硬件上升邊沿啟動,不自動重復。-負脈沖輸出(寬度N*Tclk)8253工作模式1(可編程單脈沖)下一脈沖下降沿延時了3個脈沖時間(N=3)158253工作模式1控制重復觸發(fā)脈沖,未計數(shù)滿重置初值(Gate有效)16頻率發(fā)生器(n分頻器)-可軟件設置, 軟硬觸發(fā),負脈沖輸出(寬度1個脈沖寬度,1*Tclk),N-1:1。自動重裝 每N個CLK信號中輸出一個寬度為CLK信號周期的

10、負脈沖8253工作模式2(P269)負脈沖輸出3T3T178253工作模式2舉例Gate:重觸發(fā)結(jié)束重置初值18方波發(fā)生器 (軟硬觸發(fā))n/2:類似于方式2,唯一不同的是,當計數(shù)到初值的一半時,輸出變?yōu)榈?,至計?shù)到零,輸出又變高,并重新開始計數(shù)。方波周期為N*Tclk自動重裝8253工作模式3(方波發(fā)生器)每個脈沖計數(shù)-2,到0自動重裝198253工作模式3舉例初值=奇數(shù)(n+1) /2高電平(n-1)/2低電平Gate=0暫停輸出立即變高,恢復后從頭計數(shù)20軟件觸發(fā)的選通信號發(fā)生器當寫入控制字后,輸出為高。寫入計數(shù)值后立即開始計數(shù)(相當于軟件啟動),當計數(shù)到零后,輸出變低,經(jīng)過一個時鐘脈沖后

11、,又變?yōu)楦唠娖?負脈沖),計數(shù)器停止計數(shù)。(只計數(shù)一次)。GATE=1時,允許計數(shù);計數(shù)過程中改變計數(shù)初值,則按新計數(shù)值重新開始計數(shù)8253工作模式4218253工作模式4舉例重置初值Gate控制22硬件觸發(fā)的選通信號發(fā)生器 寫入控制字后,輸出為高。寫入計數(shù)初值后并不立即開始計數(shù),而是由GATE信號的脈沖上升沿觸發(fā)啟動。當計數(shù)到零后時,輸出一個CLK脈沖寬度的負脈沖,輸出變高,停止計數(shù)。直至下次GATE脈沖的觸發(fā)才能計數(shù)。8253工作模式5238253工作模式5舉例Gate控制,重新計數(shù)重置初值,Gate啟動觸發(fā) 24各種工作方式的輸出波形方式 0方式 1方式 2方式 3方式 4方式 50N0

12、N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 125計數(shù)開始的時刻需要注意:處理器寫入8253的計數(shù)初值只是寫入了預置寄存器,之后到來的第一個CLK輸入脈沖(需先由低電平變高,再由高變低)才將預置寄存器的初值送到減1計數(shù)器。從第二個CLK信號的下降沿,計數(shù)器才真正開始減1計數(shù)。268253應用舉例PC/XT主板上有一片8253作計數(shù)/定時電路 (P272)CNT0 40H,方式3 日時鐘定時(18.158HZ, IRQ0, CLK=1.19MHZ N0=0000初值)CNT1 41H,方式2,DRAM刷新(15s, N0=0018)CNT2 42H, 方式3, 揚聲器發(fā)聲,

13、頻率1KHZ(OUT2 與8255 PB1相與后輸出, N0=1190)方波(頻率)控制字寄存器43HVcc脈沖CLKi8253/8254光電耦合器脈沖計數(shù):速度傳感器278253應用編程(P273)初始化編程。對8253初始化編程包括二個步驟,即寫入控制字和寫入計數(shù)值。不需要外部觸發(fā)的方式=工作。例:PC機BIOS初始化編程T=0.840336us(/1.19M)MOV AL,36H; 00110110B-CH0 方式3方波,BIN, L/H先寫低字節(jié)再寫高字節(jié),日時鐘定時OUT 43H,AL; WRT寫入控制字寄存器MOV AL,0;計數(shù)器初值OUT 40H,AL;-L-CNT寫入初值低位

14、OUT 40H,AL;-H-CNT寫入初值高位MOV AL,54H; 01010100BCH1,方式2,BIN,Only Low8bit DROUT 43H,ALMOV AL,18;XT:18-15.1usOUT 41H,AL288253應用編程(續(xù))Mov AL,0B6H;10110110BCH2,方式3,BIN,L/HOUT 43H,ALMOV AX,1190 ;揚聲器發(fā)聲,頻率1KHz, Out 42h,alMov al,ahOut 42h,al.擴大計數(shù)/定時范圍:(1)8253通道級聯(lián)(2)軟件計數(shù)(定時中斷,軟件累加或遞減)298253應用-中斷/通道級聯(lián)前級輸出OUT聯(lián)至下一級C

15、LK最大計數(shù)=65536*65536SclkCLK0OUT0CLK1OUT1Gate0Gate1Vcc周期性定時中斷:可利用方式2或3INTIRQn308253 PIT小結(jié)軟件定時器的實現(xiàn)(中斷處理程序)用8253實現(xiàn)日時鐘 8253工作在方式3下,其輸出是一個周期準確的方波,可以作為定時單位.如CLK0=1. 1931816MHz,初值為最大值65536,則計數(shù)器0輸出的方波頻率為f0= 1. 1931816MHz/65536=18.2Hz,周期為T0=54.945ms1天=2460 60 1000ms/54. 945ms=1573040(計時單位)=001800B0H;即計滿1573040個計時單位,就是1天.同理計滿65543是1個小時,計滿1092就是1分鐘,計滿18.2就是1秒鐘.具體做法: 8253的OUT0輸出連到8259的IR0上.8253輸出的方波每隔54.945ms申請一次中斷,在中斷服務程序中做雙字變量的加1操作.當?shù)妥钟嫷?5536時,向高字進位,直至高字計到0018H,低字計到00B0H, 就計到24小時. 然后

溫馨提示

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

評論

0/150

提交評論