Ayuda con una pregunta sobre principios de microcomputadoras
Hay dos puntos clave en la programación de inicialización del 8253:
1. Determinar la palabra de control
2 El valor inicial del contador
.Pon estos dos. Una vez que lo hagas bien, programar es muy sencillo.
Primero determine la palabra de control. El chip 8253 tiene un registro de palabra de control de 8 bits (D7D6D5D4D3D2D1D0), entre los cuales, D7D6: selección de contador (canal), D5D4: modo de lectura/escritura del contador, D3D2D1: modo de funcionamiento del contador, D0: modo de conteo (conteo binario o BCD). . Según el significado de la pregunta,
D7D6: 00 (contador 0)
D5D4: 11 (leer/escribir los 8 bits bajos primero, luego leer/escribir los 8 bits altos )
D3D2D1: 001 (monoestable digital)
D0: 1 (recuento BCD)
De esta forma se determina que la palabra de control es: 00110011B
Luego determine el valor inicial del contador. Se requiere que el reloj externo fCLK=40kHz y el terminal OUT generen un pulso negativo con un ancho de 20ms, luego el valor de conteo inicial=40kHz x 20ms=800 (sistema decimal).
El programa de inicialización se puede escribir a continuación,
mov al,33H ;Palabra de control: 00110011B
out 87H,al ;Escribir palabra de control
xor al,al
out 84H,al ; escribe el valor inicial inferior de 8 bits en el contador 0
mov al,8
out 84H , al ;Escribe el valor inicial alto de 8 bits en el contador 0