J'ai besoin d'aide J'ai ce programme basique de base pour jouer avec les LED dans une séquence d'entre eux en fonction de quel commutateur je pousse, ce que je voudrais savoir: Comment puis-je interrompre un (ou l'arrêter) et exécuter l'autre séquence quand je bascule l'autre commutateur et exécuter la nouvelle séquence mais pas celle avant, je me demandais comment d'autres programmes qui ont besoin d'abandonner les actions le font, car il sera dans la "boucle" avec des retards et des trucs, je suppose que mettre un si entre les lignes dans chaque led on et off le ferait, mais je ne pense pas que ce soit la manière correcte/efficace .. merci!Comment puis-je casser un si une variable change
#include <16f876.h>
#use delay(clock=4M)
#fuses XT,NOWDT
#use standard_io(A)
#use standard_io(B)
int16 t0=2000;
int16 t1=1000;
int16 t2=1000;
int16 t3=500;
void main(){
output_b(0b00000000);
while(TRUE){
if(input(PIN_A0)==0){
output_b(0b00000000);
output_b(0b00011000);
delay_ms(t0);
output_b(0b00100100);
delay_ms(t0);
output_b(0b01000010);
delay_ms(t0);
output_b(0b10000001);
delay_ms(t0);
}
if(input(PIN_A1)==0){
output_b(0b00000000);
output_b(0b00000001);
delay_ms(t1);
output_b(0b00000011);
delay_ms(t1);
output_b(0b00000111);
delay_ms(t1);
output_b(0b00001111);
delay_ms(t1);
output_b(0b00011111);
delay_ms(t1);
output_b(0b00111111);
delay_ms(t1);
output_b(0b01111111);
delay_ms(t1);
output_b(0b11111111);
delay_ms(t1);
}
if(input(PIN_A2)==0){
output_b(0b10000000);
delay_ms(t2);
output_b(0b11000000);
delay_ms(t2);
output_b(0b11100000);
delay_ms(t2);
output_b(0b11110000);
delay_ms(t2);
output_b(0b11111000);
delay_ms(t2);
output_b(0b11111100);
delay_ms(t2);
output_b(0b11111110);
delay_ms(t2);
output_b(0b11111111);
delay_ms(t2);
}
if(input(PIN_A3)==0){
output_b(0b00000000);
output_b(0b00000001);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b00000011);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b00000111);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b00001111);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b00011111);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b00111111);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b01111111);
delay_ms(t3);
output_b(0b00000000);
delay_ms(t3);
output_b(0b11111111);
delay_ms(t3);
}
}
}
Peut-il y avoir plusieurs lumières allumées en même temps ou seulement une à la fois? Que se passe-t-il si, au lieu d'utiliser 3 if, vous utilisez une branche if/else? –
c'est un à la fois. –