資料匯流排d0-d7;
rd#和wd#分別是讀寫控制引腳;
cs#是片選訊號;
a1,a0是片內位址選擇引腳。
8253的三個計數通道在結構上和功能上完全一樣,每個通道均有兩個輸入引腳clk和gate,乙個輸出訊號引腳out
– 計數初值暫存器用來寄存計數初值
– 計數工作單元為16位減1計數器,它的初值是計數初值暫存器內容
– 計數單元對clk脈衝計數,每出現乙個clk脈衝,計數器減1,當減為零時,通過out輸出指示訊號表明計數單元已為零
– 作為定時器工作當計數單元為零時,計數暫存器內容會自動重新裝入計數單元,因為clk輸入是均勻的脈衝序列,所以out輸出是頻率降低了的脈衝序列(相對於clk訊號頻率)
ps:方式2、3;(因為可以重灌,2、3都是初值自動重灌,但是2是週期負脈衝,3是方波)
– 作為計數器工作只關注在clk端出現(代表事件)的脈衝個數,當clk端出現了規定個數的脈衝時,out輸出乙個脈衝訊號
ps:方式0、1、4、5都不會自動置初值,其中0,4是軟體啟動區別在於0輸出電平,4輸出負脈衝;1,5是硬體啟動區別是1輸出電平,5輸出負脈衝。
1. 將控制字寫入控制暫存器,指示8253的工作方式;
2. 將計數初值寫入計數暫存器;
3. 計數單元開始工作,對clk脈衝計數,每出現乙個clk脈衝,計數器減1;
4. 當計數單元減為零時,通過out輸出指示訊號表明計數單元已為零
寫命令字操作(out命令)
讀當前計數值操作(in命令)
晶元加電後,其工作方式是不確定的,為了正常工作,要對晶元初始化。
初始化的工作有兩點:
1. 向控制暫存器寫入方式控制字
– 選擇計數器(三個中之乙個)
– 確定工作方式(六種方式之一)
– 指定計數器計數初值的長度、裝入順序、計數值的碼制(bcd碼或二進位製碼)
2. 向已選定的計數器按方式控制字的要求寫入計數初值
工作方式命令字的格式計算公式為
:ci=clk/out
ci計數初值,clk輸入時鐘頻率,out輸出時鐘頻率
在事件計數器的應用中,需要讀出計數過程中的計數值,以便根據這個值做計數判斷。
為此,8253內部邏輯提供了將當前計數值鎖存後讀操作功能。
具體作法是:
1. 先發一條鎖存命令(即方式控制字中的rl1rl0=00),將當前計數值鎖存到輸出計數器;
2. 執行讀操作,得到鎖存器的內容。
8253作為乙個可程式設計計數器/定時器,可以用6種工作模式,不論工作在那種模式,都遵守下面幾條基本規則:
1. 控制字寫入暫存器時,所有控制邏輯電路立即復位,輸出端out進入初始狀態;
2. 初值寫入後,要經過乙個時鐘上公升沿和乙個下降沿,計數執行部件才開始進行計數;
3. 通常在時鐘脈衝clk的上公升沿,門控訊號gate被取樣– 模式0,4中,門控訊號為電平觸發– 模式1,5中,門控訊號為上公升沿觸發– 模式2,3中,門控訊號為電平或上公升沿觸發(二種)
4. 在時鐘脈衝clk的下降沿,計數器作減1計數– 0是計數器所能容納的最大初始值二進位制時,0相當於2^16;bcd碼時,0相當於104
微機介面 可程式設計定時 計數器8253
資料匯流排d0 d7 rd 和wd 分別是讀寫控制引腳 cs 是片選訊號 a1,a0是片內位址選擇引腳。8253的三個計數通道在結構上和功能上完全一樣,每個通道均有兩個輸入引腳clk和gate,乙個輸出訊號引腳out 計數初值暫存器用來寄存計數初值 計數工作單元為16位減1計數器,它的初值是計數初值...
可程式設計定時 計數器應用實驗
了解定時器 計數器 8253 的原理,掌握編制定時器 計數器程式設計方法。設計連線和程式,以1mhz的訊號為時鐘訊號,利用 8253 產生1s的定時控制發光二極體變化。使用者時鐘的1mhz輸出接 8253 的clk1。8253 的gate1接 5v 在實驗箱的左上角和右上角 8253out1接 82...
微機實驗系列 可程式設計定時 計數器與中斷控制
照例先借下關鍵字們 pku 微機實驗 實驗報告 8253 下面是正文啦 這一課主要講了時鐘和中斷。講時鐘的話非常可以理解,乙個系統要正常工作必須要有乙個統一的時鐘,所以說時鐘在系統中應該是必須的。講了晶元8253,這塊神奇的晶元要有輸入波形,可以計數或者分頻,反正還是挺酷炫的2333輸入的in是在實...