Red de conocimiento informático - Conocimiento del nombre de dominio - Urgente: Buscando capacitación práctica sobre el microcontrolador 80S51 (con programa de ensamblaje) Requisitos del tema: Principio de requisitos de pantalla de matriz de puntos de 8 × 8 y lista de equipos.

Urgente: Buscando capacitación práctica sobre el microcontrolador 80S51 (con programa de ensamblaje) Requisitos del tema: Principio de requisitos de pantalla de matriz de puntos de 8 × 8 y lista de equipos.

1. Propósito y requisitos del experimento

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

2. muestre diferentes patrones a través de caracteres de programación;

3. Obtenga una vista previa cuidadosa 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 para usar el puerto PA del 8255 para controlar las filas de la matriz de puntos de 8 × 8; las columnas de la matriz de puntos de 8 × 8 caracteres de visualización. ?

2. Conecte las líneas como se muestra en la figura; ejecute el programa, observe los resultados experimentales y aprenda a controlar la matriz de puntos LED para mostrar caracteres.

4. Diagrama experimental

Verbo (abreviatura de verbo) Pasos experimentales

1. Descripción de la conexión del host:?

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

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

Área B4: Área JP52A2: JP24 (línea de salida de 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á los caracteres "¿Bienvenido? ¿A dónde ir? Xing Yan" moviéndose y mostrándose con un movimiento circular de abajo hacia arriba en la matriz de puntos.

6. Programa de demostración

; utilice el puerto PA y el puerto de PC del 8255 para realizar experimentos con pantalla de matriz de puntos LED 8*8.

A8255_PAXDATA 0FF00H8255 A0 y A1 están conectados al bus A0 y A1.

a 8255_ Datos PBX 0ff 01H

A8255_ PCXDATA 0FF02H

A8255_ CTLXDATA 0FF03H

ROWXDATAA8255_ Columna PA

p>

LINEXDATAA8255 _ PC Hang County

ORG 0000H

AJMPSTART

ORG 0100h

Inicio: MOVSP , #60H

Callinite Io

CALLTEST _ LED llama a la subrutina de prueba para probar si el LED está completamente iluminado.

Llamar claro

Desplácese para mostrar varios caracteres

CHS_SHOW: movr 7, # 12H; Muestra 13H caracteres.

MOVDPTR, #CHAR_TAB

CHS_1: movr 1, #8; mover 16 veces

CHS_2: ACALLDISP_CH; >

INCDPTR

djnzr 1, CHS_2

DJNZR7, CHS_1

SJMPCHS _ SHOW

; Muestra un punto de 16*16 subrutina de fuente de matriz, el código de fuente se coloca en la dirección indicada por DPTR y el tiempo de visualización es 20 * R7MS.

DISP_CH: presione 07H

MOVR7, #10H; 08H

DISP_CH_1: acalldisp 1

DISP djnzr 7_ CH _ 1

Popular 07H

Remojado en agua para suavizarlo

; Muestra una subrutina de matriz de puntos de 8 * 8 y el código de fuente se coloca en el búfer de visualización XBUFF.

disp 1: presione DPL

PUSHDPH

MOVR6, #8; contador, escanee 8 columnas en secuencia.

MOVR2, valor de salida de la columna #7FHFEH

Duplicado: MOVP2, #high(line)

MOVR0,#low(line)

R2 MOVA

MOVX @ R0,A; salida de columna

CLRA

MOVKA,@A DPTR

INCDPTR

ACALLADJUST ajusta a, girando el número binario en 180 grados.

MOVR0, #Low (resto del mundo)

MOVX @ R0, A; salida de línea izquierda

acall dl 10 ms

Cancelar reserva

SETBC desplazamiento circular R2, salida de escaneo de línea de fila 0

R2 MOVA

RRCARLCA

MOVR2, A

DJNZR6, repite

POPDPH

POPDPL

Remojar en agua para suavizar

inicialización de 8155 y 8255

INIT_IO: MOVDPTR, #A8255_CTL8255 dirección de palabra de control

MOVA, #80H configura los puertos PA, PB y PC del 8255 como puertos de salida.

MOVX @ DPTR, A; escribir palabras de control

Remojar en agua para suavizar

Aclarar: MOVA, #0FFH

MOVP2 , #Alto (línea)

MOVR0, #bajo (línea)

MOVX @ R0, A

CLRA

MOVR0, # bajo (mundo Otras regiones)

MOVX @ R0, A

remojado en agua para suavizar

; ajuste un byte del código de fuente obtenido en A, y ajuste la broca más alta a la posición más baja, ajuste la posición más baja a la posición más alta.

Ajuste: MOVR5, #8; logra 8 turnos circulares

Ajuste 1: RLCA

XCHA Bay

RRCA

p>

XCHA Bay

DJNZR5, ADJUST1

MOVA Bay

Remojar en agua para suavizarlo

; Para probar la subrutina LED, haga clic en Encender el LED y retrasar 1S.

TEST_LED: MOVDPTR, #LINE

CLRA

MOVX @ DPTR

MOVDPTR, #ROW

MOVA , #0FFH

MOVX @ DPTR

Llame a 1500 ms

Llame a 1500 ms

Remojado en agua para suavizar

;Retraso 10ms

dl 10ms: mov R4, #2

dl 10ms 1: mov r5, #230

DJNZR5, USD

DJNZR4, DL10ms1

Remojado en agua para suavizar

dl 500 ms: mov r5, #10

dl 500 ms 1: movimiento 6, #200?

dl 500 MS2: movr 7, #123?

DJNZR7,$?

DJNZR6, DL500ms2

DJNZR5, DL500ms1

Remojado en agua para suavizar

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, 0C6H, 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, 000H? ;

DB 000H, 07FH, 008H, 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, 000H? ;

DB 000H, 022H, 022H, 014H, 008H, 014H, 022H, 022H? ;X

DB 000H, 01CH, 008H, 008H, 008H, 008H, 008H, 01CH? ;Yo

DB 000H, 042H, 046H, 04AH, 052H, 062H, 042H, 042H? ;Común

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

DB 000H, 022H, 022H, 014H, 014H, 008H, 008H, 008H? ;Y

DB 000H, 018H, 018H, 024H, 024H, 07EH, 042H, 042H? ;A

DB 000H, 042H, 046H, 04AH, 052H, 062H, 042H, 042H? ;Normal

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

Fin

7. Expansión y pensamiento experimental.

1. Modifique el programa para mostrar dinámicamente los caracteres mostrados de izquierda a derecha.