Moderadores: andre_luis, 51, guest2003, Renie
#bit botao= portB.0
#bit led = portB.2
set_tris_b(0b11111011);
portb=0x00; // limpa portb
#include <16f877A.h> // microcontrolador utilizado
#device adc=10
//#include <math.h> // Biblioteca de função matemática
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Configurações para gravação *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#fuses hs,nowdt,noprotect,put,brownout,nolvp,nocpd,nowrt // configuração dos fusíveis
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definições para uso de Rotinas de Delay e uso da Serial *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#use delay(clock=20000000)
#use rs232(baud=38400 ,xmit=pin_c6,rcv=pin_c7)
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Constantes internas *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização das variáveis *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//Neste bloco estão definidas as variáveis globais do programa.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Definição e inicialização dos port's *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#use fast_io(e)
#byte porta = 0x05
#byte portb = 0x06
#byte portc = 0x07
#byte portd = 0x08
#byte porte = 0x09
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Declaração dos flags de software *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//A definição de flags ajuda na programação e economiza memória RAM.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* ENTRADAS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// As entradas devem ser associadas a nomes para facilitar a programação e
//futuras alterações do hardware.
#bit botao= portb.0
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* SAÍDAS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// As saídas devem ser associadas a nomes para facilitar a programação e
//futuras alterações do hardware.
#bit led = portb.2
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Configurações do Pic *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
void main()
{
// configura microcontrolador
setup_adc_ports (no_analogs);
port_b_pullups (true);
// configura os tris
// configuração da direção dos pinos de I/O
//0=saida, 1=entrada
set_tris_a(0b00000000);//
set_tris_b(0b01001111);//
set_tris_c(0b10000001);//
set_tris_d(0b11111111);//
set_tris_e(0b00000111);//
// inicializa os ports
porta=0x00; // limpa porta
portb=0x00; // limpa portb
portc=0x00; // limpa portc
portd=0x00; // limpa portd
porte=0x00; // limpa porte
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Rotina principal *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
while(TRUE) // rotina principal
{
}//fim do while
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Fim do Programa *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <16f628A.h> // microcontrolador utilizado
#fuses INTRC_IO,NOWDT,PUT,PROTECT,BROWNOUT,NOLVP,NOMCLR // configuração dos fusíveis
#use delay(clock=4000000) //clock de 4 Mz
#use rs232(baud=19200, xmit=PIN_b4,rcv=PIN_b5) //Conf. RS232
#use fast_io(a)
#use fast_io(b)
#byte porta = 0x05
#byte portb = 0x06
#bit botao= porta.0 //Nomeação do bit (RA0)
#bit led = porta.1 //Nomeação do bit (RA1)
void ini()
{
set_tris_a(0b11111101); //Na ordem:RA7,RA6,RA5,RA4,RA3,RA2,RA1,RA0
set_tris_b(0b11111111); //Na ordem:RB7,RB6,RB5,RB4,RB3,RB2,RB1,RB0
porta=0x00; // limpa porta
portb=0x00; // limpa portb
}
void main()
{
ini(); //Chama a função ""ini();"" logo acima para inicializar as IOs
while(1) // rotina principal ( loop )
{
if(!botao) //Aguarda o botão ficar em estado "0" para proceguir
{
led=1; //liga o léd
delay_ms(150); //aguarda 150ms
led=0; //desliga o léd
delay_ms(150); //aguarda 150ms
}
}
}
Usuários navegando neste fórum: Google [Bot] e 1 visitante