Red de conocimientos turísticos - Conocimientos sobre calendario chino - Agregará 200 puntos de riqueza adicionales. La programación 8255A permite a la CPU obtener datos del puerto C cada vez, cuando los datos aparecen en el segundo, cuarto y quinto bit al mismo tiempo.

Agregará 200 puntos de riqueza adicionales. La programación 8255A permite a la CPU obtener datos del puerto C cada vez, cuando los datos aparecen en el segundo, cuarto y quinto bit al mismo tiempo.

;;Supongamos que las direcciones de los puertos 8255 A, B, C y los puertos de control de modo son:

;;0306H, 0307H, 0308H, 0309H,

;;Un puerto modo 0 salida, la palabra de control de modo de entrada al puerto C modo 0 es 10001001B,

Título Microcomputadora y experimento de E/S del puerto paralelo 8255A

Segmento de código

Supongamos CS : MOV AL, 10001001B ;; La palabra de control de modo para la salida del Puerto A Modo 0 y la entrada del Puerto C Modo 0 es 10001001B. MOV AL, 10001001B ;Palabra de control de modo

MOV DX, 0309H ;;Dirección del puerto de control de modo

OUT DX, AL ;;Puerto de control de modo ← Palabra de control de modo

MOV BX, 5 ;;Número de datos a enviar

CLD ;;Indicador de incremento positivo para la tabla de datos

LEA SI, [TABLE] ;;.Puntero de la tabla de datos Valor inicial

INPUTC: MOV DX, 0308H ;;;Dirección del puerto C

LP1: IN AL, DX ;;;Leer datos del puerto C

AND AL, 00110100B ;;Enmascara los bits 0, 1, 3, 6 y 7 de los datos leídos

CMP AL, 00110100B;;Compara los bits 2, 4 y 5 de los datos leídos para ver si están completos es 1

JNZ LP1 ;;Si los bits 2, 4 y 5 de los datos leídos no son todos unos, entonces continúe leyendo

OUTA: MOV DX, 0306H ;; Si se lee Si los bits 2, 4 y 5 de los datos son todos 1, prepárese para generar datos desde el puerto A

LODSB ;;AL ← El puntero SI apunta a los datos A en la tabla de datos

OUT DX, AL ;;[AL]→Puerto A del 8255

CALL DELAY ;;Retraso, esperando que los periféricos reciban datos

DEC BX ;;Disminuir el número de datos generados desde la tabla de datos 1

JNZ INPUTC ;;Si el número de datos que se generarán aún no es 0, realice un bucle y continúe. Leer en el puerto C

Finalmente: MOV AH,4CH Si el número de datos a generar es 0, devuelve DOS

INT 21H

DELAY PROC NEAR; ; definición de subrutina de retardo

MOV DX, 2000H

LP2: MOV CX, 0FFFFH

LP3: LOOP LP3

DEC DX p>

JNZ LP2

RET ;;Retraso retorno de subrutina

DELAY ENDP

CODIGO FINALIZA

FIN INICIO

l>