清華大學(xué)馮博琴微機原理第7章定時計數(shù)器8253Final_第1頁
清華大學(xué)馮博琴微機原理第7章定時計數(shù)器8253Final_第2頁
清華大學(xué)馮博琴微機原理第7章定時計數(shù)器8253Final_第3頁
清華大學(xué)馮博琴微機原理第7章定時計數(shù)器8253Final_第4頁
清華大學(xué)馮博琴微機原理第7章定時計數(shù)器8253Final_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章定時計數(shù)器8253第一節(jié)8253的結(jié)構(gòu)和引腳在計算機系統(tǒng)中經(jīng)常用到定時信號,如動態(tài)存儲器刷新,系統(tǒng)時鐘,掃描等,一般定時信號可以由兩種方法獲得。1)軟件定時延時子程序,利用循環(huán),通過循環(huán)次數(shù)及循環(huán)體內(nèi)的指令周期數(shù)來計算定時時間。優(yōu)點:節(jié)省硬件,實施方便缺點:占用cpu時間,降低cpu效率2)硬件定時增加硬件開銷換取cpu的時間。硬件計時的方法:定時/計數(shù)器的核心是一個自動加1或減1的計數(shù)器11111111例:計數(shù)器為8位,設(shè)初值為1111111111111110111111011111110011111011000000100000000100000000經(jīng)過255個輸入脈沖后,計數(shù)器值減到0,產(chǎn)生一個輸出信號,表示計數(shù)結(jié)束。外部輸入的脈沖的周期是已知的,可以通過設(shè)置初值的方式?jīng)Q定定時的時間,即計數(shù)器輸出的時間;外部輸入脈沖的周期是隨機的,對外部時鐘計數(shù),將計數(shù)器的初值設(shè)為0,停止計數(shù)后查看計數(shù)器的計數(shù)值。開啟停止計數(shù)器:設(shè)置好初值后,用軟件或硬件開啟計數(shù)器進行減1計數(shù),減為0后,輸出一個信號。定時器:設(shè)置好初值后,用軟件或硬件開啟計數(shù)器進行減1計數(shù),減為0或1后,輸出一個信號,然后又自動重裝計數(shù)器的初值,繼續(xù)重復(fù)輸出,形成周期信號。從定時/計數(shù)器的內(nèi)部而言,這兩種方式?jīng)]有本質(zhì)的區(qū)別。1)概述8253具有3個獨立的16位的計數(shù)通道,使用單一的+5v電源,是一個24個引腳的雙列直插式器件(1)有3個獨立的16位計數(shù)器通道;(2)每個計數(shù)器都可以按照二進制或十進制計數(shù);(3)每個計數(shù)器的計數(shù)速率可高達2mhz;(4)每個通道有6種工作方式,可由程序設(shè)置和改變(5)所有的輸入輸出都與ttl兼容。2)內(nèi)部結(jié)構(gòu)每個計數(shù)器內(nèi)部有:8位控制寄存器:控制計數(shù)器的工作方式;16位計數(shù)初值寄存器:裝計數(shù)初值;計數(shù)執(zhí)行部件:執(zhí)行減1操作;輸出鎖存器:需要讀取當前計數(shù)值時,將當前執(zhí)行計數(shù)器中的值鎖存進該存儲器后讀取。對其寫入控制字對其寫入計數(shù)初值讀取了解當前狀態(tài)每個計數(shù)器通過3個引腳與外界聯(lián)系:clk:時鐘輸入;gate:門控輸入;out:輸出數(shù)據(jù)總線緩沖器:與cpu數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器。cpu向8253發(fā)布的命令及輸入輸出的數(shù)據(jù)都是通過這8條數(shù)據(jù)總線傳輸?shù)摹?1)cpu向8253寫入的控制字;(2)cpu向?qū)?yīng)的計數(shù)器寫入的初值;(3)cpu讀取對應(yīng)計數(shù)器的當前計數(shù)值。讀/寫邏輯寄存器:片選控制芯片是否工作;讀寫控制信號表明當前8253進行何種操作;a0,a1選擇對哪一個計數(shù)器進行操作。控制字寄存器:在初始化編程時,可分別設(shè)置3個計數(shù)器的工作方式等。計數(shù)器0-2:3個獨立的計數(shù)通道,可分別按不同的工作方式工作。每個通道對輸入脈沖clk按二進制或十進制進行減1計數(shù),減到0時,輸出端輸出一信號。若clk為已知周期的時鐘脈沖,則通過設(shè)置計數(shù)器初值可以實現(xiàn)精確定時,可以由軟件或硬件(gate)來開啟或停止計數(shù)。這些由工作方式?jīng)Q定。計數(shù)器的初值必須在開始計數(shù)之前,由cpu用輸出指令預(yù)置,在計數(shù)的過程中,cpu隨時可用輸入指令讀取當前計數(shù)值,這一操作對計數(shù)過程沒有影響。3)8253的引腳分析:一般的可編程器件都有數(shù)據(jù)線、片選線(口地址),讀寫信號線,電源及與特定功能相關(guān)的信號線(時鐘、門控、輸出)。a1,a0信號線做什么用?3個計數(shù)器相互獨立,3個計數(shù)初值寄存器,輸入的初值都不一樣。用一個片選信號不能區(qū)分3個空間,所以要用a1,a0配合片選信號對3個獨立的空間進行區(qū)分。a1a0相對于內(nèi)部尋址00計數(shù)器001計數(shù)器110計數(shù)器211控制寄存器(存儲3個計數(shù)器的工作方式)a1a0寄存器選擇和操作8253端口的選擇01000寫入計數(shù)器001001寫入計數(shù)器101010寫入計數(shù)器201011寫入控制寄存器00100讀計數(shù)器000101讀計數(shù)器100110讀計數(shù)器200111無操作1××××芯片禁止011××無操作第二節(jié)8253的工作方式1)8253控制字計數(shù)器n每個獨立的計數(shù)器都有一個控制寄存器,存放該計數(shù)器的工作方式,讀寫格式等信息。但這3個控制寄存器共用一個地址,即a1a0=11,芯片怎樣區(qū)分計算機是給哪個計數(shù)器控制器下達的命令呢?d7d6d5d4d3d2d1d0計數(shù)器00讀寫格式工作方式數(shù)制計數(shù)器001計數(shù)器110計數(shù)器211無效控制字寄存器同一地址a1a0=11d7d6d5d4d3d2d1d0計數(shù)器00讀寫格式工作方式數(shù)制計數(shù)器001計數(shù)器110計數(shù)器211無效當?shù)刂愤x中cs為0且a1a0=11時,數(shù)據(jù)線上的數(shù)據(jù)即是向控制字寄存器中寫入的指令,具體是向哪個計數(shù)器中的控制寄存器中發(fā)的指令,要看該指令的前兩位是什么數(shù)值。計數(shù)器0地址40h,計數(shù)器1地址41h,計數(shù)器2地址42h,控制器地址43h。40ha7a6a5a4a3a2a1a001000000要使用某個計數(shù)器,首先要先設(shè)置其對應(yīng)的控制器,確定工作方式,然后再輸入這個計數(shù)器的計數(shù)初值。00××××××00××××××00××××××00××××××00××××××當向43h地址中寫數(shù)據(jù)時out43h,00××××××b;設(shè)置計數(shù)器0控制器01××××××01××××××01××××××01××××××01××××××01××××××out43h,01××××××b;設(shè)置計數(shù)器1控制器out43h,10××××××b;設(shè)置計數(shù)器2控制器10××××××d7d6d5d4d3d2d1d0計數(shù)器n讀/寫格式工作方式數(shù)制d5d4說明00計數(shù)器鎖存命令,將當前計數(shù)值送入鎖存器01只讀/寫低8位,高8位自動寫010只讀/寫高8位,低8位自動寫011先讀/寫低8位,后讀/寫高8位d7d6d5d4d3d2d1d0計數(shù)器n讀/寫格式工作方式數(shù)制d3d2d1說明000方式0001方式1×10方式2×11方式3100方式4101方式5一般將×設(shè)置為0d0說明0二進制方式減1計數(shù)1十進制方式減1計數(shù)000000001111111111111110……0001000000001111……000000001001100110011000……0001000000001001……二進制十進制(bcd碼)8253的地址為04h~07h,計數(shù)器1工作在方式1,計數(shù)初值為800,計數(shù)器2工作在方式3,初值為23h,編寫程序。a7a6a5a4a3a2a1a000000100d7d6d5d4d3d2d1d0計數(shù)器n讀/寫格式工作方式數(shù)制計1:01100011計2:10010110計1:01100011計2:100101108253的地址為04h~07h,計數(shù)器1工作在方式1,計數(shù)初值為800,計數(shù)器2工作在方式3,初值為23h,編寫程序。moval,63hout07h,almoval,96hout07h,almoval,08hout05h,almoval,23hout06h,al;寫入計1控制字;寫入計2控制字;向計1寫入計數(shù)初值;向計2寫入計數(shù)初值;寫入高8位,低8為默認為02)8253的工作方式基本規(guī)則:控制字寫入計數(shù)器時,所有的控制邏輯電路立即復(fù)位,輸出端out進入初始狀態(tài)(高電平或低電平);初始值寫入后,要經(jīng)過一個時鐘上升沿和下降沿,計數(shù)執(zhí)行部件才開始計數(shù);通常,在時鐘clk的上升沿,門控gate被采樣,門控的觸發(fā)方式為邊沿或電平,邊沿觸發(fā)脈寬可用很窄,且高低電平均可(計數(shù)器內(nèi)部有個邊沿觸發(fā)器,隨時檢測),電平觸發(fā)則必須在下一個時鐘上升沿前保持高電平;在時鐘脈沖的下降沿計數(shù)器作減1計數(shù),0是計數(shù)器所能容納的最大初始值,二進制時是216,十進制時是104。(1)方式0:計數(shù)結(jié)束中斷特點:計數(shù)過程由軟件啟動,每設(shè)置一次初值,只啟動一次計數(shù)過程;寫入控制字后,out初態(tài)為低,在計數(shù)過程中一直保持為低電平,當計數(shù)器減到0時,out立即變成高電平。門控gate為1,正常計數(shù),門控為0,計數(shù)暫停,其計數(shù)值保持不變,再為1,接著前次繼續(xù)計數(shù);計數(shù)過程中,改變初值立即有效,即重新寫入初值時停止計數(shù),當寫完初值后,在clk的下降沿處,開始以新的計數(shù)初值計數(shù)。gate門控為1時,方式0的波形。門控gate對out的影響。計數(shù)暫停,保持不變改變初值對方式0的影響立即有效(2)方式1:硬件可重觸發(fā)單穩(wěn)態(tài)方式特點:計數(shù)器只能由門控脈沖gate的上升沿啟動,即計數(shù)器只能由硬件啟動,不能用軟件啟動;寫入控制字后,out初態(tài)為高電平,gate啟動后,獲得n個clk寬度的低電平,計數(shù)到零后,可再次由外部觸發(fā)啟動,不用再次送入一個計數(shù)初值;在out輸出為低期間,若gate出現(xiàn)上升沿,計數(shù)器從clk的下降沿開始重新計數(shù),out低電平的寬度變長;計數(shù)輸出期間,改變計數(shù)初值不影響本次計數(shù),只有在gate信號后才重新開始以新的計數(shù)初值計數(shù),即計數(shù)值是下次有效的。門控觸發(fā)初態(tài)為高開始計數(shù)后輸出n個clk寬度的低電平重新啟動門控gate對輸出的影響:不用重裝初值,上升沿啟動又開始新的計數(shù)。重裝初值對輸出的影響:不影響本次計數(shù),在下次gate上升沿時有效。計數(shù)值是下次有效的。(3)方式2:周期性負脈沖輸出特點:計數(shù)器既可用軟件啟動,又可用硬件啟動;寫入控制字后,out初態(tài)為高電平,裝入初值后開始計數(shù)(軟件啟動),計數(shù)到1后,輸出一個clk的低電平,接著又從n開始重復(fù)計數(shù),輸出n-1個高電平,1個低電平的周期信號;在out為高期間,若gate為0,停止計數(shù),直到gate出現(xiàn)上升沿,計數(shù)器重新開始計數(shù)輸出(硬件啟動);在out為高期間,改變計數(shù)初值,對正在進行的計數(shù)過程沒有影響,當輸出一個周期的clk脈沖后則按新的計數(shù)值開始計數(shù)。改變計數(shù)是下次有效的。方式2:不用重裝初值,輸出周期信號,n-1高電平,1個低電平。gate對輸出的影響:為低停止計數(shù),為高后又重新開始輸出周期信號。重裝初值對輸出的影響:不影響本次計數(shù),在輸出本次clk脈沖后按新的計數(shù)值開始計數(shù)。計數(shù)值是下次有效的。(4)方式3:周期性方波輸出特點:與方式2類似,輸出信號為方波,周期為n個clk。若初值n為偶數(shù),輸出n/2個clk周期高電平,n/2個clk周期低電平;若n為奇數(shù),(n+1)/2個高電平,(n-1)/2個低電平。gate為0停止計數(shù),gate上升沿重新啟動計數(shù)周期;重新寫入初值,本次out不受影響,下一周期按新值輸出。計數(shù)值下次有效。n=4,方波方式3:不用重裝初值,輸出周期信號,n為偶數(shù),n/2高電平,n/2個低電平。n為奇數(shù),(n+1)/2個高電平,(n-1)/2個低電平。gate對輸出的影響:為低輸出變高,停止計數(shù),為高后又重新開始輸出周期信號。重裝初值對輸出的影響:不影響本次計數(shù),在輸出本次半個周期后按新的計數(shù)值開始計數(shù)。計數(shù)值是下次有效的。(5)方式4:單次負脈沖輸出(軟件觸發(fā))特點:與方式0類似,特點2,3不一樣計數(shù)過程由軟件啟動,每設(shè)置一次初值,只啟動一次計數(shù)過程;寫入控制字后,out初態(tài)為高,在計數(shù)過程中一直保持為高電平,當計數(shù)器減到0時,輸出為一個周期的clk低電平,輸出接著變成高電平并一直維持。門控gate為1,正常計數(shù),門控為0,計數(shù)停止,再為1,重新從計數(shù)初值開始計數(shù);計數(shù)過程中,改變初值立即有效,即重新寫入初值時停止計數(shù),當寫完初值后,在clk的下降沿處,開始以新的計數(shù)初值計數(shù)。方式4:寫入控制字后,out初態(tài)為高,在計數(shù)過程中一直保持為高電平,當計數(shù)器減到0時,輸出為一個周期的clk低電平,輸出接著變成高電平并一直維持。gate對輸出的影響:gate為低,計數(shù)停止,為高后,重新開始計數(shù)。重裝初值對輸出的影響:改變初值立即有效。(6)方式5:單次負脈沖輸出(硬件觸發(fā))特點:與方式1類似,只是輸出電平不同計數(shù)器只能由門控脈沖gate的上升沿啟動,即計數(shù)器只能由硬件啟動,不能用軟件啟動;寫入控制字后,out初態(tài)為高電平,gate啟動后,開始減1計數(shù),計數(shù)到零后,out出現(xiàn)一個clk周期的負脈沖,又變?yōu)楦唠娖?,可以再次由外部觸發(fā)啟動,不用再次送入一個計數(shù)初值;在計數(shù)中,若gate出現(xiàn)上升沿,則計數(shù)器重新觸發(fā),即在下一個時鐘周期開始計數(shù);計數(shù)輸出期間,改變計數(shù)初值不影響本次計數(shù),只有在gate信號后才重新開始以新的計數(shù)初值計數(shù),即計數(shù)值是下次有效的。門控觸發(fā)開始計數(shù)后輸出1個clk寬度的低電平重新啟動門控gate對輸出的影響:不用重裝初值,上升沿啟動又開始新的計數(shù)。重裝初值對輸出的影響:不影響本次計數(shù),在輸出本次clk脈沖后按新的計數(shù)值開始計數(shù)。計數(shù)值是下次有效的。重裝重裝下次有效總結(jié):在6種方式中,只有方式0,在寫入控制字后out為低,其余都是out為高做初態(tài);方式1與方式5,在寫入計數(shù)值后,需gate的上升沿才開始計數(shù);方式2與方式3是定時方式(周期信號),其它為計數(shù)方式(一次計數(shù)結(jié)束);計數(shù)器減到0后并不是停止不動,在計數(shù)方式中,計數(shù)器都從最大計數(shù)值(ffffh,9999h)繼續(xù)減1計數(shù),定時方式(方式2與方式3)為重裝計數(shù)初值。第三節(jié)8253應(yīng)用舉例初始化編程的具體步驟為:1.

