37
3.2.1.1. PEMROGRAMAN ADC PADA MC56F8013
Digunakan 3 saluran ADC 12-bit dari 6 saluran yang ada. Melalui perangkat lunak
processor expert
dapat diatur lamanya waktu yang diperlukan untuk menyelesaikan satu kali konversi ADC, yaitu 5,312 µs.
Sedangkan untuk mode inputannya adalah
single ended
. Dan nilai maksimum dari hasil konversi
high limit
akan bernilai 7FF8
H
atau 1111111111111000
B
. Keluaran hasil konversi ADC memang akan menghasilkan data selebar 15-bit walaupun konversinya adalah 12-bit. Hal
ini karena bit hasil konversi mengalami penggeseran kekiri sebanyak 3-bit ketika masuk kedalam
buffer
penyimpanan data digital hasil konversi dari ADC, sehingga 3 bit LSB selalu bernilai nol dan dapat diabaikan.
Untuk melakukan pencuplikan selama 22,22 ms digunakan sebuah operasi interupsi dengan menggunakan
Timer2
. Interupsi ini akan diatur agar melakukan interupsi setiap 22,22 ms dengan cara mengatur konfigurasi
timer
melalui
processor expert
dengan mengisikan nilai waktu periode interupsinya
interrupt period
sebesar 22,22 ms. Ketika interupsi oleh
Timer2
terjadi maka proses konversi oleh ADC diaktifkan melalui perintah program
ADC_Start
. Untuk ADC sendiri memiliki sebuah operasi interupsi, dimana interupsi tersebut terjadi jika
semua saluran ADC telah selesai melakukan satu kali konversi. Interupsi ini dapat diaktifkan dengan mengaktifkan
Interrupt serviceevent
melalui
processor expert
. Pada saat interupsi ADC tersebut terjadi maka proses konversi oleh ADC dimatikan dengan memberikan perintah program
38 ADC_Stop
. Prioritas interupsi dari interupsi
Timer2
dibuat lebih tinggi dari interuspi ADC, interupsi dari
Timer2
memiliki prioritas medium 1 sedangkan interupsi dari ADC memiliki prioritas minimum 0.
Untuk mengambil nilai hasil konversi dilakukan melalui perintah
ADC_
getValue
nama_variabel_buffer
. Didalam perintah tersebut bagian yang saya tuliskan bercetak miring menunjukkan bahwa nama tersebut
nama ADC
bisa diganti-ganti
sesuai dengan
kehendak dari
pemrogramnnya. Untuk variabel penyimpanan data hasil konversi tersebut memiliki ukuran sebesar 16 bit yaitu bertipe
unsigned short
.
3.2.2.2 PEMROGRAMAN PENYIMPANAN DATA WAKTU DAN BENTURAN