16F877A ile ADC değeri okuyamıyorum

onuronbasi

Üye
Katılım
16 Nis 2022
Mesajlar
2
Puanları
1
Yaş
30
Proteus Simulatörü ile test ettiğimde sorunsuz veri alabiliyorum.
Ancak PIC 16F877A'ya yüklediğim de 0 değerinden başka veri alamıyorum.

MicroC ile derleme yapıyorum.
20 MHZ kristal 22pf kondansatör ile şaseye bağlı.
LM35 Sensörünün çıkışı AN0 Pinine bağlı.
5 Volt DC adaptör ile Devre ve Sensöre besleme yapılıyor.

Yardımlarınızı bekliyorum.


IMG_20220416_160833.jpg
IMG_20220416_160815.jpg

proteus-lm35-adc.jpg


// Lcd modul baglantisi
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
// LCD modul baglantisi

int sicaklik;
int gerilim;
char txt[10];

void main()
{

ADCON1=0b10001110;
TRISA=0b00000001;
TRISB=0;
TRISC=0;
TRISD=0;
TRISE=0;

PORTA=0;
PORTB=0;
PORTC=0;
PORTD=0;
PORTE=0;

delay_ms(1000);
Lcd_Init();
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"LCD Hazir");
Lcd_Out(2,3,"Sensor Test");
delay_ms(1000);

Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Cmd(_LCD_CLEAR);

while(1)
{

sicaklik=Adc_Read(0);
delay_ms(100);
gerilim = 4.8828125 * sicaklik;
sicaklik=gerilim / 10;
IntToStr(sicaklik,txt);
lcd_out(1,1,txt);
}
}
 

Ekli dosyalar

  • proteus-lm35-adc.jpg
    proteus-lm35-adc.jpg
    168.4 KB · Görüntüleme: 6
  • IMG_20220416_160833.jpg
    IMG_20220416_160833.jpg
    128.4 KB · Görüntüleme: 4
  • IMG_20220416_160815.jpg
    IMG_20220416_160815.jpg
    63.4 KB · Görüntüleme: 4
ADCON1 = 0b11000100;
olarak deneyin.
Bir de port komutları tris den
önce olmalı.
Port
Adc
Tris sıralaması olmalı.

Ek:
sıcaklık = 512;
yazıp display üzerinde değer var mı?
kontrol edin.
 
Mehmet bey, öncelikle destekleriniz için teşekkür ederim.
10K potansiyometre ile gerilim verip ADC test ettim ve çalışıyor.
Ayrıca başka sensörlerde denedim sorunsuz veri okuyabiliyorum.

Sanıyorum LM35 sensörüm arızalı.
 

Forum istatistikleri

Konular
129,800
Mesajlar
930,202
Kullanıcılar
452,596
Son üye
Medi-terranean

Yeni konular

Geri
Üst