lagarios
-
Posts
19 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por lagarios
-
-
Já fiz isso, um código só pro pwm, mas nada
-
o float definido depois de executar função nao tem nada a ver
o resis1 = val1*1.0 é para aparecer no display, pois essa biblioteca que peguei do display tem alguns erros.
eu vi varios códigos com o argumento sendo float, mas já testei com int e nada
ja tentei setar o valor com um valor constante e nada.
não sei se essa versao do Proteus tem algum bug, vi alguma coisa sobre isso na net.
-
Fala galera,
Eu estou tendo problemas na hora de usar o PWM de um pic 16f877a no Proteus.
Eu uso muito o Proteus, é um programa maravilhoso e que ja me ajudou muito, mas agora estou tendo problemas para usar o PWM do PIC e não sei se é problema do código ou algum problema no Proteus.
Eu já mexi varias vezes no código, já peguei código pronto na internet e nada funcionou.
Vou mandar algumas imagens do código e do circuito no proteus, se alguém puder me ajudar fico grato.
Pelo que eu vi sobre PWM, não era para ser tão complicado assim usar, é bem simples, mas...
#include "main.h"#include "mod_lcd.c"void main(){setup_adc_ports(A_ANALOG);setup_adc(ADC_CLOCK_INTERNAL);setup_psp(PSP_DISABLED);setup_spi(SPI_SS_DISABLED);setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);setup_timer_1(T1_DISABLED);setup_comparator(NC_NC_NC_NC);setup_vref(FALSE);setup_timer_2 (T2_DIV_BY_4,249,1);setup_ccp1(ccp_pwm);delay_us(10);lcd_ini(); // Inicializa o LCDlcd_escreve ('\f'); // limpa o displayint16 Val1;float Resis1;while (true){set_adc_channel(1);delay_us(50);Val1 = read_adc();Resis1 = Val1*1.0;lcd_pos_xy (1,1);printf(lcd_escreve,"%f", Resis1);delay_ms(1);set_pwm1_duty(Resis1);}}e o main.h é:#include <16F877A.h>#device adc=8#FUSES NOWDT#FUSES HS#FUSES PUT#FUSES NOPROTECT#FUSES NODEBUG#FUSES BROWNOUT#FUSES NOLVP#FUSES NOCPD#FUSES NOWRT#use delay(clock=12000000)#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=5)e vou mandar umas imagens do circuito.Mexo no potenciometro mas não tem nada na saída ccp1
Minha versão do Proteus é a 7.6 SP0
Não estou vendo nenhum erro tanto no código como no circuito.
Agradeço desde já quem puder ajudar.
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
Problema com uso de PWM para 16F877A Proteus em CCS
em Microcontroladores
Postado
Consegui, o problema é realmente o Proteus versão 7.06. Essa versão não funciona o PWM, não sei se é para qualquer pic ou só para o 16f877a. Vi na internet uma outra pessoa falando sobre esse problema no proteus versão 7.06, e agora acabei de confirmar, instalei a 7.08 e esta funcionando perfeitamente agora.