Diseño de programa de pantalla de caracteres chinos de matriz de puntos basada en 51 microcomputadoras de un solo chip

Diseño de programa de pantalla de caracteres chinos de matriz de puntos basada en 51 microcomputadoras de un solo chip

1. Propósito práctico

Esta práctica utiliza el sistema mínimo de 51 microcomputadoras de un solo chip como núcleo y utiliza una matriz de puntos LED de 16 × 16 compuesta por 4 piezas de matriz de puntos LED de 8 × 8, 2 piezas de chips de registro de desplazamiento 74HC595 como controlador de fila de 16 × Matriz de puntos de 16 LED y 2 piezas de decodificación 74HC138 El chip del dispositivo se utiliza como controlador de columna de la matriz de puntos de 16 × 16 LED y el sistema de microcomputadora de un solo chip 51 compuesto por 8 teclas independientes para realizar la visualización de caracteres chinos en el LED pantalla de matriz de puntos con múltiples funciones: realice una visualización estática, una visualización dinámica, incluido el movimiento hacia arriba y hacia abajo. Mover, mover a la izquierda, mover a la derecha, mover la pantalla, pausar y reanudar, mover las funciones de aceleración y desaceleración.

2. Equipo experimental y software basado en la práctica.

1. Equipo

51 microordenador de un solo chip, chip 74HC595, chip 74HC138, botones independientes, pantalla de matriz de puntos LED, descargador de programas, etc.

2. Software

Software para escribir código 51 MCU: Keil uVision4, software para dibujar diagrama esquemático y PCB: EasyEDA, software para simulación: Proteus 8 Professional.

2. Diseño del sistema o dispositivo

1. Diseño esquemático de hardware

El diagrama esquemático incluye 51 microcomputadoras de un solo chip, circuito de oscilador de cristal, circuito de reinicio, circuito de interfaz de alimentación USB, circuito de chip de puerto serie de registro 74HC595 a circuito de chip de puerto paralelo, circuito de chip decodificador 74HC138, circuito de visualización de caracteres chinos de matriz de puntos 16 × 16 compuesto por cuatro 8 Matriz de puntos LED ×8 y circuito de botón independiente. Los diagramas esquemáticos dibujados se muestran en la Figura 2.1 a la Figura 2.5.

inserte la descripción de la imagen aquí

图2.1:51单片机、晶振电路和复位电路组成51单片机最小系统

La microcomputadora de un solo chip 51 es el núcleo de todo el sistema, controlando funciones como 595 chips y 138 chips que manejan la pantalla de caracteres chinos de matriz de puntos LED. El circuito del oscilador de cristal proporciona una señal de reloj para el sistema de visualización de caracteres chinos de matriz de puntos de 51 LED de un solo chip.
inserte la descripción de la imagen aquí

图2.2:独立按键与USB电源接口电路

El circuito de interfaz de alimentación USB proporciona energía para el sistema, y ​​el circuito de botón independiente realiza la función de cambio de modo de la pantalla de caracteres chinos de matriz de puntos LED. Su función específica es controlar el movimiento hacia arriba, el movimiento hacia abajo, el movimiento hacia la izquierda y el movimiento hacia la derecha de los caracteres chinos de la pantalla de matriz de puntos LED mediante las teclas key1~key4 respectivamente. El botón key5 controla la matriz de puntos LED para mostrar caracteres chinos para pausar y continuar moviéndose. Key7 y key8 controlan respectivamente la velocidad de movimiento de los caracteres chinos que se muestran en la pantalla de matriz de puntos LED.

inserte la descripción de la imagen aquí

图2.3:两块595芯片电路

El puerto serial de registro 74HC595 al circuito de chip de puerto paralelo impulsa la selección de línea de la pantalla de matriz de puntos de 16 × 16. Cuando el puerto de salida es de nivel alto, se selecciona la línea correspondiente de la matriz de puntos LED. Es decir, el comportamiento de la matriz de puntos LED es activo alto.

inserte la descripción de la imagen aquí

图2.4:两块138芯片电路

El circuito del chip decodificador 74HC138 impulsa la selección de columna de la pantalla de matriz de puntos de 16 × 16. Cuando el puerto de salida es bajo, se selecciona la columna correspondiente a la matriz de puntos LED. Es decir, las columnas de la matriz de puntos LED están activas bajas.

inserte la descripción de la imagen aquí

图2.5:16×16LED点阵电路

La matriz de puntos de 16 × 16 se compone de cuatro circuitos de matriz de puntos de 8 × 8. El circuito de visualización de caracteres chinos de matriz de puntos de 16 × 16 puede realizar el efecto de visualización estática de los caracteres chinos y el efecto de visualización de desplazamiento dinámico de arriba, abajo, izquierda y derecho

