時間間隔定時器82C53_第1頁
時間間隔定時器82C53_第2頁
時間間隔定時器82C53_第3頁
時間間隔定時器82C53_第4頁
時間間隔定時器82C53_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

9.2可編程時間間隔定時器芯片82C5382C53是一種實現定時和計數功能的外圍電路,擁有3個獨立的16位計數器,每個計數器都可通過程序設計的方法設定為實現定時功能的各種操作方式。可編程時間間隔定時器芯片82C53有以下幾個特點:與所有Intel系列微處理器兼容可以處理從2.6MHz范圍的輸入頻率信號3個獨立的16位的計數器最大計數范圍為0~655356種可編程的計數模式狀態讀返回命令以二進制或BCD計數與TTL完全兼容

5V供電電壓低功耗的CHMOS工作溫度范圍:

C82C53 0C~+70CI82C53-40C~+85CM82C53-55C~+125C

9.2.1

82C53/54內部結構

82C53/54的內部結構如圖9-12所示,該芯片內部由數據總線緩沖器、控制寄存器、讀/寫控制邏輯以及計數器等組成

82C53內部結構

一、數據總線緩沖器

該緩沖器為8位雙向三態的緩沖器,可直接掛在數據總線上。通過它,一方面可以向控制寄存器寫入控制字,向計數器寫入計數初值;另一方面也可由CPU通過該緩沖器讀取計數器的當前計數值二、讀/寫控制邏輯讀/寫邏輯的功能是接收來自CPU的控制信號,包括讀信號、寫信號、片選信號和芯片內部寄存器的尋址信號A1、A0,并完成對82C53各計數器的讀/寫操作82C53內部結構三、控制字寄存器

接收來自CPU的控制字,并由控制字D7、D6位的編碼決定該控制字寫入哪一個計數器的控制寄存器中

四、計數器

82C53有3個獨立的計數器通道,每個通道的結構完全相同,如圖9-13所示。每一個通道有一個16位減法計數器,還有對應的16位初值寄存器和輸出鎖存器。計數開始前寫入的計數初值存于初值寄存器;計數過程中,減法計數器的值不斷遞減,而初值寄存器中的初值不變。輸出鎖存器則用于寫入鎖存命令時鎖定當前計數值

82C53每個計數器的內部邏輯圖9.2.282C53的引腳信號

82C53有24條引腳,雙列直插式封裝,如圖9-14所示一、與CPU一側的接口信號

D0~D7,三態雙向數據線。與CPU數據總線相連,用于傳遞CPU與82C53之間的數據信息、控制信息和狀態信息82C54的引腳信號片選信號,輸入,低電平有效。有效時,表示82C53被選中,允許CPU對其進行讀/寫操作。通常連接到I/O端口地址譯碼電路的輸出端,寫信號,輸入,低電平有效。用于控制CPU對82C53的寫操作,可與A1、A0信號配合以決定是寫入控制字還是計數初值,讀信號,輸入,低電平有效。用于控制CPU對82C53的讀操作,可與A1、A0信號配合讀取某個計數器的當前計數值

A1

、A0,地址輸入線。用于尋址82C53內部的4個端口,即3個計數器和一個控制字。一般與CPU低位的地址線相連,82C53的讀/寫操作邏輯如表9-3所示

82C54的引腳信號表9-282C53讀/寫操作邏輯A1

A0

操作功能

01000計數初值裝入計數器0

01001計數初值裝入計數器101010計數初值裝入計數器201011寫控制寄存器

00100讀計數器000101讀計數器100110讀計數器282C53的引腳信號二、與外部設備的接口信號CLK[0,1,2],時鐘脈沖輸入端,用于輸入定時脈沖或計數脈沖信號。CLK可以是系統時鐘脈沖,也可以由其他脈沖源提供GATE[0,1,2],門控輸入端,用于外部控制計數器的啟動計數和停止計數的操作。兩個或兩個以上計數器連用時,可用此信號來同步,也可用于與外部某信號的同步OUT[0,1,2,],計數輸出端。在不同方式的計數過程中,OUT引腳上輸出相應的信號

