ADC okuma sorun

Başlatan secretagent, 11 Mart 2014, 11:58:38

secretagent

bu şekilde bir kod yazıyorum fakat adc okuma yapmıyor sürekli 0 görüyorum. bir hata veya eksik varmı?

#include <main.h>
const int TABLO[10]={250,34,185,171,99,203,219,162,251,235};
int16 birler,onlar,yuzler,binler,i;
int sayac=0;


display()
{
output_b(TABLO[birler]);
output_high(pin_c5);
delay_us(5000);
output_low(pin_c5);

output_b(TABLO[onlar]|0b00000100 ) ;
output_high(pin_a5);
delay_us(5000);
output_low(pin_a5);

output_b(TABLO[yuzler]); 
output_high(pin_c1);
delay_us(5000);
output_low(pin_c1);

output_b(TABLO[binler]);
output_high(pin_c2);
delay_us(5000);
output_low(pin_c2);
}
void oku()
{


i=read_adc();


binler=((i/1000)%10);

yuzler=((i/100)%10);

onlar=((i/100)%10);
birler=i%10;


}
void main()
{
birler=0;
onlar=0;
yuzler=0;
binler=0;

set_tris_b(0x00);
set_tris_a(0b00010111);
set_tris_c(0x00);

setup_ccp1(ccp_off);
setup_ccp2(ccp_off);
setup_adc_ports(adc_clock_div_8);


setup_adc_ports(AN0); 

set_adc_channel(0); 
delay_us(30); 
   while(TRUE)
   {

oku();

display();
 }
   }

mehmet

Oku fonksiyonundaki i değişkenine sabit bir değer atayıp
bu değeri düzgün görüntülediğinizden emin olunuz.
Sonra adc için araştırma yapınız, şema, işlemci belirtiniz.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

sadogan

Adc yapılandırmasında yanlışlık var.

setup_adc_ports(adc_clock_div_8);--> setup_adc(adc_clock_div_8); şeklinde olmalı