Preguntas sobre los principios y aplicaciones de los microcontroladores
Pregunta del test: A1025
Pregunta participante:
Pantalla electrónica de matriz de puntos (Pregunta A)
Estudiante participante: Feng Yuanwei Física y Escuela de Microelectrónica
Escuela de Física y Microelectrónica de Guantong
Escuela de Ingeniería de Embalaje de Materiales Tian Lizhi
Escuelas participantes: Universidad de Shandong
Instructores : Chen Yanjun, Qin Feng, Wang Yanwei Yiwei
11 de septiembre de 2006
Contenido
Primera parte
Resumen.... .. …………………………………………3
Parte 2
1. Tareas de diseño…………………… ……… ………………..4
1.1 Requisitos básicos………………………………………………………….. ....4 p>
1.2 Dar rienda suelta a la parte……………………………………………………………….4
1.3 Parte de Innovación…… ………………………………………………………….4
2. Demostración y comparación del esquema…………………………………………5
2.1 Parte de visualización……………………………………………… … ……….5
2.2 Reloj digital……………………………………………………………….5
2.3 Temperatura parte de adquisición……………………………………………………………….6
2.4 Selección de chip……………………………… ……………………………….6
2.5 Selección del método de alarma…………………………………………………….6< / p>
2.6 Selección del método de alarma……………………………………………………………….6
2.7 Selección del chip de comunicación serie… …………………………………………….6
3. Plan general………………………………………….7
3.1 Principio de funcionamiento……………………………………………………………….7
3.2 Diseño general………… … …………………………………………………………….7
4. Diseño de hardware del sistema…………………………………………7
4.1 Sistema mínimo del microcontrolador AT89S52………………………………………….. .8
4.2 Módulo de medición de temperatura………………………………………………………………8
4.3 Módulo de reloj…… ……………………………………………………………………..8
4.4 Módulo de teclado……………………………… …………… ……………………..9
Módulo de visualización de matriz de puntos de 4,5 LED………………………………………….10
4.6 Selección de fuente de alimentación……………………………………………….11
4.7 Comunicación con PC………… …………………… ………………12
4.8 Circuito general…………………………………………………….12
5. Diseño del software del sistema………………………………………….7
5.1 Flujo principal del programa………………………………………… …… …….13
5.2 Subrutina de escaneo…………………………………………………….14
5.3 Programa de tiempo………… ………
………………………………………….15
5.4 Programa de comunicación serie del PC………………………………………… 15
5.5 Programa de ajuste de brillo……………………………………………………16
5.6 Programa de temperatura………… ………………… ………………………….17
6. Pruebas y análisis de resultados…………………………………………17
6.1 Parte básica de pruebas y análisis……………………………… ……… ….17
6.2 Usar parte de pruebas y análisis………………………………………….18
6.3 Innovar parte de pruebas y análisis Análisis ………………………………………….18
7. Resumen de diseño…………………………………………18
8. Referencias…………………………………………18
Apéndice………………………………………… …………18
Rutina………………………………………………………………………… ................. ......18
Sistema de visualización de pantalla grande LED abstracto, con microcontrolador AT89S52 como núcleo, visualización, grabación y reproducción mediante teclado. Está compuesto por módulo de sonido, interruptor fotoeléctrico, captador de temperatura, alarma programada, pantalla LED grande y otros módulos funcionales. Según los requisitos básicos de la pregunta, este sistema se centra en el diseño de visualización de la hora y visualización en pantalla grande. Además, se amplían las funciones de interfaz periférica del microcontrolador, recopilación de temperatura, alarma sin contacto, visualización de pantalla desplazable, informe de tiempo por voz y otras funciones. La mayoría de las funciones de este sistema se realizan mediante software, que absorbe la idea del software de hardware. La mayoría de las funciones se realizan mediante software, lo que hace que el circuito sea simple y claro y mejora en gran medida la estabilidad del sistema. Este sistema no sólo realiza con éxito las funciones básicas requeridas, sino que también realiza plenamente las partes funcionales y tiene ciertas funciones innovadoras.
Palabras clave: Pantalla de desplazamiento de pantalla grande LED MCU
Resumen Este sistema de pantalla de visualización LED de gran tamaño, basado en el microordenador con chip AT89S52, está compuesto por los siguientes módulos funcionales: visualización del teclado, fonación de sonido. interruptor intacto de fotoelectricidad, recolección de temperatura, campana de sincronización.
De acuerdo con los requisitos básicos del tema, nuestro sistema hace hincapié en la visualización de la hora y la visualización en pantalla grande. Además, también ampliamos la función principal, agregando nuevas funciones, como los puertos periféricos de un solo chip, recolección de temperatura, parada de timbre intacta, visualización de pantalla de desplazamiento, sincronización de sonido, etc.
Adoptando la idea de hardware a software, la mayoría. de esas funciones se realizan mediante software, lo que hace que el electrocircuito sea más conciso y el sistema más estable.
El diseño logró e incluso superó todos los índices técnicos básicos requeridos
Palabras clave: chip sistema de visualización de pantalla grande de microcomputadora
visualización de pantalla de desplazamiento
1 Diseño de tareas
1.1 Requisitos básicos: Diseñar y producir pantallas y controladores electrónicos LED.
1.1.1 Haga una pantalla electrónica LED de matriz de puntos simple de 16 filas * 32 columnas
1.1.2 Haga un controlador de pantalla casero, un teclado extendido y las interfaces correspondientes Para lograr múltiples -control de visualización funcional, la pantalla muestra números y letras con brillo moderado y sin parpadeo.
1.1.3 La pantalla de visualización puede cambiar para mostrar números y letras presionando botones
1.1.4 La pantalla de visualización puede mostrar 4 grupos de números u oraciones específicas compuestas de letras en inglés; , y el contenido de la pantalla se puede cambiar presionando los botones;
1.1.5 Puede mostrar oraciones compuestas de 4 grupos específicos de caracteres chinos, y el contenido mostrado se puede cambiar presionando el botón.
1.2 Parte funcional:
1.2.1 Haga una pantalla electrónica LED de matriz de puntos simple de 16 filas * 64 columnas;
1.2.2 LED La pantalla El brillo se puede ajustar continuamente.
1.2.3 Realizar la visualización de información con desplazamiento hacia la izquierda y hacia la derecha y la visualización en bucle cronometrado de información prealmacenada.
1.2.4 Realizar la visualización del tiempo en tiempo real, y la visualización digital en la pantalla: horas: minutos: segundos (por ejemplo, 18:38:59);
1.2.5 aumenta a 10 grupos (cada grupo contiene 8 o 16 números y caracteres de chino caracteres) para almacenar previamente la información, y la información tiene protección de apagado;
1.2.6 Realice la comunicación con la PC y actualice directamente la información de la pantalla a través del puerto serie de la PC (se requiere un programa cliente de PC);
1.3 Parte de innovación
1.3.1 Medición de temperatura ambiente
1.3.2 Alarma programada
1.3.3 Timbre horario p>
1.3.4 Parada de alarma sin contacto
2. Demostración de la solución
2.1 Parte de la pantalla:
La parte de la pantalla es la parte central de En este diseño existen las siguientes dos soluciones para la pantalla de matriz de puntos LED de 8*8:
Opción 1: visualización estática, el estado de cada diodo en un cuadro de imagen se representa mediante 0 y 1 respectivamente. es 0, significa que el LED no tiene corriente, es decir, está en estado oscuro, si es 1, significa que el diodo está encendido. Si a cada diodo emisor de luz se le asigna un circuito de activación, después de ingresar una imagen, el estado de todos los LED se mantendrá hasta la siguiente imagen. Para el modo de visualización estática, se requieren muchos dispositivos de control de decodificación, los cables son muchos y complicados, el costo es alto y la confiabilidad también es baja.
Opción 2: Visualización dinámica. Divida una imagen y muestre cada parte de la imagen por separado. Este es un método de visualización dinámica. El modo de visualización dinámica puede evitar el problema de la visualización estática. Sin embargo, si el diseño no se maneja adecuadamente, fácilmente puede causar problemas de brillo y parpadeo. Por lo tanto, un diseño razonable no solo debe garantizar que el circuito de conducción sea fácil de realizar, sino también garantizar que la imagen sea estable y sin parpadeos. La visualización dinámica adopta el método de visualización de escaneo dinámico de la tecnología de multiplexación. El grado de multiplexación no aumenta infinitamente, porque la esencia del uso de la visualización de escaneo dinámico para permitirnos ver una imagen estable es el efecto de persistencia del ojo humano y el uso de la luz. -diodos emisores de luz. La duración del tiempo de emisión de luz, el brillo de la luz y otros factores. Descubrimos a través de experimentos que cuando la frecuencia de actualización de escaneo (la frecuencia de parada del flash del diodo emisor de luz) es de 50 Hz, la luz. -El tiempo de conducción del diodo emisor es ≥1 ms, el brillo de la pantalla es mejor y no hay parpadeo.
En vista de las razones anteriores, adoptamos la opción dos
2.2. Reloj Digital
El reloj digital es una parte importante de este diseño. Dependiendo de sus necesidades, se pueden utilizar dos opciones.
Opción 1: Esta solución utiliza un software para implementar el reloj digital por completo. El principio es el siguiente: se configuran tres bytes en la memoria interna del microcontrolador para almacenar respectivamente la información de horas, minutos y segundos del reloj. Utilice un temporizador y software para implementar una interrupción programada de 1 segundo. Cada vez que se genera una interrupción, el segundo valor correspondiente en la memoria se incrementa en 1; si el segundo valor llega a 60, se borra y se borra el valor del byte de minuto correspondiente; incrementado en 1 si el valor de los minutos llega a 60, borre el byte de los minutos y agregue 1 al valor del byte de la hora; si el valor de la hora llega a 24, borre el byte de la hora; Esta solución tiene las características de un circuito de hardware simple, pero cuando el microcontrolador no está encendido, el programa no se ejecutará. Y dado que el temporizador debe reiniciarse cada vez que se ejecuta el programa, la precisión del reloj no es alta.
Opción 2: Esta solución utiliza el chip de reloj dedicado DS1302 de Dallas Company. El chip utiliza un oscilador de cristal de cuarzo internamente, su precisión del chip no es superior a 10 ms/año y tiene una función completa de reloj y alarma. Por lo tanto, se puede usar directamente para visualización o configuración, lo que hace que la programación del software sea relativamente simple. Para garantizar que el reloj pueda seguir funcionando normalmente en situaciones inesperadas, como una tensión de red insuficiente o un corte repentino de energía, el chip contiene una batería de litio. Cuando el voltaje de la red es insuficiente o hay un corte de energía repentino, el sistema cambia automáticamente al sistema de suministro de energía de la batería de litio interna. E incluso si el sistema no está encendido y el programa no se ejecuta, la batería de litio puede garantizar el funcionamiento normal del chip para proporcionar la hora correcta en cualquier momento.
Basado en las ventajas anteriores del chip de reloj, este diseño utiliza la segunda opción para completar la función del reloj digital.
2.3 Parte de adquisición de temperatura
La capacidad de medir la temperatura es una parte innovadora de este diseño. Dado que los suministros ahora buscan diversificarse y ser multifuncionales, decidimos agregar una pantalla de medición de temperatura. al sistema. Los módulos facilitan la vida de las personas y humanizan el diseño.
Opción 1: Utilice un termistor, que puede cumplir con el rango de medición de 40 grados Celsius a 90 grados Celsius. Sin embargo, el termistor tiene poca precisión, repetibilidad y confiabilidad, y no es adecuado para detectar señales menores. de 1 grado centígrado.
Opción 2: Utilizar sensor de temperatura DS18B20. DS18B20 puede cumplir con el rango de medición de -55 grados Celsius a 125 grados Celsius, y DS18B20 tiene una alta precisión de medición, con un incremento de 0,5 grados Celsius. Convierte la temperatura en números en un segundo y el valor de temperatura medido se almacena en dos. RAM de ocho bits, el microcontrolador lee directamente los datos y los convierte a decimal, que es la temperatura, es fácil de usar.
Basándonos en las ventajas anteriores del DS18b20, decidimos elegir DS18b20 para medir la temperatura.
2.4 Selección de chip
Opción 1: usar la entrada del puerto paralelo, que consume muchos recursos del puerto de E/S
Opción 2: usar la entrada del puerto serie , que es menos utilizado. Entonces elegimos usar la entrada del puerto serie. Para la entrada del puerto serie, podemos elegir chips como 74HC595, 74LS164 y TPIC6B595. Sin embargo, los chips 74HC595 y 74LS164 deben activarse para controlar los LED del dispositivo DMOS TPIC6B595 de TI. Además de tener la función lógica del registro de desplazamiento 595 en dispositivos TTL y CMOS, su característica más importante es que tiene una alta potencia de conducción y puede ser. Utilizado directamente. Para controlador LED.
Basándonos en la comparación anterior, elegimos TPIC6B595 para controlar la matriz de puntos LED.
2.5 Selección del modo de alarma
Opción 1: Usar una alarma sonora Cuando se alcanza el tiempo establecido, el microcontrolador envía un nivel alto al timbre y se activa el timbre. La alarma sonora tiene una estructura simple y es fácil de controlar, pero el sonido de la alarma es único.
Opción 2: utilizando el reloj despertador con chip de grabación y reproducción 1420, primero grabe una pieza musical en el equipo de grabación y reproducción. Cuando se alcance el tiempo establecido, el microcontrolador controlará el equipo de grabación y reproducción para reproducir. el sonido. Usando el tono de llamada del circuito de grabación y reproducción, puede preestablecer una pieza musical que le guste, que cumpla con los requisitos de humanización de los equipos eléctricos. El chip 1420 puede grabar en segmentos y también tiene una función de informe de tiempo por voz.
Basándonos en las ventajas anteriores del chip de grabación y reproducción 1420, decidimos utilizar la alarma del dispositivo de grabación y reproducción.
2.6 Selección de métodos para detener la alarma
La mayoría de los relojes tienen una función de despertador. Cuando llegue la hora establecida, el despertador se iniciará automáticamente y enviará música para recordárselo a la gente. entonces la gente puede presionar el botón de parada de alarma para que el despertador deje de funcionar. Generalmente, el despertador solo se puede configurar una vez al día y una persona tiene que presionar un botón para detener la alarma, lo cual no es muy conveniente de usar.
Las aplicaciones de procesador inteligente pueden cambiar esta situación. Puede configurar el interruptor del despertador según sus necesidades a lo largo del día, configurar el despertador varias veces y detener la alarma sin contacto.
Solución 1: Utilice el control remoto por infrarrojos para detener la alarma. Cuando el control remoto emite una señal infrarroja específica, el microcontrolador recibe la señal y envía una señal de parada al dispositivo productor de sonido para detener la alarma. . El control remoto de alarma por infrarrojos tiene una gran distancia, pero es caro y aumenta los costes de fabricación.
Opción 2: Usar un sensor fotoeléctrico Cuando un objeto bloquea el sensor fotoeléctrico, el sensor fotoeléctrico envía un nivel bajo a la interfaz del microcontrolador y el microcontrolador envía inmediatamente una señal de parada al dispositivo productor de sonido. detener el ruido. Los sensores fotoeléctricos son baratos, tienen circuitos simples y fáciles de controlar.
Basándonos en la comparación anterior, decidimos utilizar sensores fotoeléctricos para detener el ruido.
2.7 Selección de chips de comunicación serie
El puerto serie AT89S52 utiliza nivel TTL, por lo que es necesario un circuito de conversión de nivel. Puede elegir 1488, 1489 o MAX232A.
p>Solución 1: use chips 1488 o 1489 para lograr la conversión de nivel. Sin embargo, durante el uso, se descubrió que estos dos chips no son muy confiables y requieren fuentes de alimentación positivas y negativas de 12 V, lo cual es problemático de usar.
Opción 2: El uso del chip de conversión de nivel de fuente de alimentación única MAX232A puede hacer que el circuito sea simple y confiable.
Con base en el análisis anterior, elegimos la opción 2, utilizando el chip MAX232A
Módulo de potencia 2.8
Opción 1: Usar baterías secas como fuente de alimentación de El sistema de matriz de puntos LED consume mucha energía y el uso de baterías secas requiere un reemplazo frecuente de las baterías, lo que no cumple con los requisitos de una sociedad orientada a la conservación. El sistema de matriz de puntos debe colgarse en la pared y la capacidad total de la batería es grande, lo que puede provocar mayores riesgos de seguridad.
Opción 2: Utilice una fuente de alimentación regulada de 200 W/5 V CC como fuente de alimentación del sistema. La energía no solo puede satisfacer las necesidades del sistema, sino que tampoco es necesario reemplazar la fuente de alimentación. más ligero, más seguro y más confiable de usar
Con base en el análisis anterior, decidimos adoptar el plan 2
3. Plan general
3.1 Principio de funcionamiento: <. /p>
Utilice el microcontrolador AT89S52 como módulo de control central de este sistema. El microcontrolador puede procesar los datos leídos por DS18B20 y DS1302 usando software, transmitiendo así los datos al módulo de visualización para realizar la visualización de la temperatura y el calendario. La pantalla electrónica LED de matriz de puntos es el módulo de visualización principal, que muestra los datos del microcontrolador y puede realizar una visualización de desplazamiento. Utilice sensores fotoeléctricos para lograr la función antialarma sin contacto. En el circuito de visualización, los botones se utilizan principalmente para realizar la selección y conmutación de diversos requisitos de visualización.
3.2 Diseño general
El diagrama de bloques del diseño general se muestra en la Figura 1
4 Diseño del hardware del sistema (diseño y análisis del circuito de la unidad)
.4.1 Sistema mínimo del microcontrolador AT89S52:
El sistema mínimo incluye el circuito oscilador de cristal, el interruptor de reinicio y la sección de fuente de alimentación. La Figura 2 muestra el sistema mínimo del microcontrolador AT89S52.
4.2 Módulo de medición de temperatura:
El sensor de medición de temperatura adopta el sensor de temperatura digital de bus único DS18B20 de DALLAS Company. El rango de medición de temperatura es de -55 ℃ ~ 125 ℃. se puede programar con una precisión de conversión A/D de 9 bits ~ 12 bits, la resolución de medición de temperatura alcanza 0,0625 ℃, usando el modo de fuente de alimentación parásita, la CPU puede comunicarse con DS18B20 con una sola línea de puerto, ocupando menos líneas de puerto de CPU y ahorrando muchos cables y circuitos lógicos. El circuito de interfaz se muestra en la Figura 3.
Figura 3 Circuito de medición DS18B20
4.3 Módulo de reloj
El módulo de reloj utiliza el chip DS1302 DS1302 es un chip de reloj de carga lenta lanzado por DALLAS. Un reloj/calendario en tiempo real y 31 bytes de RAM estática se comunican con el microcontrolador a través de una sencilla interfaz en serie. El circuito de reloj/calendario en tiempo real proporciona información sobre segundos, minutos, horas, día, fecha, mes y año. mes y años bisiestos Ajusta automáticamente la operación del reloj. La instrucción /PM determina el formato de 24 horas o 12 horas. El DS1302 y el microcontrolador pueden comunicarse simplemente de manera síncrona. 1 RES reset 2 Línea de datos de E/S 3 Reloj serie SCLK/ Los datos de lectura/escritura de la RAM se comunican en un byte o grupo de caracteres de hasta 31 bytes. Cuando está en funcionamiento, el consumo de energía del DS1302 es muy bajo. datos e información del reloj, la potencia es inferior a 1 mW. El circuito de cableado se muestra en la Figura 4
Figura 4 Circuito del reloj
4.4 Módulo de teclado
Teclado, Módulo de visualización de estado: para simplificar la programación del software, este diseño utiliza el chip programable 8255. El método de conexión se muestra en la Tabla 1.
El puerto PA está conectado a los botones y el puerto de PC se usa para controlar la matriz de puntos LED utilizada para la visualización del estado. Cada botón está conectado a la fuente de alimentación Vcc a través de una resistencia pull-up de 10K y el otro extremo del botón está conectado a tierra. Cuando se presiona una tecla, el bit correspondiente del puerto PA conectado a la llave cambia al nivel bajo. Después de detectar el cambio, el microcontrolador cambia al programa de procesamiento de clave correspondiente y enciende la matriz de puntos LED en el programa. El circuito del módulo se muestra en la Figura 5
4.5 Módulo de pantalla LED
Los datos de la matriz de puntos se ingresan en serie y el dispositivo es el registro de desplazamiento TPIC6B595595. Las señales de escaneo y control de puerta son. A menudo se realiza en una fila de 16 puntos de procesamiento paralelo. En la pantalla de matriz de puntos, una unidad de visualización LED se compone de 4 × 8 puntos LED y el método de diseño es fila *** columna positiva *** negativa. La unidad se divide en dos partes: fila y columna, que provienen de registros de desplazamiento de fila y columna respectivamente. Los datos de fila son datos escaneados. Solo se controla una fila de las 16 a la vez, mediante un escaneo fila por fila. método Los datos de la columna son el código de matriz de puntos de los caracteres chinos. . El procesamiento de matriz de puntos también se puede utilizar para visualización de caracteres y gráficos, y el principio y el método de visualización son los mismos. El circuito se muestra en la Figura 6
Figura 6 Circuito de pantalla LED
4.6. Selección de fuente de alimentación:
La fuente de alimentación regulada de 200 W/5 V CC es más segura. El diagrama del circuito se muestra en la Figura 7
Figura 7 Circuito de alimentación
4.7. Comunicación con PC
MAX232 es estándar Para la interfaz de comunicación serial, para comunicación bidireccional general, solo necesita usar el puerto de entrada serial RXD (pin 3), la salida serial TXD (pin 2) y el cable de tierra (pin 7). Las especificaciones del nivel lógico del MAX232 se muestran en la Tabla 2.
Tabla 2 Tabla de niveles lógicos
Amplitud del nivel de valor lógico (v)
0 3 ~ 15
1 3-~-15
Figura 8 Comunicación serie
4.8 Circuito general
El circuito general del sistema es el siguiente:
Figura 9 Circuito general
5. Diseño del software del sistema
5.1 Programa principal como se muestra en la Figura 10
5.2 Mostrar el flujo de subrutina como como se muestra en la Figura 11
5.3 Mostrar diagrama de flujo de subrutina de tiempo como se muestra en la Figura 12
Figura 12 diagrama de flujo de subrutina de tiempo
5.4 Programa de comunicación con el puerto serie de la PC
5.5 Ajuste de brillo del LED
Figura 14 Ajuste de brillo del LED
5.6 Diagrama de flujo de medición de temperatura Figura 15
Figura 15 Diagrama de flujo del programa de medición de temperatura
6, medición y análisis de resultados
6.1 Pruebas y análisis de piezas básicas
6.11 Instrumentos de prueba:
Cronómetro, termómetro, multímetro, Simulador WAVE
Prueba y análisis de los requisitos básicos de 6.12:
(1) Después de encender el sistema, la pantalla completa se ilumina sin puntos oscuros. Luego se muestra la hora. Escanee el teclado después de presionar la tecla "#" Cuando se presionan las teclas 1 a 10, se mostrarán respectivamente los números, los caracteres ingleses o chinos establecidos por los diez segmentos.
(2) Cuando muestre la hora, compárela con el cronómetro para asegurarse de que la hora del sistema probado sea precisa.
6. 2 Parte de la prueba y análisis:
(1) Al presionar # y luego presionar para ingresar al ajuste de brillo, al presionar la tecla " ", el brillo aumenta. Cuando se presiona la tecla "-", el brillo se debilita.
(2) El texto se puede mover hacia la izquierda y hacia la derecha
(3) Presione la tecla "Establecer hora" y observe que el diodo "reloj" se enciende en este momento. La hora se puede configurar. Presione "Configuración de hora" para ingresar a la depuración y presione la tecla " " para agregar tiempo. Al presionar la tecla "Cambiar", se ingresa al modo de ajuste de minutos. Presione la tecla " " para aumentar los minutos. Cuando se presiona la tecla "Seleccionar", el modo de ajuste de minutos cambia al modo de ajuste de segundos, y los segundos aumentan presionando la tecla " ". Después de la prueba, este paso se puede implementar muy bien.
Después de ajustar la hora, presione "Configuración de alarma" nuevamente para ingresar al estado de configuración de alarma, presione la tecla " " para configurar el aumento de "hora", presione la tecla "Seleccionar" para ingresar la configuración de minutos, presione la tecla " " para establezca los "puntos" aumentados. Presione la tecla "Seleccionar" para ingresar al modo de configuración de segundos y presione la tecla " " para aumentar los segundos.
(4) El sistema puede mostrar 10 grupos, cada grupo tiene 8 caracteres chinos, cumpliendo con los requisitos
6.3 Prueba y análisis de piezas de innovación
(1) Medición de temperatura: cambie la visualización de la temperatura ambiente en el sitio en el teclado: presione la tecla "Función" para seleccionar "Temperatura" y coloque el sensor de temperatura y el termómetro en diferentes entornos de prueba para realizar la prueba. Los resultados se muestran en la Tabla 1.
Tabla 1 Tabla comparativa con valores de medición de termómetro estándar
Indicación del termómetro (Celsius) 10,3 25,2 49,7 70,1 85,5
Salida de temperatura (Celsius) 10 25 50 70 86
Se sabe por la prueba que la salida del reloj digital es básicamente igual al valor del termómetro y el error no es superior a 0,5 grados.
(2) Cuando llegue la hora establecida, comience a acceder a una pieza musical para completar la función de alarma programada.
(3) Deja de jugar cuando cubras el sensor fotoeléctrico con la mano. Después de retirar la mano, el sonido ya no se reproducirá hasta que se alcance el tiempo establecido. Completé la función anti-ruido sin contacto
7. Resumen del diseño
Después de prepararnos de todo corazón para todo un caluroso día de verano, finalmente recibimos las preguntas del examen el 8 de septiembre. la pregunta de control A (matriz de puntos LED), desde la formulación del plan básico hasta la selección de circuitos de hardware, la producción de circuitos y finalmente la depuración del programa. Durante este período, encontramos muchas dificultades y apenas dormimos bien por la noche. Aunque fue muy difícil, dividimos nuestro trabajo y cooperamos entre nosotros. Probamos la alegría de resolver problemas una y otra vez y finalmente completamos todas las funciones requeridas. y se unió a algunas partes innovadoras. En la competencia descubrimos la falta de nuestro conocimiento. A través de cuatro días y tres noches de lucha, o cuatro días y tres noches de estudio, aprendimos mucho. Lo más importante es que aprendimos un espíritu: la vida eterna. no te rindas. En el futuro utilizaremos este espíritu para estudiar y alcanzar un nivel superior.
8 Materiales de referencia
[1] "Diseño e implementación de sistemas inteligentes basados en una estructura de microcomputadora de un solo chip" Shen Hongwei Electronic Industry Press
[2. ] Principios y tecnología de interfaz de "microcomputadora de un solo chip" editado por Huang Huiyuan, Ocean Publishing House
[3] "Tecnología de aplicación MCU" editado por Zhou Ping y Wu Yunhui, Universidad de Ciencia y Tecnología Electrónica de China Press
[4] "Práctica y aplicación del microcontrolador 8051" Editado por Wu Jinxu, Shen Jinyang y Guo Tingji, Tsinghua University Press
[5] "Análisis del concurso de diseño electrónico Preguntas" Editado por Huang Zhengjin y otros, Southeast University Press
Apéndice:
Ejemplo: un programa que muestra cuatro caracteres en toda la pantalla
SER EQU P1 .0; TPIC6B595 pin 3
OE EQU P1.1; TPIC6B595 pin 8
RCK EQU P1.2; TPIC6B595 pin 9
SRRCLK EQU P1.4; TPIC6B595 pin 13
ORG 0000H
LJMP PRINCIPAL
ORG 0100H
;************************ ******Programa principal************* ***********************
PRINCIPAL: MOV SP, #70H
SETB OE
MOV 2BH, #00H
MOV 27H, #00H
INICIO: ; Registro de inicialización de la unidad RAM
MOV R0, #30H
MOV R1, #64H; las unidades 30H~6FH se borran
MOV A, #00H
ST: MOV @R0, A
INC R0
DJNZ R1, ST
; 2Dh------direccionamiento de desplazamiento Los cuatro caracteres en toda la pantalla se muestran juntos
LOOP: MOV DPTR , #TAB; asigna el valor inicial de la tabla de búsqueda
MOV R3, #56
PLAY: MOV 2DH , #00H
MOV 2FH, #10H
GG: LCALL LINE16; escanea y muestra una vez
MOV 2DH, #00H
DJNZ 2FH, GG
MOV A, DPL
CLR C
AÑADIR A, #16
MOV DPL, A
MOV A, DPH
ADDC A, #00H
MOV DPH, A
DJNZ R3, PLAY
INICIO SJMP
LINE16: MOV 2BH, #16 ; escanea 16 líneas, ¿cuántas líneas quedan después de 2BH?
FF: LCALL LINE1; escanea para mostrar una línea de subrutinas
DJNZ 2BH, FF escanee las líneas hasta que esté la línea 16; escanear y luego transferir
RET
LINE1: LCALL MSTR; mover el contenido mostrado a la unidad de memoria
LCALL SEND ;Enviar subrutina de puerto serie
LCALL XH; subrutina de fila estroboscópica
RET
>
MSTR: ;Mueve el contenido de la pantalla a la unidad de memoria
MOV R0, #30H
MOV R4, #9
MOV A, 2DH ;
p>BB: MOVC A, @A DPTR
MOV @R0, A
INC R0
MOV A, 2DH
AGREGAR A, #16; agregue 16 para pasar a la siguiente línea
MOV 2DH, A
DJNZ R4, BB
MOV A, 2DH
SUBB A, #143
MOV 2DH, A
RET
;$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$Enviar datos a la subrutina del puerto serie$$$$$$$$$$$$$$$$$$$$$$$ $$
ENVIAR: MOV R0, #30H
MOV R5, #8; una línea tiene 8 bytes Si el número de palabras mostradas es diferente cada vez, se deben realizar los cambios correspondientes. hecho
SETB OE
SETB MR
CLR SRCLK
CLR RCK
SETB P1.6 p>
SETB P1.7
LQ: CLR C
MOV R2, #8
MOV A, @R0
; CPL A; TPIC6B595 no debería necesitar este paso
LCALL DD1; llama a una subrutina que muestra un byte
INC R0 a la siguiente unidad de visualización
DJNZ R5, LQ
RET
DD1: CLR SRCLK; borrar terminal CP serie
RLC A
MOV SER, C;
SETB SRCLK; activa el lado CP serial
DJNZ R2, DD1; mover cada byte 8 veces es suficiente para ejecutar hacia abajo
RET
; subrutina de fila estroboscópica
XH: CLR RCK; baje la salida CP para prepararse para el flanco ascendente
NOP
SETB RCK
CLR P1.6
; CLR P1.7
MOV A, 27H
MOV P0, A
CLR OE
LCALL DE25MS
INC A
SETB OE
SETB P1.6
MOV A, 27H p>
ANL A , #0F0H
INTERCAMBIAR A
AÑADIR A, #01H
INTERCAMBIAR A
MOV 27H, A
CLR MR
SETB MR
RET
DE25MS:
MOV R5, #09H
DEL2: MOV R6, #0FH
DEL3: MOV R7, #01H
DJNZ R7, $
DJNZ R6, DEL3
DJNZ R5, DEL2
RET
TAB:
Biblioteca de fuentes
END