Red de conocimiento informático - Conocimiento del nombre de dominio - La subrutina del microcontrolador 9279 INIT8279, SCAN_KEY, Display8 se necesita con urgencia

La subrutina del microcontrolador 9279 INIT8279, SCAN_KEY, Display8 se necesita con urgencia

El siguiente programa es un programa de visualización de programas que escribí en la universidad y ha sido probado como referencia.

;######################################## < / p>

STATE_8279 EQU 0301H; dirección del puerto de comando

DATA_8279 EQU 0300H; dirección del puerto de datos

TIME_STATE_ 8279 EQU 32H

KEY_DISP_STATE EQU 00H; ; Palabra de comando para modo de visualización, entrada izquierda de 8 caracteres, teclado de escaneo de código, bloqueo de doble tecla

CLR_STATE EQU 0D1H; Borrar palabra de comando

READ_FIFO_RAM EQU 40H; p>KEY_FLAGE BIT 00H; Bit de indicador de clave

DISP_ADD DATA 70H; Palabra de comando de visualización

ORG 0000H

LJMP START

ORG 0030H

INICIO:

MOV SP, #40H

LCALL INIT8279

LLAMADA DISP

SACN_HERE:

LCALL SCAN_KEY

LCALL DISP1

LJMP SACN_HERE

############## ##; ####8279 Inicialización###################

INIT8279:

MOV DPTR, #STATE_8279

p>

MOV A, #CLR_STATE

MOVX @DPTR,A <

ESPERAR: MOVX A,@DPTR

JB ACC.7, ESPERAR

MOV A,#TIME_STATE_8279

MOVX @DPTR,A

MOV A,#KEY_DISP_STATE

MOVX @DPTR,A

p>

RET

;################### subrutina de barrido de teclas ######### ##### ############

SCAN_KEY:

MOV DPTR, #STATE_8279

MOVX A, @DPTR

ANL A, #07H ; Máscara D7---D3 bits

JNZ KEY ; Determina si hay una tecla presionada

JMP SCAN_KEY

;# #################### obtener subrutina de valor clave ####################

CLAVE: MOV DPTR, #STATE_8279

MOV A, #READ_FIFO_RAM; Leer comando FIFO RAM

MOVX @DPTR, A

MOV DPTR, #DATA_8279; Leer clave

MOVX A, @DPTR

ANL A, #3FH;

choca cuatro, SHFIT Y

MOV B, A

RET

ADD_1:

AÑADIR A, #8

MOV B,A

RET

************************ #7

MOV 77H, #8

MOV R1, #70H

MOV R7, #08H

AJMP LL

DISP1: MOV 70H, B

MOV R1, #70H

MOV R7, #01H

LL.MOV DPTR, #STATE_8279

MOV A , #90H

MOVX @DPTR,A

DISP_LOOP:

MOV A,@R1

MOV DPTR,# LEDSEG

MOVC A, @A DPTR

MOV DPTR, #DATA_8279

MOVX @DPTR, A

INC R1

DJNZ R7, DISP_LOOP

RET

WAVE: MOV R5, #0AH

WAVE1: LCALL DELAY

DJNZ R5 , WAVE1

RET

DELAY: MOV R7, #40H

DELAY1: MOV R6, #4DH

DJNZ R6, $

DJNZ R7, DELAY1

RET

WAVE.LEDSEG:

DB 03FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 07FH, 6FH, 77H, 7CH, 39H, 4EH *** ¡Código de segmento digital del cátodo!

; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 no están iluminados