Hasil dan pengamatan kerja dari perangkat keras dan perangkat
lunak yang telah dibuat.
Bab V Penutup, yang memuat :
Kesimpulan dan saran untuk perbaikan alat dan penelitian
BAB II
DASAR TEORI
II. 1 Rumus Dasar
II.1.1 Rangkaian Resistor
Rangkaian resistor secara seri akan mengakibatkan nilai resistansi total
semakin besar [3]. Gambar 2.1 menunjukkan contoh resistor yang dirangkai
secara seri. Pada rangkaian resistor seri berlaku rumus:
R
total= R
1+ R
2+ R
3+ Rn ... (2.1)
R1 R2 R3 Rn
. . . .
Gambar 2.1. Rangkaian Resistor secara Seri [3].
angkaian resistor secara paralel akan mengakibatkan nilai resistansi
pengg
R
anti semakin kecil. Gambar 2.2 menunjukkan contoh resistor yang
dirangkai paralel. Pada rangkaian resistor paralel berlaku rumus:
n
R
R
R
R
R= 1 + 1 + 1 + 1 ...
3 2 1... (2.2)
Ga ian Res
R1.
.
. .
. .
R2 R3 Rn. . .
.
.
.
mbar 2.2. Rangka istor secara Paralel [3].
II.1.2 Hukum Ohm
hm diketahui, resistansi berbanding terbalik dengan
jumla
Dimana:
V = tegangan (Vo
(Ampere)
II. ad
Konfigurasi matriks keypad terdiri dari tombol-tombol yang tersusun atas
ggunaan matriks keypad bertujuan untuk menghemat
jumlah port yang digunakan pada mikrokontroler. Matriks keypad 4x3 yang
Dari Hukum O
h arus yang mengalir melalui resistor tersebut. Gambar 2.3 menunjukkan
diagram Hukum Ohm.
Gambar 2.3. Diagram Hukum Ohm
lt)
I = arus
R = resistansi (Ohm)
P = daya (Watt)
2 Matriks Keyp
7
artinya terdiri dari 4 baris (jalur output) dan 3 kolom (jalur input). Matriks keypad
ini tersusun dari 12 tombol, apabila tidak menggunakan konfigurasi matriks
keypad maka dibutuhkan 12 masukan sedangkan dengan matriks keypad hanya
menggunakan 7 masukan. Rangkaian matriks keypad sederhana dapat dilihat pada
Gambar 2.4.
2 3 4 5 6 1 7 8 9*
0 # B2 B3 B4 K1 K2 K3 B1Gambar 2.4. Rangkaian keypad 4x3 [4].
Pengecekan pada matriks keypad adalah dengan sistem pengecekan secara
berurutan (scanning) ek angka 1, maka
terlebih dahulu kolom K1 diberi logika
Apabil
ada tombol sewaktu ditekan maupun pada saat dilepas ditunjukkan
. Sebagai contoh apabila ingin mengec
‘0’, lalu dilakukan pengecekan tiap baris.
a baris B1 = ‘0’ artinya tombol 1 sedang ditekan. Pengecekan ini juga
berlaku untuk tombol yang lainnya dengan pengecekan baris dan kolom secara
bergantian.
Gambar 2.5 memperlihatkan rangkaian tombol push-on dengan R
pullupyang akan menghasilkan efek bouncing [4]. Diagram waktu goncangan
(bouncing) p
pada Gam
II. 3
M sor yang
dibuat untuk memenuhi kebutuhan pasar dan teknologi baru, yaitu teknologi
r mempunyai kandungan transistor yang
lebih ban
bar 2.5. Efek bouncing terjadi ketika tombol ditekan akan menghasilkan
getaran atau sebelum mencapai keadaan stabil atau tombol tersebut akan ON/OFF
berulang-ulang.
Gambar 2.5. Rangkaian tombol dengan R
pullup[4].
Gambar 2.6. Efek bouncing pada saat penekanan tombol [4].
Mikrokontroler AT89S51
ikrokontroler merupakan terobosan teknologi mikroprose
semikonduktor. Teknologi semikondukto
yak, namun hanya membutuhkan ruangan yang kecil, dapat diproduksi
secara masal dan murah [2]. Diagram kotak inti dari AT89S51 ditunjukkan pada
Gambar 2.7.
9
Serial, kontrol /counter seperti
ditunjukkan pada Gambar 2.7. Pada pe litian ini, pembahasan mikrokontroler
dibatasi
emori data dan
rogram yang terpisah [2]. Pemisahan penyimpanan memori data dan program
n metode pengaksesan alamat 8 bit. Alamat RAM
Internal
Gambar 2.7. Diagram kotak inti AT89S51 [2].
Mikrokontroler AT89S51 terdiri dari CPU, Memory, Port I/O, Port
interupsi, kontrol bus, osilator, dan timer
ne
pada organisasi memori, set instruksi, pemberian clock, serta struktur
AT89S51 yang menjelaskan kegunaan dari pin-pin IC tersebut.
II.3.1 Organisasi Memori
Semua produk AT89S51 memiliki ruang alamat m
p
dapat diakses menggunaka
Gambar 2.8. Alam PEROM AT89S51 [2].
AM Internal, Special Function Register (SFR) serta Flash PEROM
T89S51 akan dijelaskan pada bagian berikut.
1.
internal pada mikrokontroler AT89S51 terdiri atas:
a.
h register yang terdiri dari R0
gan R7. Delapan buah register tersebut dapat diubah ke
si nilai RS0
gister PSW (Program Status Word).
b.
RAM ini dimulai dari alamat 30H hingga 7F dan dapat diakses dengan
pengalamatan langsung dan tak langsung.
at RAM Internal dan Flash
R
A
RAM Internal
RAM
Register Bank
Mikrokontroler ini memiliki 8 bua
sampai den
bank 1, bank 2 dan bank 3 dengan cara mengubah kondi
dan RS1 pada re
Bit Addressable RAM
RAM ini terletak pada alamat 20H sampai 2FH yang dapat dialamati
secara bit yang berarti bahwa alamat tersebut dapat menyimpan 8 bit
data yang tiap bit dapat dialamati sendiri-sendiri.
11
Lokasi RAM Internal dapat dilihat pada Gambar 2.9.
Gamb Internal [2].
2. Register Fungsi Khusus ( )
AT89S51 mem ungsi Khusus yang terletak di
alamat 80H samp pa register ini dapat dialamati
secara bit. Gamb n peta Register Fungsi Khusus.
a. Akumulator
Registe lamati secara bit.
Akumulator digunakan untuk hampir semua operasi logika dan
ar 2.9. Peta memori RAM
Special Function Register
punyai 21 Register F
ai dengan FFH. Bebera
ar 2.10 menunjukka
r ini terletak di alamat E0H dan dapat di a
b. Por
a port
ialamati secara bit sehingga dapat dilakukan perubahan
c. PSW (Progr
PSW seperti hasil aritmatika dan
logika.
d. Register B
ulator untuk proses aritmatika
ati secara bit.
t
AT89S51 mempunyai 4 buah port : yaitu Port 0, Port 1, Port 2 dan
Port 3 yang terletak di alamat 80H, 90H, A0H dan B0H. Semu
tersebut dapat d
bit data pada salah satu port tanpa mengganggu port yang lain.
Gambar 2.10. Peta memori SFR AT89S51 [2].
am Status Word)
berisi data bit hasil eksekusi program
Register ini digunakan bersama akum
13
e. StackPointer
Stack Pointer merupakan register 8 bit yang terletak di alamat 81H.
Proses yang berhubungan dengan stack ini biasa dilakukan oleh
instruk
f. Data Pointer
rupakan register 16 bit. DPTR biasa
g. Timer
empunyai dua buah 16 bit Timer/Counter yaitu : timer 0
H
h.
nggunakan serial
i.
vel
i. Interupsi secara otomatis akan dimatikan bila sistem
si-instruksi Push, Pop, Acall dan sebagainya.
Data pointer atau DPTR me
digunakan untuk mengakses data yang terletak di memori external.
Register
AT89S51 m
dan timer 1. Timer 0 terletak di alamat 84H untuk TL0 dan 8CH untuk
TH0, sedangkan Timer 1 terletak di alamat 8BH untuk TL1 dan 8D
untuk TH1.
SerialPortRegister
Port ini merupakan on chip serial port yang digunakan untuk
melakukan komunikasi dengan peralatan yang me
port.
Register Interupsi
Mikrokontroler ini memiliki 5 buah interupsi dengan dua le
prioritas interups
dikembalikan pada keadaan semula. Register yang behubungan dengan
interupsi adalah Interrupt Enable Register (IE) pada alamat A8H dan
Interupsi Priority Register (IP) pada alamat B8H.
3.
dan
terdapat pada Flash PEROM akan dieksekusi jika sistem dikembalikan
Bila sistem tersebut telah dikembalikan pada
kea
mik
PER
aka
II.3.2 Kelompok Instruksi Mikrokontroler AT89S51
ta keluarga mikrokontroler AT89S51 mengeksekusi
kelompok inst
aplikas
yang ce
pengala
pemrog
Boolea
1.
Mode-mode pengalamatan dapat dikelompokkan menjadi [2] :
Flash PEROM
AT89S51 mempunyai 4 kilo byteFlash PEROM yang dapat ditulis
dihapus menggunakan sebuah perangkat programmer. Program yang
pada keadaan semula.
daan semula, maka pin EA/V
PPakan berlogika satu, sehingga
rokontroler akan aktif berdasarkan program yang ada di Flash
OM. Tetapi apabila pin EA/V
PPberlogika nol, maka mikrokontroler
n aktif berdasarkan program yang ada pada memori external.
Semua anggo
ruksi yang sama [2]. Kelompok instruksi ini telah dioptimasi untuk
i kontrol 8 bit, serta menyediakan berbagai macam mode pengalamatan
pat untuk mengakses RAM internal dan RAM external.
Bagian berikut ini akan menjabarkan mengenai mode-mode
matan tersebut serta berbagai macam instruksi yang dipergunakan dalam
raman AT89S51, antara lain instruksi logika, aritmatika, transfer data,
n, serta instruksi lompat.
Mode-mode Pengalamatan
15
Dalam pengalamatan langsung, masukan data ditentukan berdasarkan
alamat 8 bit (1 byte) dalam suatu instruksi. Hanya RAM data internal
dan SFR yang bisa diakses secara langsung.
b. Pengalamatan Tak Langsung (Indirect Addressing)
Dalam pengalamatan tak langsung, instruksi menentukan suatu register
yang digunakan untuk menyimpan alamat masukan. Baik RAM
internal maupun eksternal dapat diakses secara tak langsung. Register
alamat untuk alamat-alamat 8 bit bisa menggunakan Stack Pointer dari
ih. Sedangkan untuk alamat 16 bit hanya bisa
an cara demikian bisa
tidak memerlukan
d.
ulator. Bilangan
a dituliskan dalam format heksa sebagai
64h ( MOV A,#64h ).
register bank yang dipil
menggunakan register pointer data 16 bit atau DPTR.
c. Instruksi-Instruksi Register
Register bank yang masing-masing berisi 8 register, dapat diakses
melalui instruksi dengan kode masukan yang mengandung 3 bit
spesifikasi register. Akses register deng
menghemat penggunaan kode instruksi karena
sebuah byte untuk alamat. Saat instruksi tersebut dikerjakan, satu dari
delapan register pada bank yang terpilih akan diakses.
Konstanta Segera (Immediate Constant)
Nilai dari suatu konstanta dapat segera menyatu dengan masukan kode
dalam memori program. Misalnya, instruksi : MOV A,#100, yang akan
menyimpan konstanta 100 (desimal) ke dalam akum
e.
2.
beb
Beb
DE
3. Ins
n operasi logika AND
(ins
(ins
pad
lain
4. Ins a
sfer data dapat dibagi menjadi 2 macam, yaitu
instruk
Pengalamatan Terindeks (Indexed Addressing)
Memori program hanya bisa diakses melalui pengamatan terindeks.
Pengalamatan terindeks digunakan dalam instruksi-instruksi “lompat
bersyarat”. Dalam hal ini, alamat tujuan dari instruksi lompat (jump)
dihitung sebagai jumlah dari penunjuk dasar (base pointer) dengan
data akumulator.
Instruksi Aritmatika
Instruksi-instruksi aritmatika selalu melibatkan akumulator, hanya
erapa yang melibatkan register lainnya (DPTR dan lain-lain) [2].
erapa contoh instruksi aritmatika antara lain ADD, ADDC, SUBB,
C, INC.
truksi Logika
Instruksi logika digunakan untuk melakuka
truksi ANL), OR(instruksi ORL), XOR (instruksi XRL), operasi clear
truksi CLR) dan NOT (instruksi CPL) pada suatu byte dan beroperasi
a masing-masing bit. Instruksi putar atau rotate (RL A, RLC A dan
nya) akan menggeser isi akumulator 1 bit ke kanan atau ke kiri.
truksi Transfer Dat
Instruksi tran
si transfer data yang mengakses ruang memori internal
menggunakan instruksi MOV dan MOVC serta transfer data yang
mengakses ruang memori external menggunakan instruksi MOVX.
17
Pengaksesan ruang memori external menggunakan Data Pointer (DPTR)
sebesar
5.
sable.
n antara lain ANL, SETB, CLR.
6. Instruk
JMP) dan instruksi lompat bersyarat (antara lain instruksi
Z).
II.3.3 P
IC ters enggunakannya,
kaki XTAL 1 dan XTAL 2 pada mikrokontroler AT89S51 dihubungkan dengan
sebuah kristal
menunj
AT89S
jenis s
16 bit.
Instruksi Boolean
Mikrokontroler AT89S51 memiliki sebuah prosesor boolean yang
cukup lengkap. Instruksi boolean digunakan pada operasi bit dan
melibatkan alamat pada internal RAM yang merupakan bit addres
Contoh instruksi Boolea
si Lompat (jump)
Instruksi lompat (jump) merupakan perintah yang digunakan pada
mikrokontroler AT89S51 untuk melakukan perpindahan alamat perintah
yang akan dieksekusi oleh CPU. Instruksi lompat ini dapat dibagi menjadi
dua macam, yaitu instruksi lompat tak bersyarat (antara lain instruksi
LJMP, AJMP, S
JZ, CJNE dan DJN
emberian Clock pada Mikrokontroler AT89S51
Mikrokontroler AT89S51 memiliki osilator yang tersedia pada kemasan
ebut (on chip) sebagai sumber detak (clock) [2]. Untuk m
keramik dan kapasitor yang dihubungkan ke ground. Gambar 2.8
ukkan cara menghubungkan kristal sumber detak dengan mikrokontroler
51. Besar kapasitor yang terhubung dengan sumber detak tergantung dari
umber detak yang dipasangkan. Bila sumber detak berupa kristal maka
besar k
kapasitor yang terpasang adalah 40 pF ± 10 pF.
II.3.4 Struktur AT89S51
Mikrokontroler AT89S51 mempunyai 40 pin, 32 pin di antaranya
digunakan sebagai port paralel [2]. Satu port paralel terdiri dari 8 pin, sehingga
32 pin membentuk 4 buah port paralel, yang masing-masing dikenal sebagai Port
0, Port 1, Port 2 dan Port 3. Diagram pin mikrokontroler AT89S51 secara
lengkap ditunjukkan pada Gambar 2.9. Fungsi dari pin-pin IC AT89S51 pada
Gambar 2.12 dijelaskan pada Tabel 2.1.
apasitor yang terpasang adalah 30 pF ± 10 pF dan bila jenis keramik besar
Gambar 2.11. Menghubungkan kristal sumber detak [2].
19
Tabel 2.1. Fungsi dari pin-pin IC AT89S51 [2].
No Pin Port Nama/ID Fungsi Keterangan
1 1-8 1
Sebagai input
dengan
memberi
logika ”1”.
Sebagai
output, port
ini dapat
memberikan
sink output ke
em
TTL
I/O biasa
pat buah
2 5 1 MOSI Serial data
input
Multiple Output Single
Input
3 6 1 MISO Serial data
output
Multiple Input Single
Output
4 7 1 SCK Serial clock
input Serial Clock
5 9 3 RST masukan
reset
Reset
Sebagai
6 10 3 RXD Sebagai serial
input
7 11 3 TXD Sebagai serial
output port
8 12 3 INT 0
i Interrupt 0
Sebagai
external
nterrupt 0
port
9 13 3 INT 1 Interrupt 1
Sebagai
external
interrupt 1
port
10 14 3 T0 e
0
Timer 0
Sebagai
xternal timer
input port
11 15 3 T1 ex r
Sebagai
rnal tim
te e
1 input port
Timer 1
12 16 3 WR
Sebagai
external data
memory write
strobe port
Write
Tabel 2.1. (lanjutan) Fungsi dari pin-pin IC AT89S51 [2].
No Pin Port Nama/ID Fungsi Keterangan
13 17 3 RD a
memory read
rt
Read
Sebagai
external dat
strobe po
14 18 XTAL 1 oscillator
Sebagai
input
15 19
t
XTAL 2
Sebagai
oscillator
outpu
16 20 GND Sebagai
ground Ground
17 21-28 2 I/O t
t Input/Output
Sebagai inpu
dan outpu
18 29 PSEN Program Store Enable
Sebagai
sinyal baca
untuk
memori
program
19 30 ALE masukan
pulsa Address Latch Enable
Sebagai
program
20 31 V
Sebagai
pengeksekusi
pr ri
i
External Access Enable
pp/EA
ogram da
memori
eksternal,
mengakses
program
secara
nternal
21 3
Sebagai I/O
me n
2-39 0 biasa,
mberika
sink
22 40 Vcc
Sebagai
suplai
tegangan
21
II. 4 Komunikasi Serial
Sistem transmisi data secara serial ada dua jeni
1. Transmisi data secara tidak seimbang ed line).
Contoh transmisi data secar ng (unbalance line) adalah
dengan sistem RS-232 yang menggunaka kaw al
dan sebuah kawat penghantar untuk ac an (grounding). Pada sistem
ini nilai amplitudo sinyal tergantung pada beda potensial antara penghantar sinyal
terhadap ground.
2. ba
Pada sistem transmisi data s bang (balance line), kedua
penghantar selalu berfluktuasi saling bertolak-belakang sehingga selalu tercipta
beda potensial pada kedua penghantar. Pada sistem transmisi ini, sinyal masih
dapat terdeteksi pada jarak yang cukup jauh. Selain itu, sistem transmisi data
secara seimbang lebih tahan terhadap noise. Sistem transmisi data serial secara
seimbang ini biasanya menggunakan sistem standar RS-422 dan RS-485.
Sistem transmisi data secara serial dengan standar komunikasi serial
RS-485 dikembangkan sejak tahun 1983 dan mampu mentransmisikan data pada jarak
yang cukup jauh, yaitu 1,2 km. Standar komunikasi serial RS-485 dapat
diterapkan pada suatu jaringan telepon tunggal (party line) atau pada jaringan
multidrop (jaringan yang menggunakan topologi bus).
Ada sebanyak 32 pasang pemancar (driver)/penerima (receiver) yang
dapat disatukan pada jaringan multidrop. Sisi pemancar (driver) akan
menghasilkan tegangan sebesar 2 sampai 6 Volt yang berbeda polaritas pada
s [5] :
(unbalanc
a tidak seimba
n sebuah
uan pentanah
at penghantar untuk siny
Transmisi data secara seimbang ( lanced line).
ecara seim
terminal A-B dengan acuan titik tengah ground, seperti diperlihatkan pada
Gambar 2.13. Penerima (receiver) mampu menerima data dengan nilai amplitudo
sinyal minimal +200 mV sampai –200mV antara terminal A-B. Sehingga sisi
penerima dapat menerima sinyal dengan amplitudo antara +200 mV sampai
200mV (
ecara penuh oleh penerima dan tidak berbalik ke saluran transmisi lagi [5].
engaturan impedansi terminal ini mengacu pada panjang kabel penghantar dan
sinyal minimal) hingga +6 V sampai –6 V (sinyal maksimal) yang masih
dapat diterima, seperti yang diperlihatkan pada Gambar 2.14.
Gambar 2.13. Sinyal keluaran dari pemancar (driver) [5].
Gambar 2.14. Sinyal masukan untuk penerima (receiver) [5].
A C ENABLE B (REQUIRED FOR RS-485) + 6 + 2 Toleransi Tegangan VAB - 2 - 6 ToleransiII.4.1 Pengaturan Impedansi Terminal
Pengaturan impedansi terminal dimaksudkan agar sinyal dapat terserap
s
P
Vcm = Input Common Mode Voltage rentang tegangan untuk Vcm -7v > Vcm < +7v
+ 6 V - 6 V + 200mV - 200mV Tegangan VAB A B C 1/2Vi Vcm 1/2Vi +Vi n g m a -Vi R en ta te g an g an k si m u m Daerah transisi