2. Dibujo de tablero impreso

De acuerdo con el diagrama esquemático dibujado, primero se convierte en un diagrama de PCB, y luego sus componentes se distribuyen razonablemente, y luego la operación de cableado se realiza con la función de cableado automático del software. El diagrama de tablero impreso dibujado se muestra en la Figura 2.6
inserte la descripción de la imagen aquí

图2.6:51单片机LED点阵汉字显示系统PCB图

3. Estructura del programa y diagrama de flujo y descripción del algoritmo principal

inserte la descripción de la imagen aquí

图2.7:程序的基本框架流程图

El marco básico del programa comienza desde la función principal. En primer lugar, se realiza la operación de inicialización variable relevante, y luego se realiza la operación de inicialización de interrupción de tiempo. El temporizador de la microcomputadora de un solo chip 51 se enciende para controlar la velocidad de desplazamiento de los caracteres chinos que se muestran en la pantalla de matriz de puntos LED. Después de inicializar las variables relevantes, ingrese el ciclo while (1) y seleccione el modo de visualización de acuerdo con el valor de la variable modeSelect. Finalmente, al final del bucle, llame a la función keyProcess() para que el procesamiento de teclas determine si hay una tecla presionada y, si hay una tecla, actualice el valor de la variable modeSelect para actualizar la pantalla de caracteres chinos de matriz de puntos LED. modo.

inserte la descripción de la imagen aquí

图2.8:按键处理流程图

El procesamiento de claves adopta el método de juicio de la sentencia if para juzgar si existe una clave. Cuando se presiona un botón, se establecerá el valor de la variable relacionada. Por ejemplo, cuando se presiona el botón key1, se establecen las siguientes variables

TR0 = 1;							// 定时器开
modeSelect = 1;					// 显示模式变量
speed = 10; 						// 汉字移动速度变量
moveBitNum = 0;					
net = zong1;						// 上下移动相关控制变量

Lo anterior es la configuración del valor de la variable relacionada cuando se presiona el botón 1. Para la configuración del valor de la variable relacionada de otros botones, consulte el apéndice: código completo.

Cuarto, la realización del sistema o dispositivo

1. Instalación física y puesta en marcha del sistema o dispositivo

inserte la descripción de la imagen aquí

图3.1:51单片机LED点阵汉字显示系统实物图

2. Código y depuración

1. Use el software keil4 para crear el archivo de encabezado ledData.h, use el software de adquisición de caracteres chinos para obtener los datos de caracteres de los caracteres chinos de matriz de puntos y escríbalos en el archivo de encabezado ledData.h. En el archivo de encabezado ledData.h, defina qué pin de salida del decodificador de control 138 es válido, como se muestra en el siguiente código

/*
	38译码器的输出端口的选择
*/
uchar code columnSlect[] = 		// 行选
{
    
    
	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
	0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
};

2. Luego cree un archivo de encabezado main.h. En el archivo de encabezado main.h, defina los pines del chip controlador de microcomputadora de un solo chip 51 de la siguiente manera

sbit ds = P1^0;	  				// 数据端口
	sbit shcp = P1^2;				// 数据输入时钟线
	sbit stcp = P1^1;				// 输出存储器锁存时钟线

	sbit key1 = P3^4;				// 向上移动控制按钮
	sbit key2 = P3^5;				// 向下移动控制按钮
	sbit key3 = P3^6;				// 向左移动控制按钮
	sbit key4 = P3^7;				// 向右移动控制按钮

	sbit key5 = P3^3;				// 静态显示显示的控制按钮
	sbit key6 = P3^2; 				// 闪烁显示的控制按钮

	sbit key7 = P1^6;   			// 控制汉字移动速度增加的控制按钮
	sbit key8 = P1^7;				// 控制汉字移动速度减小的控制按钮

Luego defina algunas variables como a continuación

uchar speed = 30;				// 汉字移动速度控制的标志

uchar alt;
uint net, index;
uint zong, zong1;
uchar modeSelect;				// 	汉字显示的模式方式选择

uchar buff[4];
uchar moveBitNum;
uchar moveBitNumTemp;
	uchar IncNum;				// 上下左右移动的相关控制变量

Entre ellos, la variable principal modeSelect controla la selección del modo de visualización de los caracteres chinos en la pantalla de matriz de puntos LED.
Declare algunas funciones e implemente funciones relacionadas, como se muestra a continuación

void timerInit();				// 定时器初始化函数
	void writedata(uchar);			// 向595芯片写入数据函数
	void clearScreen();				// led点阵显示与清屏
	void keyProcess();				// 按键处理的函数
	void delay(uint);				// 延时函数

