unsigned char volt;
unsigned int i;
char *text;
long tlong,sonuc;
float volt_oku=0;
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
delay_ms(500);
Lcd_Out(1,6,"ASLAN");
// 1.satır6. karaktere bilgi yazıldı
ADCON1 = 0x82; // ADC ayarları
TRISA = 0xFF; // PORT A giriş yapıldı
Delay_ms(100);
text = "VOLT : "; // BLİLGİLENDİRME TEXTleri
while (1) {
int a;
for(i=0;i=15;i++){
volt_oku+=ADC_read(2); // ADC 2 kanal okundu
}
volt_oku/=16;
LCD_Out(2,1,text); // TEXT i ekrana bas
tlong = (long)volt_oku*3000; // 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(100);
} // döngü kararsızlıkları için 1ms bekliyor
}