Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - Mejora del circuito de sincronización at89c2051

Mejora del circuito de sincronización at89c2051

Diseñe una alarma temporizada simple controlada por un microcontrolador. Es necesario realizar una cuenta regresiva de acuerdo con el valor inicial establecido (1-59 segundos). Cuando el tiempo llega a 0, el tubo digital parpadea "00" (parpadea a 1 Hz) y las funciones clave son las siguientes:

(1) Tecla de configuración: en el modo de cuenta regresiva, presione esta tecla para detener el cuenta regresiva e ingresa al estado de configuración. Si la clave ya está configurada, la clave no tiene ningún efecto;

(2) Tecla de incremento: Al configurar el estado, cada vez que se presiona la tecla de incremento, el valor inicial aumentará en 1.

(3) Tecla de disminución: Al configurar el estado, cada vez que se presiona la tecla de disminución, el valor inicial disminuirá en 1.

(4) Tecla de confirmación: al configurar el estado, después de presionar esta tecla, el microcontrolador realizará una cuenta regresiva y mostrará el número de cuenta regresiva según el nuevo valor inicial. Si ya está en el estado de sincronización, esta clave no es válida.

¿Tiempo? ¿EQU? 60H

¿Bandera? ¿EQU? 61H

¿KEY_R_1? ¿EQU? P3.0

¿CLAVE_R_2? ¿EQU? P3.1

¿CLAVE_R_3? ¿EQU? P3.2

¿CLAVE_R_4? ¿EQU? P3.3

¿D_FLAG? ¿EQU? 62H

ORG? 0000 horas

SJMP? Iniciar

ORG? 000BH

LJMP? Interrupción del temporizador 0

ORG? 0030 horas

Inicio:

MOV? TMOD, #01H

¿MOV? TH0, #3CH

MOV? TL0, #0B0H

¿SETB? Juegos de Electronic Arts

SETB? ET0

¿CLR? TR0

¿MOV? Uno, #00

¿MOV? D_FLAG,A

Principal:

LCALL? Escaneo de claves

¿MOV? a,D_FLAG

CJNE? a, #01H, ¿DESCONECTAR LLAMADA? Mostrando 1

LJMP? Principal

DIS:

LCALL? ¿Mostrar

LJMP? Botón principal

Escanear:

¿MOV? 1. ¿Banderar

CJNE? a, #1, CLAVE_2

¿CLR? ¿C

MOV? c,KEY_R_1

¿JC? CLAVE_2

¿LCALLAR? Retraso 20 milisegundos

¿MOV? c,KEY_R_1

¿JC? Clave_2

¿JNB? KEY_R_1,$

¿CLR? TR0

¿MOV? Uno, #00

¿MOV? D_FLAG,A

MOV? Hora, A

KEY_2:

¿CLR? ¿C

MOV? c,KEY_R_2

¿JC? CLAVE_3

¿LCALLAR? Retraso 20 milisegundos

¿MOV? c,KEY_R_2

¿JC? Clave_3

¿MOV? 1. Hora

¿Diciembre? ¿Un

CJNE? a, #255, KEY_2_E

¿MOV? 1. N° 99

¿MOV? Hora, ¿A

JNB? KEY_R_2,$

Clave_2_E:

¿MOV? Hora, ¿A

JNB? KEY_R_2, $

Clave 3:

¿CLR? ¿C

MOV? c,KEY_R_3

¿JC? KEY_4

¿LCALLAR? Retraso 20 milisegundos

¿MOV? c,KEY_R_3

¿JC? Clave_4

¿MOV? 1. Hora

INC? ¿Un

CJNE? a, #100, KEY_3_E

¿MOV? Respuesta, #0

¿MOV? Hora, ¿A

JNB? KEY_R_3,$

Clave_3_E:

¿MOV? Hora, ¿A

JNB? KEY_R_3, $

Clave 4:

¿CLR? ¿C

MOV? c,KEY_R_4

¿JC? KEY_EXIT

¿LCALLAR? Retraso 20 milisegundos

¿MOV? c,KEY_R_4

¿JC? Key_Exit

¿JNB? KEY_R_4,$

¿SETB? TR0

¿MOV? a, #0FH

¿MOV? Bandera, A

Tecla para salir:

Remojado para suavizar

Pantalla:

¿MOV? 1. Hora

¿MOV? b, #10

¿DIV? Tipo de sangre AB

¿MOV? A, B

¿MOV? DPTR, #hashtag

¿MOVC? 1. @一+DPTR

¿MOV? P0,A

SETB? P2.1

¿CLR? P2.0

¿LLAMADA? Retraso 1 ms

¿CLR? P2.0

¿CLR? P2.1

¿MOV? 1. Hora

¿MOV? b, #10

¿DIV? Tipo de sangre AB

¿MOV? DPTR, #hashtag

¿MOVC? 1. @一+DPTR

¿MOV? P0,A

SETB? P2.0

¿CLR? P2.1

¿LLAMADA? Retraso 1 ms

¿CLR? P2.0

¿CLR? P2.1

Remojado en agua para suavizar

Pantalla 1:

¿MOV? R2, N° 40

Pantalla 1_LOOP1:

¿MOV? Respuesta, #0

¿MOV? DPTR, #hashtag

¿MOVC? 1. @一+DPTR

¿MOV? P0,A

SETB? P2.1

¿CLR? P2.0

¿LLAMADA? Retraso 1 ms

¿CLR? P2.0

¿CLR? P2.1

¿MOV? Respuesta, 0

¿MOV? DPTR, #hashtag

¿MOVC? 1. @一+DPTR

¿MOV? P0,A

SETB? P2.0

¿CLR? P2.1

¿LLAMADA? Retraso 1 ms

¿CLR? P2.0

¿CLR? P2.1

¿LLAMADA? Botón de escaneo

¿DJNZ? R2, muestra 1_LOOP1

¿MOV? R2, No. 20

Pantalla 1_LOOP:

LCALL? Retraso 50 milisegundos

LCALL? Escaneo de claves

¿SETB? P2.0

¿SETB? P2.1

¿DJNZ? R2, muestra 1_LOOP

El remojo con agua suaviza

Retraso de 20 milisegundos:; 0nos

¿MOV? R6, #0D7H

DL0:

¿MOV? R5, #2DH

¿DJNZ? R5, USD

¿DJNZ? R6, DL0

no proporcionado de otra manera (para) a menos que se especifique lo contrario

no proporcionado de otra manera (para) a menos que se especifique lo contrario

Remojado en agua para suavizar

Retraso 1 ms:; 0nos

¿MOV? R4, #01H

DD1:

¿MOV? R6, #8EH

DD0:

¿MOV? R5, #02H

¿DJNZ? R5, USD

¿DJNZ? R6, DD0

¿DJNZ? R4, DD1

El remojo en agua suaviza

Retraso 50 milisegundos:; ¿Error? 0nos

¿MOV? R6 # 0ADH

DG0:

¿MOV? R5, #8FH

¿DJNZ? R5, USD

¿DJNZ? R6, DG0

Remojado en agua para suavizarlo

Fin

上篇: Recopilación de datos detallada de toallas de una palabra 下篇: Cómo agregar un fondo ppt
Artículos populares