basit bir adc çevirici - Garip bir sorun anlam veremedim ?

the_night

Üye
Katılım
18 Kas 2007
Mesajlar
51
Puanları
1
#include <16f877a.h>
#device ADC=10

unsigned long int adc1;

set_adc_channel(0);
delay_ms(20);
adc1 = read_adc();

printf(lcd_putc,"%lu"adc1);

arkadaşlar yukarda görünen basit bir adc çevirici potans +5 v bağlı ekranda potans 5v yani en tepedeyken 1023 bilgisini alıyorum ama voltajı azaltmaya başladığımda düşerken birden saçmalıyor mesala 300 e geldiğinde birden 800 900 oluyor tekrar düzeliyor neden olabilir bu bi anlam veremedim ?
 
Aşağıdaki projeyi bir dene.

circuits.jpg


Kod:
#include <16f877a.h>
#device ADC=10
#fuses HS, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay(clock=4000000)
#use fast_io(b)
#define use_portb_lcd TRUE)

#include <lcd.c>

void main(void)
{
   int16 ADCValue;
   setup_adc(ADC_CLOCK_INTERNAL);
   setup_adc_ports(ALL_ANALOG);
 
   lcd_init();

   while(TRUE)
   {
      set_adc_channel(0);
      delay_us(100);
      ADCValue = read_adc();
    
      lcd_putc("\f");
      lcd_gotoxy(1,1);
      printf(lcd_putc,"%lu",ADCValue);
      delay_ms(250);
   }
}
 
üstat teşekkürler çalıştı sanıyorum program içinde komutlar çoğaldıkça yapıyor bunu
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,898
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst