Red de conocimiento informático - Programación de la red - ¡Arrodíllate! Programa de microcontrolador AT89S52

¡Arrodíllate! Programa de microcontrolador AT89S52

P1.5, P1.6, P1.7, los tres terminales de entrada, ¿sus niveles altos se ingresan por separado?

¿Puedo esperar 2 segundos por cada entrada?

Supongamos que cada tecla se presiona secuencialmente y el intervalo es mayor que 2S.

-

ORG 0000H

Punto de inicio JMP

ORG 0030H

Inicio:

;-

(1) Si P1.5 es alto, entonces P1.1=0 y P1.0 = 0.2 segundos después, P1, P1.1=

PRG5 :

JNB P1.5, $; si es 0, significa que no hay prensa y relectura.

Retraso de llamada; retraso de 10 milisegundos

JNB P1.5, si PRG5 es 0, significa que no hay prensa y relectura.

;-

CLR P1.1

CLR P1.0

Llamar DL1S

Llamar DL1S

SETB P1.1

; SETB P1.0

; -

; (2) Si P1.6 es alto, entonces P1.1=0 y p1.4 = 0.2 segundos después, p1.0 = 1.4 = 1.

PRG6:

JNB P1.6, $; si es 0, significa que no hay prensa y relectura.

Retraso de llamada; retraso de 10 milisegundos

JNB P1.6, si PRG6 es 0, significa que no se presiona ni se vuelve a leer.

;-

CLR P1.1

CLR P1.4

Llamar DL1S

Llamar DL1S

SETB P1.1

SETB P1.4

;-

(3) Si P1.7 está en nivel alto, Dos segundos después de P1.0=0 y P1.3=0, P1.3 = 0.

PRG7:

JNB P1.7, $; si es 0, significa que no hay prensa y relectura.

Retraso de llamada; retraso de 10 milisegundos

JNB P1.7, si PRG7 es 0, significa que no se presiona y se vuelve a leer.

;-

CLR P1.0

CLR P1.3

Llamar DL1S

Llamar DL1S

SETB P1.0

; SETB P1.3

; -

(4) Si P1.6 está en nivel alto; , P1.4=0, P1.3 = 0, P1, P1.3=1 después de dos segundos.

PRG6_2:

JNB P1.6, $; si es 0, significa que no hay prensa y relectura.

Retraso de llamada; retraso de 10 milisegundos

JNB P1.6, pr g6_2; si es 0, significa que no se presiona y se vuelve a leer.

;-

CLR P1.3

CLR P1.4

Llamar DL1S

Llamar DL1S

SETB P1.3

SETB P1.4

Punto de inicio SJMP

-

Retraso: Retraso 5 ms

MOV R6, #10

MOV R7, #200

DJNZ R7, USD

DJNZ R6, USD 2

DJNZ R6, USD 2

p>

Remojado en agua para suavizar

DL1S:

MOV R5, #200

Retraso de llamada

DJNZ R5 , $ - 2

Remojado en agua para suavizar

Fin

=================; ===== ==============================