timerInit(); Para realizar la operación inicial del temporizador de un solo chip 51, encienda el temporizador de la microcomputadora de un solo chip 51 para generar el tiempo para controlar la velocidad a la que se mueven los caracteres chinos en la pantalla de matriz de puntos LED; writedata(uchar ); es escribir el archivo de encabezado ledData.h Los datos de caracteres chinos definidos se escriben en el chip 595 para que sea efectivo controlar qué comportamientos de la matriz de puntos LED. clearScreen(); Realice la limpieza de la matriz de puntos LED y emita los datos en el registro 595 desde el puerto paralelo para controlar la pantalla LED. keyProcess(); es realizar la operación relevante del procesamiento de teclas. Cuando se presiona la tecla, se asigna un valor a la variable correspondiente, para controlar la forma de mostrar los caracteres chinos en la pantalla de matriz de puntos LED.
3. Cree un archivo fuente main.c para escribir la función principal y escriba la definición de la función declarada en el archivo de encabezado main.h para realizar la función específica de la función correspondiente. El código detallado se encuentra en el apéndice.
4. Después de compilar el programa con el software keil4, compile y genere el archivo .hex. La información de compilación del programa de visualización de caracteres chinos de matriz de puntos LED de 51 MCU se muestra en la Figura 3.2

inserte la descripción de la imagen aquí

图3.2:程序编译的结果

Se puede ver a partir de los resultados compilados que el programa no tiene errores ni advertencias. Luego, el archivo .hex producido por la compilación del programa se simula en el software Proteus, y los resultados de la simulación se muestran en las Figuras 3.3 y 3.4.
inserte la descripción de la imagen aquí

图3.3:程序开始仿真结果

inserte la descripción de la imagen aquí

图3.4:按下按键一的仿真结果:向上移动

A partir de los resultados de la simulación, el programa escrito cumple con los requisitos de la función de diseño de visualización de caracteres chinos de matriz de puntos LED de un solo chip 51, y el sistema realiza la visualización estática y la visualización dinámica del sistema de matriz de puntos LED: moviéndose hacia arriba y hacia abajo, moviéndose hacia la izquierda y derecha, pantalla intermitente y control de velocidad de movimiento.

5. Operación del sistema y análisis de resultados.

1. Proceso de prueba del sistema en ejecución

Use el software keil4 para compilar el programa escrito para producir un archivo .hex y descargue el programa al microcontrolador a través del descargador. El estado inicial de la microcomputadora de un solo chip 51 escrita en el programa está en el estado de visualización estática, es decir, se muestra el primer carácter chino: "electricidad". Luego presione las teclas key1~key4 respectivamente para realizar el movimiento hacia arriba, el movimiento hacia abajo, el movimiento hacia la izquierda y el movimiento hacia la derecha de los caracteres chinos que se muestran en la pantalla de matriz de puntos LED. Presione el botón key5 para darse cuenta de que los caracteres chinos en movimiento en la pantalla de matriz de puntos LED se vuelven estáticos, y cuando se presiona nuevamente, los caracteres chinos estáticos se vuelven caracteres chinos en movimiento. Presione el botón key6 para realizar la función de la pantalla de matriz de puntos LED que parpadea y muestra caracteres chinos. Presione la tecla 7 y la tecla 8 para aumentar y disminuir la velocidad de movimiento de los caracteres chinos, respectivamente. Cuando la microcomputadora de un solo chip presiona el botón de reinicio RST, la microcomputadora de un solo chip 51 se ejecuta en el estado inicial de visualización de caracteres chinos estáticos.

2. Resumen de funciones

A juzgar por los resultados de ejecución del hardware, el sistema de visualización de caracteres chinos de matriz de puntos de un solo chip compuesto por 51 microcomputadoras de un solo chip, pantallas de matriz de puntos LED de 16 × 16, botones independientes, 595 chips y 138 chips ha realizado básicamente las funciones requerido en la práctica: obtener la información correspondiente del software.La matriz de puntos muestra la información relevante de los caracteres chinos;realiza la función de conducción de 51 microcomputadoras de un solo chip y pantalla de matriz de puntos LED;escribe el programa de visualización de caracteres chinos de matriz de puntos LED a través de kei4 software, y se da cuenta de que los caracteres chinos se mueven hacia arriba, hacia abajo y hacia la pantalla de matriz de puntos LED Funciones como moverse hacia la izquierda, hacia la derecha y la pantalla parpadeante con efectos especiales.

Supongo que te gusta

Origin blog.csdn.net/m0_47419053/article/details/125933710#comments_26146124
Recomendado
Clasificación