Den 8254 Programmable Interval Timer blev første gang brugt i IBM PC i 1981 ifølge Gary Barr på Concept Engineering. I IBM -stil computere , der drives det som systemets ur. Med forbedringer i elektroniske komponenter , har de funktioner i chipset blevet kombineret i én eller to LSI ( Large Scale Integrated ) chips. Selvom 8254 Programmable Interval Timer blev oprindeligt designet og distribueret til de første IBM- pc'er , er det stadig til rådighed i dag som en stand- alone integrerede kredsløb . Opdel en Input Signal ved 64536 og også 36
Følgende kode programmer 8254 PIT ( Programmable Interval Timer) at opdele et indgangssignal med 64536 producerer en 50 procent duty cycle firkantet bølge . Det er også deler den samme indgangssignal med 36 producere en 50 procent arbejdscyklus firkantbølge
PIT_C0_M3 .... equ .... 36h ; . 8253 PIT timer kanal 0 modus 3 fotos
PIT_C1_M3 .... equ .... 77H , 8253 PIT timer kanal 1 mode 3
timer0 .... equ .... 40h ... ; 8254 kanal /tæller nul (0) portadresse < br >
TIMER1 .... EQU .... 41h ... ; 8254 kanal /tæller et (1) port adresse
TIMER2 .... equ .... 42h ... ; 8254 kanal /tæller to (2) port -adresse ( n /a)
TIMER_MODE .... equ .... 43h ... ; 8254 PIT control_port for mode-
tics. ... equ .... 36H .... ; 8254 værdi for tælleren 1 - BCD værdi på 36 decimal
mov ... al, PIT_C0_M3 .... , load time0 tilstand værdi < br . >
out ... TIMER_MODE , al ... , sende den til 8254 -tilstand reg . - Port 43H
xor ... al, al ... ; nul ud al; dvs modværdien af 00
out ... Timer0 , al ..; send LSB af div . tælle , så
mov ... al , tics ... ; indlæse tælleren værdi ( 36 decimal i BCD format)
out ... TIMER1 , al .... ; send LSB modværdi
xor ... al, al .... ; nul MSB
ou ... TIMER1 , al ... ; sende counter 1 MSB værdi
< p > ; Udført ! -
Initialiser Værdi af Counter 0 til 30d
MOV DX, COUNTER0
MOV AL, 30
OUT DX, AL
Initialiser Værdi af Counter 0 til 256d
MOV DX, COUNTER0
MOV AL, 0
OUT DX, Initialiser AL
Værdi af Counter 0 til 1010D
MOV DX, COUNTER0
MOV AX , 1010
OUT DX , AL , LSB
MOV AL , AH
OUT DX , AL , MSB
Initialiser 8254
Set Counter0 at anerkende den mindst betydende byte alene. Indstil 8254 at producere en firkantet bølge og indstille tælleren til binær ( 16 bit )
MOV DX, TCW
MOV AL, 00010110B ; . Kontrol Word
OUT DX , AL
,
MOV DX, COUNTER0
MOV AL , 4H , LSB
OUT DX , AL