Ana içeriğe git

Konu: ADS1232 kullanımı (41 Kez okunmuş)

  • ugurer
  • [*]
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);
   }
}