9.2.382C53的控制字一、82C53的方式控制字

82C53的方式控制字有4個主要功能:

從3個計數器中選擇一個

確定計數器數據的讀寫格式確定計數器的工作方式選擇計數器的計數方式方式控制字的格式如圖9-15所示,其中,X表示沒有使用位,通常設置為0

82C53的控制字格式82C54的控制字計數器選擇(D7D6)

決定這個控制字是哪一個通道的控制字。由于3個通道的工作是完全獨立的,所以需要有3個控制字寄存器分別規定相應通道的工作方式。但它們的地址是同一個,即A1A0=11(控制字寄存器的地址)。所以,需要由這2位來決定是哪一個通道的控制字讀/寫格式(D5D4)

CPU向計數通道寫入初值和讀取它們的當前狀態時,有幾種不同的格式若低8位計數,則令D5D4=01,只寫低8位,高8位自動置0;若高8位計數,則令D5D4=10,只寫高8位,低8位自動為0;若16位計數,則令D5D4=11,先寫入低8位,后寫入高8位;令D5D4=00,則把當前計數器中的值鎖存到輸出寄存器中,以便讀取82C53的控制字工作方式(D3D2D1)82C53的每個通道可以有6種不同的工作方式,由D3D2D1

三位決定,具體情況在9.2.4節中詳細介紹數制選擇(D0)

82C53的每個通道都有兩種計數制:二進制和二—十進制(BCD碼),由D0位決定。在二進制時,寫入初值的范圍為0000H~FFFFH,其中0000H是最大值,表示65536。在二—十進制時,寫入初值范圍為0000~9999,其中0000表示最大值l0000。因為計數器是先減1,再判斷是否為0,所以寫入0實際代表最大計數值82C53的控制字例【9-3】選用計數器0計數,計數值為1000,分別用二進制和二—十進制(BCD)方式計數,用方式3計數,假設系統安排82C54計數器0、1、2和控制端口的地址分別為:220H、221H、222H和223H,試對計數器0編程初始化MOVDX,223HMOVAL,00110110H;二進制方式計數OUTDX,AL;送計數方式控制字MOVDX,220HMOVAX,1000;十進制數1000送給AXOUTDX,AL;先送低8位MOVAL,AHOUTDX,AL;后送高8位

82C53的編程邏輯二、82C53的編程邏輯

當初始化82C53某個計數通道時,首先把相應的方式控制字寫入到控制字寄存器中,再根據控制字中數據讀/寫格式(D5D4)位的規定,寫入計數初值到對應的計數通道。82C53工作過程中,任一通道的計數值,CPU可用輸入指令讀取。CPU讀到的是執行輸入指令瞬間計數器的當前值,但82C53的計數器是16位的,所以要分2次讀至CPU,因此,若不鎖存的話,在前后兩次執行輸入指令的過程中,計數值可能已經發生變化了

82C53的編程邏輯鎖存當前計數值有下面3種方法:

利用GATE信號使計數過程暫停向82C53寫入一個方式控制字,令82C53通道的輸出鎖存器鎖存。82C53的每個通道都有一個16位輸出鎖存器,平時它的值隨著通道計數器的值變化。當向通道寫入鎖存的控制字時,它把計數器的當前值鎖存(計數器可繼續計數),于是CPU讀取的就是輸出鎖存器的值。當對計數器重新編程,或讀取計數值后,自動解除鎖存狀態,它的值又隨減法計數器變化寫讀回命令鎖存

82C53的編程邏輯82C53的編程邏輯82C53的另一種工作方式,稱為讀回方式。這種工作方式允許程序用一條命令就可鎖存全部3個計數器的當前計數值和狀態信息。讀回命令的格式如圖9-16所示,讀回命令時控制字寄存器中的D6和D7位均為1。其中,使D1位(CNT0)、D2位(CNTl)和D3位(CNT2)分別對應3計數器,為1選中計數器,為0不選中計數器,D4位為0,表示將鎖存狀態信息,D5位為0表示將鎖存計數值。這樣,3個計數器的當前計數值和狀態信息就可以同時鎖存,以便分時讀出

