Pesquisar neste blog

22/11/2020

Opções com menu PIC 16F628A






























Código feito em CCS C Compiler

#include <16F628a.h>
#fuses INTRC_IO, NOMCLR, NOWDT
#use delay(clock = 8MHz)
#define use_portb_lcd true
#include <lcd.c>
int estado = 0;

void main(void){

   set_tris_a(0x0f);
   output_a(0x00);
   lcd_init();
   
   while(true){
      
      do{
         lcd_putc("\f ESCOLHA ABAIXO");
         lcd_putc("\n1-Am, 2-Ve, 3-Az");
         delay_ms(200);
         
         if(input(pin_a0)){
            lcd_putc("\f ACENDE LED\n  AMARELO");
            estado = 1;
            delay_ms(1000);
         }
         
         if(input(pin_a1)){
            lcd_putc("\f ACENDE LED\n  VERMELHO");
            estado = 2;
            delay_ms(1000);
         }
         
         if(input(pin_a2)){
            lcd_putc("\f ACENDE LED\n  AZUL");
            estado = 3;
            delay_ms(1000);
         }
         
         if(input(pin_a3)){
            lcd_putc("\f ACENDE LED\n TENTE NOVAMENTE");
            delay_ms(1000);
         }
         
      }while(estado == 0);
      
      if(estado == 1){
         delay_ms(1000);
         lcd_putc("\f  LED AMARELO \n  ACIONADO");
         output_high(pin_a6);
         delay_ms(5000);
         output_low(pin_a6);
         estado = 0;
      }
      
      if(estado == 2){
         delay_ms(1000);
         lcd_putc("\f  LED VERMELHO \n  ACIONADO");
         output_high(pin_a7);
         delay_ms(5000);
         output_low(pin_a7);
         estado = 0;
      }
      
      if(estado == 3){
         delay_ms(1000);
         lcd_putc("\f  LED AZUL \n  ACIONADO");
         output_high(pin_b3);
         delay_ms(5000);
         output_low(pin_b3);
         estado = 0;
      }
      
      
   }
}


Créditos para: Alexandro Lima

Nenhum comentário: