8253芯片是可編程�(jì)�(shù)�/定時(shí)�。這種芯片外形引腳都是兼容性的�8253�(nèi)部有三�(gè)�(jì)�(shù)�,分別稱為計(jì)�(shù)�0、計(jì)�(shù)�1和計(jì)�(shù)�2,他們的�(jī)�(gòu)完全相同�
每�(gè)�(jì)�(shù)器的輸入和輸出都決定于設(shè)置在控制寄存�中的控制�,互相之間工作完全獨(dú)�。每�(gè)�(jì)�(shù)器通過三�(gè)引腳和外部聯(lián)�,一�(gè)為時(shí)鐘輸入端CLK,一�(gè)為門控信號輸入端GATE,另一�(gè)為輸出端OUT。每�(gè)�(jì)�(shù)器內(nèi)部有一�(gè)8位的控制寄存�,還有一�(gè)16位的�(jì)�(shù)初值寄存器CR、一�(gè)�(jì)�(shù)�(zhí)行部件CE和一�(gè)輸出鎖存器OL�
intel8253是NMOS工藝制成的可編程�(jì)�(shù)�/定時(shí)�,有幾種芯片型號,外形引腳及功能都是兼容�,只是工作的�(jì)�(shù)速率有所差異,例�8253�2.6MHz),8253-5(5MHz)
�(zhí)行部件實(shí)際上是一�(gè)16位的減法�(jì)�(shù)�,它的起始值就是初值寄存器的�,而初始值寄存器的值是通過程序�(shè)置的。輸出鎖存器的值是通過程序�(shè)置的。輸出鎖存器OL用來鎖存�(jì)�(shù)�(zhí)行部件CE的內(nèi)�,從而使CPU可以對此�(jìn)行讀操作。順便提一�,CR、CE和OL都是16位寄存器,但是也可以�8位寄存器來用�
8253具有3�(gè)�(dú)立的�(jì)�(shù)通道,采用減1�(jì)�(shù)方式。在門控信號有效時(shí),每輸入1�(gè)�(jì)�(shù)脈沖,通道�1次計(jì)�(shù)操作。當(dāng)�(jì)�(shù)脈沖是已知周期的�(shí)鐘信號時(shí),計(jì)�(shù)就成為定�(shí)�
一�8253�(nèi)部結(jié)�(gòu)
8253芯片�24條引�,封裝在雙列直插式陶瓷管殼內(nèi)�
1.�(shù)�(jù)總線緩沖�
�(shù)�(jù)總線緩沖器與系統(tǒng)總線連接�8位雙向,與CPU交換信息的通道。這是8253與CPU之間的數(shù)�(jù)接口,它�8位雙向三�(tài)緩沖存儲(chǔ)器構(gòu)�,是CPU�8253之間交換信息的必�(jīng)之路�
2.讀/寫控�
讀/寫控制分別連接系統(tǒng)的IOR#和IOW#� 由CPU控制著訪�8253的內(nèi)部通道。接收CPU送入的讀/寫控制信�� 并完成對芯片�(nèi)部各功能部件的控制功�� 因此� 它實(shí)際上�8253芯片�(nèi)部的控制�。A1A0:端口選擇信�,由CPU輸入�8253�(nèi)部有3�(gè)�(dú)立的通道,加上控制字寄存�,構(gòu)�8253芯片�4�(gè)端口,CPU可對3�(gè)通道�(jìn)行讀/寫操�3對控制字寄存器�(jìn)行寫操作� �4�(gè)端口地址�2位地址碼A1和A0來選�。如表所示�
3.通道選擇
(1) CS#——片選信�,由CPU輸入,低電平有效,通常由端口地址的高位地址譯碼形成�
(2) RD#、WR#——讀/寫控制命�,由CPU輸入� 低電平有效。RD#效時(shí),CPU讀取由A1A0所選定的通道�(nèi)�(jì)�(shù)器的�(nèi)�。WR#有效�(shí),CPU將計(jì)�(shù)值寫入各�(gè)通道的計(jì)�(shù)器中� 或者是將方式控制字寫入控制字寄存器�。CPU�8253的讀/寫操��
4.�(jì)�(shù)通道0�
每�(gè)�(jì)�(shù)通道�(nèi)�1�(gè)16位的初值寄存器、減1�(jì)�(shù)器和1�(gè)16位的(輸出)鎖存��8253�(nèi)部包�3�(gè)功能完全相同的通道,每�(gè)通道�(nèi)部設(shè)有一�(gè)16位計(jì)�(shù)�,可�(jìn)行二�(jìn)制或十�(jìn)制(BCD碼)�(jì)�(shù)。采用二�(jìn)制計(jì)�(shù)�(shí)� 寫入的初值范圍為0000H~0FFFFH,計(jì)�(shù)值是0000H,代�65536� 采用BCD碼計(jì)�(shù)�(shí),寫入的初值范圍為0000~9999,計(jì)�(shù)值是0000,代�10000。與此計(jì)�(shù)器相對應(yīng),每�(gè)通道�(nèi)�(shè)有一�(gè)16位計(jì)�(shù)值鎖存器。必要時(shí)可用來鎖存計(jì)�(shù)�。(特別說明�8253�(jì)�(shù)器的值先�1再判斷是否為0,為0就中斷了,所以初始值為0,這樣�1以后,不�0,所以為�,取決于CF�(biāo)志位�
�(dāng)某通道用作�(jì)�(shù)器時(shí),應(yīng)將要求計(jì)�(shù)的次�(shù)�(yù)置到該通道的計(jì)�(shù)器中、被�(jì)�(shù)的事件應(yīng)以脈沖方式從CLK端輸�� 每輸入一�(gè)�(jì)�(shù)脈沖,計(jì)�(shù)器內(nèi)容減�1�,待�(jì)�(shù)值計(jì)到�0”� OUT端將有輸�。表示計(jì)�(shù)次數(shù)�。當(dāng)某�(gè)通道用作定時(shí)器時(shí)� 由CLK輸入一定頻率的�(shí)鐘脈�。根�(jù)要求定時(shí)的時(shí)間長短確定所需的計(jì)�(shù)�。并�(yù)置到�(jì)�(shù)器中,每輸入一�(gè)�(shí)鐘脈�,計(jì)�(shù)器內(nèi)容減�1�� 待計(jì)�(shù)值計(jì)到�0�。OUT將有輸出,表示定�(shí)�(shí)間到。允許從CLK輸入的時(shí)鐘頻�1�2MHz范圍�(nèi)。因�,任一通道作計(jì)�(shù)器用或作定時(shí)器用,其�(nèi)部操作完全相�,區(qū)別僅在于前者是由計(jì)�(shù)脈沖�(jìn)行減�1”計(jì)�(shù)� 而后者是�(nèi)�(shí)鐘脈沖�(jìn)行減�1”計(jì)�(shù)。作�(jì)�(shù)器時(shí)� 要求�(jì)�(shù)的次�(shù)可直接作為計(jì)�(shù)器的初值預(yù)置到減�1”計(jì)�(shù)器中。作定時(shí)器時(shí)� �(jì)�(shù)器的初值即定時(shí)系數(shù)�(yīng)根據(jù)要求定時(shí)的時(shí)間�(jìn)行如下運(yùn)算才能得到:
定時(shí)系數(shù)=需要定�(shí)的時(shí)�/�(shí)鐘脈沖周�
①設(shè)置通道:向方式控制字寄存器端口寫入方式選擇控制�,用于確定要�(shè)置的通道及工作方��
②計(jì)�(shù)/定時(shí):向通道寫入�(jì)�(shù)�,啟�(dòng)�(jì)�(shù)操作�
③讀取當(dāng)前的�(jì)�(shù)值:向指定通道讀取當(dāng)前計(jì)�(shù)器值時(shí)�8253將計(jì)�(shù)器值存入鎖存器,從鎖存器向外提供當(dāng)前的�(jì)�(shù)器�,計(jì)�(shù)器則繼續(xù)作計(jì)�(shù)操作�
④計(jì)�(shù)到:�(dāng)�(jì)�(shù)器減1�0�(shí),通過引腳OUTi向外輸出“到”的脈沖信號�
�(jì)�(shù)初值輸入存放在初值寄存器�,計(jì)�(shù)開始或重裝入�(shí)被復(fù)制到�(jì)�(shù)器中�
鎖存器在非鎖存狀�(tài),其值隨�(jì)�(shù)器的變化而變化;一旦鎖存了�(jì)�(shù)器的�(dāng)前�,直到鎖存器值被讀取后才能解除鎖存狀�(tài)�
5.方式選擇控制�
8253的初始化編程就是對其工作方式的確�。具體實(shí)�(xiàn)就是�8253上電�,由CPU�8253的控制寄存器寫入一�(gè)控制�,就可以�(guī)�8253的工作方�、計(jì)�(shù)值的長度以及�(jì)�(shù)所用的�(shù)制等,另外根�(jù)要求將計(jì)�(shù)值寫�8253的相�(yīng)通道�
8253的一�(gè)方式控制字只決定一�(gè)技�(shù)通道的工作模��
二�8253的通道工作方式
8253中各通道可有6種可供選擇的工作方式� 以完成定�(shí)、計(jì)�(shù)或脈沖發(fā)生器等多種功��8253的各種工作方式如下:
1.方式0:計(jì)�(shù)�(jié)束則中斷
工作方式0被稱為計(jì)�(shù)�(jié)束中斷方�。當(dāng)任一通道被定義為工作方式0�(shí)� OUTi輸出為低電平;若門控信號GATE為高電平,當(dāng)CPU利用輸出指令向該通道寫入�(jì)�(shù)值WR#有效�(shí),OUTi仍保持低電平,然后計(jì)�(shù)器開始減�1”計(jì)�(shù)� 直到�(jì)�(shù)值為�0�,此刻OUTi將輸出由低電平向高電平跳�,可用它向CPU�(fā)出中斷請�,OUTi端輸出的高電平一直維持到下次再寫入計(jì)�(shù)值為歀�
在工作方�0情況�,門控信號GATE用來控制減�1”計(jì)�(shù)操作是否�(jìn)行。當(dāng)GATE=1�(shí),允許減�1”計(jì)�(shù);GATE=0�(shí),禁止減�1”計(jì)�(shù)� �(jì)�(shù)值將保持GATE有效�(shí)的數(shù)值不�� 待GATE重新有效�,減�1”計(jì)�(shù)繼續(xù)�(jìn)��
顯然,利用工作方�0既可完成�(jì)�(shù)功能� 也可完成定時(shí)功能。當(dāng)用作�(jì)�(shù)器時(shí),應(yīng)將要求計(jì)�(shù)的次�(shù)�(yù)置到�(jì)�(shù)器中,將要求�(jì)�(shù)的事件以脈沖方式從CLKi端輸�� 由它對計(jì)�(shù)器�(jìn)行減�1”計(jì)�(shù),直到計(jì)�(shù)值為0,此刻OUTi輸出正跳變, 表示�(jì)�(shù)次數(shù)�。當(dāng)用作定時(shí)器時(shí),應(yīng)把根�(jù)要求定時(shí)的時(shí)間和CLKi的周期計(jì)算出定時(shí)系數(shù),預(yù)置到�(jì)�(shù)器中。從CLKi,輸入的�(yīng)是一定頻率的�(shí)鐘脈�,由它對�(jì)�(shù)器�(jìn)行減�1”計(jì)�(shù)� 定時(shí)�(shí)間從寫入�(jì)�(shù)值開�,到�(jì)�(shù)值計(jì)到�0”為�,這時(shí)OUTi輸出正跳�,表示定�(shí)�(shí)間到�
有一�(diǎn)需要說�,任一通道工作在方�0情況下, �(jì)�(shù)器初值一次有�,經(jīng)過一次計(jì)�(shù)或定�(shí)后如果需要繼�(xù)完成�(jì)�(shù)或定�(shí)功能,必須重新寫入計(jì)�(shù)器的初��
2.方式1:單脈沖�(fā)生器
工作方式1被稱作可編程單脈沖發(fā)生器。�(jìn)入這種工作方式� CPU裝入�(jì)�(shù)值n后OUTi輸出高電�� 不管此時(shí)的GATE輸入是高電平還是低電�� 都不開始減�1”計(jì)�(shù),必須等到GATE由低電平向高電平跳變形成一�(gè)上升沿后,計(jì)�(shù)過程才會(huì)開始。與此同�(shí),OUTi輸出由高電平向低電平跳變,形成了輸出單脈沖的前沿,待�(jì)�(shù)值計(jì)到�0�� OUTi輸出由低電平向高電平跳變,形成輸出單脈沖的后�� 因此,由方式l所能輸出單脈沖的寬度為CLKi周期的n倍�
如果在減�1”計(jì)�(shù)過程�� GATE由高電平跳變?yōu)榈碗�?,這并不影響計(jì)�(shù)過程,仍繼續(xù)�(jì)�(shù);但若重新遇到GATE的上升沿,則從初值開始重新計(jì)�(shù)� 其效果會(huì)使輸出的單脈沖加�,如教材�9-22(b)中的�2�(gè)單脈沖�
這種工作方式�,計(jì)�(shù)值也是一次有效,每輸入一次計(jì)�(shù)�,只�(chǎn)生一�(gè)�(fù)極性單脈沖�
3.方式2:速率波發(fā)生器
工作方式2被稱作速率波發(fā)生器。�(jìn)入這種工作方式� OUTi輸出高電�,裝入計(jì)�(shù)值n后如果GATE為高電平,則立即開始�(jì)�(shù),OUTi保持為高電平不變� 待計(jì)�(shù)值減到�1”和�0”之�� OUTi將輸出寬度為一�(gè)CLKi周期的負(fù)脈沖,計(jì)�(shù)值為�0”時(shí),自�(dòng)重新裝入�(jì)�(shù)初值n,實(shí)�(xiàn)循環(huán)�(jì)�(shù),OUTi將輸出一定頻率的�(fù)脈沖序列� 其脈沖寬度固定為一�(gè)CLKi周期� 重復(fù)周期為CLKi周期的n倍�
如果在減�1”計(jì)�(shù)過程�,GATE�?yōu)闊o效(輸入0電平�,則暫停減�1”計(jì)�(shù),待GATE恢復(fù)有效�,從初值n開始重新�(jì)�(shù)。這樣�(huì)改變輸出脈沖的速率�
如果在操作過程中要求改變輸出脈沖的速率,CPU可在任何�(shí)�,重新寫入新的計(jì)�(shù)�� 它不�(huì)影響正在�(jìn)行的減�1”計(jì)�(shù)過程,而是從下一�(gè)�(jì)�(shù)操作用期開始按新的計(jì)�(shù)值改變輸出脈沖的速率�
4.方式3:方波發(fā)生器
工作方式3被稱作方波發(fā)生器。任一通道工作在方�3� 只在�(jì)�(shù)值n為偶�(shù),則可輸出重�(fù)周期為n、占空比�1�1的方��
�(jìn)入工作方�3,OUTi輸出低電�� 裝入�(jì)�(shù)值后,OUTi立即跳變?yōu)楦唠�?。如�?dāng)GATE為高電平� 則立即開始減�1”計(jì)�(shù),OUTi保持為高電平,若n為偶�(shù),則�(dāng)�(jì)�(shù)值減到n/2�(shí),OUTi跳變?yōu)榈碗娖剑恢北3值接?jì)�(shù)值為�0�,系�(tǒng)才自�(dòng)重新置入�(jì)�(shù)值n,實(shí)�(xiàn)循環(huán)�(jì)�(shù)。這時(shí)OUTi端輸出的周期為n×CLKi周期,占空比�1:1的方波序�� 若n為奇�(shù)� 則OUTi端輸出周期為n×CLKi周期,占空比�((n+1)/2)/((n-1)/2)的近似方波序��
如果在操作過程中� GATE�?yōu)闊o�,則暫停減�1”計(jì)�(shù)過程,直到GATE再次有效,重新從初值n開始減“l(fā)”計(jì)�(shù)�
如果要求改變輸出方波的速率� 則CPU可在任何�(shí)候重新裝入新的計(jì)�(shù)初值n,并從下一�(gè)�(jì)�(shù)操作周期開始改變輸出方波的速率�
5.方式4:軟件觸�(fā)方式�(jì)�(shù)
工作方式4被稱作軟件觸�(fā)方式。�(jìn)入工作方�4,OUTi輸出高電�� 裝入�(jì)�(shù)值n�� 如果GATE為高電平,則立即開始減�1”計(jì)�(shù),直到計(jì)�(shù)值減到�0”為�,OUTi輸出寬度為一�(gè)CLKi周期的負(fù)脈沖。由軟件裝入的計(jì)�(shù)值只有一次有效,如果要繼�(xù)操作� 必須重新置入�(jì)�(shù)初值n。如果在操作的過程中,GATE�?yōu)闊o效,則停止減�1”計(jì)�(shù)� 到GATE再次有效�(shí),重新從初值開始減�1”計(jì)�(shù)�
顯然,利用這種工作方式可以完成定時(shí)功能,定�(shí)�(shí)間從裝入�(jì)�(shù)值n開始,則OUTi輸出�(fù)脈沖(表示定�(shí)�(shí)間到�,其定時(shí)�(shí)�=n×CLK周期� 這種工作方式也可完成�(jì)�(shù)功能,它要求�(jì)�(shù)的事件以脈沖的方式從CLKi輸入,將�(jì)�(shù)次數(shù)作為�(jì)�(shù)初值裝入后,由CLKi端輸入的�(jì)�(shù)脈沖�(jìn)行減�1”計(jì)�(shù),直到計(jì)�(shù)值為�0�,由OUTt端輸出負(fù)脈沖(表示計(jì)�(shù)次數(shù)到)� �(dāng)然也可利用OUTj向CFU�(fā)出中斷請求� 因此工作方式4與工作方�0很相�,只是方�0在OUTi端輸出正階躍信號、方�4在OUTi端輸出負(fù)脈沖信號�
6.方式5:硬件觸�(fā)方式�(jì)�(shù)
工作方式5被稱為硬件觸�(fā)方式。�(jìn)入工作方�5� OUTi輸出高電平, 硬件觸發(fā)信號由GATE端引�� 因此,開始時(shí)GATE�(yīng)輸入�0� 裝入�(jì)�(shù)初值n�,減�1”計(jì)�(shù)并不工作,一定要等到硬件觸發(fā)信號由GATE端引入一�(gè)正階躍信�,減�1”計(jì)�(shù)才會(huì)開始,待�(jì)�(shù)值計(jì)到�0�� OUTi將輸出負(fù)脈沖,其寬度固定為一�(gè)CLKi周期,表示定�(shí)�(shí)間到或計(jì)�(shù)次數(shù)��
這種工作方式�,當(dāng)�(jì)�(shù)值計(jì)到�0”后� 系統(tǒng)將自�(dòng)重新裝入�(jì)�(shù)值n,但并不開始�(jì)�(shù)� 一定要等到由GATE端引入的正跳沿,才會(huì)開始�(jìn)行減�1”計(jì)�(shù)� 因此這是一種完全由GATE端引入的觸發(fā)信號控制下的�(jì)�(shù)或定�(shí)功能。如果由CLKi輸入的是一定頻率的�(shí)鐘脈�,那么可完成定時(shí)功能,定�(shí)�(shí)間從GATE上升沿開�,到OUTi端輸出負(fù)脈沖�(jié)束。如果從CLKi端輸入的是要求計(jì)�(shù)的事�,則可完成計(jì)�(shù)功能,計(jì)�(shù)過程從GATE上升沿開�,到OUTi輸出�(fù)脈沖�(jié)�。GATE可由外部電路或控制現(xiàn)場產(chǎn)�,故硬件觸發(fā)方式由此而得名�
如果需要改變計(jì)�(shù)初�� CPU可在任何�(shí)候用輸出指令裝入新的�(jì)�(shù)初值m,它將不影響正在�(jìn)行的操作過程� 而是到下一�(gè)�(jì)�(shù)操作周期才會(huì)按新的計(jì)�(shù)值�(jìn)行操��
從上述各工作方式可看�,GATE作為各通道的門控信號,對于各種不同的工作方�,它所起的作用各不相同。在8253的應(yīng)用中,必須正確使用GATE信號,才能保證各通道的正常操作�
7.讀取計(jì)�(shù)器的�(dāng)前�
⑴直接讀�(jì)�(shù)器:輸出鎖存器在非鎖存狀�(tài)�(huì)跟隨�(jì)�(shù)器計(jì)�(shù)的變化而變�,直接讀�(jì)�(shù)器是從鎖存器得到�(jì)�(shù)器的�(dāng)前值。但由于�(jì)�(shù)器處于工作狀�(tài),讀出值不一定能�(wěn)��
⑵先鎖存再讀?�?BR> ①通過方式選擇控制字對指定通道(SC1、SC0)的計(jì)�(shù)值鎖入鎖存器(RL1RL0=00)� 鎖存器一旦鎖存了�(dāng)前計(jì)�(shù)�,就不再隨計(jì)�(shù)器變化直到被讀��
②讀�(jì)�(shù)器通道(有鎖存器)�
維庫電子�,電子知�,一查百通!
已收錄詞�153979�(gè)