8254 PIT Sample Programs

September 14

8254 PIT Sample Programs

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, det drives som systemets ur. Med forbedringer i elektroniske komponenter, har funktioner chipset blevet kombineret i én eller to LSI (Large Scale Integrated) chips. Selvom 8254 Programmerbar Interval Timer oprindeligt var designet og distribueret til de første IBM-pc'er, er det stadig til rådighed i dag som en stand-alone integreret kredsløb.

Opdel et indgangssignal med 64.536 og også 36


Følgende kode programmer 8254 PIT (Programmable Interval Timer) at opdele et indgangssignal med 64.536 producere en 50 procent arbejdscyklus firkantet bølge. Det skiller også det samme indgangssignal ved 36 fremstilling af en 50 procent arbejdscyklus firkantbølge. PIT_C0_M3 .... equ .... 36h; 8253 PIT timer kanal 0 mode 3 PIT_C1_M3 .... equ .... 77H, 8253 PIT timer kanal 1 mode 3 Timer0 .... equ .... 40h. ..; 8254 kanal / tæller nul (0) port adresse TIMER1 .... equ .... 41T ...; 8254 kanal / tæller én (1) port adresse TIMER2 .... equ .... 42h. ..; 8254 kanal / tæller to (2) port adresse (n / a) TIMER_MODE .... equ .... 43T ...; 8254 PIT control_port for mode-TICS .... equ .... 36H. ...; 8254 værdi for tæller 1 - BCD værdi på 36 decimal. mov ... al, PIT_C0_M3 ....; indlæsningstid 0 modus værdi ud ... TIMER_MODE, al ...; sende den til 8254-tilstand reg. - Port 43H xor ... al, al ...; nul ud al; dvs. modværdien af ​​00 ud ... Timer0, al ..; sende LSB af div. tælle, så mov ... al, tics ...; indlæse tællerværdien (36 decimal i BCD format) ud ... TIMER1, al ....; sende LSB modværdi xor ... al, al .. ..; nul MSB ou ... TIMER1, al ...; sende tæller 1 MSB værdi Udført !! -

Initialiser værdien af ​​Counter 0 til 30D


MOVDX, COUNTER0 nelse, 30 ud DX, AL

Initialiser værdien af ​​Counter 0 til 256d


MOVDX, COUNTER0 nelse, 0 ud DX, AL

Initialiser værdien af ​​Counter 0 til 1010D


MOVDX, COUNTER0 MOVAX, 1010 OUT DX, AL, LSB nelse, AH OUT DX, AL; MSB

Initialiser den 8254


Sæt Counter0 at anerkende den mindst betydende byte alene. Sæt 8254 at producere en firkantet bølge og indstille tælleren til binære (16 bit). MOVDX, TCW nelse, 00010110B; Kontrolord OUT DX, AL; MOVDX, COUNTER0 nelse, 4H; LSB OUT DX, AL