mov r7,255 Tnd: mov r6,255
djnz r6, 255 x 2 = 510 x 255 = 131.070 = 131.073 djnz r7,loop3
ret Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah
131.073 μdetik atau 0,131073 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka
rangkaian minimum mikrokontroller AT89S51 telah bekerja dengan baik.
4.3. Pengujian Rangkaian ADC
Pengujian pada bagian rangkaian ADC ini dapat dilakukan dengan menghubungkan rangkaian ADC ini dengan rangkaian mikrokontroler.
Selanjutnya rangkaian mikrokontroler dihubungkan dengan rangkaian display seven segmen. Mikrokontroler diisi dengan program untuk membaca nilai yang
ada pada rangkaian ADC, kemudian hasil pembacaannya ditampilkan pada display seven segmen. Programnya adalah sebagai berikut :
mov a,p2 mov b,100
div ab mov 70h,a
mov a,b mov b,10
Universitas Sumatera Utara
div ab mov 71h,a
mov 72h,b Dengan program di atas, maka akan tampil nilai intensitas cahaya yang
dideteksi oleh sensor Ldr.
4.4. Pengujian Rangkaian Driver Motor Stepper
Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler
AT89S51 dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high 1 secara bergantian pada
ke-4 masukannya. Rangkaiannya seperti gambar 4.1 :
Gambar 4.1. Penguji Rangkaian Driver Motor Stepper
Universitas Sumatera Utara
Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler
AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan
kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.
Jika P0.0 diberi logika high 1, yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan
terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan
12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor
mengarah pada kumparan yang memiliki medan magnet tesebut. Jika kemudian P0.0 di beri logika low 0, yang berarti transistor tidak
aktip dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high 1, sehingga
kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya
jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper akan berputar sesuai dengan arah logika high 1 yang
diberikan pada inputnya.
Universitas Sumatera Utara
Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, maka logika high 1 pada input driver motor stepper harus
diberikan secara bergantian dengan arah yang berlawanan dengan sebelumnya. Program yang diberikan pada driver motor stepper untuk memutar motor
stepper adalah sebagai berikut : mov a,11h
putar: mov P0,a
acall tunda Rl a
jmp putar Program diawali dengan memberikan nilai 11h pada pada accumulator
a, kemudian program akan memasuki rutin buka pintu. Nilai a diisikan ke port 0, sehingga sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan
logika high sedangkan yang lainnya mendapatkan logika low. Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan
mempengaruhi kecepatan perputaran motor. Semakin lama maka tunda, maka perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah
ini akan memutar nilai yang ada pada accumulator a. Nilai pada accumulator a yang awalnya 11h, setelah mendapat perintah Rl a,
maka nilai pada accumulator a akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor buka pintu dalam keadaan high 1 atau low
0. Jika high 1, Nilai yang ada pada accumulator a, akan kembali diisikan ke
Universitas Sumatera Utara
port 0, maka nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low.
Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan
P0.3 akan mendapatkan nilai high 1 secara bergantian. Hal ini menyebabkan motor stepper akan berputar membuka pintu. Hal yang sama juga berlaku ketika
motor berputar kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left Rl , maka pada
perintah searah jarum jam digunakan perintah rotate right Rr.
4.5. Pengujian Sensor Intensitas Cahaya LDR