9.2.482C54的六種工作方式82C53的每一個計數器都可以按照控制字的規定有6種不同的工作方式。下面結合時序波形圖介紹各種工作方式的計數過程

一、方式0(計數結束中斷方式)時序如圖9-17

計數過程

當寫入方式0控制字后,OUT立即變為低電平,并且在計數過程中一直維持低電平。若GATE=1,寫入初值后,CLK第1個下降沿到,計數值裝入計數器,隨后每一個CLK脈沖下降沿到,計數器減1。計數器減到零時,OUT輸出變為高電平,并且一直保持到該通道重新裝入計數值或重新設置工作方式為止

GATE信號的影響

門控信號GATE可以用來控制計數過程,GATE為低電平時暫停計數,當GATE重新為高電平時又恢復計數新的初值對計數過程的影響方式0是寫一次計數值,只計數一遍,計數器不會自動重裝初值重新開始計數。如果在計數過程中寫入新的計數初值,則在寫入新值后的下一個時鐘下降沿計數器將按新的初值計數,即新的初值是立即有效的方式0方式0波形圖

方式0波形圖

備注:下面的約定適用于所有的工作方式波形圖:計數器編程采用二進制方式,只對低字節操作(LSB);計數器的片選信號一直處于低電平;CW表示控制字(ControlWord);CW=10表示10H寫入計數器;LSB表示計數器的低字節;圖下的數字表示計數值:上面的數是高字節,下面的數是低字節;N表示一個不確定的計數值

二、方式1(可編程單穩態觸發器)

方式1的時序如圖9-18所示。這種方式由外部門控信號GATE上升沿觸發,產生一單拍負脈沖信號,脈沖寬度由計數初值決定計數過程寫入控制字后,OUT輸出為高電平。寫入計數初值之后,計數器并不立即開始計數,而要等到GATE上升沿后的下一個CLK輸入脈沖的下降沿,OUT輸出變低,計數才開始。結束時,OUT輸出變高,從而產生一個寬度為N個CLK周期的負脈沖

二、方式1GATE信號的影響方式1中,GATE信號的作用可從兩個方面進行說明第一,在計數結束后,若再來一個GATE信號上升沿,則下一個時鐘周期的下降沿又從初值開始計數,而不需要重新寫入初值,即門控信號可重新觸發計數第二,在計數過程中,若再來一個門控信號的上升沿,也在下一個時鐘下降沿從初值起重新計數,即終止原來的計數過程,開始新的一輪計數新的初值對計數過程的影響

如果在計數過程中寫入新的初值,不會立即影響計數過程,只有下一個門控信號到來后的第一個時鐘下降沿,才終止原來的計數過程,按新值開始計數。即新的初值下次有效方式1波形圖

方式1波形圖

三、方式2

(脈沖波發生器、分頻器)

方式2的工作波形如圖9-19所示。這種方式的功能如同一個N分頻計數器,輸出是輸入時鐘按照計數值N分頻后的一個連續脈沖計數過程寫入控制字后的第一個CLK時鐘上升沿,輸出端OUT變成高電平。若GATE=1,寫入計數初值后的第一個時鐘下降沿開始減1計數

三、方式2

減到1時,輸出端OUT變為低電平,減到0時,輸出OUT又變成高電平,同時從初值開始新的計數過程。因此,方式2能自動重裝初值,輸出固定頻率的脈沖,也稱之為分頻器GATE信號的影響

方式2中,GATE信號為低電平時終止計數,而由低電平恢復為高電平后的第一個時鐘下降沿重新從初值開始計數。由此可見,GATE一直維持高電平時,計數器為一個N分頻器

新的初值對計數過程的影響如果在計數過程中寫入新的初值,且GATE信號一直維持高電平,則新的初值不會立即影響當前的計數過程,但在計數結束后的下一個計數周期將按新的初值計數,即新的初值下次有效方式2波形圖

