Red de conocimiento informático - Conocimiento del nombre de dominio - Diseño del curso de interfaz y principios de microcomputadoras: sistema de control de semáforos, los buenos pueden obtener 100 puntos extra

Diseño del curso de interfaz y principios de microcomputadoras: sistema de control de semáforos, los buenos pueden obtener 100 puntos extra

Diseño curricular de principios de microcomputadoras y tecnología de interfaz - Semáforo

Contenido

1 Prefacio…………………… ……………… …………………………3

2 Propósito del experimento…………………………………………………… ……………… 3

3. Contenido del experimento………………………………………………………………………………3

4. Diseño general de control y gestión del semáforo…………………………………………4

(1) Selección de chip y selección de puerto…… ……………… …………………………………4

(2) Diagrama del circuito de conexión experimental e instrucciones relacionadas……………………………… ………………4

(3) Pensamiento de diseño…………………………………………………………………………5

(4 ) Diagrama de flujo del diseño………………………………………………………………5

5 Entorno y condiciones experimentales…………………… ………………………………………………7

6. Programa fuente………………………… ………………………… ………………7

7. Resultados de ejecución del programa…………………………………………………… …………11

8. Resumen del diseño del curso…………………………………………………………11

1. Los principios y la tecnología de interfaz son temas altamente prácticos, que no solo requieren un alto nivel teórico, sino que también requieren habilidades prácticas. Muchas de las cantidades, reglas, fenómenos, etc. originales no se pueden dominar por completo simplemente estudiando libros de texto. Con la práctica podemos obtener una comprensión más intuitiva y profunda. El objetivo principal del diseño de este curso es mejorar las habilidades prácticas, incluida la mejora de la capacidad de programación en ensamblador y otros lenguajes, la capacidad de comprender y analizar hardware como interfaces y la capacidad de diseñar circuitos de interfaz. Durante el proceso de diseño del curso, los estudiantes. puede experimentar el análisis de problemas, todo el proceso de proponer soluciones, implementar soluciones a través de programación y otros medios, y depurar continuamente para finalmente cumplir con los requisitos de diseño ayuda a los estudiantes a dominar sistemáticamente el conocimiento relevante de la tecnología de interfaz de los principios de microcomputadoras y lograr el objetivo de integrar conocimientos.

Los semáforos en las intersecciones son órdenes silenciosas para las normas de tráfico y un código de conducta para conductores y peatones. El control de los semáforos en las intersecciones es la clave para garantizar la seguridad del tráfico y la fluidez de las carreteras. Actualmente, la mayoría de las ciudades de China están adoptando semáforos "automáticos", que tienen un intervalo fijo de conversión de "luz roja a luz verde" y cambian automáticamente. Sin embargo, en realidad, el flujo de tráfico de vehículos en diferentes momentos es muy complejo, altamente no lineal, aleatorio y, a menudo, está influenciado por factores humanos. Por ejemplo, cuando pasan ambulancias y coches de policía, los semáforos deberían abrirse en verde. canal" para que quede suave.

Este curso sobre semáforos está diseñado para controlar la conversión automática de luces rojas a luces verdes y luces amarillas en las direcciones este-oeste y norte-sur. El chip de interrupción de control 8259A se utiliza para controlar el este. -Semáforos oeste y norte-sur para pasar a rojo en situaciones de emergencia. Dejar pasar a vehículos especiales.

2. Propósito del experimento

1. Comprender los principios de funcionamiento básicos de la gestión de semáforos.

2 Estar familiarizado con los principios de funcionamiento y la programación de aplicaciones. el controlador de interrupciones 8259A

p>

3. Familiarícese con los diversos métodos de trabajo y aplicaciones de la interfaz paralela 8255A

4. en modo de placa única y utiliza luces de dos colores.

5. Aprenda más sobre la tecnología de programación de microprocesadores.

3. Contenido del experimento

Controle el estado del semáforo a través de 8255A a través del programa de ensamblaje y controle el estado del semáforo en emergencia a través de 8259A. siguiente:

1. El estado inicial 0 son luces rojas en el este y oeste y luces rojas en el norte y sur.

2. Luego cambie al estado 1 con luces verdes abiertas al tráfico en el norte y sur y luces rojas en el este y oeste.

3. Después de un período de tiempo, cambiará al estado 2. Las luces norte y sur parpadearán en verde varias veces y luego se volverán amarillas, después de un retraso de unos segundos, las luces este y. Las luces del oeste seguirán siendo rojas.

4. Cambie el estado nuevamente, las luces este y oeste están en verde y las luces norte y sur están encendidas.

5. Después de un período de tiempo, cambiará al estado 4. Las luces este y oeste parpadearán en verde varias veces y se volverán amarillas. Habrá un retraso de unos segundos. Las luces del sur seguirán siendo rojas.

6. Finalmente, pase al estado 1.

7. Presione la tecla de pulso para generar un pulso como fuente de interrupción externa y transferirlo al programa de servicio de interrupción. Los semáforos están todos en rojo en el este, oeste, norte y sur.

IV. Diseño general de control y gestión de semáforos

(1) Selección de chip y selección de puerto

1. Luz de señal Control de conversión automática amarilla.

8259A: Realice el control de hacer que la señal se ilumine completamente en rojo en circunstancias especiales.

2. Las direcciones de puerto de 8259A son: 210H, 211H

Las direcciones de puerto de 8255A son: puerto A-200H, puerto B-201H, puerto C-202H, puerto de control. -203H

(2) Diagrama del circuito de conexión experimental e instrucciones relacionadas

Diagrama del circuito:

Conexión del pin de señal de selección del chip:

8259A Conexión de pin de señal de selección de chip: 210-217

Conexión de pin de señal de selección de chip 8255A: 200-207

(3) Idea de diseño

Convertir 8255A La palabra de control está configurado en salida completa, y la salida del puerto A se usa para controlar el cambio de semáforo en dirección este-oeste, norte-sur, y el programa de retraso se usa para controlar el tiempo de varias pantallas de estado. Utilice pulsos como fuentes de interrupción externas para solicitar una interrupción desde IRQ0 de 8259A. Cada pulsación indica una emergencia. La subrutina de interrupción muestra el semáforo en rojo completo y también se utiliza un programa de retardo para controlar el tiempo en rojo completo.

(4) Diagrama de flujo del diseño

Diagrama de flujo del programa principal:

Diagrama de flujo del programa de servicio de interrupción:

Entorno experimental y Condiciones

1. Caja de prueba de tecnología de interfaz y principio de microordenador

2. Cables

6. /p>

D2 EQU 200H

;Segmento de datos

SEGMENTO DE DATOS

PB DB?

TERMINOS DE DATOS

;Segmento de pila

PILA DE SEGMENTO DE PILA

STA DW 50 DUP(?)

LONGITUD SUPERIOR EQU STA

PILA FINALIZA

;Segmento de código

SEGMENTO DE CÓDIGO

ASUME CS: CÓDIGO, DS: DATOS

INICIO: CLI Desactivar interrupciones<; /p>

p>

XOR BX, BX, DS borrado

PUSH BX

POP DS

; /p>

LEA AX, IRQ0_INTERRUPT; Asigna la primera dirección de la interrupción externa IRQ0 a AX

MOV DS: WORD PTR[40], AX Crea un espacio en el segmento de pila para almacenar el desplazamiento; de la dirección de entrada de interrupción

;Mover dirección IP

MOV DS: WORD PTR[42], CS;Almacenar la dirección base CS de la dirección de entrada de interrupción

NOP;Retraso

PUSH CS

POP DS

; inicialización 8259

MOV DX, 210H Establecer ICW1

MOV AL, 00010011B

p>

OUT DX, AL

JMP $ 2; Retardo

