Elektronik / Mikrodenetleyici Projeleri/

MicroC ile adc volt metre pic16f877

Merhaba arkadaşlar bu çalışmamda PIC 16f877 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.

aytacdurgen@gmail.com

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
  }
}//~!

Proje dosyaları (isis simülasyon, micro c kodları vb.): MicroC ile adc volt metre pic16f877

Dosya indirme LINK listesi (TXT formatında) link-8983.zip şifre-pass: 320volt.com

  1. rıdvan 2010/02/26
  2. Aytaç 2010/02/28
  3. silvano 2010/06/04
  4. voltmetre 2010/11/19
  5. aytacdurgen 2010/11/19
  6. mustafa albayrak 2011/02/03
  7. aytac dürgen 2011/02/03
  8. Hakan 2011/02/22
  9. kemal topcu 2011/03/12
  10. emrah uzun 2012/12/04
  11. ethem 2013/12/25

Yorum

Soru: