Red de conocimiento de abogados - Derecho de sociedades - Utilice un microcontrolador para diseñar y producir un sistema de control de semáforo de intersección simulado.

Utilice un microcontrolador para diseñar y producir un sistema de control de semáforo de intersección simulado.

Resumen

En la vida diaria, el uso de semáforos permite una gestión eficaz del tráfico, lo que tiene efectos evidentes en la desviación del flujo de tráfico, la mejora de la capacidad de las carreteras y la reducción de los accidentes de tráfico. El sistema de control del semáforo consta de un microcontrolador 80C51, teclado, pantalla LED y retardo del semáforo. Además de las funciones básicas de los semáforos, el sistema también cuenta con funciones de configuración de hora y visualización de información LED para lograr un control eficaz del tráfico de la ciudad.

Palabras clave: semáforos; microcontrolador; control automático; LED

Resumen

En la vida diaria, el uso de los semáforos, para que se pueda gestionar el tráfico de forma eficaz. suavizar el flujo de tráfico, aumentar la capacidad de la carretera y reducir los accidentes de tráfico tiene resultados notables. El sistema de control de semáforo consta de un microcontrolador 80C51, un teclado, una pantalla LED y un componente de retardo de semáforo. Además, el sistema de semáforo tiene las funciones básicas, pero también con el tiempo. configuración, función de visualización de información LED, logrando un control efectivo del tráfico urbano

Palabras clave: control de semáforos LED

Contenido

1 descripción de semáforos; de tareas, requisitos funcionales e introducción del plan general…………………………1

1.1 Tareas de semáforo………………………………………… ……… ………………1

1.2 Descripción de requisitos funcionales………………………………………………………………1

1.3 Introducción al esquema de diseño general y descripción de los principios de funcionamiento……………………………………2

2 Diseño del sistema de hardware del semáforo………… ………… ……………………………………4

2.1 Introducción a las funciones de cada módulo del sistema hardware………………………………………… ……4

2.2 Esquema del circuito………………………………………………………………5

2.3 Diagrama del circuito PCB… ……… ……………………………………………………5

2.4 Diseño de componentes……………………………… ………… ……5

2.5 Lista de componentes………………………………………………………………5

3 Diseño de semáforo sistema de software………………………………………………………………7

3.1 Uso de recursos del microcontrolador………… ………………… ……………7

3.2 Introducción a las funciones del módulo de software……………………………………………………8

3.3 Flujo del programa tabla………………………………………………………………8

3.4 Lista de programas……………… …………………… …………………………10

4 Resumen del diseño…………………………………………………… ………………11

4.1 Instrucciones de uso………………………………………………………………11

4.2 Análisis de errores……………… ………………………………………………11

4.3 Experiencia en diseño………… ………………………………………… …………11

4.4 Sugerencias didácticas……………………………………………………………… …12

Referencias… ……………………………………………………………13

Agradecimientos… ………………

……………………………………………………………………14

Apéndice 1 Esquema del circuito……………………………… …………………………15

Apéndice 2 Diagrama de nivel superior de la PCB del circuito……………………………………………………16

Apéndice 3 diagrama de capa inferior de PCB del circuito…………………………………………17

Apéndice 4 diagrama de diseño de componentes………… …………… ………………………………………18

Apéndice 5 Lista de componentes………………………………………… ………………19

Apéndice 6 Lista de programas………………………………………………………………20

1 Tareas de semáforo, requisitos funcionales descripción e introducción al plan general

1.1 Tareas del semáforo

Diseñar un semáforo en una intersección con funciones específicas. Después de encender el semáforo o restablecer el botón, puede mostrar automáticamente el mensaje del sistema "P" e ingresar al estado de preparación. Presione la tecla de inicio para comenzar a trabajar, presione la tecla de finalización para volver al estado "P". Los vehículos en las dos carreteras que se cruzan en el carril A y el carril B deben circular alternativamente. El carril A es el carril principal y cada tiempo de apertura es de 60 segundos. El carril B es el carril secundario y cada tiempo de apertura es de 30 segundos. Se requiere que la luz esté encendida durante 3 segundos y parpadee una vez por segundo. Cuando aparezca un vehículo de emergencia, todas las luces rojas se encenderán. El vehículo de emergencia estará abierto al tráfico durante 10 segundos y no se permitirá el paso de otros vehículos.