MOV DX, 211H; Establecer ICW2, establecer vector de interrupción número 08H

MOV AL, 08H

OUT DX, AL

JMP $ 2; retardo

MOV DX, 211H Establecer ICW4;

MOV AL , 01H

OUT DX, AL

JMP $ 2 ; Retardo

MOV AL, 0FEH ; interrupción IR0 y deshabilita otras interrupciones

p>

OUT DX, AL

MOV CX, 0FFFH

LOOP $

MOV DX, 210H; configure OCW2, seleccione el comando EOI normal, todo el método de anidamiento

MOV AL, 20H

OUT DX, AL

MOV CX, 0FFFH

LOOP $

PUSH CS

POP DS

; Inicialización 8253

MOV DX, 203H; configurado a salida completa

MOV AL, 80H

OUT DX, AL

MOV DX, 200H

MOV AL, 00

SALIDA DX, AL; LED claro

STI

MOV DX, 200H Todo rojo

p>

p>

MOV AL, 0F0H

OUT DX, AL

MOV BX, 7fH

LLAMADA DLY

BG: MOV AL, 01011010B; norte y sur verde, este y oeste rojo

OUT DX, AL

MOV BX, D2

CALL DLY

MOV CX, 03H

XH1: AND AL, 0F5H verde apagado

OUT DX, AL

MOV BX, D1

LLAMADA DLY

p>

OR AL, 0aH luz verde

OUT DX, AL

MOV BX, D1

CALL DLY

LOOP

MOV BX, D1

CALL DLY

MOV AL, 10100101B norte y sur rojo, este; y oeste verde

OUT DX, AL

p>

MOV BX, D2

CALL DLY

MOV CX, 03

XH2: AND AL, 0FaH; verde apagado

OUT DX, AL

MOV BX, D1

CALL DLY

O AL, 05H; luz verde

SALIDA DX, AL

MOV B

X, D1

LLAMADA DLY

BUCLE XH2

O AL, 50H; norte y sur rojo, este y oeste amarillo

FUERA DX, AL

MOV BX, D1

LLAMADA DLY

MOV BX, D1

LLAMADA DLY

JMP BG

;Programa de interrupción

IRQ0_INTERRUPT PROC NEAR

CLI

PUSH DX

PUSH AX

MOV DX, 200H

MOV AL, 0F0H

SALIDA DX, AL

MOV DX, 210H

MOV AL, 20H

SALIDA DX, AL

MOV CX, 0FFFFH

LOOP $

POP AX

POP DX

p>

STI

IRET

IRQ0_INTERRUPT ENDP

; programa de retraso

DLY PROC NEAR

PUSH CX

DDD: MOV CX, 05ffH

CCC: BUCLE CCC

DEC BX

CMP BX , 0

JNE DDD

POP CX

RET

DLY ENDP

CÓDIGO FINALIZA

FIN INICIO

Nota: El LED bicolor está empaquetado junto con un chip de LED rojo y un chip de LED verde, con un terminal negativo común. Cuando el terminal positivo rojo agrega un nivel alto y el terminal positivo verde agrega un nivel bajo, la luz roja se enciende cuando el terminal positivo rojo agrega un nivel bajo y el terminal positivo verde agrega un nivel alto, la luz verde se enciende cuando ambos extremos suman; Nivel alto, la luz amarilla se enciende.

7. Resultados de la ejecución del programa

1. El estado inicial son luces rojas en el este y el oeste y luces rojas en el norte y el sur. Después de un rato, los semáforos de norte a sur se vuelven verdes y los semáforos de este a oeste permanecen en rojo.

Después de un período de tiempo, las luces verdes en el norte y el sur parpadean, y después de parpadear tres veces, se convierten en luces amarillas. Diseño del curso de tecnología de interfaz y principios de microcomputadoras: semáforos

Contenido

1. Prefacio... …………………………………………………………………………………… 3

2. Propósito del experimento………………………… …………………………………………3

3 Contenido del experimento……………… …………………………………… ………………3

IV. Diseño general del control y gestión del semáforo……………………………… …………4

( 1) Selección de chip y selección de puerto……………………………………………………4

(2 ) Diagrama del circuito de conexión experimental e instrucciones relacionadas…………………………………………4

(3) Pensamiento de diseño……………………………… …………………… ………………5

(4) Diagrama de flujo de diseño………………………………………………………… ………5

5. Entorno y condiciones experimentales………………………………………………………………7

6. …………………………………………………………………………………… 7

7. …………………… ………………………………………………11

8. Resumen del diseño del curso………………………… ………………………… …………11

1. Introducción

Los principios de microcomputación y la tecnología de interfaces son temas altamente prácticos, que no solo requieren un alto nivel teórico. , pero también requiere experiencia práctica. Muchas de las cantidades, reglas, fenómenos, etc. originales no se pueden dominar por completo simplemente estudiando los libros de texto. Deben comprenderse de manera intuitiva y profunda a través de la práctica. El objetivo principal del diseño de este curso es mejorar las habilidades prácticas, incluida la mejora de la capacidad de programación en ensamblador y otros lenguajes, la capacidad de comprender y analizar hardware como interfaces y la capacidad de diseñar circuitos de interfaz. Durante el proceso de diseño del curso, los estudiantes. puede experimentar el análisis de problemas, todo el proceso de proponer soluciones, implementar soluciones a través de programación y otros medios, y depurar continuamente para finalmente cumplir con los requisitos de diseño ayuda a los estudiantes a dominar sistemáticamente el conocimiento relevante de la tecnología de interfaz de los principios de microcomputadoras y lograr el objetivo de integrar conocimientos.

Los semáforos en las intersecciones son órdenes silenciosas para las normas de tráfico y un código de conducta para conductores y peatones. El control de los semáforos en las intersecciones es la clave para garantizar la seguridad del tráfico y la fluidez de las carreteras. Actualmente, la mayoría de las ciudades de China están adoptando semáforos "automáticos", que tienen un intervalo fijo de conversión de "luz roja a luz verde" y cambian automáticamente. Sin embargo, en realidad, el flujo de tráfico de vehículos en diferentes momentos es muy complejo, altamente no lineal, aleatorio y, a menudo, está influenciado por factores humanos. Por ejemplo, cuando pasan ambulancias y coches de policía, los semáforos deberían abrirse en verde. canal" para que quede suave.

Este curso sobre semáforos está diseñado para controlar la conversión automática de luces rojas a luces verdes y luces amarillas en las direcciones este-oeste y norte-sur. El chip de interrupción de control 8259A se utiliza para controlar el este. -Semáforos oeste y norte-sur para pasar a rojo en situaciones de emergencia. Dejar pasar a vehículos especiales.

2. Propósito del experimento

1. Comprender los principios de funcionamiento básicos de la gestión de semáforos.

2 Estar familiarizado con los principios de funcionamiento y la programación de aplicaciones. el controlador de interrupciones 8259A

p>

3. Familiarícese con los diversos métodos de trabajo y aplicaciones de la interfaz paralela 8255A

4. en modo de placa única y utiliza luces de dos colores.

5. Aprenda más sobre la tecnología de programación de microprocesadores.

3. Contenido del experimento

Controle el estado del semáforo a través de 8255A a través del programa de ensamblaje y controle el estado del semáforo en emergencia a través de 8259A. siguiente:

1. El estado inicial 0 son luces rojas en el este y oeste y luces rojas en el norte y sur.

2. Luego cambie al estado 1 con luces verdes abiertas al tráfico en el norte y sur y luces rojas en el este y oeste.

3. Después de un período de tiempo, cambia al estado 2. La luz verde en el norte y el sur parpadea varias veces y luego se vuelve amarilla, después de un retraso de unos segundos, en el este y el oeste. las luces permanecen rojas.

4. Cambie el estado nuevamente, las luces este y oeste están en verde y las luces norte y sur están encendidas.

5. Después de un período de tiempo, cambiará al estado 4. Las luces este y oeste parpadearán en verde varias veces y luego se encenderán en amarillo. Habrá un retraso de unos segundos. Las luces norte y sur seguirán siendo rojas.

6. Finalmente, pase al estado 1.

7. Presione la tecla de pulso para generar un pulso como fuente de interrupción externa y transferirlo al programa de servicio de interrupción. Los semáforos están todos en rojo en el este, oeste, norte y sur.

IV. Diseño general de control y gestión de semáforos

(1) Selección de chip y selección de puerto

1. Luz de señal Control de conversión automática amarilla.

8259A: Realice el control de hacer que la señal se ilumine toda en rojo en circunstancias especiales.

2. Las direcciones de puerto de 8259A son: 210H, 211H

Las direcciones de puerto de 8255A son: puerto A-200H, puerto B-201H, puerto C-202H, puerto de control. -203H

(2) Diagrama del circuito de conexión experimental e instrucciones relacionadas

Diagrama del circuito:

Conexión del pin de señal de selección del chip:

8259A Conexión de pin de señal de selección de chip: 210-217

Conexión de pin de señal de selección de chip 8255A: 200-207

(3) Idea de diseño

Convertir 8255A La palabra de control está configurado en salida completa, y la salida del puerto A se usa para controlar el cambio de semáforo en dirección este-oeste, norte-sur, y el programa de retraso se usa para controlar el tiempo de varias pantallas de estado. Utilice pulsos como fuentes de interrupción externas para solicitar una interrupción desde IRQ0 de 8259A. Cada pulsación indica una emergencia. La subrutina de interrupción muestra el semáforo en rojo completo y también se utiliza un programa de retardo para controlar el tiempo en rojo completo.

(4) Diagrama de flujo del diseño

Diagrama de flujo del programa principal:

Diagrama de flujo del programa de servicio de interrupción:

Entorno experimental y Condiciones

1. Caja de prueba de tecnología de interfaz y principio de microordenador

2. Cables

6. /p>

D2 EQU 200H

;Segmento de datos

SEGMENTO DE DATOS

PB DB?

TERMINOS DE DATOS

;Segmento de pila

PILA DE SEGMENTO DE PILA

STA DW 50 DUP(?)

LONGITUD SUPERIOR EQU STA

PILA FINALIZA

;Segmento de código

SEGMENTO DE CÓDIGO

ASUME CS: CÓDIGO, DS: DATOS

INICIO: CLI Desactivar interrupciones<; /p>

p>

XOR BX, BX, DS borrado

PUSH BX

POP DS

; /p>

LEA AX, IRQ0_INTERRUPT; Asigna la primera dirección de la interrupción externa IRQ0 a AX

MOV DS: WORD PTR[40], AX Crea un espacio en el segmento de pila para almacenar el desplazamiento; de la dirección de entrada de interrupción

;Mover dirección IP

MOV DS: WORD PTR[42], CS;Almacenar la dirección base CS de la dirección de entrada de interrupción

NOP;Retraso

PUSH CS

POP DS

; inicialización 8259

MOV DX, 210H Establecer ICW1

MOV AL, 00010011B

p>

OUT DX, AL

JMP $ 2; Retardo

MOV DX, 211H; Establecer ICW2, establecer vector de interrupción número 08H

MOV AL, 08H

OUT DX, AL

JMP $ 2; retardo

MOV DX, 211H Establecer ICW4;

MOV AL , 01H

OUT DX, AL

JMP $ 2 ; Retardo

MOV AL, 0FEH ; interrupción IR0 y deshabilita otras interrupciones

p>

OUT DX, AL

MOV CX, 0FFFH

LOOP $

MOV DX, 210H; configure OCW2, seleccione el comando EOI normal, todo el método de anidamiento

MOV AL, 20H

OUT DX, AL

MOV CX, 0FFFH

LOOP $

PUSH CS

POP DS

; Inicialización 8253

MOV DX, 203H; configurado a salida completa

MOV AL, 80H

OUT DX, AL

MOV DX, 200H

MOV AL, 00

SALIDA DX, AL; LED claro

STI

MOV DX, 200H Todo rojo

p>

p>

MOV AL, 0F0H

OUT DX, AL

MOV BX, 7fH

LLAMADA DLY

BG: MOV AL, 01011010B; norte y sur verde, este y oeste rojo

OUT DX, AL

MOV BX, D2

CALL DLY

MOV CX, 03H

XH1: AND AL, 0F5H verde apagado

OUT DX, AL

MOV BX, D1

LLAMADA DLY

p>

OR AL, 0aH luz verde

OUT DX, AL

MOV BX, D1

CALL DLY

LOOP XH1

OR AL, 0a0H; norte y sur amarillo, este y oeste rojo

OUT DX, AL

MOV BX, D1

CALL DLY

MOV BX, D1

CALL DLY

MOV AL, 10100101B; rojo, verde este y oeste

OUT DX, AL

p>

MOV BX, D2

CALL DLY

MOV CX, 03

XH2: AND AL, 0FaH; verde apagado

OUT DX, AL

MOV BX, D1

CALL DLY

OR AL, 05H; luz verde

SALIDA DX, AL

MOV B

X, D1

LLAMADA DLY

BUCLE XH2

O AL, 50H; norte y sur rojo, este y oeste amarillo

FUERA DX, AL

MOV BX, D1

LLAMADA DLY

MOV BX, D1

LLAMADA DLY

JMP BG

;Programa de interrupción

IRQ0_INTERRUPT PROC NEAR

CLI

PUSH DX

PUSH AX

MOV DX, 200H

MOV AL, 0F0H

SALIDA DX, AL

MOV DX, 210H

MOV AL, 20H

SALIDA DX, AL

MOV CX, 0FFFFH

LOOP $

POP AX

POP DX

p>

STI

IRET

IRQ0_INTERRUPT ENDP

; programa de retraso

DLY PROC NEAR

PUSH CX

DDD: MOV CX, 05ffH

CCC: BUCLE CCC

DEC BX

CMP BX , 0

JNE DDD

POP CX

RET

DLY ENDP

CÓDIGO FINALIZA

FIN INICIO

Nota: El LED bicolor está empaquetado junto con un chip de LED rojo y un chip de LED verde, con un terminal negativo común. Cuando el terminal positivo rojo agrega un nivel alto y el terminal positivo verde agrega un nivel bajo, la luz roja se enciende cuando el terminal positivo rojo agrega un nivel bajo y el terminal positivo verde agrega un nivel alto, la luz verde se enciende cuando ambos extremos suman; Nivel alto, la luz amarilla se enciende.

7. Resultados de la ejecución del programa

1. El estado inicial son luces rojas en el este y el oeste y luces rojas en el norte y el sur. Después de un rato, los semáforos de norte a sur se vuelven verdes y los semáforos de este a oeste permanecen en rojo. Después de un período de tiempo, la luz verde parpadea en el norte y el sur, se vuelve amarilla después de parpadear tres veces y las luces del este y del oeste permanecen rojas. Durante un tiempo, las luces norte y sur estuvieron rojas, mientras que las luces este y oeste se volvieron verdes. De manera similar, después de un período de tiempo, las luces este y oeste parpadean en verde, luego se vuelven amarillas después de parpadear tres veces y las luces del norte y del sur son rojas. Después de un tiempo, volvió a la luz verde en el norte y el sur, y a la luz roja en el este y el oeste, y así sucesivamente.

2. Cuando se presiona el botón de pulso, se genera un pulso y el semáforo se vuelve rojo en las direcciones este, oeste, norte y sur, y luego regresa al estado antes de que se volviera rojo después. un período de tiempo.

8. Resumen del diseño del curso