Red de conocimiento informático - Conocimiento sistemático - Pantalla de luz LED del programa de escritura en lenguaje ensamblador

Pantalla de luz LED del programa de escritura en lenguaje ensamblador

Pantalla de luz indicadora de control de interruptor

MY8255_A EQU 0A860H; dirección de puerto 8255A

MY8255_B EQU 0A861H dirección de puerto 8255B

MY8255_C EQU 0A862H; ; dirección del puerto 8255C

MY8255_MODE EQU 0A863H; dirección del puerto de control 8255

SEGMENTO DE CÓDIGO

ASUME CS: CÓDIGO

INICIO: MOV DX , MY8255_MODE

MOV AL, 82H

OUT DX, AL; escriba la palabra de control 82H en el puerto de control 8255, puerto A modo 0 salida, puerto B modo 0 entrada, puerto C no usado.

MOV DX, MY8255_A

MOV AL, 7FH

SALIDA DX, AL; envía 7FH al puerto A

MOV LA, AL ; Enviar 7FH a la unidad de almacenamiento LA

MOV DX, MY8255_B

MOV AL, 0FEH

OUT DX, AL ; Enviar FEH al puerto B

MOV LB, AL; enviar FEH a la unidad de almacenamiento LB

LLAMADA A DALLY

A1: MOV AL, LA

ROR AL, 1; el contenido de LA y muévalo hacia la derecha una vez

MOV LA, AL

MOV DX, MY8255_A

OUT DX, AL Haga un bucle en LA después de cambiar; hacia la derecha El contenido se envía al puerto A, y su propósito es hacer que las luces LED conectadas al puerto A se iluminen hacia la derecha en secuencia

MOV AL, LB

ROL AL, 1; el contenido de LB se desplaza hacia la izquierda 1 vez

MOV LB, AL

MOV DX, MY8255_B

OUT DX, AL; el contenido de LB después del desplazamiento hacia la izquierda del ciclo al puerto B. El propósito es dejar que las luces LED conectadas al puerto B se enciendan en secuencia hacia la izquierda.

LLAMAR DALLY, deje que una luz LED brille; de manera estable antes de encender el otro

CALL BREAK; llame a la subrutina BREAK para ver si se presiona una tecla

JMP A1

DALLY: MOV; CX, 3FFH; subrutina de retardo

D1: MOV AX, 0FFFFH

D2: DEC AX

JNZ D2

LOOP D1

RET

BREAK PROC NEAR ; si se presiona una tecla

MOV AH, 06H

MOV DL, 0FFH

INT 21H

JE RETURN ; Si no, entonces transfiera a RETURN

MOV AX, 4C00H

INT 21H; >RETORNO: RET

BREAK ENDP

CÓDIGO FINALIZA

FIN INICIO