02.11.2014 Views

BÖLÜM 4 – KAREKTER LCD ve ADC İŞLEMLERİ - 320Volt

BÖLÜM 4 – KAREKTER LCD ve ADC İŞLEMLERİ - 320Volt

BÖLÜM 4 – KAREKTER LCD ve ADC İŞLEMLERİ - 320Volt

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

#include <br />

#include "delay.h" // Gecikme kütüphanesi tanımlanıyor<br />

#include "lcd.h" // <strong>LCD</strong> kütüphanesi tanımlanıyor<br />

int voltaj_1;<br />

int voltaj_2;<br />

char i=1;<br />

void main(void)<br />

{<br />

TRISA=0x03;<br />

TRISB=0x00;<br />

TRISC=0x00;<br />

PORTB=0x00;<br />

PORTC=0x00;<br />

PCFG3=0;<br />

PCFG2=1;<br />

PCFG1=0;<br />

PCFG0=0;<br />

ADFM=1;<br />

ADON=1;<br />

ADIF=0;<br />

ADIE=1;<br />

PEIE=1;<br />

GIE=1;<br />

lcd_init();<br />

// Ana fonksiyon alanı<br />

// Analog giriĢ için<br />

// <strong>LCD</strong> için çıkıĢ<br />

// AN0 <strong>ve</strong> AN1 analog<br />

// Sağa dayalı yazılıyor<br />

// <strong>ADC</strong> açılıyor<br />

// <strong>ADC</strong> bayrağı temizleniyor<br />

// <strong>ADC</strong> kesmesi izni <strong>ve</strong>riliyor<br />

// Genel <strong>ve</strong> yardımcı kesme izinleri <strong>ve</strong>riliyor<br />

// <strong>LCD</strong> ilk ayarları yapılıyor<br />

lcd_yaz("1.Voltaj=");<br />

lcd_gotoxy(2,1);<br />

lcd_yaz("2.Voltaj=");<br />

for(;;)<br />

{<br />

CHS2=0;<br />

// AN0 seçiliyor<br />

CHS1=0;<br />

CHS0=0;<br />

DelayUs(25);<br />

ADGO=1;<br />

// Çevrim baĢlatılıyor<br />

while(!ADGO);<br />

voltaj_1=(int)((ADRESH*256+ADRESL)/2); // Hesaplama yapılıyor<br />

lcd_gotoxy(1,10); // Okunan değer <strong>LCD</strong>'ye yazılıyor<br />

<strong>ve</strong>ri_yolla(voltaj_1/1000+48);<br />

<strong>ve</strong>ri_yolla((voltaj_1%1000)/100+48);<br />

<strong>ve</strong>ri_yolla('.');<br />

<strong>ve</strong>ri_yolla((voltaj_1%100)/10+48);<br />

<strong>ve</strong>ri_yolla(voltaj_1%10+48);<br />

<strong>ve</strong>ri_yolla('V');<br />

CHS2=0;<br />

// AN1 seçiliyor<br />

CHS1=0;<br />

CHS0=1;<br />

DelayUs(25);<br />

ADGO=1;<br />

// Çevrim baĢlatılıyor<br />

while(!ADGO);<br />

voltaj_2=(int)((ADRESH*256+ADRESL)/2); // Hesaplama yapılıyor<br />

lcd_gotoxy(2,10); // Okunan değer <strong>LCD</strong>'ye yazılıyor<br />

<strong>ve</strong>ri_yolla(voltaj_2/1000+48);<br />

<strong>ve</strong>ri_yolla((voltaj_2%1000)/100+48);<br />

<strong>ve</strong>ri_yolla('.');<br />

FxDev.org Sayfa 17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!