Baixe o app para aproveitar ainda mais
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); } } }
Compartilhar