1.2 Descripción de requisitos funcionales

El método de conexión de hardware de este diseño de curso es el siguiente: el puerto P2 está conectado al diodo y P2.0, P2.1 y P2. 2 líneas de puerto están conectadas por separado. Controla la luz verde, la luz amarilla y la luz roja en dirección este-oeste. Las líneas de puerto P2.3, P2.4 y P2.5 controlan la luz roja, la luz amarilla y la luz verde en el norte. -dirección sur respectivamente. El puerto P0 se utiliza como control de posición del tubo digital (aquí solo se utilizan P0.0 y P0.1), el puerto P1 se utiliza como control de segmento del tubo digital y el puerto P3 se utiliza como parte de entrada (P3 Aquí se utilizan .0 y P3) .1, línea de puerto P3.2), controla el estado de visualización del tubo digital y el estado de encendido/apagado del diodo.

Cuando se enciende el semáforo o se reinicia el botón, el mensaje del sistema "P" se mostrará automáticamente y el sistema entrará en el estado de preparación.

Cuando se presiona y suelta el botón de inicio K1, la pantalla del tubo digital comenzará la cuenta regresiva desde "60" y disminuirá en 1 cada segundo. En este momento, la luz verde siempre estará encendida en el norte. -dirección sur, y la luz roja estará encendida en dirección este-oeste hasta que muestre "00", el tubo digital comenzará la cuenta regresiva desde "03" y disminuirá en 1 cada segundo. parpadeará una vez por segundo en dirección norte-sur y la luz roja permanecerá encendida en dirección este-oeste hasta que se muestre "00", el tubo digital comenzará la cuenta regresiva desde "30". La luz roja estará encendida en dirección norte-sur y la luz verde estará encendida en dirección este-oeste hasta que muestre "00", el tubo digital comenzará la cuenta regresiva desde "03". la luz roja siempre está encendida en dirección norte-sur y la luz amarilla parpadea cada segundo en dirección este-oeste cuando no se presiona ninguna otra tecla, el semáforo continuará funcionando así;

Cuando se presiona y suelta la tecla de finalización K2, el tubo digital mostrará "P". y no se encenderá ninguna luz en las direcciones este, oeste, norte y sur.

Cuando se presiona y suelta la tecla de emergencia K3, el tubo digital mostrará "09" y disminuirá en 1 cada segundo.

Todas las luces rojas en el este, oeste, norte y. Las direcciones sur se iluminarán.

El microcontrolador utiliza AT89S52, fosc=12MHZ. Sus funciones clave se muestran en la Tabla 1.1.

Tabla 1.1 Funciones de las teclas

Botón Nombre de la tecla Función

P3.4 Tecla K1 Tecla Inicio

P3.7 Tecla K2 Tecla Finalizar

P3.6 Clave de emergencia K3

1.3 Introducción al plan general de diseño y descripción de los principios de funcionamiento

1.3.1 Introducción al plan general

p>

El circuito del semáforo consta del microcontrolador AT98S52, el circuito de interfaz del teclado, el circuito de interfaz de la pantalla, el circuito de control del diodo emisor de luz, el circuito del reloj y el circuito de reinicio. El diagrama de bloques esquemático se muestra en la Figura 1.1.

Figura 1.1 Diagrama de bloques principal

(1) Fuente de alimentación

Uso de una fuente de alimentación regulada independiente La ventaja de esta solución es que es estable y confiable. y tiene varios circuitos maduros disponibles para su uso.

(2) Pantalla

Adopta completamente una pantalla de tubo digital para mostrar símbolos y caracteres digitales limitados.

(3) Entrada de teclado

Conecte el interruptor de llave directamente a la línea del puerto de E/S Debido a que el circuito se simplifica y optimiza durante el diseño, aún quedan más recursos del puerto. . Finalmente utilizamos 4 botones, a saber: K0, K1, K2 y K3.

1.3.2 Principio de funcionamiento

