Ir ao conteúdo
  • Cadastre-se

DANIEL BALBINO

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de DANIEL BALBINO em Problema com USART do PIC16f877a foi marcado como solução   
    O codigo foi esse no 12F675
     
    #include <12f675.h> #device adc=10 #use delay(clock=4000000) #fuses  INTRC_IO,NOWDT, noprotect #use rs232(baud=9600, xmit=PIN_A2,rcv=PIN_A3,bits=8)       float tensão;   long int tensao1;     void main() {    setup_adc_ports(AN0_ANALOG|AN1_ANALOG);    setup_adc(ADC_CLOCK_INTERNAL);          while(true)     {       set_adc_channel(0);       delay_ms(100);       tensão= (5.0/1024)* read_adc()*20;         tensao1=tensão*100;       printf("\r\n%c",tensao1);              output_high(PIN_A4);       delay_ms(100);       output_low(PIN_A4);       delay_ms(100);                                  }            }   NO RECEPTOR QUE É O 16F877A FOI:   #include <16f877a.h> #device ADC=10 #use delay(clock=8000000) #USE RS232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,bits=8)   #fuses HS,NOWDT,BROWNOUT,PUT,NOLVP   #include "LCD4B.c"           float   tensão, ad0; char dado[7];   #int_rda  void rda_isr()   {         dado[0]=getchar();         dado[1]=getchar();         dado[2]=getchar();         dado[3]=getchar();                           }   void main()    {                                  enable_interrupts(global);        enable_interrupts(int_rda);               setup_adc_ports(AN0_AN1_AN3);       setup_ADC(ADC_CLOCK_DIV_8);                  lcd_ini();       delay_ms(200);            printf(lcd_escreve,"PIC16F877A");        printf(lcd_escreve,"\rPROJETO VERSAO 00");        delay_ms(200);                          while(true)        {                                                                               set_adc_channel(0);          delay_us(100);          ad0=read_adc();          tensão=5*ad0/1024;          tensão=tensão*20;                               printf(lcd_escreve,"\fTENSAO=%fV\r\n",tensão);           printf(lcd_escreve,"COR=%c%c.%c%c",dado[0],dado[1],dado[2],dado[3]); //Nessa parte que recebe a informação fica com uns caracteres zuados variando(mostrando que ele está recebendo alguma informação) quando manda para o LCD,mas no PROTEUS imprime normalmente e qualquer outro programa o LCD imprime as duas linhas mostrando que o problema não e no hardware do LCD.valeu!!!! //                                                delay_ms(300);                                                                }                             }        
    O hardware A PRINCIPIO ESTA OK MAS MESMO ASSIM NÃO PEGA E NO CASO DO OSCILADOR INTERNO COLOQUEI OUTROS DOIS PICS12F675 PARA TESTAR E NADA TAMBÉM.
     
    NO PROTEUS ESTA RODANDO TUDO LEGAL MAS quando LIGO O TX DO 12F AO RX DO 16F COMEÇA A LOUCURA!!
     
     
    valeu pela força pessoal!!!, ABRAÇOS!!!!

    @MatheusLPS
     
    @Isadora Ferraz
     
    @Fervolt

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!