寫入計數(shù)器的控制字,規(guī)定其工作方式2.

寫入計數(shù)初值。若規(guī)定只寫低8位,則寫入的為計數(shù)值的低8位,高8位自動置0;若規(guī)定只寫高8位,則寫入的是計數(shù)值的高8位,低8位自動置0;若規(guī)定寫16位計數(shù)值,則分兩次寫入,先寫的是低8位,后寫的是高8位。

例1:某微機系統(tǒng)中8253的端口地址為40h~43h,要求計數(shù)器0工作在方式0,計數(shù)初值為ffh,按二進制計數(shù);計數(shù)器1工作在方式2,計數(shù)初值為1000,按bcd碼計數(shù)。試寫出初始化程序段。

1.按要求找出所用計數(shù)器的控制字計數(shù)器0的控制字(10h)

選計數(shù)器0只寫低8位

選工作方式0二進制計數(shù)計數(shù)器1的控制字(65h)

選計數(shù)器1只寫高8位選工作方式2bcd計數(shù)

例1:0110010100010000例1:2.初始化程序段moval,10h;寫通道0控制字out43h,almoval,0ffh;寫通道0計數(shù)初值out40h,almoval,65h;寫通道1控制字out43h,almoval,10h;寫通道1計數(shù)初值out41h,al例2:

設(shè)8253端口地址為fff0h~fff3h,要求計數(shù)器2工作在方式5,二進制計數(shù),初值為f03fh。試按上述要求完成8253的初始化。1.控制字(0bah)

選計數(shù)器2寫低8位

選工作方式5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論