En primer lugar, el circuito de reloj genera la señal de reloj necesaria para el funcionamiento del microcontrolador. Este es el requisito previo para el funcionamiento normal del microcontrolador. ¿El microcontrolador tiene una base de tiempo y cuánto tiempo tomará? Aún debemos determinarlo artificialmente. Utilizo un programa de retraso de 10 ms para llamarlo repetidamente para cronometrar. En nuestro circuito de hardware, el programa de función clave de la tecla está en el servicio de interrupción. En circunstancias normales, el programa principal continuará ejecutándose. La CPU Para ejecutar el programa de interrupción, el programa de interrupción puede realizar tres funciones clave: la primera es encender la luz roja de emergencia para la cuenta regresiva de diez segundos, la segunda es finalizar la cuenta regresiva y mostrar P.; reiniciar la cuenta regresiva. El principio es INTO = P3.4 y P3.6 y P3.7. Cuando se presiona una tecla, la línea del puerto 0 de interrupción externa pasará a un nivel bajo. El programa de escaneo de teclas se usa para determinar específicamente qué tecla se presionó y luego la CPU lo hará. ejecutar una determinada función clave en la interrupción. Los 12 diodos emisores de luz están controlados por el puerto P0. Se conecta una resistencia limitadora de corriente en serie entre el puerto P0 y el diodo para evitar que el diodo se queme. Es eficaz cuando se envía un nivel bajo.

2 Diseño del sistema hardware del semáforo

2.1 Introducción a las funciones de cada módulo del sistema hardware

2.1.1 Circuito de visualización

En este artículo En el diseño del curso, utilizamos un tubo digital cuatro en uno. El controlador de pantalla de este diseño utiliza triodos como controlador. Además, se conecta una resistencia en serie tanto a la línea de control de posición como a la línea de control de segmento para aumentar su potencia de salida. Aquí se utiliza una resistencia hembra de 220 ohmios.

2.1.2 Circuito de control de luz indicadora

El diseño de este curso utiliza el puerto P3 para controlar la condición de emisión de luz del diodo. La línea del puerto envía un nivel bajo. efectivo El diseño específico es el siguiente: P3.2 controla la luz verde en la dirección este-oeste, P3.4 controla la luz amarilla en la dirección este-oeste, P3.5 controla la luz roja en la dirección este-oeste. , P3.1 controla la luz roja en dirección norte-sur, P3.7 controla la luz amarilla en dirección norte-sur, P3.0 controla la luz verde en dirección norte-sur.

2.1.3 Circuito de control del teclado

El teclado es el dispositivo de entrada más utilizado y es el vínculo entre el diálogo humano-ordenador. Según su forma estructural, se puede dividir en teclado sin codificación y teclado codificado.

Los teclados de codificación utilizan métodos de hardware para generar códigos de teclas. Cada vez que se presiona una tecla, el teclado puede generar automáticamente un código de teclado, tiene una gran cantidad de teclas y tiene una función antirrebote. Este tipo de teclado es fácil de usar, pero el hardware es complicado. El teclado sin codificación solo proporciona el estado de funcionamiento del interruptor de llave y su código de tecla lo determina el software. Este tipo de teclado tiene menos teclas y un hardware simple. Se usa ampliamente en varios sistemas de aplicaciones de microcontroladores. En el circuito, los teclados utilizados por el microcontrolador se pueden dividir en dos tipos: tipo independiente y tipo matricial. El tipo independiente es en realidad un conjunto de botones independientes. Estos botones se pueden conectar directamente al puerto de E/S del microcontrolador, es decir, cada botón tiene una línea de puerto exclusiva. Este método de conexión es simple. Un teclado matricial también se denomina teclado matricial. Debido a que hay una gran cantidad de teclas, las teclas están dispuestas en filas y columnas para formar una matriz. La cantidad de teclados en este diseño es pequeña y, para facilitar la instalación, se adopta un método de conexión independiente.

La ejecución de la función de presionar de una tecla a otra debe incluir principalmente dos tareas: una es la identificación de teclas, es decir, saber qué tecla se presiona en el teclado, y la otra es la función de la tecla. lograr. El primer trabajo se implementa utilizando circuitos de interfaz, mientras que el segundo trabajo se logra ejecutando una rutina de servicio de interrupción. Específicamente, la interfaz del teclado debe completar las siguientes funciones operativas:

(1) Exploración del teclado para determinar si se presiona una tecla (llamada "tecla cerrada").

(2) Identificación de clave para determinar la posición de fila y columna de la clave cerrada.

(3) Generar el código clave de la clave de cierre.

(4) Excluir claves múltiples, claves de cadena (claves múltiples) y antirrebote.

El contenido anterior generalmente se completa mediante una combinación de software y hardware, es decir, se completa mediante el circuito de interfaz con la cooperación del software. Pero lo que hace el hardware y lo que hace el software depende del circuito de interfaz.

El principio general es que si el hardware es complejo, el software debe ser simple; si el hardware es simple, el software debe ser complejo.

2.1.4 Circuito de reloj

El circuito de reloj se utiliza para generar la señal de reloj necesaria para el funcionamiento del microcontrolador. El microcontrolador en sí es un circuito secuencial síncrono complejo. Garantizar la realización del modo de trabajo sincrónico. El circuito debe funcionar estrictamente en secuencia bajo el control de una señal de reloj única. Al conectar el oscilador de cristal y el condensador de ajuste a través de los dos pines externos XTAL1 y XTAL2 del chip para formar un circuito de retroalimentación, se forma un circuito de autooscilación estable. El circuito de reloj genera una secuencia de pulsos de reloj para el microcontrolador. La frecuencia del oscilador de cristal utilizada en este diseño es de 12 MHz y la capacitancia es de 33 pF.

2.1.5 Circuito de reinicio

El circuito de reinicio se utiliza para generar una señal de reinicio, que se envía al microcontrolador a través del pin RST. El reinicio es la operación inicial del microcontrolador. Su función principal es: para algunos fines especiales, el registro establece el estado inicial, la palabra de estado del programa PSW se borra a 0, al contador de programa PC se le asigna un valor de 0000H, etc. Además de ingresar a la inicialización normal del sistema. , cuando el sistema está en un estado de punto muerto debido a errores de ejecución del programa o errores de operación, para salir de la situación, también es necesario instalar un botón de reinicio para reiniciar. El pin RST es el terminal de entrada de la señal de reinicio. La señal de reinicio está activa en un nivel alto. Se necesitan 24 ciclos de estado para completar la operación de reinicio. Una vez completado el reinicio, el microcontrolador comienza a ejecutar el programa desde la unidad de dirección 0000H. El SP es 07H y otros registros son grandes. La mayoría está configurado en 00H. Este diseño utiliza un oscilador de cristal con una frecuencia de 12 MHz, por lo que la duración de la señal de reinicio debe exceder los 2 μs para completar la operación de reinicio. Hay tres tipos de circuitos de reinicio: reinicio de encendido, reinicio de clave y reinicio de pulso de clave. El diseño de este curso utiliza reinicio de clave.

2.1.6 Sistema de microcontrolador mínimo

Utiliza el chip microcontrolador AT89S52, que puede realizar experimentos básicos de puertos de E/S, experimentos de contador de tiempo, etc. Tiene las características funcionales de entrada y salida del puerto paralelo de microcomputadora de un solo chip.

2.2 Diagrama esquemático del circuito

El diagrama esquemático del circuito se muestra en el Apéndice 1.

2.3 Diagrama de PCB del circuito

El diagrama de nivel superior del PCB del circuito se muestra en el Apéndice 2.

El diagrama de nivel superior del PCB del circuito es; se muestra en el Apéndice 3.

2.4 Diagrama de diseño de componentes

Consulte el Apéndice 4 para ver el diagrama de diseño de componentes.

2.5 Lista de componentes

La lista de componentes se muestra en el Apéndice 5.

3 Diseño del sistema de software de semáforo

3.1 Uso de recursos del microcontrolador

3.1.1 Instrucciones de uso de recursos de hardware El puerto P0 es el puerto de control del diodo P1 puerto Se utiliza como bus de dirección/datos. El puerto P2 se utiliza como bus de dirección/datos. Las líneas de puerto P3.4, P3.6 y P3.7 se utilizan como terminales de entrada de teclado.

