The 8254 programmerbare Interval Timer ble først brukt i IBM PC i 1981 ifølge Gary Barr på Concept Engineering. I IBM - stil datamaskiner , drives det som systemet klokke. Med forbedringer i elektroniske komponenter , har funksjonene til brikkesettet slått sammen til ett eller to LSI ( Large Scale Integrert ) chips. Selv om 8254 programmerbare Interval Timer ble opprinnelig utviklet og distribuert for de første IBM PC , er det fortsatt tilgjengelig i dag som en stand -alone integrert krets . Dele en Input Signal ved 64536 og også 36
Følgende kode programmer i 8254 PIT ( Programmable Interval Timer) å dele et inngangssignal med 64536 produsere en 50 prosent driftssyklus firkantet bølge . Den deler også den samme signalet med 36 produsere en 50 prosent driftssyklus firkantet bølge
PIT_C0_M3 .... ekv .... 36h ; . 8253 PIT timer kanal 0 modus 3
PIT_C1_M3 .... ekv .... 77H , 8253 PIT timer kanal en modus 3
Timer0 .... ekv .... 40h ...; 8254 kanal /teller null ( 0 ) port adresse
TIMER1 .... ekv .... 41h ...; 8254 kanal /teller én ( 1 ) port adresse
Timer2 .... ekv .... 42h ... ; 8254 kanal /teller to ( 2 ) port adresse ( n /a )
TIMER_MODE .... ekv .... 43h ...; 8254 PIT control_port for modus
TICS . ... ekv .... 36H ....; 8254 value for teller 1 - BCD verdi av 36 desimal
mov ... al , PIT_C0_M3 ....; last time0 modus verdi
ut ... TIMER_MODE , al ...; send den til 8254 mode iht. - Port 43H
XOR ... al , al ...; null ut al , dvs. telleren verdi av 00
ut ... Timer0 , al ..; sende LSB av div . telle, så
mov ... al , TICS ...; laste tellerverdien ( 36 desimal i BCD format)
ut ... TIMER1 , al ....; sende LSB tellerverdien
xOR ... al , al ....; null MSB
ou ... TIMER1 , al ...; sende teller en MSB verdi
< p > ; Ferdig ! -
Initialiser Verdi av Counter 0 til 30d
MOV DX , COUNTER0
MOV AL, 30
OUT DX , AL
Initialiser Verdi av Counter 0 til 256D
MOV DX , COUNTER0
MOV AL, 0
OUT DX , AL
Initialiser Verdi av 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 å anerkjenne den minst signifikante byte bare . Sett 8254 for å produsere en firkantet bølge og sette telleren til binære ( 16 bits)
MOV DX , TCW
MOV AL, 00010110B ; . Kontroll Word
OUT DX , AL
;
MOV DX , COUNTER0
MOV AL, 4H , LSB
OUT DX , AL