Olá pessoal que acompanha o blog, está é uma contribuição do nosso colega Renato Lôbo Rodrigues e ele deixou o seguinte programa no qual liga e desliga um LED através de um botão.
Programa indicado para iniciantes e quem mais se interessar pelo método de programação no CCS, sem usar funções próprias do CCS.Há recursos onde o datasheet deve ser consultado para eventuais dúvidas dos registradores usados.
O código fonte:
lista de peças para montagem em bancada: - matriz de contatos pequena - pic16F628A, microcontrolador da Microchip - resitor de 220 ohm para limitar a corrente do LED - resitor de 10k ohm como pu-up da entrada do pino RA3 - LED 3 ou 5 mm vermelho - botão de contato - cabinhos para ligações dos componentes - fonte de 5V, pode ser um carregador de celular ou suporte de 3 pilhas(4,5V) /////////////////////////////////////////////////////////////////////// // Projeto: Ligar e desligar um led através de um botão // // Nome: Renato Lôbo Rodrigues // // Data: 10/03/17 // // Email: lobosoft@oi.com.br // /////////////////////////////////////////////////////////////////////// #include <16F628A.h> #use delay (clock = 4Mhz) //Configure os fusíveis em acordo com o pic selecionado, consultar o arquivo <16F628.h> e datasheet. #fuses NOWDT #fuses PUT #fuses NOBROWNOUT #fuses NOMCLR #fuses INTRC_IO #fuses PROTECT //Estes registros encontra-se nas funções especiais de cada modelo de pic, //pag 16 do datashet no mapa de memória. #bit tris_bot1 = 0x85.3 //direção do pino A3 #bit bot1 = 0x05.3 //pino A3 #bit tris_led1 = 0x85.0 //direção do pino A0 #bit led1 = 0x05.0 //pino A0 //___________________________________________ //Rotina principal void main() { int1 st1 = false; //status do botão tris_bot1 = 1; //pino A3 em "um" como entrada tris_led1 = 0; //pino A0 em "zero" como saída led1 = 0; //inicia com "zero" apagando o led1 while(true) //laço infinito { //funciona quando aperta o botão (KeyDown) if ( bot1) st1=false; // if (!bot1 && st1==false) { st1=true; led1 = !led1 ; //inverte, acende ou apaga o led1 delay_ms(100); //um tempo para deboulce }//fim do if }//fim do while } //fim do main
Muito obrigado Renato Lôbo Rodrigues por contribuir com o blog!
Nenhum comentário :
Postar um comentário
olá,digite aqui seu comentário!