方式2波形圖

四、方式3

(方波發生器)方式3的工作波形如圖9-20所示

方式3波形圖四、方式3計數過程

方式3的計數過程按計數初值的不同分為兩種情況:(1)計數初值為偶數寫入控制字后的第一個時鐘上升沿,輸出端OUT變成高電平。若GATE=1,寫入計數初值后的第一個時鐘下降沿開始減1計數。減到N/2時,輸出端OUT變為低電平;減到0時,輸出端OUT又變成高電平,并重新從初值開始新的計數過程。可見,輸出端OUT的波形是連續的方波,故稱方波發生器(2)計數初值為奇數寫入控制字后的時鐘上升沿,輸出端OUT變成高電平。若GATE=1,寫入計數初值后的第一個時鐘下降沿開始減1計數,減到(N+1)/2以后,輸出端OUT變為低電平;減到0時,輸出端OUT又變成高電平,并重新從初值開始新的計數。這時輸出的波形為連續的近似方波

四、方式3GATE信號的影響

GATE=l,允許計數,GATE=0,禁止計數;如果在輸出端OUT為低電平期間,GATE變低,則OUT將立即變高,并停止計數。當GATE變高以后,計數器重新裝入初值并重新開始計數新的初值對計數過程的影響如果在計數過程中寫入新的初值,而GATE信號一直維持高電平,則新的初值不會立即影響當前的計數過程,只有在計數結束后的下一個計數周期,才按新的初值計數。若寫入新的初值后,遇到門控信號的上升沿,則終止現行計數過程,從下一個時鐘下降沿開始按新的初值進行計數

五、方式4(軟件觸發選通方式)計數過程寫入方式控制字后,OUT輸出高電平若GATE=1,寫入初值后的下一個CLK脈沖開始減1計數,計數到達0值(注意:不是減到1),OUT輸出為低電平,持續一個CLK脈沖周期后再恢復到高電平門控信號的影響GATE=1時,允許計數;GATE信號變低,禁止計數,輸出維持當時的電平。這種方式依賴于裝入計數值觸發工作,因此,稱為軟件觸發選通方式

新的初值對計數過程的影響在計數過程中改變計數值,則在寫入新值后的下一個時鐘下降沿計數器將按新的初值計數,即新值是立即有效的方式4波形圖方式4波形圖六、方式5(硬件觸發選通方式)計數過程寫入控制字后,輸出OUT即為高電平。寫入計數初值后,計數器并不立即開始計數,而是由門控脈沖的上升沿觸發。計數結束(計數器減到0),輸出一個持續時間為一個CLK時鐘周期的負脈沖,然后輸出恢復為高電平。直到GATE信號再次觸發。

輸出負脈沖可以用作選通脈沖,它是通過硬件電路產生的門控信號上升沿觸發得到的,所以叫硬件觸發選通方式六、方式5門控信號的影響

若在計數過程中,又有一個門控信號的上升沿,則立即終止當前的計數過程,且在下一個時鐘下降沿,又從初值開始計數,如果計數過程結束后,來一個門控上升沿,計數器也會在下一個時鐘的下降沿,又從初值開始減1計數,即門控信號的上升沿任何時候到來,都會立即觸發一個計數過程新的初值對計數過程的影響如果在計數過程中寫入新的初值,則新的初值不會立即影響當前的計數過程,只有到下一個門控信號上升沿到來后,才從新的初值開始減1計數。即新的計數初值在下一個門控信號上升沿觸發后有效方式5波形圖五、82C53應用舉例例【9-4】設一片82C53接在系統中,如圖9-23所示。計數器0、1、2及控制口地址分別為320H、321H、322H以及323H,用計數器0與計數器1級聯定時,在OUT1輸出對稱方波,使LED點亮0.5S,熄燈0.5S,周而復始,試對計數器0和計數器1初始化編程

分析:由于CLK0輸入f=1MHz,所以周期t0=1μs,而定時時間間隔為1S,那么計數初始值:1000m

溫馨提示

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

評論

0/150

提交評論