




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第九章第九章 可編程計數可編程計數/定時器定時器825329.1 可編程計數可編程計數/定時控制器定時控制器8253定時控制在微機系統中極為重要定時控制在微機系統中極為重要 定時器定時器由數字電路中的計數電路構成,通過記錄高精度晶由數字電路中的計數電路構成,通過記錄高精度晶振脈沖信號的個數,輸出準確的時間間隔振脈沖信號的個數,輸出準確的時間間隔 計數電路記錄外設提供的具有一定隨機性的脈沖信號時,計數電路記錄外設提供的具有一定隨機性的脈沖信號時,主要反映脈沖的個數(進而獲知外設的某種狀態)主要反映脈沖的個數(進而獲知外設的某種狀態),又稱又稱為為計數器計數器。定時功能的實現方法定時功能的實現方
2、法 軟件延時軟件延時利用微處理器執行一個延時程序段實現利用微處理器執行一個延時程序段實現。 不可編程的硬件定時不可編程的硬件定時采用分頻器、單穩電路或簡易定采用分頻器、單穩電路或簡易定時電路控制定時時間時電路控制定時時間。 可編程的硬件定時可編程的硬件定時軟件硬件相結合、用可編程定時器軟件硬件相結合、用可編程定時器芯片構成一個方便靈活的定時電路芯片構成一個方便靈活的定時電路。38253定時計數器定時計數器 8253可與可與8086/8088CPU相連構成完整的相連構成完整的定時定時、計數計數或或脈脈沖發生器沖發生器系統。系統。 3個獨立的個獨立的16位計數器通道位計數器通道 每個計數器有每個計
3、數器有6種工作方式種工作方式 按二進制或十進制(按二進制或十進制(BCD碼)計數碼)計數8254是是8253的改進型的改進型49.28253的內部結構和引腳的內部結構和引腳D7D0計數器0控制字寄存器計數器1計數器2內部數據總線數據總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT251. 數據總線緩沖存儲器數據總線緩沖存儲器是是8253與與CPU之間的數據接口,由之間的數據接口,由8位雙向三態緩沖存儲器構位雙向三態緩沖存儲器構成,是成,是CPU與與8253之間交換信息的必經之路。之間交換信息的必經之路。2. 讀讀/寫控制電路
4、寫控制電路接收接收CPU送入的讀送入的讀/寫控制信號,并完成對芯片內部各功能部件寫控制信號,并完成對芯片內部各功能部件的控制功能,因此,它實際上是的控制功能,因此,它實際上是8253芯片內部的控制器。芯片內部的控制器。 可接收的控制信號如下: (1) A1A0端口選擇信號端口選擇信號,接受接受CPU送來的地址信號送來的地址信號。8253內內部有部有3個獨立的通道和一個控制字寄存器個獨立的通道和一個控制字寄存器,它們構成,它們構成8253芯片的芯片的4個端個端口口,CPU可對可對3個通道進行讀個通道進行讀/寫操作,對控制字寄存器進行寫操作。寫操作,對控制字寄存器進行寫操作。這這4個端口地址由最低
5、個端口地址由最低2位地址碼位地址碼A1A0來選擇。來選擇。A1A0 = 00 通道0A1A0 = 01 通道1A1A0 = 10 通道2A1A0 = 11 控制字寄存器6(2) CS*片選信號片選信號,輸入,低電平有效,通常由端口地址的高位,輸入,低電平有效,通常由端口地址的高位地址譯碼形成。地址譯碼形成。 (3) RD*、WR*讀讀/寫控制命令寫控制命令,輸入,低電平有效。,輸入,低電平有效。RD*有有效時,效時,CPU讀取由讀取由A1A0所選定的通道內計數器的內容。所選定的通道內計數器的內容。WR*有效時,有效時,CPU將計數值寫入各個通道的計數器中,或者是將方式控制字寫入將計數值寫入各個
6、通道的計數器中,或者是將方式控制字寫入控制字寄存器中。控制字寄存器中。 0 1 0 0 1 0 0 00 00 1 0 0 1 0 0 10 10 1 0 0 1 0 1 01 00 1 0 0 1 0 1 11 10 0 1 0 0 1 0 00 00 0 1 0 0 1 0 10 10 0 1 0 0 1 1 01 0功功 能能對計數器對計數器0 0設置計數初值設置計數初值CSCSRDRDA A1 1A A0 0WRWR對計數器對計數器1 1設置計數初值設置計數初值對計數器對計數器2 2設置計數初值設置計數初值設置控制字設置控制字從計數器從計數器0 0讀出計數值讀出計數值從計數器從計數器1
7、 1讀出計數值讀出計數值從計數器從計數器2 2讀出計數值讀出計數值7采用二進制計數時,最大計數值是采用二進制計數時,最大計數值是FFFFH采用采用BCD碼計數時,最大計數值是碼計數時,最大計數值是9999每個通道內設有一個每個通道內設有一個16位計數值鎖存器,可用來鎖存計數值。位計數值鎖存器,可用來鎖存計數值。當當某通道用作計數器時某通道用作計數器時,應將要求計數的次數預置到該通道,應將要求計數的次數預置到該通道的計數器中,被計數的事件應以脈沖方式從的計數器中,被計數的事件應以脈沖方式從CLKi端輸入,端輸入,每輸入一個計數脈沖,計數器內容減每輸入一個計數脈沖,計數器內容減“1”,待計數值計到
8、,待計數值計到“0”,OUTi端將有輸出,表示計數次數到。端將有輸出,表示計數次數到。當當某通道用作定時器時某通道用作定時器時,由,由CLKi輸入一定頻率的時鐘脈沖。輸入一定頻率的時鐘脈沖。根據要求定時的時間長短確定所需的計數值,并預置到計數根據要求定時的時間長短確定所需的計數值,并預置到計數器中,每輸入一個時鐘脈沖,計數器內容減器中,每輸入一個時鐘脈沖,計數器內容減“1”,待計數值,待計數值計到計到“0”,OUTi將有輸出,表示定時時間到。將有輸出,表示定時時間到。允許從允許從CLKi輸入的時鐘頻率在輸入的時鐘頻率在12MHz范圍內范圍內。計數器計數器8 任一通道任一通道可可作計數器用或作定
9、時器用,其內部操作完全相同,作計數器用或作定時器用,其內部操作完全相同,區別在于前者是由計數脈沖進行減區別在于前者是由計數脈沖進行減“1”“1”計數,而后者是由時計數,而后者是由時鐘脈沖進行減鐘脈沖進行減“1”“1”計數計數。作計數器時,要求計數的次數可直。作計數器時,要求計數的次數可直接作為計數器的初值預置到接作為計數器的初值預置到減減“1”“1”計數器計數器中。作定時器時,中。作定時器時,計數器的初值即定時系數應根據要求定時的時間進行如下運算計數器的初值即定時系數應根據要求定時的時間進行如下運算才能得到:才能得到:定時系數n=要求定時的時間T定時定時/時鐘脈沖的周期TCLK控制字寄存器控制
10、字寄存器用來存放由用來存放由CPU寫入寫入8253的方式選擇控制字,由的方式選擇控制字,由它來定義它來定義8253中各通道的工作方式,其使用格式如下圖所示。中各通道的工作方式,其使用格式如下圖所示。98253的方式選擇控制字的方式選擇控制字108253的方式選擇控制字的方式選擇控制字-說明說明 SC1,SC0位用來選擇通道。位用來選擇通道。 RL1,RL0位用來定義對所選通道中的計數器的操作位用來定義對所選通道中的計數器的操作 RL1RL0=00時,將該通道中當前計數器的內容鎖存到鎖時,將該通道中當前計數器的內容鎖存到鎖存器中,為存器中,為CPU讀取當前計數值作準備。讀取當前計數值作準備。 R
11、L1RL0=01時,表示只讀時,表示只讀/寫計數器低字節,這是因為只寫計數器低字節,這是因為只使用計數器的低字節作計數用。使用計數器的低字節作計數用。 RL1RL0=10時,表示只讀時,表示只讀/寫計數器高字節,這是因為只寫計數器高字節,這是因為只使用計數器的高字節作計數用。使用計數器的高字節作計數用。 RL1RL0=11時,表示先讀時,表示先讀/寫計數器低字節,后讀寫計數器低字節,后讀/寫計數寫計數器高字節。器高字節。 BCD位用來定義是采用二進制計數還是十進制計數位用來定義是采用二進制計數還是十進制計數 M2M1M0位用來定義所選通道的位用來定義所選通道的6種工作方式。種工作方式。11計數
12、器結構示意圖計數器結構示意圖預置寄存器預置寄存器GATECLKOUT減減1計數器計數器輸出鎖存器輸出鎖存器n計數初值存于計數初值存于預置寄存器預置寄存器;n在計數過程中,在計數過程中,減法計數器減法計數器的值不斷遞減,而預置寄存器的值不斷遞減,而預置寄存器中的預置不變。中的預置不變。n輸出鎖存器輸出鎖存器用于寫入鎖存命令時,鎖定當前計數值用于寫入鎖存命令時,鎖定當前計數值12計數器的計數器的3個引腳個引腳l CLK時鐘輸入信號時鐘輸入信號在計數過程中,此引腳上每輸入一在計數過程中,此引腳上每輸入一個時鐘信號(下降沿),計數器的計數值減個時鐘信號(下降沿),計數器的計數值減1l GATE門控輸入
13、信號門控輸入信號控制計數器工作,可分成電平控控制計數器工作,可分成電平控制和上升沿控制兩種類型制和上升沿控制兩種類型。GATE作為各通道的門控信號,對于各種不同的工作作為各通道的門控信號,對于各種不同的工作方式,它所起的作用各不相同。在方式,它所起的作用各不相同。在8253的應用中,必須正的應用中,必須正確使用確使用GATE信號,才能保證各通道的正常操作信號,才能保證各通道的正常操作。l OUT計數器輸出信號計數器輸出信號當一次計數過程結束(計數值減當一次計數過程結束(計數值減為為0),),OUT引腳上將產生一個輸出信號引腳上將產生一個輸出信號。139.28253的工作方式的工作方式 8253
14、有有6種工作方式,由方式控制字確定種工作方式,由方式控制字確定 熟悉每種工作方式的特點才能根據實際應用問題,選擇正熟悉每種工作方式的特點才能根據實際應用問題,選擇正確的工作方式確的工作方式14方式方式0 計數結束產生中斷計數結束產生中斷l 方方式式0 0稱為稱為計數/定時到達終值時的中斷方式。l 這是典型的事件計數用法,當計數單元的內容為這是典型的事件計數用法,當計數單元的內容為0 0時,時,OUTOUT信號由低電平變為高電平。利用信號由低電平變為高電平。利用OUTOUT由低電平到高電平的由低電平到高電平的變化作為計數變化作為計數/ /定時到的中斷請求信號。定時到的中斷請求信號。l 計數計數/
15、 /定時過程:定時過程:(1 1)當向計數器)當向計數器寫完控制字寫完控制字后,輸出端后,輸出端OUTOUT就變為就變為低電平低電平。寫入計數值。寫入計數值后延遲一個時鐘周期,后延遲一個時鐘周期,開始計數開始計數,輸出端,輸出端OUTOUT在計數過程中一直保持在計數過程中一直保持低電平低電平,當計數器,當計數器減到減到0 0時,時,OUTOUT立即變成立即變成高電平高電平。(2 2)門控信號)門控信號GATEGATE為高電平時,計數器工作;當為高電平時,計數器工作;當GATEGATE變為低電平時,計變為低電平時,計數器停止工作,其計數值保持不變。如數器停止工作,其計數值保持不變。如GATEGA
16、TE再次變高,計數器繼續計再次變高,計數器繼續計數。數。(3 3)在計數工作期間,如果重新寫入新的計數值,計數器按新寫入的的)在計數工作期間,如果重新寫入新的計數值,計數器按新寫入的的計數初值重新工作計數初值重新工作。15方式方式0的幾點注意:的幾點注意:l 門控信號門控信號GATE用來控制減用來控制減“1”計數操作是否進行計數操作是否進行GATE=1時,允許減時,允許減“1”計數;計數;GATE=0時,禁止減時,禁止減“1”計數。計數。l 計數到時,計數到時,OUTi將輸出正跳變將輸出正跳變可用作中斷請求可用作中斷請求OUTi端輸出的高電平一直維持到下次再寫入計數值為端輸出的高電平一直維持到
17、下次再寫入計數值為止。止。l 任一通道工作在方式任一通道工作在方式0情況下,情況下,計數器初值一次有效,經,經過一次計數或定時后如果需要繼續完成計數或定時功能,過一次計數或定時后如果需要繼續完成計數或定時功能,必須重新寫入計數器的初值必須重新寫入計數器的初值。16方式方式0 計數結束產生中斷計數結束產生中斷GATEOUTCLK 031244方式方式0WR設設定定工工作作方方式式設設定定計計數數初初值值計計數數值值送送入入計計數數器器計計數數過過程程計計數數結結束束17方式方式0(演示)(演示)18方式0用作計數器或定時器 利用工作方式0既可完成計數功能,也可完成定時功能。 當用作計數器時,應將
18、要求計數的次數預置到計數器中,將要求計數的事件以脈沖方式從CLKi端輸入,由它對計數器進行減“1”計數,直到計數值為0,此刻OUTi輸出正跳變,表示計數次數到。 當用作定時器時,應把根據要求定時的時間和CLKi的周期計算出定時系數,預置到計數器中。從CLKi輸入的應是一定頻率的時鐘脈沖,由它對計數器進行減“1”計數,定時時間從寫入計數值開始,到計數值計到“0”為止,OUTi輸出正跳變,表示定時時間到。19方式1 可編程單脈沖發生器 什么是什么是單脈沖?4個個CLK寬度的負寬度的負脈沖脈沖CLK20方式1 可編程單脈沖發生器計數過程的啟動: 寫入計數器初值后,計數器并不立即開始工作,直到門控寫入
19、計數器初值后,計數器并不立即開始工作,直到門控信號信號GATE出現一個上升沿出現一個上升沿后后。 OUTi輸出由高電平向低電平跳變,輸出由高電平向低電平跳變,此時開始計數,此時開始計數,并在并在計數過程中一直保持低電平計數過程中一直保持低電平。形成輸出單脈沖的前沿形成輸出單脈沖的前沿。當此方式設定后此方式設定后:OUTi輸出高電平輸出高電平計數值計到“0”:OUTi輸出由低電平向高電平跳變,形成輸出單脈沖的后沿輸出由低電平向高電平跳變,形成輸出單脈沖的后沿n 由方式1所能輸出單脈沖的寬度為CLKi周期的n倍。(n為計數值為計數值)21方式方式1 可編程單脈沖發生器可編程單脈沖發生器設設定定工工
20、作作方方式式設設定定計計數數初初值值硬硬件件啟啟動動計計數數值值送送入入計計數數器器計計數數過過程程計計數數結結束束GATEOUTCLK 031244方式方式1WR22方式方式1的幾點注意:的幾點注意: 如果在減如果在減“1”“1”計數過程中,計數過程中,GATEGATE由高電平跳變為低電平,由高電平跳變為低電平,這這并不影響計數過程,仍繼續計數;,仍繼續計數;( (觸發計數開始的條件觸發計數開始的條件是是GATEGATE的上升沿的上升沿) ) 但若重新遇到但若重新遇到GATEGATE的上升沿,則的上升沿,則從初值開始重新計數,其效,其效果會使輸出的單脈沖加寬。果會使輸出的單脈沖加寬。 方式1
21、下,計數值一次有效,每輸入一次計數值,只產生一個負極性單脈沖。僅產生1個負脈沖23方式方式1(演示)(演示)24方式方式2 頻率頻率發生器(分頻器)發生器(分頻器)03124GATEOUTCLK 4方式方式2031240312403124WR25方式方式2 頻率頻率發生器(分頻器)發生器(分頻器)n 當當工作方式工作方式2設定后設定后:OUTi輸出高電平輸出高電平。n 計數過程的啟動:裝入計數值裝入計數值n后如果后如果GATE為高電平,則立即開始為高電平,則立即開始計數計數,OUTi保持為高電平不變;保持為高電平不變;n 待計數值減到待計數值減到“1”和和“0”之間之間:OUTi將輸出寬度為一
22、個將輸出寬度為一個CLKi周期的負脈沖周期的負脈沖。n 計數值為計數值為“0”時時,自動重新裝入計數初值,自動重新裝入計數初值n,實現循環,實現循環計數計數 OUTi將輸出一定頻率的負脈沖序列,其脈沖寬度固定為將輸出一定頻率的負脈沖序列,其脈沖寬度固定為一個一個CLKi周期,重復周期為周期,重復周期為CLKi周期的周期的n倍。倍。26方式方式2的幾點注意:的幾點注意: 如果在減如果在減“1”計數過程中,計數過程中,GATE變為無效變為無效(輸入輸入0電平電平),則暫停減則暫停減“1”計數,待計數,待GATE恢復有效后,從初值恢復有效后,從初值n開始開始重新計數。重新計數。 如果在操作過程中要求
23、改變輸出脈沖的速率,如果在操作過程中要求改變輸出脈沖的速率,CPU可在任可在任何時候,重新寫入新的計數值,它不會影響正在進行的減何時候,重新寫入新的計數值,它不會影響正在進行的減“1”計數過程,而是從下一個計數操作周期開始按新的計計數過程,而是從下一個計數操作周期開始按新的計數值改變輸出脈沖的速率。數值改變輸出脈沖的速率。27方式方式2(演示)(演示)28方式方式3 方波發生器方波發生器03124GATEOUTCLK 4方式方式3031240312403124WR 任一通道工作在方式任一通道工作在方式3,在,在計數值計數值n為偶數為偶數時時,則可輸出重,則可輸出重復周期為復周期為n、占空比為、
24、占空比為1 1的方波。的方波。29n 進入工作方式進入工作方式3,OUTi輸出低電平輸出低電平。裝入計數值裝入計數值n后,后,OUTi立即跳變為高電平。立即跳變為高電平。n 計數過程的啟動:計數過程的啟動:如果當前如果當前GATE為高電平,則立即開始減為高電平,則立即開始減“1”計數,計數,OUTi保持為高電平保持為高電平。若若n為偶數,則當計數值減到為偶數,則當計數值減到n/2時,時,OUTi跳變為低電跳變為低電平,一直保持到計數值為平,一直保持到計數值為“0”,系統才自動重新置入計,系統才自動重新置入計數值數值n,實現循環計數。這時,實現循環計數。這時OUTi端輸出的周期為端輸出的周期為n
25、CLKi周期,占空比為周期,占空比為1 1的方波序列;的方波序列; 若若n為奇數,則為奇數,則OUTi端輸出周期為端輸出周期為nCLKi周期,占周期,占空比為空比為(n+1)/2)/(n-1)/2)的近似方波序列。的近似方波序列。方式方式3 方波發生器方波發生器例如,計數初值為例如,計數初值為5,則在前,則在前3個時鐘周期個時鐘周期OUT為高電平,后為高電平,后2個時鐘周期個時鐘周期OUT為低電平為低電平30方式方式3的幾點注意:的幾點注意: 如果在操作過程中,如果在操作過程中,GATE變為無效,則暫停減變為無效,則暫停減“1”計數計數過程,直到過程,直到GATE再次有效,重新從初值再次有效,
26、重新從初值n開始減開始減“1”計計數。數。 如果要求改變輸出方波的速率,則如果要求改變輸出方波的速率,則CPU可在任何時候重新可在任何時候重新裝入新的計數初值裝入新的計數初值n,并從下一個計數操作周期開始改變,并從下一個計數操作周期開始改變輸出方波的速率。輸出方波的速率。31方式方式3(演示)(演示)32方式方式4 軟件觸發方式軟件觸發方式GATEOUTCLK031244方式方式42233310WR軟件觸發軟件觸發的的單次負脈沖輸出單次負脈沖輸出稱為軟件觸發,是因為計數過程是由軟件把計數初值裝入計數器來觸發的稱為軟件觸發,是因為計數過程是由軟件把計數初值裝入計數器來觸發的33方式方式4 軟件觸
27、發方式軟件觸發方式n 進入工作方式進入工作方式4:OUTi輸出高電平。輸出高電平。n 計數過程的啟動:計數過程的啟動:裝入計數值裝入計數值n后,如果后,如果GATE為高電平,則立即開始為高電平,則立即開始減減“1”計數計數。n 直到計數值減到直到計數值減到“0”:OUTi輸出寬度為一個輸出寬度為一個CLKi周期的周期的負脈沖。負脈沖。 由軟件裝入的計數值只一次有效由軟件裝入的計數值只一次有效,如果要繼續操作,必,如果要繼續操作,必須重新置入計數初值須重新置入計數初值n。 如果在操作過程中,如果在操作過程中,GATE變為無效,則停止減變為無效,則停止減“1”計計數,到數,到GATE再次有效時,重
28、新從初值開始減再次有效時,重新從初值開始減“1”計數。計數。34方式方式4的幾點注意:的幾點注意: 利用這種工作方式可以完成利用這種工作方式可以完成定時功能定時功能,定時時間從裝入,定時時間從裝入計數值計數值n開始,開始,OUTi輸出負脈沖表示定時時間到,其定輸出負脈沖表示定時時間到,其定時時間時時間=nCLK周期。周期。 這種工作方式也可完成這種工作方式也可完成計數功能計數功能,它要求計數的事件以,它要求計數的事件以脈沖的方式從脈沖的方式從CLKi輸入,將計數次數作為計數初值裝入輸入,將計數次數作為計數初值裝入后,由后,由CLKi端輸入的計數脈沖進行減端輸入的計數脈沖進行減“1”計數,直到計
29、計數,直到計數值為數值為“0”,由,由OUTi端輸出負脈沖端輸出負脈沖(表示計數次數到表示計數次數到)。當然也可利用當然也可利用OUTi向向CPU發出中斷請求。發出中斷請求。 因此工作方式因此工作方式4與工作方式與工作方式0很相似,只是方式很相似,只是方式0在在OUTi端端輸出正階躍信號、方式輸出正階躍信號、方式4在在OUTi端輸出負脈沖信號端輸出負脈沖信號。35方式方式4(演示)(演示)36方式方式5 硬件觸發方式硬件觸發方式GATEOUTCLK031244方式方式522333110WR硬件硬件觸發觸發的的單次負脈沖輸出單次負脈沖輸出稱為硬件觸發,是因為由稱為硬件觸發,是因為由GATEGAT
30、E上升沿觸發計數器開始工作的上升沿觸發計數器開始工作的37方式方式5 硬件觸發方式硬件觸發方式n 進入工作方式進入工作方式5 5:OUTi輸出高電平,輸出高電平,n 計數過程的啟動:計數過程的啟動:硬件觸發信號由硬件觸發信號由GATE端引入。端引入。因此,開始時因此,開始時GATE應應輸入為輸入為0,裝入計數初值,裝入計數初值n后,減后,減“1”計數并不工作,一定要計數并不工作,一定要等到硬件觸發信號由等到硬件觸發信號由GATE端引入一個端引入一個上升沿信號上升沿信號,減,減“1”計數才會開始計數才會開始。n 待計數值計到待計數值計到“0”:OUTi將輸出負脈沖,其寬度固定為一將輸出負脈沖,其
31、寬度固定為一個個CLKi周期,表示定時時間到或計數次數到。周期,表示定時時間到或計數次數到。 這種工作方式下,當計數值計到這種工作方式下,當計數值計到“0”后,系統將自動重新后,系統將自動重新裝入計數值裝入計數值n,但并不開始計數,一定要等到由,但并不開始計數,一定要等到由GATE端引端引入的正跳沿,才會開始進行減入的正跳沿,才會開始進行減“1”計數。計數。38方式方式5的幾點注意:的幾點注意: 這是一種完全由這是一種完全由GATE端引入的觸發信端引入的觸發信號控制下的計數號控制下的計數或定時功能或定時功能。如果由。如果由CLKi輸入的是一定頻率的時鐘輸入的是一定頻率的時鐘脈沖,那么可完成脈沖
32、,那么可完成定時功能定時功能,定時時間從,定時時間從GATE上升上升沿開始,到沿開始,到OUTi端輸出負脈沖結束。如果從端輸出負脈沖結束。如果從CLKi端端輸入的是要求計數的事件,則可完成計數功能,計數輸入的是要求計數的事件,則可完成計數功能,計數過程從過程從GATE上升沿開始,到上升沿開始,到OUTi輸出負脈沖結束。輸出負脈沖結束。 如果需要改變計數初值,如果需要改變計數初值,CPU可在任何時候用輸出指可在任何時候用輸出指令裝入新的計數初值令裝入新的計數初值m,它將不影響正在進行的操作,它將不影響正在進行的操作過程,而是到下一個計數操作周期才會按新的計數值過程,而是到下一個計數操作周期才會按
33、新的計數值進行操作。進行操作。39方式方式5(演示)(演示)40各種工作方式的輸出波形各種工作方式的輸出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 141討論:計數開始的時刻討論:計數開始的時刻u任一種方式,只有在寫入計數值后才能開始計數任一種方式,只有在寫入計數值后才能開始計數。u方式方式0、2、3、4在寫入計數值后,計數自動開始在寫入計數值后,計數自動開始。u方式方式1、5需外部觸發,才開始計數。需外部觸發,才開始計數。42計數值計數值n與輸出波形的關系與輸出波形的關系436種工作方式的
34、比較種工作方式的比較 只有方式只有方式0是在寫入控制字后是在寫入控制字后OUT為低,其它均為高為低,其它均為高 方式方式0,1,4計數初值僅一次有效,方式計數初值僅一次有效,方式2,3,5能自動重裝。能自動重裝。 一般方式一般方式0 ,1,4,5選作計數器用(輸出一個電平或一個脈選作計數器用(輸出一個電平或一個脈沖),而方式沖),而方式2 ,3選作定時器用(輸出周期脈沖或周期方波)選作定時器用(輸出周期脈沖或周期方波)448253工作過程總結工作過程總結每種工作方式的過程類似:每種工作方式的過程類似: 設定工作方式設定工作方式 設定計數初值設定計數初值 硬件啟動硬件啟動 計數初值進入減計數初值
35、進入減1計數器計數器 每輸入一個時鐘計數器減每輸入一個時鐘計數器減1的計數過程的計數過程 計數過程結束計數過程結束459.3 8253的編程的編程l 82538253加電后的工作方式不確定加電后的工作方式不確定l 82538253必須初始化編程,才能正常工作必須初始化編程,才能正常工作寫入方式控制字寫入方式控制字寫入計數初值寫入計數初值讀取計數值讀取計數值461.寫入方式控制字寫入方式控制字00:計數器鎖存 01:只讀/寫低字節10:只讀/寫高字節11:先讀/寫低字節 后讀/寫高字節0:二進制計數1:十進制計數000:方式0001:方式1010:方式2011:方式3100:方式4101:方式5
36、00:計數器001:計數器110:計數器211:非法472.寫入計數值寫入計數值 選擇二進制時選擇二進制時 計數值范圍:計數值范圍:0000HFFFFH 0000H是最大值,代表是最大值,代表65536 選擇十進制(選擇十進制(BCD碼)碼) 計數值范圍:計數值范圍:00009999 0000代表最大值代表最大值10000483.讀取計數值讀取計數值 對對8位數據線,讀取位數據線,讀取16位計數值需分兩次位計數值需分兩次 計數在不斷進行,應該將當前計數值先行鎖存,然后讀計數在不斷進行,應該將當前計數值先行鎖存,然后讀取:取: 向控制字向控制字I/O地址:給地址:給8253寫入鎖存命令寫入鎖存命
37、令 從計數器從計數器I/O地址:讀取鎖存的計數值地址:讀取鎖存的計數值讀取計數值,要注意讀寫格式和計數數制讀取計數值,要注意讀寫格式和計數數制499.4 8253計數計數/定時控制器應用定時控制器應用 例如,某例如,某8086系統中包含一片系統中包含一片8253芯片,要求芯片,要求完成如下功能:完成如下功能: 利用通道利用通道0完成對外部事件計數功能,計滿完成對外部事件計數功能,計滿100次向次向CPU發出中斷請求。發出中斷請求。 利用通道利用通道1產生頻率為產生頻率為1kHz的方波。的方波。501.利用通道0完成對外部事件計數功能,計滿100次向CPU發出中斷請求。2.利用通道1產生頻率為1
38、kHz的方波。51 8253的數據線的數據線(D7D0)固定與固定與8086 CPU的高的高8位數據線位數據線(D15D8)相連。圖中相連。圖中8253的端口地址碼的端口地址碼(A1A0)與與8086 CPU的的A2A1相連,而相連,而8086的的A0固定為固定為“1”參加高位地址參加高位地址譯碼,以形成對譯碼,以形成對8253的片選信號的片選信號CS,以保證,以保證CPU訪問訪問8253的端口地址均為奇地址。的端口地址均為奇地址。 根據圖的連接方式和對系統的要求根據圖的連接方式和對系統的要求: 通道通道0定義為工作方式定義為工作方式0,完成計數功能,其計數值為,完成計數功能,其計數值為100
39、=64H 通道通道1應定義為工作方式應定義為工作方式3,輸出頻率為,輸出頻率為1kHz的方波,的方波,從從CLK1輸入輸入2.5MHz的時鐘脈沖,的時鐘脈沖, 其重復周期為其重復周期為0.4s,而輸出方波的,而輸出方波的周期應為周期應為1ms。因此,通道。因此,通道1的計數初值應為的計數初值應為2500=09C4H。52為完成上述功能,所需要的初始化程序如下:為完成上述功能,所需要的初始化程序如下:STT: MOV DX,8253控制端口地址控制端口地址MOV AL,10H;定義通道;定義通道0工作在方式工作在方式0OUT DX,ALMOV DX,通道,通道0端口地址端口地址MOV AL,64
40、H;給通道;給通道0送計數值送計數值OUT DX,ALMOV DX,8253控制端口控制端口MOV AL,76H ;定義通道;定義通道1為方式為方式3OUT DX,ALMOV DX,通道,通道1端口端口MOV AX,09C4HOUT DX,AL ;給通道;給通道1送計數初值送計數初值MOV AL,AHOUT DX,AL53A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7D0GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7D0CS1MHz方波5V2KHz方波480s的負脈沖單脈沖8086CPU74LS138例
41、例1 1:用:用82538253產生各種定時波形。產生各種定時波形。54例1:用8253產生各種定時波形。8253基地址為310H,3通道所用時鐘脈沖頻率為1MHz。要求:(1)通道0工作于方式3,輸出頻率為2KHz的方波;(2)通道1產生寬度為480S的負脈沖;(3)通道2以硬件方式觸發,輸出單脈沖時間常數為26分析:通道0工作于方式3,控制端GATE0接+5V,時間常數N0=T定時/T時鐘=(1/2KHz)/(1/1MHz)=500;通道1工作于方式1,由控制端GATE1的正跳變觸發,OUT1輸出負脈沖的寬度由時間常數決定,單次觸發,時間常數N1= 480S /0.001ms=480;通道
42、2工作于方式5,由控制端GATE2的正跳變觸發,可連續觸發,時間常數N2=2655;通道;通道0 0初始化程序初始化程序MOV DXMOV DX,316H316HMOV ALMOV AL, 0011011100110111B BOUT DXOUT DX,ALALMOV DXMOV DX,310H310H MOV ALMOV AL,0000H HOUT DXOUT DX,ALALMOV ALMOV AL,0505H HOUT DXOUT DX,ALAL;通道;通道1 1初始化程序初始化程序MOV DXMOV DX,316H316HMOV ALMOV AL, 01110011B01110011BOUT DXOUT DX,ALALMOV DXMO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 核心聚焦2025年證券從業資格證考試內容試題及答案
- 項目管理創新思維的訓練方法試題及答案
- 證券投資實務的證券從業資格證試題及答案
- 2025年券商業務拓展策略試題及答案
- 2024年項目管理資格考試的知識點整合試題及答案
- 拆彩鋼瓦房施工方案
- 窯爐基礎工程施工方案
- 礦山作業工程施工方案
- 銀行從業資格證模擬考試的試題及答案
- 碘化鉀在農業中的應用考核試卷
- 語法專題 非謂語動詞重難點分類強化及練習答案 -2022屆高考英語總復習
- 《種樹郭橐駝傳》說課稿 統編版高中語文選擇性必修下冊
- (完整版)手機維修單
- UV真空鍍膜涂料漆膜性能參考介紹
- 浙江省消防技術規范難點問題操作技術指南(2020版)
- 曳引驅動電梯安裝施工方案
- 單基因遺傳病的分子生物學檢驗-醫學院課件
- 公務攝影拍攝技巧分享課件
- 2022-2023學年北京市大興區八年級(下)期中物理試卷含答案解析
- 2023年江蘇省南京市鼓樓區中考道德與法治一模試卷及答案解析
- 職工人事檔案目錄
評論
0/150
提交評論