voltmetre lcd ile gösteriyor ben bunu displayde göstermek istiyorum

Başlatan secretagent, 02 Şubat 2011, 17:28:25

secretagent

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



şema:

[IMG]http://img217.imageshack.us/img217/779/71416893.jpg[/img]

Uploaded with ImageShack.us