Le 8254 Programmable Interval Timer a d'abord été utilisés dans le PC d'IBM en 1981, selon Gary Barr Engineering Concept. Dans les ordinateurs IBM de style , il fonctionne comme l'horloge système . Avec l'amélioration des composants électroniques , les fonctions du chipset ont été combinées en une ou deux puces LSI ( Large Scale Integrated) . Même si le 8254 Programmable Interval Timer a été initialement conçu et distribué pour les premiers PC d'IBM , il est encore disponible aujourd'hui comme un circuit autonome intégré . Diviser un signal d'entrée par 64536 et également 36 Les programmes de code suivants le 8254 PIT ( Programmable Interval Timer ) pour diviser un signal d'entrée par 64536 produisant un 50 pour cent cycle onde carrée. Il divise aussi le même signal d'entrée par 36 la production d'un 50 pour cent cycle onde carrée PIT_C0_M3 .... équ .... 36h ; . 8253 canal de minuterie PIT 0 mode 3 PIT_C1_M3 équ .... .... 77h ; 8253 PIT canal de minuterie 1 Mode 3 TIMER0 .... équ .... 40h ... ; 8254 /canal contre zéro (0) adresse de port TIMER1 .... équ .... 41h ... ; 8254 /canal contre une (1) adresse de port TIMER2 .... équ .... 42h ... ; adresse du port canal 8254 /contre deux (2) (n /a ) TIMER_MODE .... équ .... 43h ... ; 8254 control_port PIT pour mode telephone TICS . équ ... .... 36H ....; 8254 valeur pour le compteur 1 - valeur BCD de 36 décimal mov ... al , PIT_C0_M3 ....; charge time0 de valeur de mode < br . > sur ... TIMER_MODE , al ... , envoyez -le en mode 8254 reg . - Port 43H XOR ... al , al ... ; zéro sur al ; ie la contre-valeur de 00 sur ... TIMER0 , al .. ; envoyer LSB div . compter, alors mov ... al , TICS ... ; charger la valeur du compteur (36 décimal au format BCD) sur ... TIMER1 , al ....; envoyer LSB contre valeur XOR ... al , al ....; zéro MSB ou ... TIMER1 , al ... ; envoyer compteur 1 valeur MSB ; Fait ! - initialiser la valeur du compteur de 0 à 30d MOV DX, COUNTER0 MOV AL, 30 DX OUT, AL initialiser la valeur du compteur de 0 à 256d MOV DX, COUNTER0 MOV AL, 0 DX OUT , AL initialiser la valeur du compteur de 0 à 1010D MOV DX, COUNTER0 MOV AX , 1010 OUT DX , AL ; LSB MOV AL, AH DX , AL ; MSB Initialisation de la Set 8254 Counter0 de reconnaître l' octet le moins significatif seulement . Réglez le 8254 pour produire une onde carrée et mettre le compteur en binaire (16 bits) MOV DX, TCW MOV AL, 00010110B ; . Contrôle Parole DX OUT , AL ; MOV DX, COUNTER0 MOV AL , 4H ; LSB DX , AL OUT
|