Sayfalar

Menü

22 Mart 2020 Pazar

74HC164 Port Çoklama ve termomtere ccsc

Pİc Programlama 74HC164 Port Çoklama devre ve kodları ve termometre
Pic 12f683 kullanıldı
ADC 10 bit ayarlandı
74hc164 Entegresi kullanıldı
2 Tane Seven segment display kullanıldı

#include <12f683.h>
#device ADC=10
#fuses NOWDT,INTRC_IO,NOMCLR,NOBROWNOUT,NOCPD
#use delay(clock=4000000)
#use fast_io(a)
#define data pin_a0   // data sabiti pin_a0'a eşitleniyor
#define clock pin_a1  // clock sabiti pin_a1'e eşitleniyor

#define display1 pin_a5
#define display2 pin_a4
//int digit1[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7C, 0x07, 0x7F, 0x6F};
int digit[16]={252,96,218,242,102,182,190,224,254,246};

int j=0,k=0,birler=0,onlar=0;

unsigned long int okunan;
int16 isi;

void main ()
{
   set_tris_a(0x20);
   output_a(0x20);
 
   setup_adc(adc_clock_div_32);
   setup_adc_ports(sAN0);
 
   while(true)
   {
 
   set_adc_channel(2);
   delay_us(20);
   okunan = read_adc();
   isi = okunan * 0.0048875855327468 * 100;

    birler = isi % 10;
    onlar = isi / 10;

        for(j=0;j<8;j++)
       {
         output_bit(data,bit_test(digit[birler],j));
          output_high(clock); // Clock sinyali lojik-1 yapılıyor
          output_low(clock);  // Clock sinyali lojik-0 yapılıyor
        }
        output_a(digit[pin_a5] |(0x04));
       delay_ms(200);

      for(k=0;k<8;k++)             
        {
           output_bit(data,bit_test(digit[onlar],k));
           output_high(clock); // Clock sinyali lojik-1 yapılıyor
           output_low(clock);  // Clock sinyali lojik-0 yapılıyor
       
       }
           output_a(digit[pin_a4] |(0x10));
           delay_ms(200);
    }
   }

Youtube kanalımızdan videosunu izleyebilirsiniz.
Abone olmayı unutmayın...






Hiç yorum yok:

Yorum Gönder

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