16f877a ve lm35 i

m@ny@k111

Üye
Katılım
1 Kas 2008
Mesajlar
48
Puanları
1
Yaş
40
arkadaşlar mrb;
lm35 ile ısı ölçüm devresi yapmaya çalışıyorum...
devremi proteusta kurup ccs de kodları yazıp hex e çevirip pic e yükledim ama sonuçlar tam istediğim gibi olmadı..çalıştı fakat Lcd de istediğim sonuçları alamadım..aşağıda proteus ve ccs kodunu veriyorum.nerde hata yapıyorum.bide aklıma takılan adc modül 10 bi ve 10 bitlik veriyi 8 bitlik 2 tane registerda saklıyor..lsb registerda ilk 8 bit geri kalan 2 bitide msb 8 bitte saklıyor.program kısmında bu registerlarda değişiklik yapmam gerekiyormu yoksa ccs derleyecisi otomatikmi yapıyor. hatanın kaynağı burdan kaynaklanabilirmi...


#include <16f877.h> //
/
#device ADC=10 // 10 bitlik ADC kullanılacağız
// ayarlar
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000) //Kullandığımız Osilatörün Clock frekansı
#use fast_io(a)
#define use_portb_lcd TRUE // LCD B portunda
#include <lcd.c>

unsigned long int ad1; // ADC den ölçülecek değer
float voltaj,sicaklik;
void main ( )
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

setup_adc(adc_clock_div_32);
// ADC clock frekansı Clock/32
setup_adc_ports(AN0); //AN0 dan ölçüm yapacağız.
//RA0/AN0 girişi analog

lcd_init();

set_adc_channel(0);
// RA0/AN0 ucundaki sinyal A/D işlemine tabi tutulacak
delay_us(20);

printf(lcd_putc,"Sicaklik "); // LCD'ye yazı yazdırılıyor
while(1)
// sonsuz döngü
{
delay_ms(50);
ad1=read_adc();
voltaj=(0.0048828125*ad1)*1000; //Dijitale çevrilmiş değerin mV değerini hesaplıyoruz.
delay_ms(500);
sicaklik=(voltaj/2);


printf(lcd_putc,"%5.1f'C",sicaklik); // LCD'ye sıcaklık değeri yazdırılıyor
}
 

Yeni mesajlar

Forum istatistikleri

Konular
129,803
Mesajlar
930,239
Kullanıcılar
452,605
Son üye
mehmet-azaplar

Yeni konular

Geri
Üst