43
BAB 4
ANALISA RANGKAIAN DAN SISTEM KERJA ALAT
4.1 Analisa Rangkaian
4.1.1 Pengujian Rangkaian Minimum Mikrokontroller AT89S51
Untuk mengetahui apakah rangkaian mikrokontroller AT89S51 telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan
program sederhana pada mikrokontroller AT89S51. Programnya adalah sebagai berikut: Loop:
Setb P2.7 Acall tunda
Clr P2.7 Acall tunda
Sjmp Loop Tunda:
Mov r7,0ffh Tnd: Mov r6,0ffh
Djnz r6, Djnz r7,tnd
Ret
Deddi S. Samosir : Komunikasi Digital Menggunakan Gelombang Radio FM Berbasis Mikrokontroler AT89S51, 2007. USU Repository © 2009
44 Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P2.7
selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus menerus. Perintah Setb P2.0 akan menjadikan P2.7 berlogika high yang menyebabkan transistor
aktif, sehingga LED hidup. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P2.7 akan menjadikan P2.7 berlogika low yang menyebabkan
transistor tidak aktif sehingga 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 berkedip.
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut : Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan
waktu = 12
1 12 MHz
mikrodetik.
Mnemonic Siklus
Waktu Eksekusi MOV Rn,data
2 2 x 1 µd = 2 µd
DJNZ 2
2 x 1 µd = 2 µd
RET 1
1 x 1 µd = 1 µd
Deddi S. Samosir : Komunikasi Digital Menggunakan Gelombang Radio FM Berbasis Mikrokontroler AT89S51, 2007. USU Repository © 2009
45
Tunda: mov r7,255 2
Tnd: mov r4,255 2 djnz r6, 255 x 2 = 510 x 255 = 130.054 = 130.058 = 130.059
µd
djnz r7,loop3 2 djnz r2,loop8 2
ret
1 Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah
130.059
µdetik atau 0,
130059
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 normal.
4.1.2 Pengujian Rangkaian Display Seven Segmen
Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian mikrokontroler RX secara pararel ke port 1, kemudian memberikan
data tertentu pada port 1 dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana seven segmen akan menyala jika diberi logika 0 dan sebaliknya
segmen akan mati jika diberi logika 1.
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port 1 agar angka desimal dapat ditampillkan pada seven segmen. Berikut tabel data yang akan dikirim
port1 ke display seven segmen :
Deddi S. Samosir : Komunikasi Digital Menggunakan Gelombang Radio FM Berbasis Mikrokontroler AT89S51, 2007. USU Repository © 2009
46
Tabel 4.1 Data yang akan dikirim port1 ke display seven segmen Angka
Data yang dikirim P1.7 P1.6 P1.5 P1.4.P1.3 P1.2.P1.1.P1.0
1 0F9H
1 1 1 1 1 0 0 1 2
0A4H 1 0 1 0 0 1 0 0
3 0B0H
1 0 1 1 0 0 0 0 4
099H 1 0 0 1 1 0 0 1
5 092H
1 0 0 1 0 0 1 0 6
082H 1 0 0 0 0 0 1 0
7 0F8H
1 1 1 1 1 0 0 0 8
080H 1 0 0 0 0 0 0 0
9 090H
1 0 0 1 0 0 0 0 0C0H
1 1 0 0 0 0 0 0
Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai tersebut adalah sebagai berikut:
MOD51 ZERO EQU
0C0H ONE EQU
0F9H TWO EQU
0A4H THREE
EQU 0B0H
FOUR EQU 099H
Deddi S. Samosir : Komunikasi Digital Menggunakan Gelombang Radio FM Berbasis Mikrokontroler AT89S51, 2007. USU Repository © 2009
47 FIVE
EQU 092H
SIX EQU
082H SEVEN
EQU 0F8H
EIGHT EQU
080H NINE
EQU 090H
Org 000
;Reset Vector
Program di atas akan menampilkan angka 0 pada seven segmen. Sedangkan untuk menguji seven segmen tidak rusak. Maka Programnya adalah sebagai berikut :
start: mov
P0,0FFH mov
P1,0FFH mov
P2,0FH mov
P3,0
Acall Delay_1S Acall Delay_1S
MOV P1,ZERO Acall Delay_1S
MOV P1,ONE Acall Delay_1S
MOV P1,TWO Acall Delay_1S
MOV P1,THREE
Deddi S. Samosir : Komunikasi Digital Menggunakan Gelombang Radio FM Berbasis Mikrokontroler AT89S51, 2007. USU Repository © 2009
48 Acall Delay_1S
MOV P1,FOUR Acall Delay_1S
MOV P1,FIVE Acall Delay_1S
MOV P1,SIX Acall Delay_1S
MOV P1,SEVEN Acall Delay_1S
MOV P1,EIGHT Acall Delay_1S
MOV P1,NINE Acall Delay_1S
Program di atas akan menampilkan angka 1 sampai 9 pada seven segmen ketika rangkaian di hidupkan on dengan selang waktu 1 detik.
4.2 Cara Kerja Rangkaian dan Program