AD e CCP1 TESTE

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

AD e CCP1 TESTE

Mensagempor antonio » 07 Fev 2010 07:48

Pessoal tudo bem!!

Estou fazendo uns testes com o AD do PIc 16F877A e o CCP1:
Eh assim, mudificando a posição do POT em A0 deveria variar o brilho no LED , e isso nao acontece, fazendo o teste no proteus o LED acende normal não variando seu brilho!

O que estou fazendo errado no codigo abaixo???
Desde jà agradeço
Código: Selecionar todos
#include <16F877A.h>
#device adc=8
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)

void main()
{
int8 value;
   
setup_ccp1(CCP_PWM);

setup_timer_2(T2_DIV_BY_4, 127, 1);

setup_port_a(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
 
while(1)
  {
   value = read_adc();
   
   set_pwm1_duty(value);
  }

}


Imagem
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor fabim » 07 Fev 2010 09:30

antonio.
Os leds no proteus são apenas indicativos luminosos de nivel.
Eles não foram projetados para variar o brilho. No máximo se me lembro bem ele fica quando aceso em 2 niveis, nesse azul é fraquinho e depois nessa tonalidade aí.

Pra você testar direitinho se esta funcionando.
Ligue a saida do CCP no osciloscopio virtual...
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor antonio » 07 Fev 2010 10:20

Grato pelo apoio Fabim!

Tentei fazendo como vc falou mas não mostrou nada,?

Olha aqui!

Imagem
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor proex » 07 Fev 2010 12:22

Ehehehhe esse é o legitimo Proteus que eu conheço e parei de usar.

Conseguia simular 4 processadores rodando simultâneamente, se comunicando via Serial e SPI , com direito a display e teclas.

Mas não consegui simular um simples led piscando, ligado num pino do PIC.

Esse software é sinistro. !!!

.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor ddspereira » 07 Fev 2010 12:55

esse codigo funciona perfeitamente com o PIC18F452
Código: Selecionar todos
void main() {

unsigned long value;
 trisc = 0;
adcon0=0b10000010; //define pinos RA0 a RA5 como entrada
trisa=0xff;
for(;;){
value=adc_read(0);
delay_ms(40);
value=value/4;

Pwm1_init(5000); //Inicializa módulo 0 - PWM, canal CCP1, com 2Khz
Pwm1_set_duty(value); //Inicializa duty com 0
Pwm1_start(); //inicializa PWM

}
}

Imagem
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor jorgeluiz » 07 Fev 2010 13:25

sempre tem que ter alguma carga na saida, senao o Proteus nao consegue determinar o formato de onda. So' o osciloscopio ligado, nao ha carga.
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor antonio » 07 Fev 2010 14:39

Com o 16f877A não roda não ?

Agora com um delay mostra alguma coisa ,mais depois volta a não mostrar nada !
Dah uma olhada !
Código: Selecionar todos
while(1)
  {
   value = read_adc();
    delay_ms(50);
   set_pwm1_duty(value);
  }

}

Imagem
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor ddspereira » 07 Fev 2010 15:00

Antonio vc usa o compilador CCS?
aquele codigo que postei é para MIKROC PRO
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor antonio » 07 Fev 2010 15:09

ddspereira escreveu:Antonio vc usa o compilador CCS?
aquele codigo que postei é para MIKROC PRO


Sim,sim eu estou usando o CCS!
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x