Sayfalar

Menü

1 Mart 2020 Pazar

ccs c Termometre eksi değer okuma pic programlama

CCS C ile Termometre eksi değer okuma devre ve kodları
Analog dijital çevrici onbit ayarlanmıştır
LCD için port B uçlar kunlanılmıştır
Eksi deger okudugumuz için mikroişlemcide iki analog uç kullanılmıştır
LM 35 sıcaklık sensoru datasheetinde eksi deger okuma için devre  şeması verilmiş olan uygulandı


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

#include <lcd.c> 
unsigned long int bilgi;
float voltaj,volta,sonuc;

void main ( )
{
   setup_psp(PSP_DISABLED);     
   setup_timer_1(T1_DISABLED);   
   setup_timer_2(T2_DISABLED,0,1);
   setup_CCP1(CCP_OFF);         
   setup_CCP2(CCP_OFF);         

   set_tris_a(0xFF);
   set_tris_c(0x00);

   setup_adc(adc_clock_div_32); 
   setup_adc_ports(ALL_ANALOG); 
   enable_interrupts(INT_AD);   
   enable_interrupts(GLOBAL);   

   lcd_init();                         

   while(true) 
   {
      set_adc_channel(0); 
      delay_us(20);       
      bilgi=read_adc();   
      voltaj=0.0048828125*bilgi*100;
   
      set_adc_channel(1); 
      delay_us(20);       
      bilgi=read_adc(); 
      volta=0.0048828125*bilgi*100; 
   
     sonuc=voltaj-volta;

     printf(lcd_putc,"\nDerece=%f C",sonuc);
   
     if(sonuc >= -11.0)
      {
      output_high(pin_b3);
      }
      else
      {
      output_low(pin_b3);
      }
   
     delay_ms(1000);
   }
}







Hiç yorum yok:

Yorum Gönder

Her yorum bilgidir. Araştırmaya devam...