Red de conocimiento informático - Consumibles informáticos - Se requiere un programa en lenguaje ensamblador del microcontrolador: 1 botón controla 1 luz. Cada vez que se presiona este botón 2 veces rápidamente, la luz se encenderá y apagará una vez.

Se requiere un programa en lenguaje ensamblador del microcontrolador: 1 botón controla 1 luz. Cada vez que se presiona este botón 2 veces rápidamente, la luz se encenderá y apagará una vez.

Función de doble clic.

Es muy sencillo contar el tiempo desde "soltar la tecla" hasta "próxima pulsación de tecla".

==============

Los siguientes procedimientos han sido probados experimentalmente y pueden cumplir con los requisitos de la pregunta:

;- ---------------------------------------------- -

LED EQU P3.5

TECLA EQU P3.7

ORG 0000H

INICIO LJMP

ORG 0030H

INICIO:

TECLA JB, $

LLAMADA DELAY10MS

TECLA JB, INICIO

JNB CLAVE, $

DAN_JI:

LLAMADA DELAY10MS

MOV R2, #20

K_LOOP:

LLAMADA DELAY10MS

JNB KEY, SHUANG_JI

DJNZ R2, K_LOOP

SJMP START

SHUANG_JI:

LLAMADA DELAY10MS

TECLA JB, DAN_JI

LED CPL

TECLA JNB, $

INICIO SJMP

;-- ------- ----------------

RETARDO10MS:

MOV R6, #20

DJNZ R7, $

DJNZ R6, $ - 2

RET

;---------------- -------- --

END

Los requisitos de la pregunta son muy simples y se pueden completar sin un cronómetro.

Según las ideas y métodos de este programa, no es difícil escribir programas para "un solo clic", "pulsación larga", "doble clic" y "triple clic".