También se utiliza en el puerto P0 de AT89S52. Conecte los cátodos de doce diodos emisores de luz para controlar su encendido y apagado. El puerto P1 y el puerto P2 están conectados externamente a una pantalla compuesta por 2 tubos digitales LED (LED1). , LED0 utiliza el puerto P2 como puerto de salida del código de segmento LED (P2. 0 ~ P2.7 corresponde al a~dp del LED), y el puerto P1 se utiliza como línea de salida de control de posición del LED (). P1.1 y P1.0 corresponden a LED1 y LED0 respectivamente), en los cuales 2 transistores externos están conectados al puerto serie de P1. Como controlador de pantalla, la pantalla utiliza dos tubos digitales (LED0 ~ LED1) para visualización dinámica. El puerto P3 está conectado a tres botones externos K1, K2 y K3 (correspondientes a los puertos P3.4, P3.7 y P3.6 respectivamente) para ajustar el circuito de interfaz de pantalla.

3.1.2 Tabla de distribución del semáforo

La distribución de la línea del puerto del semáforo se muestra en la Tabla 3.1. "1" significa envío de alta potencia y "0" significa envío de baja potencia. departamento.

Tabla 3.1 Tabla de asignación de semáforos

P0.2 Este-Oeste luz verde 1 1 0 1

P0.3 Este-Oeste luz amarilla 1 1 1 0

P0.4 Luz roja Este-Oeste 0 0 1 1

P0.5 Luz roja Norte-Sur 1 1 0 0

P0.6 Norte -Luz amarilla Sur 1 0 1 1

P0.7 Luz verde Norte y Sur 0 1 1 1

Código de control 6FH AFH DBH D7H

Descripción del estado Norte y sur despejado, este y oeste prohibidos Advertencia de norte y sur, este y oeste prohibidos Norte y sur prohibidos, este y oeste despejados Norte y sur están prohibidos, este y oeste están permitidos

3.2 Introducción a la función del módulo de software

La tarea principal del módulo de programa principal es inicializar el programa y mostrar "P.P." Cuando no se presiona ninguna tecla, el módulo de visualización permanecerá sin cambios y todos los semáforos estarán apagados cuando la tecla K0 esté apagada. presiona y suelta, comienza la cuenta regresiva.

En el proceso de visualización del tiempo, se determina si las teclas K0, K1 y K2 están presionadas. Cuando se presiona K0 nuevamente, la pantalla reiniciará la cuenta regresiva. Si se presiona K1, se mostrará "P." y todos los LED se apagarán. Si se presiona K2, el tubo digital comenzará una cuenta regresiva de diez segundos y se iluminarán todos los indicadores del este, oeste, sur y norte. Enciende la luz roja.

3.3 Diagrama de flujo del programa

El diagrama de flujo del programa principal se muestra en la Figura 3.1, y el diagrama de flujo del programa de evaluación clave se muestra en la Figura 3.2

Figura 3.1 Diagrama de flujo del programa principal

Figura 3.2 Diagrama de flujo del programa del botón de evaluación

3.4 Lista de programas

Consulte el Apéndice 6 para ver la lista de programas.

4 Resumen del diseño

4.1 Instrucciones de uso

Este experimento utiliza principalmente el microcontrolador AT89S52, tubos digitales y diodos emisores de luz. Toda la estructura del circuito es relativamente. Sencillo. Realiza las siguientes funciones: Visualización de la hora. El encendido y apagado de las luces rojas, amarillas y verdes.

