Aplikasi DAC PIC
05.22APLIKASI DAC PIC
Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
1. Rangkaian Simulasi [kembali]
2. Listing Program [kembali]
3. Link Download [kembali]
4. Link Download [kembali]
File HTML - Download
File Proteus - Download
File Program - Download
File Video - Download
int t;
void main() {
ADCON0.ADCS0=0; // ADCS0, ADCS1 dan ADCS2 Bersama-sama menentukan kecepatan clock
ADCON0.ADCS1=1; // Jika 0 1 1, maka kecepatannya Fosc/64
ADCON1.ADCS2=1;
ADCON0.CHS0=0; // CHS0, CHS1 dan CHS2 bersama sama menentukan pin input yang digunakan
ADCON0.CHS1=0; // jika 0 0 0 , maka pin digunakan adalah pin RA0/AN0
ADCON0.CHS2=0;
ADCON0.ADON=1; // Mengaktifkan konverter A/D
ADCON1.ADFM=1; // Menyatakan 10 bit yang digunakan terdiri dari 8 bit ADRESL dan 2 bit ADRESH
ADCON1.PCFG0=0; // PCFG0, PCFG1, PCFG2 dan PCFG3 bersama sama menentukan
ADCON1.PCFG1=0; // Apakah pin input digunakan sebagai input analog atau input digital
ADCON1.PCFG2=0; // Jika 0 0 0 0, maka pin digunakan sebagai input analog
ADCON0.PCFG3=0;
TRISC=0x00; // Menyatakan PORTC sebagai output
PORTC=0x00; // Nilai awal PORTC low
do
{
ADCON0.Go_Done=1;
t=ADRESL+(ADRESH*256); // Mendapatkan nilai input analog
t=t*0.4887 ; // Menyesuaikan nilai tegangan dengan nilai serajat suhu
if(t>=28){ // Jika suhu menunjukkan nilai lebih 28 derjat, maka
PORTC=0xff; // Motor DC berputar dengan kecepatan penuh
}
else if(t<28&&t>=24) { // Jika suhu menunjukkan nilai antara 24 dan 28 derjat, maka
PORTC=0x7f; // Motor DC berputar dengan kecepatan sedang
}
else // Jika suhu kurang dari 24 derjat, maka
{ PORTC=0x3f; // Motor DC berputar dengan kecepatan rendah
}
} while(1);
}
void main() {
ADCON0.ADCS0=0; // ADCS0, ADCS1 dan ADCS2 Bersama-sama menentukan kecepatan clock
ADCON0.ADCS1=1; // Jika 0 1 1, maka kecepatannya Fosc/64
ADCON1.ADCS2=1;
ADCON0.CHS0=0; // CHS0, CHS1 dan CHS2 bersama sama menentukan pin input yang digunakan
ADCON0.CHS1=0; // jika 0 0 0 , maka pin digunakan adalah pin RA0/AN0
ADCON0.CHS2=0;
ADCON0.ADON=1; // Mengaktifkan konverter A/D
ADCON1.ADFM=1; // Menyatakan 10 bit yang digunakan terdiri dari 8 bit ADRESL dan 2 bit ADRESH
ADCON1.PCFG0=0; // PCFG0, PCFG1, PCFG2 dan PCFG3 bersama sama menentukan
ADCON1.PCFG1=0; // Apakah pin input digunakan sebagai input analog atau input digital
ADCON1.PCFG2=0; // Jika 0 0 0 0, maka pin digunakan sebagai input analog
ADCON0.PCFG3=0;
TRISC=0x00; // Menyatakan PORTC sebagai output
PORTC=0x00; // Nilai awal PORTC low
do
{
ADCON0.Go_Done=1;
t=ADRESL+(ADRESH*256); // Mendapatkan nilai input analog
t=t*0.4887 ; // Menyesuaikan nilai tegangan dengan nilai serajat suhu
if(t>=28){ // Jika suhu menunjukkan nilai lebih 28 derjat, maka
PORTC=0xff; // Motor DC berputar dengan kecepatan penuh
}
else if(t<28&&t>=24) { // Jika suhu menunjukkan nilai antara 24 dan 28 derjat, maka
PORTC=0x7f; // Motor DC berputar dengan kecepatan sedang
}
else // Jika suhu kurang dari 24 derjat, maka
{ PORTC=0x3f; // Motor DC berputar dengan kecepatan rendah
}
} while(1);
}
3. Link Download [kembali]
4. Link Download [kembali]
File HTML - Download
File Proteus - Download
File Program - Download
File Video - Download
