MicroC ile adc volt metre pic16f877

| Mayıs 29, 2023 Tarihinde güncellendi
MicroC ile adc volt metre pic16f877

Merhaba arkadaşlar bu çalışmamda MicroC PIC16f877 kullanılarak ve tek kanal adc si ile volt metre oluşturdum. Benzer programlarla volt metre bulmak mümkün microC kullananlar için inceleme fırsatı bulacağınızı düşündüm.

İlerleyen zamanda fonksiyonlu bir halde projeyi tekrar yayınlayacağım.

Kocaeli üniversitesi teknik eğitim fakültesi
Elektrik öğretmenliği 4. sınıf.

[email protected]

Devre Şeması

adc-microc-pic17f877

Micro C ile hazırlanan ADC.c ieriği

/*
ADC İLE VOLT METRE UYGULAMASI
OCAK 2010
KOCAELİ ÜNİVERSİTESİ TEF ELEKTRİK
PIC877A mikroişlemci
4mhz kristal
*/

unsigned char volt;
unsigned int volt_oku;
unsigned int i;
char *text;
long tlong;

void main() {
  INTCON = 0;                  // Tüm kesmeler iptal edildi
  Lcd_Init(&PORTB);            // Lcd_Init PORTB LCD için hazırlandı
  LCD_Cmd(LCD_CURSOR_OFF);     // LCD kursör kapatıldı
  LCD_Cmd(LCD_CLEAR);          // LCD de radtgele karekter oluşmaması için silindi


Lcd_Out(1,6,"KOU TEF");
                              // 1.satır6. karaktere bilgi yazıldı

  ADCON1     = 0x82;          // ADC ayarları
  TRISA      = 0xFF;          // PORT A  giriş yapıldı
  Delay_ms(500);
  text  = "VOLT : ";          // BLİLGİLENDİRME TEXTleri
  while (1) {
    volt_oku  = ADC_read(2);      // ADC 2 kanal okundu
    LCD_Out(2,1,text);            //     TEXT i ekrana bas

    tlong = (long)volt_oku * 5000;      // okunan volt mili volta çevriliyor
    tlong = tlong / 1022;              // Mili volt Volta çevriliyor

    volt     = tlong / 1000;            // X.,.. değeri atanıyor
    LCD_Chr(2,8,48+volt);              // X değeri satır 2 8. karaktarden itibaren basılıyor

    volt = (tlong / 100)%10;          // .X,.. değeri atanıyor
    LCD_Chr_CP(48+volt);                // X değeri satır 2 de kursörün bulunduğu yerden itibaren basılıyor
    LCD_Chr_CP('.');


    volt = (tlong / 10) % 10;       // 0.1 volts d
    LCD_Chr_CP(48+volt);            // satır 2 de kursörün bulunduğu yerden itibaren basılıyor

    volt = tlong % 10;              // 0.01 volt
    LCD_Chr_CP(48+volt);             // satır 2 de kursörün bulunduğu yerden itibaren basılıyor

    LCD_Chr_CP('V');                 // elde edilen sonuca V birimi ekleniyor.

    Delay_ms(1);                     // döngü kararsızlıkları için 1ms bekliyor
  }
}//~!

Projenin (Proteus simülasyon, micro c kodları vb.) dosyaları;

microc-ile-adc-volt-metre-pic16f877

Şifre-Pass: 320volt.com

Yayım tarihi: 2010/01/30 Etiketler: , , , , ,



