Red de conocimiento informático - Conocimiento del nombre de dominio - Necesidad urgente: Buscando capacitación práctica sobre el microcontrolador 80S51 (con programa de ensamblaje). Requisitos de la pregunta: se requiere pantalla de matriz de puntos de 8 × 8.

Necesidad urgente: Buscando capacitación práctica sobre el microcontrolador 80S51 (con programa de ensamblaje). Requisitos de la pregunta: se requiere pantalla de matriz de puntos de 8 × 8.

1. Propósitos y requisitos experimentales

1. Familiarizarse con las funciones del 8255 y comprender los principios y métodos de control de la visualización de matriz de puntos

2. Aprenda a usar la matriz de puntos LED, muestre diferentes caracteres a través de la programación;

3. Obtenga una vista previa del contenido experimental de esta sección, intente escribir su propio programa, prepárese para el experimento y complete el informe experimental.

2. Equipo experimental

Un conjunto de instrumentos experimentales de la serie STAR y un PC.

3. Contenido del experimento

1. Escriba un programa y use el puerto PA del 8255 para controlar las filas de la matriz de puntos 8X8 para controlar las columnas; de los caracteres de visualización de matriz de puntos 8X8; ?

2. Conecte las líneas de acuerdo con el diagrama; ejecute el programa, observe los resultados experimentales y aprenda a controlar la matriz de puntos LED para mostrar caracteres.

4. Diagrama de principio experimental

5. Pasos experimentales

1. Instrucciones de conexión del host:?

Área B4: CS (8255). ), A0, A1 - Área A3: CS1, A0, A1

Área B4: JP56 Área A2: JP23 (línea de salida de columna)

Área B4: JP52 Área A2: JP24 ( línea de salida de la fila)

(Preste atención a la dirección de conexión)

2. Ejecute el programa y observe los resultados experimentales. Ejecute el programa de demostración y verá que los caracteres "BIENVENIDO? A? XINGYAN" se muestran circularmente moviéndose de abajo hacia arriba en la matriz de puntos.

6. Programa de demostración

; utilice los puertos PA y PC del 8255 para realizar experimentos de visualización de matriz de puntos LED 8*8

A8255_PA XDATA A0 y; A1 de 8255 Conectar a A0 y A1 del bus

A8255_PB XDATA 0FF01H

A8255_PC XDATA 0FF02H

A8255_CTL XDATA 0FF03H

ROW / p>

LINEA XDATA A8255_PC ;LINE

ORG 0000H

AJMP INICIO

ORG 0100H

INICIO: MOV SP,#60H

CALL INIT_IO

CALL TEST_LED ; Llame a la subrutina de prueba para probar si el LED está completamente iluminado

;

CALL CLEAR

;Desplácese para mostrar varios caracteres

CHS_SHOW: MOV R7,#12H;Mostrar 13H caracteres

MOV DPTR,#CHAR_TAB < / p>

CHS_1: MOV R1,#8 ;Mover 16 veces

CHS_2: ACALL DISP_CH ;Mostrar un cuadro

INC DPTR

DJNZ R1 , CHS_2

DJNZ R7,CHS_1

SJMP CHS_SHOW

;Muestra una subrutina de fuente de matriz de puntos de 16 * 16, fuente El código es colocado en la dirección señalada por DPTR, y la hora mostrada es 20*R7MS

DISP_CH: PUSH 07H

MOV R7, #10H ;08H

DISP_CH_1: ACALL DISP1

DJNZ R7,DISP_CH_1

POP 07H

RET

;Muestra un 8*8 Subrutina de caracteres de matriz de puntos, el código de fuente se coloca en el búfer de visualización XBUFF

DISP1: PUSH DPL

PUSH DPH

MOV R6, #8; 8 columnas se escanean secuencialmente

MOV R2,#7FH;FEH; Valor de salida de la columna

REPEAT: MOV P2,#HIGH(LINE)

MOV R0, #LOW(LINE )

MOV A,R2

MOVX @R0,A ; salida de columna

CLR A

MOVC A, @A+DPTR

INC DPTR

ACALL ADJUST ;Ajusta A y gira el número binario en A 180 grados

MOV R0,#LOW(ROW)

MOVX @R0,A ; Salida de fila izquierda

ACALL DL10ms

ACALL CLEAR

SETB C ; salida 0

MOV A,R2

RRC A ;RLC A

MOV R2,A

DJNZ R6,REPEAT

POP DPH

<

p> POP DPL

RET

;inicialización de 8155 y 8255

INIT_IO: MOV DPTR,#A8255_CTL;dirección de palabra de control 8255

MOV A,#80H ;Configura los puertos PA, PB y PC del 8255 como puertos de salida

MOVX @DPTR,A ;Escribe palabras de control

RET

BORRAR: MOV A,#0FFH

MOV P2,#HIGH(LINE)

MOV R0,#LOW(LINE )

MOVX @R0,A

CLR A

MOV R0,#LOW(ROW)

MOVX @R0,A

p>

RET

;Ajuste un byte del código de fuente obtenido en A, ajuste el bit más alto al bit más bajo y ajuste el bit más bajo al bit más alto

AJUSTE: MOV R5,#8; implementado mediante desplazamiento circular 8 veces

ADJUST1: RLC A

XCH A,B

RRC A

XCH A,B

DJNZ R5,ADJUST1

MOV A,B

RET

;Subrutina de LED de prueba, LED de luz y retardo 1S

TEST_LED: MOV DPTR,#LINE

CLR A

MOVX @DPTR,A

MOV DPTR,#ROW

MOV A,#0FFH

MOVX @DPTR,A

LLAMADA DL500ms

LLAMADA DL500ms

RET

;Retraso 10ms

DL10ms: MOV R4,# 2

p>

DL10ms1: MOV R5,#230

DJNZ R5,$

DJNZ R4,DL10ms1

RET

DL500ms: MOV R5,#10

DL500ms1: MOV R6,#200 ?

DL500ms2: MOV R7,#123 ?

DJNZ R7,$ ?

DJNZ R6,DL500ms2

DJNZ R5,DL500ms1

RET

CHAR_TAB : DB 000H,082H,092H,092H,0AAH,0AAH,044H,044H;W

DB 000H,03EH,002H,002H,01EH,002H,002H,03EH ;E

DB 000H,002H,002H,002H,002H,002H,002H,03EH;L

DB 000H,038H,044H,002H,002H,002H,044H,038H ;C

DB 000H,038H,044H,082H,082H,082H,044H,038H;O

DB 000H,0C6H,0C

6H,0AAH,0AAH,092H,092H,082H;M

DB 000H,03EH,002H,002H,01EH,002H,002H,03EH;E

DB 000H,000H, 000H,000H,000H,000H,000H,000H;

DB 000H,07FH,008H,008H,008H,008H,008H,008H;T

DB 000H,038H,044H ,082H,082H,082H,044H,038H;O

DB 000H,000H,000H,000H,000H,000H,000H,000H;

DB 000H,022H,022H? ,014H,008H,014H,022H,022H ,04AH,052H,062H,042H,042H;N

DB 000H,038H,044H,002H,072H,042H,044H,038H;G

DB? /p>

DB 000H,042H, 046H,04AH,052H,062H,042H,042H;N

DB 000H,000H,000H,000H,000H,000H,000H,000H;

FIN

7. Expansión y pensamiento experimental

1 Modifique el programa para que los caracteres mostrados se muestren en un ciclo dinámico desde. de izquierda a derecha.