Ret
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 beberapa saat dan kemudian mematikannya. Perintah Setb P0.0 akan menjadikan P0.0
berlogika high yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0
berlogika low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan
menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.
Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroler AT89S51 telah bekerja dengan baik.
4.2. Pengujian Rangkaian Alarm
Pengujian pada rangkaian buzzer ini dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis
NPN, transistor jenis ini akan aktif jika pada basis diberi tegangan 0,7 volt dan tidak aktif jika pada basis diberi tegangan 0,7 volt. Aktifnya transistor akan membunyikan
buzzer.
Universitas Sumatera Utara
Selanjutnya buzzer dihubungkan dengan mikrokontroler dan mikrokontroler diberi program sederhana untuk megaktifkan buzzer. Program yang diisikan ke
mikrokontroler untuk mengaktifkan buzzer adalah : Setb P0.0
. . . . . . Perintah di atas akan memberikan logika high 1 atau tegangan 5 volt pada P0.0,
sehingga dengan demikian buzzer akan berbunyi.
Gambar 4.2 Pengujian Rangkaian Alarm
4.3. Pengujian Rangkaian Pemancar Ultrasonik
Untuk memancarkan frekuensi 40 KHz dari transduser piezoelektrik, langkah yang harus dilakukan adalah dengan memberikan logika high dan low pada P0.0 dengan
selang waktu perioda :
Universitas Sumatera Utara
ik mikro
Detik KHz
f T
det 25
000025 ,
40 1
1 =
= =
=
Untuk mendapatkan perioda tersebut, maka program yang harus diberikan pada mikrokontroler AT89S51 adalah:
40KHz: clr p0.0
nop nop
nop nop
nop nop
nop nop
nop nop
nop nop
setb p0.0 nop
nop nop
nop nop
Universitas Sumatera Utara
nop nop
nop nop
sjmp 40KHz
Mikrokontroler AT89S51 memerlukan 12 Clock setiap satu siklus mesin. Dengan demikian, jika digunakan kristal 12 MHz, maka waktu yang diperlukan untuk satu
siklus mesin adalah :
6
12 1 10
1 12
Clock x
sekon s
MHz
µ
= =
Jika dihitung lamanya mikrokontroler AT89S51 mengerjakan perintah di atas : Instruksi
Siklus mesin Waktu μS
CLR NOP
SETB SJMP
1 1
1 2
1 1
1 2
Tabel 4.3 Lamanya mikrokontroler AT89S51 mengerjakan perintah Berdasarkan tabel di atas, maka lamanya logika low 0 pada P0.0 adalah 13
μ dan lamanya logika high 1 adalah 12
μs, sehingga periodanya menjadi 25 μs. 13
μs 12
μs
Low High
25 μs
Dengan demikian frekuensi yang dihasilkan oleh P0.0 adalah :
Universitas Sumatera Utara
KHz Hz
T f
40 000
. 40
000025 ,
1 1
= =
= =
4.4. Pengujian Rangkaian Penerima Ultrasonik