Buscar

Programação de LEDs em código Morse

Prévia do material em texto

/* **************************************************************** 
** Exemplo 01 ** 
** ** 
** Atividade avaliativa 1 para utilizacao de LEDs ** 
** e pushbuttons programação codigo Morse ** 
** kit com PIC18F452. Quando aperta o pushbutton RB0 ** 
** os led emite o codigo com as iniciais do nome de uma pessoa ** 
** Quando aperta o pushbutton RB1 os led emite o codigo com os ** 
** numeros de matricula de uma pessoa. ** 
** ** 
** ** 
** ** 
** Arquivo: piscapisca.c ** 
** Compilador : MikroC PRO PIC v6.4.0 ** 
** ** 
** UFLA - Lavras /MG - 10/06/2017 ** 
******************************************************************/ 
void main () 
{ 
// Ativa somente o pino RB0 como entrada da PORTB. 
// Os demais pinos sao configurados como saida. 
// Seta macro "trisb" com valor 0b00000011 (bin) = 0d1 
 
trisb = 3; 
trisd = 0; 
 
// Loop Infinito 
 
while (1) 
{ 
portd = 0; 
 
// Le o estado do push button conectado ao pinon RB0. 
// Caso esteja pressionado (valor = 0), executa 
if (portb.rb0 == 0 ) 
{ 
 
 /* L */ 
portd = 255; 
delay_ms(200); // Aguarda 0.2 segundo 
portd = 0; // Desliga todos os LEDs - 0b00000000 (bin) ou 0d0 
(dec) 
delay_ms(300); // Aguarda 0.3 segundo 
portd = 255; // Liga todos os LEDs - 0b11111111 (bin) ou 0d255 
(dec) 
delay_ms(600); // Aguarda 0.6 segundo 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(900); // Aguarda 0.9 segundo 
 
 
/* M */ 
 portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
} 
 
// Le o estado do push button conectado ao pinon RB1. 
// Caso esteja pressionado (valor = 0), executa 
 
if (portb.rb1 == 0 ) 
{ 
 /* 2 */ 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
/* 0 */ 
 portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
 portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
/* 1 */ 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
/* 6 */ 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
 portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(900); 
 
/* 1 */ 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
 /* 1 */ 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
 /* 2 */ 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
 /* 4*/ 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(200); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(300); 
portd = 0; 
delay_ms(300); 
portd = 255; 
delay_ms(600); 
portd = 0; 
delay_ms(900); 
 
 
 
 
 
} 
 
 
} 
}

Continue navegando