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...