Examen final "Compilación SCM", Preguntas y ejercicios de examen comunes, Resumen de tipos de preguntas (14), Interrupción

Instrucción mejorada 1: ACALL addr11

指令执行过程:
ACALL addr11  ;(PC)+2 -> PC
			  ;(SP)+1 -> SP, PC7-0 -> (SP)
			  ;(SP)+1 -> SP, PC15-8 -> (SP)
			  ;addr11 ->PC10-0,PC15-11不变

Práctica intensiva 1 pregunta práctica de examen:
Conocido (SP) = 60H, la primera dirección de la subrutina SUBTRN es 0345H, y ahora ejecuta ACALL SUBTRN a 0123H.
Después de la instrucción de doble byte, (PC) = ___, (61H) = ___, (62H) = ____.

Respuesta:

 (PC)=0345H  (61H)=25H    (62H)=01H 

Diagrama de simulación:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
instrucción mejorada 1 Ejercicio de extensión de pregunta de examen:
Conocido (SP) = 50H, la primera dirección de la subrutina SUBTRN es 2620H, y ahora se ejecuta ACALL SUBTRN a 20F6H.
Después de la instrucción de doble byte, (PC) = ___, (51H) = ___, (52H) = ____.

Respuesta:

 (PC)=2620H  (51H)=F8H    (52H)=20H 

Suplemento 5 :

1,寻址实质就是如何确定操作数的单元地址
2,存储器映象是存储器在整个存储空间的地址范围
3,MCS —51 布尔处理机的存储空间是00H~ 7FH 
4,定时器中断请求发生在定时时间到
5,中断响应时间是指从查询中断请求标志位到转向中断服务程序地址区入口地址所需的机器周期数(3-8个机器周期)
68051 的堆栈区一般开辟在用户RAM 区

Pregunta 40

Escriba un programa para usar la señal de pulso generada al alternar hacia arriba y hacia abajo una vez como la señal de solicitud de interrupción de la interrupción externa 0 para controlar el encendido y apagado de 8 LED (usted mismo define la forma de encender y apagar).

Inserte la descripción de la imagen aquí
Nota : La fuente de interrupción se refiere al evento que causó la interrupción de la CPU.

Análisis : consulte el artículo anterior para obtener una explicación de los registros de interrupción relacionados

Código fuente del programa:

   	ORG 0000H
	LJMP START
	ORG 0003H
	LJMP INT0ADDR
	ORG 0030H
START:
	MOV SP,#60H
	MOV P1,#0FFH
	MOV IE,#81H
	MOV IP,#01H
	MOV TCON,#01H
	MOV A,#0FEH
	MOV R6,#8
	MOV R7,#8
	CLR C
	SJMP $
INT0ADDR:
	CJNE R6,#00H,L1
	AJMP L2
L1:
	DEC R6
	CLR C
	MOV P1,A
	RLC A
	AJMP L4
L2:
	CJNE R7,#00H,L3
	MOV R6,#8
	MOV R7,#8
	MOV A,#0FEH
	MOV P1,A
	AJMP L4
L3:
	SETB C
	RRC A
	MOV P1,A
	DEC R7
L4:	RETI
	END

Video de efecto de simulación:
https://www.bilibili.com/video/BV1hp4y1X7aV/

Examen final "Compilación SCM", Preguntas y ejercicios de examen comunes, Resumen de tipos de preguntas (14), Interrupción

Poco punto de conocimiento suplemento 6 :
Circuito de colector abierto (inglés: Open Collector, comúnmente conocido como "compuerta de colector abierto" o " compuerta OC ") es un dispositivo de salida de circuito integrado. La compuerta OC es en realidad solo un transistor NPN y no emite un voltaje o valor de corriente específico. La puerta OC está determinada por el circuito integrado al que está conectada la base del transistor (el emisor del transistor está conectado a tierra), y el colector del transistor está abierto a la salida. Si el dispositivo de salida es un transistor de efecto de campo (MOSFET), se denomina drenaje abierto (inglés: Open Drain, comúnmente conocido como "OD gate"), y el principio de funcionamiento es similar. A través del dispositivo de compuerta OC, los terminales de salida de la compuerta lógica se pueden usar directamente en paralelo. La conexión paralela de dos compuertas OC puede realizar la relación lógica AND, llamada " cable AND ", pero se debe agregar una resistencia pull-up al puerto de salida para conectarse a la fuente de alimentación .

Suplemento de punto de conocimiento pequeño 7 :
51 Método de expansión SCM para fuentes de interrupción externas:
1, usando la expansión de desbordamiento del temporizador
2, usando el método de consulta de interrupción de expansión
3, usando el chip de expansión

Pregunta 41

Escriba un programa para controlar el encendido y apagado de los 8 LED utilizando el interruptor de llave que se muestra a continuación. Presione el botón 1, 8 LED están encendidos al mismo tiempo, presione el botón 2, 8 LED están apagados al mismo tiempo. El estado predeterminado de los 8 LED son las primeras cuatro luces (el botón 2 tiene la máxima prioridad)
Inserte la descripción de la imagen aquí

Código fuente del programa:

ORG 0000H
	LJMP START
	ORG 0003H
	LJMP INT0ADDR
	ORG 0013H
	LJMP INT1ADDR
	ORG 0030H
START:
	MOV SP,#60H
	MOV P1,#0FFH
	MOV IE,#85H
	MOV IP,#04H
	MOV TCON,#05H
	MOV P1,#0F0H
	SJMP $
INT0ADDR:
	MOV P1,#00H
	RETI
INT1ADDR:
	MOV P1,#0FFH
	RETI
	END

Observaciones: en aplicaciones prácticas, es mejor aumentar el retraso de aproximadamente 10 ms para la detección de claves para el rebote.
Diagrama de simulación:
estado predeterminado de encendido
Inserte la descripción de la imagen aquí
Se presiona el botón 1 Se presiona el
Inserte la descripción de la imagen aquí
botón 2 para
Inserte la descripción de la imagen aquí
agregar un pequeño punto de conocimiento 8 :
Definición de interrupción : se refiere a que la CPU detiene temporalmente el programa que se está ejecutando y se transfiere para ejecutar el programa de servicio que solicita los eventos internos y externos a los que sirve la CPU Una vez que se completa la ejecución del programa de servicio, vuelve al proceso del programa suspendido para continuar ejecutándose.

** Puerta NAND (inglés: puerta NAND) ** es un circuito lógico básico de circuitos digitales. Es la superposición de la compuerta AND y la compuerta NOT, con múltiples entradas y una salida. Si la entrada es de alto nivel (1), la salida es de bajo nivel (0); si al menos una de las entradas es de bajo nivel (0), la salida es de alto nivel (1). La puerta NAND puede verse como la superposición de la puerta AND y la puerta NAND.

Publicado 37 artículos originales · elogiado 36 · vistas 7142

Supongo que te gusta

Origin blog.csdn.net/liuxianfei0810/article/details/105641247
Recomendado
Clasificación