15 Yorum “MicroC ile adc volt metre pic16f877

  1. rıdvanrıdvan

    arkadaşım bende giresun üniversite elektironik bölümünde 2 sınıftayım ben de senin yaptığın devreyi yapacağım ama bir kaç sorum var

    volt metre değilmi bu ?
    ölçum yaparken sapması nasıl ?
    doğru çalışıyormu ?

    yardımını beklıyorum. !

    CEVAPLA
  2. AytaçAytaç

    Devre voltmetredir. Pıc 2nolu adc girişi uygulamada 5.1vluk bir zener diyotla şaseye çekilmelidir. Pıc girişini 5vdan büyük gerilimlerden korumak için.

    Devre yaklaşık 50 60 ölçüm değeri ile denedim toleransı yaklaşık binde 6 tolerans ile doğru olçüm yapıyor. 0 50 volt arası skalası olacak şekilde yazdım.

    CEVAPLA
  3. silvanosilvano

    Friend gefallen.
    Aber man würde dazu beitragen, die Lektüre umgekehrt:
    Beispiel:
    5,00 Volt-Eingang …. Lesen Sie in Volt LCD 00,00
    00,00 Volt Eingang ….. Lesen Sie auf 50,04 Volt LCD
    Dank
    Silvano von Brasilien

    CEVAPLA
  4. mustafa albayrakmustafa albayrak

    Aytaç bey iki kanal olarak düzenleyebilirmisiniz.simetrik kaynak için.teşekkürler.

    CEVAPLA
  5. aytac dürgenaytac dürgen

    proje uygulamalarım aynen alıp uygulama için değil siz ilgilenenlerin kendini geliştireceği şekilde açıklamalıdır. Üzerinde biraz çalışırsanız iki kanalı kendiniz yapabilirsiniz.Özel proje uygulamasını prensip olarak yapmıyorum.Kolay gelsin iyi çalışmalar

    CEVAPLA
  6. HakanHakan

    regüleli kaynaklardan çıkan voltajı ölçüyor devre ama regülesiz kaynaklardan çıkan voltajı ölçemiyorum çünkü ortalama değer almıyor program yaklaşık 30 tane ortalama değer alıp ekrana öyle göstermek gerekir ama kodları yazamadım yardımcı olurmusunuz

    CEVAPLA
  7. kemal topcukemal topcu

    hocam çok teşekkürler benim sormak istediğim bir şey var pice verilen beslemeyi ölçebilirmiyiz mesela ben bunu kumandaya bağlamak (modelcilikte kullanılan radyo kumanda) istiyorum kumandanın pilinin voltaj durumunu görmek için acaba bir problem çıkarırmı. Yani pice harici bir ölçüm yaptırmamak istiyorum

    CEVAPLA
  8. emrah uzunemrah uzun

    merhabalar hocam öncelikle çalışmalarınız, emekleriniz noktasındaki paylaşımlarınızda açık olmanız dolayısıyla teşekkürlerimi sunmak istiyorum. bu konularda teknik anlamda mesleki olarak bilgi sahibi olmamakla birlikte yapmayı planladığım bir devre ile ilgili olarak sizin önerilerinzi almak isterim. Şöyleki;
    –yapacağım bir dc motorun(dinamo olarak kullanılacak) mv düzeyindeki voltaj değerlerini ölçerek bunları belirli periyotlar içerisinde kendi dahili belleğine atacak ve buradan bunları bir flash disk yardımı ile ben belirli zamana ralıklarında alacağım. ( devre rüzgar hızı ölçümü için yapılacak olan bir cihaz için düşünülmüştür. voltaj değişimlerini analiz edilerek rüzgarın hızı hesaplanacaktır.) bu nasıl mümkün olabilir…

    CEVAPLA
  9. ethemethem

    hocam ben bu devrede sizin isminiz yazark başlıyor ya onu değiştirip farklı bir şey yazdırmak istiyorum nasıl yaparım tez ödevim bu yardımcı olursanız sevinirim..

    CEVAPLA
  10. echoecho

    arkadaşlar bunu ccs c yle nasıl yazarım yardımcı olabilecek var mı yazamadım bir türlü

    CEVAPLA
      1. echoecho

        sorduğum o değildi 0-5 v u yapabiliyorum yinede teşekkür ederim
        0-30V arası yapmam gerekti ama hallettim acaba 0.1 hassasiyetle ölçmem gerek onu nasıl ayarlayabilirim?

        CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir