Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> hardware >> PC Computer >> .

8254 PIT Programmi di esempio

Il 8254 Programmable Interval Timer è stato utilizzato nel PC di IBM nel 1981, secondo Gary Barr in Ingegneria Concept. Nei computer IBM - stile , ha operato come l'orologio di sistema . Con il miglioramento delle componenti elettronici , le funzioni del chipset sono stati combinati in uno o due LSI ( Large Scale Integrated ) chip . Anche se il 8254 Programmable Interval Timer è stato originariamente concepito e distribuito per i primi PC IBM , è ancora oggi disponibile come un circuito autonomo integrato . Dividere un segnale di ingresso da 64.536 e anche 36

I seguenti programmi in codice del 8254 PIT ( Interval Timer programmabile ) per dividere un segnale di ingresso da 64.536 producendo un ciclo onda quadra 50 per cento. Si divide anche lo stesso segnale di ingresso da 36 producendo un ciclo onda quadra 50 per cento

PIT_C0_M3 .... .... equ 36h ; . 8253 PIT canale timer 0 Modalità 3

PIT_C1_M3 .... .... equ 77h ; 8253 PIT canale timer 1 Modalità 3

TIMER0 .... equ .... 40h ... ; 8254 canale /contatore a zero ( 0 ) indirizzo della porta

TIMER1 .... equ .... 41h ... ; 8254 canale /contro una (1) porta indirizzo

TIMER2 .... equ .... 42h ... , indirizzo di porta 8254 canale /contatore a due ( 2) ( n /a ) per

TIMER_MODE .... equ .... 43h ... ; 8254 PIT control_port per la modalità

tic. equ ... .... 36H ....; valore di 8254 per il contatore 1 - valore BCD del 36 decimale

mov ... al, PIT_C0_M3 .... ; carico time0 valore modalità < br . >

fuori ... TIMER_MODE , al ... ; inviarlo a 8254 modalità reg . - Porta 43H

xor ... Al, ... ; nulla fuori al; cioè il controvalore di 00

fuori ... TIMER0 , al ..; inviare LSB di div . contare , poi

mov ... al , tic ... ; caricare il valore del contatore ( 36 decimale nel formato BCD ) per

fuori ... TIMER1 , al .... ; inviare LSB del contatore valore

xor ... Al, .... ; pari a zero MSB

ou ... TIMER1 , al ... ; inviare il contatore 1 valore MSB

; Fatto ! -
inizializzare il valore del contatore da 0 a 30d

MOV DX , COUNTER0

MOV AL, 30

OUT DX , aL
inizializzare il valore del contatore da 0 a 256d

MOV DX , COUNTER0

MOV aL, 0

OUT DX , AL
inizializzare il valore del contatore da 0 a 1010D

MOV DX , COUNTER0

MOV AX , 1010

OUT DX , aL; LSB

MOV aL, AH

OUT DX , aL; MSB
Inizializzare il 8254

Counter0 di riconoscere solo il byte meno significativo . Impostare il 8254 di produrre un'onda quadra e impostare il contatore binario (16 bit ) per

MOV DX , TCW

MOV AL, 00010110B ; . Parola di controllo

OUT DX , AL

;

MOV DX , COUNTER0

MOV AL, 4H ; LSB

OUT DX , AL

 

hardware © www.354353.com