Ana içeriğe git
Konu: ADS1232 kullanımı (46 Kez okunmuş)

ADS1232 kullanımı

Merhabalar.
Bir proje için ads1232 kullanmam gerekiyor fakat okuma işlemini bir türlü beceremedim. Daha önce kullanan ya da yöntem gösterebilecek olan varsa çok memnun olurum.  Kullandığım kodlar
Kod: [Seç]
#include <main.h>
#include <max7219.c>
#define buzzer pin_d7

#define dout pin_a5//bilgi
#define clk pin_a4//clock
#define pwd  pin_a3//adc uyandırma
#define zero pin_b3//kontrol amaçlı

void yaz(int32 Val,int8 &a,int8 &b,int8 &c,int8 &d,int8 &e,int8 &f);//ekrana yazmayla alakalı
signed int32 oku(void);
int16 i=0;
int a,b,c,d,e,f;
int32 deger=0;
int8 byte0,byte1,byte2,byte3;

signed int32 oku(void){ //adc okuma için

signed int32 adc_bit;
while(dout){
for(i=0;i<24;i++){
adc_bit=adc_bit<<1;
adc_bit=dout;
output_high(clk);
delay_ms(1);
output_low(clk);
delay_ms(1);
}
}
return(adc_bit);
}


void yaz(int32 Val,int8 &a,int8 &b,int8 &c,int8 &d,int8 &e,int8 &f)
{   a=0;b=0;c=0;d=0;e=0;f=0;
    while(val>=100000){val-=100000,a++;}
    while(val>=10000){val-=10000,b++;}
    while(val>=1000){val-=1000,c++;}
    while(val>=100){val-=100,d++;}
    while(val>=10){val-=10,e++;}
    while(val>=1){val-=1,f++;}
    write7219(6,a);
    write7219(5,b);
    write7219(4,c);
    write7219(3,d);
    write7219(2,e);
    write7219(1,f);
 
}

void main()
{
  
    init7219();
    for(i=0;i<8;i++){write7219(i,15);} delay_ms(100);
    output_high(buzzer);
    delay_ms(1000);
    output_low(buzzer);
    delay_ms(1000);
    output_high(buzzer);
    delay_ms(1000);
    output_low(buzzer);
    output_low(pwd); delay_ms(50); output_high(pwd);output_high(clk);
   while(TRUE)
   {
   deger=oku();
   if(input(zero)){while(input(zero));deger=0;output_high(buzzer);delay_ms(50);output_low(buzzer);};
   yaz(deger,a,b,c,d,e,f);
   }
}