Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1
, Rs = Portd.0 Config Lcd = 16 2
Ddrb = B00000000 Pinb.0 = 0
Awal: Cls
Count = 0 I = 0
Do I = I + 1
If Pinb.0 = 1 Then Count = Count + 1
Goto H Elseif Pinb.0 = 0 Then
H: Waitms 1
End If Loop Until I = 1000
Countd = Count Mod 7 Count = Count 7
Countm = Count 60 Cls
Lcd Speed: ; Countm ; rpm Lowerline
Lcd Speed: ; Count ; rps Waitms 500
Goto Awal End
4.5 Penjelasan Program
4.5.1 Pada Sensor Suhu
regfile = m8535.dat ‘ Mikrokontroler ATMega 8535 crystal = 8000000
‘ Menggunakan crystal 8 Mhz hwstack = 32
swstack = 8 framesize = 50
Config Porta = Input
‘ Konfigurasi Porta sebagai input Config Portd = Input
‘ Konfigurasi Portd sebagai input Config Portc = Output
‘ Konfigurasi Portc sebagai output Config Portb = Output ‘ Konfigurasi Portb sebagai output
Config Lcdpin = Pin Db4 = Portb.2
Db5 = Portb.3
Db6 = Portb.4 Db7 = Portb.5
E = Portb.1 Rs = Portb.0
Config Lcd = 16 2
Baris program di atas adalah inisialisasi program untuk identifikasi mikrokontroler
ATMega8535 dan konfigurasi port dan pinnya.
Dim I As Integer A As Integer
B As Integer C As Integer
Dim Volt As Integer Volt_d As Integer
Deflcdchar 0 , 4 , 10 , 10 , 4 , 32 , 32 , 32 , 32
Baris program di atas merupakan defenisi awal untuk setiap variabel yang akan digunakan dalam program.
Program utama adalah sebagai berikut
Start Adc Cls
A = Getadc0 B = Getadc0 Prosedur ambil data LM35 pada ADC
C = Getadc0
sebanyak 3 kali
I = A + B
Proses untuk mengambil nilai rata-rata I = I + C
yang diambil melalui LM35
Volt = I 3 Proses mengolah data untuk merubah nilai Volt = Volt 4
yang didapat ADC agar ditampilkan dalam Volt_d = Volt Mod 10 derajat celcius pada LCD
Stop Adc Lcd Suhu : ; Volt ; , ; Volt_d ; Chr0 ; C ‘ Proses
penampilan
suhu pada LCD If Volt 35 Then
‘ Bila nilai Volt kurang dari 35 maka Gosub Mati
lanjut ke instruksi Mati
Elseif Volt = 35 Then
‘ Bila nilai Volt sama dengan 35 maka Gosub Lambat
lanjut ke instruksi Lambat
Elseif Volt = 39 Then
‘ Bila nilai Volt lebih kecil dari 39 maka Gosub Sedang
lanjut ke instruksi Sedang
Elseif Volt = 42 Then
‘ Bila nilai Volt lebih kecil dari 42 maka Gosub Sedang1
lanjut ke instruksi Sedang1
Elseif Volt = 45 Then
‘ Bila nilai Volt lebih kecil dari 45 maka Gosub Sedang2
lanjut ke instruksi Sedang2 Elseif Volt 45 Then
‘ Bila nilai Volt lebih besar dari 45 maka
Gosub Cepat lanjut ke instruksi Cepat
End If Waitms 300
‘ Tunggu selama 300 mili second Loop
‘ ulang
Mati: Portd.3 = 0
Waitms 300
‘ isi instruksi MAti Gosub Awal
Lambat: Portd.3 = 1
Waitms 500 Portd.3 = 0
‘ isi instruksi Lambat Waitms 50
Gosub Awal Sedang:
Portd.3 = 1 Waitms 500
Portd.3 = 0
‘ isi instruksi sedang Waitms 40
Gosub Awal Sedang1:
Portd.3 = 1 Waitms 500
Portd.3 = 0
‘ isi instruksi sedang1 Waitms 30
Gosub Awal Sedang2:
Portd.3 = 1 Waitms 500
Portd.3 = 0
‘ isi instruksi sedang2 Waitms 20
Gosub Awal Cepat:
Portd.3 = 1
‘ isi instruksi cepat Gosub Awal
End ‘ akhir program
4.5.2 Pada Optocoupler