voltmetre yardım

hkn_blt

Üye
Katılım
31 Ağu 2009
Mesajlar
1,160
Puanları
31
arkadaşlar bu voltmetre lcd ile gösteriyor ben bunu displayde göstermek istiyorum yazılımda ne gibi bi değişişklik yapmam gerek yardımcı olurmusunuz voltmetre 0-600V arası Dc gerilim ölçüyor.

program:
Kod:
/*
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,1,"kontrolkalemi");
                                           // 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 * 4010;           // 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



    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
         LCD_Chr_CP('.');
    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
  }
}//~!
 

Forum istatistikleri

Konular
128,208
Mesajlar
915,825
Kullanıcılar
449,987
Son üye
mavcil19

Yeni konular

Geri
Üst