Las instrucciones de operación específicas son las siguientes: Cuando se enciende el semáforo o se reinicia el botón, se mostrará automáticamente el mensaje "P" del sistema y el sistema entrará en el estado de preparación. Cuando se presiona y suelta el botón de inicio K1, la pantalla del tubo digital comenzará la cuenta atrás desde "60" y disminuirá en 1 cada segundo. En este momento, la luz verde se encenderá en dirección norte-sur y la luz roja. estará encendido en dirección este-oeste hasta que muestre "00", el tubo digital comenzará la cuenta regresiva desde "03" y disminuirá en 1 cada segundo. En este momento, la luz amarilla parpadeará una vez por segundo en dirección norte. dirección sur, y la luz roja permanecerá encendida en dirección este-oeste hasta que muestre "00". El tubo digital comenzará la cuenta regresiva desde "30". dirección sur, y la luz verde siempre estará encendida en dirección este-oeste hasta que muestre "00", el tubo digital comenzará la cuenta atrás desde "03". Cuando la luz roja esté encendida, la luz amarilla parpadeará cada segundo. en dirección este-oeste; cuando no se presionen otras teclas, el semáforo seguirá funcionando así. Cuando se presiona y suelta la tecla de finalización K2, el tubo digital mostrará "P" y no se encenderán luces en las direcciones este, oeste, norte y sur. Cuando se presionen otras teclas, saldrá y ejecutará la tecla. función de la llave. Cuando se presiona y suelta la tecla de emergencia K3, el tubo digital mostrará "10" y disminuirá en 1 cada segundo. Todas las luces rojas en las direcciones este, oeste, norte y sur se encenderán cuando no se muestre "00". Se presionan otras teclas, salga y ejecute la función de esta tecla. Cuando se muestre "00", saldrá automáticamente de la interrupción y continuará completando el programa principal.

4.2 Análisis de errores

El error en el diseño de este curso radica en el tiempo de visualización. Utilicé un programa de retardo para que los números en la pantalla mostraran durante un segundo la hora. de un ciclo no es solo el tiempo de llamar dos veces al programa de retardo, durante el cual la CPU también ejecuta otras instrucciones, como enviar el contenido del área del buffer al acumulador A, instrucciones de búsqueda de tabla, enviar el código de control del segmento al P2 puerto, etc., etc., porque todos son de nivel de microsegundos y el programa de retraso es de nivel de milisegundos, por lo que se pueden omitir en el proceso de cálculo. Excepto para llamar al programa de retraso dos veces en cada ciclo, el tiempo utilizado es 22. microsegundos. El ciclo de visualización es 50 veces por segundo, por lo que solo es necesario mostrar 1 segundo de números en el monitor. De hecho, se muestran 1100 microsegundos adicionales y la tasa de error es del 1,1%.

4.3 Experiencia de Diseño

Después de más de una semana, finalmente se completó el diseño del curso.

Durante este período, otros estudiantes aportaron muchas opiniones valiosas, lo que hizo que este diseño fuera un completo éxito.

Creo que, como estudiante de automatización, el curso de diseño de microcontroladores es muy significativo. Lo más importante es cómo aplicar en la práctica lo aprendido en la vida diaria. Aunque no sé mucho sobre este curso, y no domino bien muchas cosas básicas, me resulta muy difícil, y no hay una forma muy efectiva de entenderlo por mi cuenta, pero con más de una semana de “. aprendiendo”, con la ayuda y explicaciones de mis compañeros, poco a poco me fui interesando un poco en este curso y comencé a tomar la iniciativa de aprenderlo y poco a poco entenderlo desde lo básico. Creo que debería decirse que esta ganancia es bastante grande.

Después del diseño de este curso, también tengo una comprensión más profunda de la importancia de aprender bien los microcontroladores. Hoy en día, los microcontroladores han penetrado en todos los ámbitos de nuestra vida, como los dispositivos de navegación de misiles, el control de diversos instrumentos en aviones, la comunicación por redes informáticas y la transmisión de datos, los robots en el campo del control automático, los instrumentos inteligentes, los equipos médicos y el tiempo real. control de procesos de automatización industrial y procesamiento de datos, etc., hasta las diversas tarjetas IC inteligentes, sistemas de seguridad de automóviles civiles de lujo, grabadoras de vídeo, cámaras, controles de lavadoras totalmente automáticas, juguetes controlados por programas, mascotas electrónicas, etc. entran en contacto con nuestras vidas, todos los cuales son inseparables de los microcontroladores. Se utiliza principalmente como componente central de la parte de control. Por tanto, el aprendizaje y desarrollo de microcontroladores es extremadamente importante en todos los ámbitos de la vida. En estudios futuros, trabajaré más duro para aprender y consolidar el microcontrolador y sentar una base sólida para el trabajo futuro.

4.4 Sugerencias de enseñanza

Bajo los estrictos requisitos y la paciente guía del maestro Wang Ren, después de un semestre de estudiar el curso de tecnología de microcomputadoras de un solo chip, me he familiarizado más con la aplicación. Tengo cierto conocimiento de la tecnología de microcomputadoras de un solo chip y tengo un gran interés en aprender sobre microcontroladores.

A través de este diseño de semáforos controlados por microcomputadora de un solo chip, combinado con mi propio proceso de aprendizaje y experiencia personal, le presento las siguientes sugerencias de enseñanza al maestro: Espero que el maestro pueda dejar que toda la clase Enseñe este curso al principio en el futuro. La clase se dividirá en grupos para que los estudiantes que estén más familiarizados con los microcontroladores puedan ayudar a los estudiantes con una base deficiente. Esto puede mejorar la eficiencia y el entusiasmo del aprendizaje. libros de información relacionados con microcontroladores para capacitar a los estudiantes para consultar información. El último punto del libro es que el maestro Wang no necesita explicar en detalle la expansión del microcontrolador, la atención se centra en guiar las ideas y formar el conjunto. Estructura estructural del microcontrolador.

Apéndice 1 Esquema del circuito

Apéndice 2 Capa superior de PCB

Apéndice 3 Capa inferior de PCB

Apéndice 4 Disposición de los componentes

Apéndice 5 Lista de componentes del semáforo

Nombre del componente y material Especificación Cantidad Observaciones

AT89S52 plus base 1

Cuatro en uno* **Yang tubo digital más base 2 0,5 pulgadas

Oscilador de cristal 12MHz 1 tricristal

Diodo emisor de luz grande 9

Fila única 40 pines 1

p>

Transistor 9012 9

Zumbador 1 5V

Botón pequeño 9 6*6*4.3mm

Toma de descarga diez núcleos 1 FC -10P

Sensor de temperatura 18b20 1

Interruptor de llave de seis pines 1 6*6*4,3 mm

Cable de alimentación USB más interfaz 1 cable USB más interfaz USB

Resistencia 200 1

Resistencia 4.7K 1

Resistencia 1K 3

Resistencia 470 24

Condensador electrolítico 22uf 1

Condensador cerámico 33pf 2

Resistencia 10k 2

Tapa de cortocircuito 3

Cable Dupont 8P 1

Placa PCB 150mm*200mm 1

Toma blanca de fuente de alimentación 1

Apéndice 6 Lista de programas

ORG 0000H

LJMP MAIN

p>

ORG 001BH

LJMP LOOP1

ORG 0030H

PRINCIPAL: MOV PSW, #00H Inicialización

MOV SP , #7FH

MOV TMOD, #10H;

MOV TH1, #3CH;

MOV TL1, #0B0H;

MOV TH0, #0FCH;

MOV TL0, #18H;

MOV 78H, #11H;

MOV 79H, #10H;

MOV 7AH, #10H;

MOV 7BH, #10H;

MOV 7CH, #10H;

MOV 7DH, #10H;

MOV 7EH, #10H;

MOV 7FH, #10H;

MOV R7, #0FAH;

MOV R6, #32H ;

p>

MOV R5, #05H;

MOV R4, #39H;

MOV R1, #20;

SETB EA;

SETB ET1;

PP: LCALL DIR;

INICIO: LCALL KEY;

JB 20H.0, K0;

LJMP PP;

K0: MOV R4, #39H;

MOV R1, #20;

SETB TR1;

MOV 78H, #07H;

MOV 79H, #05H;

MOV 7AH, #10H;

MOV 7BH, #10H;

MOV 7CH, #10H;

MOV 7DH, #10H;

MOV 7EH, #10H;

MOV 7FH, # 10H;

LCALL DIR;

CICL

E0: MOV P3, #0DEH; Verde principal y rojo secundario

JB 20H.2, OUT;

KK0: JB 20H.1, JINJI;

CJNE R4, #00, CYCLE0; Retraso 60 segundos

MOV R4, #03H;

MOV 78H, #03H;

MOV 79H, #00H;

CICLO1: MOV P3, #0DFH;

JB 20H.2, FUERA;

JB 20H.1, JINJI;

CJNE R1, #10, CICLO1;

CICLO2: MOV P3, #0DDH;

JB 20H.2, FUERA;

JB 20H.1, JINJI ;

CJNE R1, #20, CICLO2;

CJNE R4, #00H, CICLO1;

MOV R4, #1EH;

MOV 78H, #07H;

MOV 79H, #02H;

CICLO3: MOV P3, #0F3H; Rojo principal y verde secundario

JB 20H. 2 , OUT;

JB 20H.1, JINJI;

CJNE R4, #00, CYCLE3; retraso de 30 segundos

MOV R4, #03H;

MOV 78H, #03H;

MOV 79H, #00H;

CICLO4: MOV P3, #0DFH;

JB 20H. 2, FUERA;

JB 20H.1, JINJI;

CJNE R1, #10, CICLO4;

CICLO5: MOV P3, #0DDH; p>

JB 20H.2, FUERA;

JB 20H.1, JINJI;

CJNE R1, #20, CICLO5;

CJNE R4 , #00H, CYCLE4;

MOV R4, #39H;

LJMP K0;

JINJI: MOV R4, #10;Botón de vehículo de emergencia

CYCLE6: MOV P3, #0DBH

CJNE R4, #00, CYCLE6;

LJMP K0;

SALIDA: MOV P3, #0FFH ;

MOV 78H, #11H;

MOV 79H, #10H;

MOV 7AH, #10H;

MOV 7BH, #10H;

MOV 7CH, #10H;

MOV 7DH, #10H;

MOV 7EH, #10H;

MOV 7FH, #10H;

MOV R7, #0FAH;

LJMP PP;

DIR: PUSH DPH; Mostrar subrutina

PUSH DPL;

PUSH ACC;

PUSH PSW;

SETB RS0;

CLR RS1;

MOV R0, #78H;

MOV R3, #0FEH;

MOV A, R3;

LD

0: MOV P2, A;

MOV DPTR, #TABLE;

MOV A, @R0;

MOVC A, @A+DPTR; p>

MOV P0, A;

RETARDO LLAMADA LC;

INC R0;

MOV A, R3;

JB ACC.7, LD1;

RL A;

MOV R3, A;

LJMP LD0;

LD1: CLR RS0; Restaurar el número de grupo de registro general actual

CLR RS1;

POP PSW;

POP ACC Restaurar el sitio

POP; DPL;

POP DPH;

RET;

TABLA: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H; 6

DB 0F8H,80H,90H,88H,83H,0C6H,0A1H; 7--D

DB 86H,8EH,0FFH,0CH, apagado, P.

CLAVE: LCALL KEYCHULI; programa de escaneo de claves

JZ EXIT;

LCALL XX0;

LCALL KEYCHULI

JZ SALIR ;

MOV B, 20H;

KEYSF: LCALL KEYCHULI;

JZ KEY1;

LCALL XX0;

LJMP KEYSF;

CLAVE1: MOV 20H, B;

SALIDA: RET;

KEYCHULI: MOV P1, #0FFH;

MOV A, P1;

CPL A;

ANL A, #0FH;

MOV 20H, A;

RET ;

DELAY: DJNZ R7, DELAY; subrutina de retardo de visualización

MOV R7, #0FAH;

DJNZ R5, DELAY;

MOV R5, #05H;

RET;

; Temporizador 1 segundo interrupción programa:

LOOP1:

MOV TH1, #3CH; Al temporizador 0 se le asigna un valor inicial y el tiempo es 50 ms

MOV TL1, #0B0H;

LCALL DIR;

LCALL KEY ;

DJNZ R1, RETORNO;

DEC R4;

MOV R1, #20;

MOV R0, #79H;

LCALL DADD1;

RETURN: RETI;

; Subrutina de retardo antirrebote:

XX0: DJNZ R7, XX0;

MOV R7, #0FAH;

DJNZ R6, XX0;

MOV R6, #32H;

RET;

Menos un programa:

DADD1: MOV A, @R0;

DEC R0;

SWAP A;

ORL A, @ R0;

/p>

SUBB A, #01H;

DA A;

MOV R2, A;

ANL A, #0FH;

MOV @R0, A;

MOV A, R2;

INC R0;

ANL A, #0F0H;

SWAP A;

MOV @R0, A;

RET;

END