2. teori penunjang 2.1. gitar akustik
Post on 31-Oct-2021
15 Views
Preview:
TRANSCRIPT
2. TEORI PENUNJANG
2.1. Gitar Akustik
Gitar akustik dibuat dengan maksud untuk menghasilkan musik yang
menyenangkan pemain gitar atau pendengar. Untuk memahami bagaimana sebuah
gitar menghasilkan musik, sangat penting untuk mengerti sedikit tentang apa itu
bunyi atau lebih tepatnya bagaimana cara kerja sebuah gitar.
2.1.1. Gelombang Bunyi
Bunyi merupakan sebuah gelombang yang dihasilkan oleh benda bergetar
(sumber bunyi) dan merambat melalui sebuah medium dari satu tempat ke tempat
yang lain, sedangkan gelombang itu sendiri dapat digambarkan sebagai gangguan
yang berpindah melalui medium, membawa energi dari satu tempat ke tempat
yang lain. Agar bunyi yang dihasilkan oleh sumber bunyi dapat didengar, bunyi
tersebut memerlukan medium untuk meneruskan bunyi itu. Medium dimana
gelombang atau gangguan merambat terdiri dari rangkaian atau rentetan partikel
yang saling berinteraksi satu dengan yang lain.
Contoh yang sering dipakai untuk menggambarkan gelombang secara
umum adalah pegas. Jika sebuah gangguan dibuat pada pegas dengan
menggerakkan maju-mundur coil pertama dari pegas tersebut, maka Coil pertama
yang menerima gangguan ini mulai mendorong dan menarik coil kedua dari pegas
tersebut dari posisi stabilnya (equilibrium position), demikian juga dengan coil
ketiga dan seterusnya menjadi suatu pola yang berurutan. Sejalan dengan
perpindahan gangguan pada coil, energi yang dimasukkan pada coil pertama
merambat melalui medium dari satu tempat ke tempat yang lain.
Gambar 2.1. Pegas
Sumber: Henderson, Tom. The Physics Classroom: Sound Waves and Music, 1996-2004. <http://www.glenbrook.k12.il.us/gbssci/phys/Class/sound/soundtoc.html>.
Universitas Kristen Petra
5
Gelombang bunyi (juga gelombang pada pegas) merupakan gelombang
longitudinal, yaitu gelombang yang arah getarnya berimpit atau sejajar dengan
arah rambatan gelombangnya. Sedangkan jenis gelombang lain yang arah
getarnya tegak lurus dengan arah rambatan gelombangnya disebut gelombang
transversal, misalnya gelombang pada tali yang diusik.
Gelombang bunyi yang dihasilkan oleh benda bergetar (misalnya suara
manusia, dawai yang bergetar dan tabung suara dari gitar atau violin, atau
diafragma dari speaker radio) akan menggetarkan partikel-pertikel medium
dengan frekuensi tertentu. Frekuensi dari sebuah gelombang menunjuk pada
seberapa sering partikel bergetar (bila ada gelombang yang melewati medium
tersebut) atau dengan kata lain berapa banyak gelombang yang lewat pada
medium dalam satuan waktu tertentu. Satuan dari frekuensi adalah Hertz
(disingkat Hz), dimana 1 Hertz berarti 1 gelombang per detik.
Gambar 2.2. Frekuensi Suatu Gelombang
Sumber: Henderson, Tom. The Physics Classroom: Sound Waves and Music, 1996-2004. <http://www.glenbrook.k12.il.us/gbssci/phys/Class/sound/ soundtoc.html>. Telinga manusia dapat menangkap atau mendeteksi gelombang bunyi
dengan frekuensi berkisar antara 20 Hz hingga 20.000 Hz. Bunyi yang
frekuensinya berada di bawah range pendengaran (lebih kecil dari 20 Hz) disebut
gelombang infrasonik dan bunyi yang frekuensinya berada di atas range
pendengaran (lebih dari 20.000 Hz) disebut gelombang ultrasonik. Anjing dapat
Universitas Kristen Petra
6
mendeteksi bunyi dengan range frekuensi 50 Hz sampai 45.000 Hz, Kucing 45 Hz
sampai 85.000 Hz, Kelelawar dapat mendeteksi bunyi hingga pada frekuensi
120.000 Hz, Lumba-lumba bahkan hingga 200.000 Hz.
2.1.2. Panjang Gelombang dan Frekuensi Pada Gitar
2.1.2.1. Panjang Gelombang dan Frekuensi
Pada alat musik berdawai seperti pada gitar, biola, kecapi dan alat musik
berdawai lainnya, dawai, tali atau senar yang digetarkan berfungsi sebagai sumber
bunyi. Dengan demikian perangkat ini dapat memproduksi sebuah nada yang
apabila digambarkan akan membentuk pola seperti yang terlihat pada gambar
berikut.
a. Nada Dasar b. Nada Atas I c. Nada Atas II
Gambar 2.3. Pola Dawai yang Bergetar
Dari persamaan-persamaan gambar di atas dapat diketahui perbandingan
frekuensi nada-nada dawai, yaitu:
f0 : f1 : f2 = v/(2l) : v/l : 3v/(2l)
= 1 : 2 : 3
Jadi perbandingan dari frekuensi-frekuensi nada-nada di atas adalah merupakan
perbandingan bilangan-bilangan bulat dan dari perbandingan tersebut (dapat
dilihat bahwa makin pendek tali senarnya, makin tinggi frekuensinya).
Frekuensi yang terendah disebut frekuensi fundamental (nada dasar) dan
frekuensi-frekuensi yang lainnya disebut nada atas. Nada atas yang frekuensinya
adalah kelipatan bulat dari nada dasar dikatakan membentuk sebuah deret
harmonik (larasan). Frekuensi 2 f0 adalah nada atas pertama atau harmonik kedua,
Universitas Kristen Petra
7
Frekuensi 3 f0 adalah nada atas kedua atau8 harmonik ketiga, dan seterusnya.
Oleh sebab itulah dawai pada gitar dapat membangkitkan nada merdu dan kaya
yang disebabkan oleh banyaknya larasan yang menyertai.
2.1.2.2. Frekuensi Gitar Akustik
Beberapa jenis gitar yang termasuk gitar akustik adalah jenis gitar folk,
gitar klasik, dan gitar flamenco. Ciri khas gitar akustik adalah bentuk badan yang
berlubang (berongga). Ada 6 dawai pada gitar akustik standar, tiap-tiap dawai di-
set dengan frekuensi atau not tertentu. Frekuensi dari dawai dipengaruhi oleh
beberapa hal: massa dawai, tegangan (gaya) pada dawai dan juga panjang
dawainya.
Massa dari tiap-tiap dawai pada gitar akustik berbeda, dimana dawai yang
pertama lebih ringan dan dawai yang keenam yang paling berat. Dawai yang lebih
berat akan bergetar lebih lambat sehingga menghasilkan frekuensi yang lebih
rendah. Tegangan dari dawai dikontrol dengan memutar peg di ujung gitar. Jika
seseorang sedang menala gitar, sangat penting untuk menemukan tegangan yang
benar (sehingga gitar dapat menghasilkan harmoni). Sedangkan panjang dari
dawai dapat dengan mudah di-set dengan menekan dawai pada posisi yang
berbeda.
Gitar memiliki tiga bagian utama yaitu body, neck dan headstock. Body
merupakan tempat terpasangnya neck dan bridge. Body juga terdiri atas tabung
suara dan lubang suara. Neck adalah bagian yang memanjang, bagian yang
menghubungkan headstock dan body. Bagian depan dari neck disebut sisi fret
dimana pada sepanjang bagian ini fret-fret diletakkan. Dengan adanya fret
memungkinkan dihasilkannya berbagai jenis frekuensi dengan mengubah panjang
dari dawai. Headstock adalah tempat meletakkan kontrol peg. Bagian yang
memisahkan neck dan headstock disebut nut. Nut bertujuan untuk menahan agar
dawai pada bagian headstock tidak ikut bergetar.
Universitas Kristen Petra
8
Gambar 2.4. Bagian-bagian Gitar
Sumber: Greenslade, Thomas B. Giutars and Sound. 1996. <http://www.guitar lessonworld.com/exercise.html>.
Gitar mempunyai daerah frekuensi 82,4069 Hz (E2) hingga 1318,5105 Hz
(E6) artinya senar 6 dalam keadaan tanpa ditekan memiliki frekuensi minimal
82,4069 Hz dan senar 1 dalam keadaan ditekan memiliki frekuensi maksimal
1318,5105 Hz. Di antara dua batas frekuensi inilah senar-senar gitar dapat
dirancang.
Orang yang memiliki kepekaan musik yang tajam mampu membedakan
dua suara yang mempunyai selisih frekuensi hingga 2 Hz. Dan jika dua suara
(yang mempunyai frekuensi kebih dari 7 Hz) dimainkan bersamaan kebanyakan
orang dapat mendeteksi adanya pola gelombang yang kompleks yang dihasilkan
oleh interference dan superposition dari kedua gelombang tersebut. Frekuensi
standar dalam tangga nada sebelumnya telah disahkan dalam konfrensi para ahli
Fisika di Inggris pada tahun 1939.
Universitas Kristen Petra
9
Tabel 2.1. Tabel Nada dan Frekuensi Instrumen Musik
Sumber: Nachbar, G.H. Rangkaian Elektronika Populer.. Jakarta: PT Elex Media Komputindo, 1993, p.164
2.2. Microphone
Microphone merupakan transducer yang mendeteksi gelombang bunyi
dan mengubahnya menjadi gelombang elektrik. Microphone menghasilkan
tegangan dan arus yang proporsional dengan gelombang bunyi tersebut.
Microphone yang paling banyak digunakan untuk musikal antara lain: Dynamic,
Ribbon atau Condenser. Selain berdasarkan mekanisnya, microphone juga bisa
didisain berdasarkan perbedaan pola arahnya atau perbedaan impedansi.
2.2.1. Dynamic Microphone
Dynamic microphone proses kerjanya berkebalikan dengan speaker.
Diapragma digetarkan oleh gelombang bunyi, getaran ini menggerakkan coil pada
medan magnet sehingga menghasilkan arus dan tegangan yang menggambarkan
gelombang bunyi tersebut. Dinamic microphone relatif murah dan tahan, tidak
membutuhkan baterai atau supply tambahan, dapat menghasilkan respon yang
halus dan luas, responnya dapat diatur untuk aplikasi tertentu.
Oktaf Nada
0 1 2 3 4 5 6 7 8
C 16.3516 32.7032 65.4064 130.813 261.626 523.251 1046.50 2093.01 4186.01
C# 17.3239 34.6478 69.2957 138.591 277.183 554.365 1108.73 2217.46 4434.92
D 18.3540 36.7081 73.4162 146.832 293.665 587.330 1174.66 2349.32 4698.64
D# 19.4554 38.8909 77.7818 155.564 311.127 622.254 1244.51 2489.02 4978.03
E 20.6017 41.2034 82.4069 164.814 329.628 659.255 1318.51 2637.02 5274.04 F 21.8267 43.6535 87.3071 174.614 349.228 698.457 1396.91 2793.83 5587.65 F# 23.1246 46.2493 92.4986 184.997 369.994 739.989 1479.98 2959.96 5919.91 G 24.4997 48.9994 97.9989 195.998 391.995 783.991 1567.98 3135.96 6271.93
G# 25.9565 51.9131 103.826 207.652 415.305 830.609 1661.22 3322.44 6644.88 A 27.5000 55.0000 110.000 220.000 440.000 880.000 1760.00 3520.000 7040.00
Bb 29.1352 58.2705 116.541 233.082 466.164 932.328 1864.66 3729.31 7458.62
B 30.8677 61.7354 123.471 246.942 493.883 987.767 1975.53 3951.07 7902.13
Universitas Kristen Petra
10
Gambar 2.5. Dynamic Microphone
Sumber : Simpson. Microphones. 1997. <http://hyperphysics.phy-astr.gsu.edu/ hbase/ electronic/microphones.html>. 2.2.2. Ribbon Microphone
Prinsip kerjanya yaitu gelombang bunyi akan menggerakkan metalic
ribbon pada medan magnet, dan menghasilkan tegangan yang proporsional
dengan kecepatan ribbon. Elemen ribbon harus dilindungi dari angin atau
gelombang yang tinggi karena mudah rusak, hal ini menyebabkan ribbon
microphone jarang digunakan untuk non-studio recording.
Gambar 2.6.Ribbon Microphone
Sumber : Simpson. Microphones. 1997. <http://hyperphysics.phy-astr.gsu.edu/ hbase/ electronic/microphones.html>. 2.2.3. Condenser Microphone
Condenser microphone menggunakan sebuah membran tipis (polymer
diaphragm) dan sebuah plat. Keduanya bekerja sebagai sisi-sisi kapasitor.
Gelombang suara akan menggetarkan membran tipis dan gerakan ini
mengakibatkan perubahan kapasitansi dari rangkaian dan menghasilkan
perubahan electical output. Condenser microphone mahal dan membutuhkan
baterei atau supply tambahan namun gelombang elektrik yang dihasilkan baik dan
jelas.
Universitas Kristen Petra
11
Gambar 2.7. Condenser Microphone
Sumber : Simpson. Microphones. 1997. <http://hyperphysics.phy-astr.gsu.edu/ hbase/ electronic/microphones.html>.
Microphone yang digunakan dalam tugas akhir ini adalah unidirectional
dynamic microphone DM-308 dengan impedansi 600 Ω, respon frekuensi antara
50 – 1500Hz dan sensitivitasnya 55db.
2.3. Operasional Amplifier (Penguat Operasi)
Operational amplifier atau op-amp adalah suatu IC linear dengan
penguatan tinggi dan dapat melakukan operasi metematika seperti penjumlahan,
pengurangan, perkalian dan pembagian. Op-amp sekarang ini dapat digunakan
untuk berbagai macam aplikasi, seperti: penguat sinyal dc maupun ac, filter aktif,
oscillator, comparator (pembanding), regulator (pengatur tegangan) dan lain-lain.
Op-amp banyak sekali dipakai karena memiliki beberapa kelebihan, antara
lain:
- bentuknya kecil, tetapi multifungsi
- mudah penggunaannya karena tidak perlu mengetahui apa isi
rangkaian di dalam op-amp, melainkan hanya bergantung pada
komponen-komponen luar yang dipasang padanya.
- Dapat dipercaya keandalannya.
- Murah dan mudah didapat di pasaran.
Pada dasarnya sebuah op-amp mempunyai 5 buah terminal, yaitu 2 buah
terminal input, 1 buah terminal output, dan 2 buah terminal untuk catu daya. Pada
kenyataannya jika kedua teminal input dihubungsingkatkan, maka pada terminal
output tetap keluar tegangan. Hal ini disebabkan karena transistor-transistor dalam
op-amp tidak sama parameternya, karena itu diberikan 2 terminal baru yaitu
terminal offset. Agar jika kedua terminal input sama dengan nol, maka dapat
diatur supaya tegangan output-nya juga nol.
Universitas Kristen Petra
12
Karateristik dari sebuah op-amp ideal adalah sebagai berikut:
- penguatan tegangan tak terhingga (Aol ~)
- Impedansi input tak terhingga (Zin ~)
- Impedansi output nol (Zout 0)
- Tegangan output Vout=0 jika tegangan input V1=V2
- Bandwith tak terhingga (artinya tidak ada delay sinyal yang
melewati op-amp.
Dalam penggunaannya, sebuah op-amp dapat diberi rangkaian feedback
(umpan balik) sebagai pengontrol dari sinyal output dari op-amp. Rangkaian
umpan balik ini dibagi menjadi dua macam, yaitu umpan balik positif dan umpan
balik negatif. Pada umpan balik positif, sinyal output op-amp akan kembali ke
terminal input positif (non inverting input), sedangkan umpan balik negatif, sinyal
output terhubung dengan terminal input negatif (inverting input). Rangkaian
comparator dan oscillator merupakan contoh penggunaan umpan balik positif
pada op-amp. Sedangkan penggunaan umpan balik negatif terdapat pada op-amp
yang difungsikan sebagai penguat.
2.3.1. Inverting Amplifier (Penguat Membalik)
Ada beberapa macam penggunaan op-amp sebagai penguat, antara lain:
inverting amplifier, non inverting amplifier, differential amplifier, adder amplifier
dan sebagainya. Pada laporan tugas akhir ini akan dibahas hanya mengenai
inverting amplifier yang dipakai dalam pembuatan alat.
Op-amp yang digunakan sebagai penguat (amplifier) akan menerima
sinyal input dan menguatkan sinyal tersebut sehingga memiliki amplitudo yang
lebih besar tanpa mengubah frekuensi sinyal inputnya. Pada Op-amp diberikan
tahanan umpan balik yang menghubungkan antara terminal output dan terminal
input negatif, sehingga menjadi rangkaian tertutup dan tidak lagi tergantung pada
penguatan hubungan terbuka (Aol), melainkan penguatannya menjadi penguatan
hubungan tertutup (Acl). Harga penguatan Acl tergantung pada besarnya tahanan-
tahanan luar yang dipasang pada terminal op-amp.
Bentuk rangkaian inverting amplifier dapat dilihat pada gambar 2.5. dari
gambar tersebut terlihat bahwa sinyal tegangan input Vin dihubungkan dengan
Universitas Kristen Petra
13
terminal input negatif, tahanan Ri atau R1 diletakkan antara input dan terminal
negatif
Gambar 2.8. Inverting Amplifier
Rumus tegangan output (Vout) yang dihasilkan oleh inverting amplifier
serta penguatan hubungan tertutup (Acl) adalah sebagai berikut:
Ini
fOut V
RR
V −= (2.1)
i
f
In
Outcl R
RVV
A −== (2.2)
2.3.2. Filter Aktif
Sebuah filter aktif atau pasif (tanpa op-amp), akan melewatkan suatu
spektrum frekuensi tertentu melewati outputnya. Filter dapat diklasifikasikan
berdasarkan bagian spektrum frekuensi yang dilewatkannya, sebagai berikut:
1. Lowpass filter akan melewatkan dari dc sampai pada frekuensi cutoff, fc,
sedangkan frekuensi yang melebihi fc akan dilemahkan seperti pada
gambar 2.9a. frekuensi dari 0 sampai dengan fc disebut passband bagian
frekuensi di atas fb disebut stopband bagian frekuensi antara fc dan fb
disebut daerah transisi. Rasio pelemahan pada bagian transisi merupakan
karateristik penting dari sebuah filter. Frekuensi dimana tegangan output
turun menjadi 0.707 kali dari tegangan pada passband (turun 3 dB) adalah
frekuensi cutoff. Sedangkan tegangan output 3 dB di atas tegangan
stopband disebut fb.
Universitas Kristen Petra
14
2. Highpass filter melemahkan semua frekuensi di atas fc dan melewatkan
frekuensi di bawah fc, karateristik highpass filter ditunjukkan pada gambar
2.9b.
3. Bandpass filter seperti pada gambar 2.9c, akan melewatkan frekuensi di
antara frekuensi cutoff yang lebih kecil (f1) dan frekuensi cutoff yang lebih
besar (f2). Semua frekuensi di bawah f1 dan di atas f2 akan dilemahkan.
Frekuensi tengah (f0) dari f1 dan f2 diperoleh dari:
210 fff = (2.3)
4. Filter bandreject akan melemahkan frekuensi antara f1 dan f2 dan
melewatkan frekuensi lainnya seperti pada gambar 2.9d.
(a) Lowpass Filter
(b) Highpass Filter
(c) Bandpass Filter
Universitas Kristen Petra
15
(d) Bandreject Filter
Gambar 2.9. Tipe-tipe Filter
Filter pasif menggunakan komponen induktor, kapasitor dan resistor. Jika
filter pasif digunakan untuk menggantikan filter aktif, maka akan membutuhkan
rangkaian yang besar, padat, induktor yang mahal serta frekuensi pada bagian
passband ikut dilemahkan (meski tidak sama pada stopband). Kelebihan
penggunaan filter aktif dibanding dengan filter pasif adalah:
- Penggunaan resistor dan kapasitor menjadikannya lebih ideal dari pada
penggunaan induktor (core loss, winding resistance, interwinding
capacitance)
- Relatif lebih murah.
- Menghasilkan gain pada passband dan jarang memiliki kerugian (loss) yang
berarti seperti pada filter pasif.
- Penggunaan op-amp memungkinkan terjadinya isolasi antara input dan output.
- Lebih mudah dikontrol.
- Filter aktif memiliki rangkaian yang lebih simpel.
Respon dari sebuah filter bermacam-macam diantaranya disebut sebagai
Butterworth, Chebyshev, Bessel dan lain-lain. Namun yang akan dibahas pada
bagian ini adalah respon Butterworth yang rangkaiannya digunakan pada tugas
akhir ini.
Respon filter Butterworth sangat rata pada bagian passband respon ini
sering disebut “maximally flat.” Butterworth digunakan bila frekuensi pada
passband harus mempunyai penguatan yang sama. Bandpass filter dibentuk dari
dua filter yaitu highpass filter dan lowpass filter. Untuk mendapatkan bandpass
filter dengan kemiringan ±20 dB/decade, maka digunakan highpass filter orde
pertama dan lowpass filter orde pertama, sedangkan untuk mendapatkan
Universitas Kristen Petra
16
kemiringan ± 40 dB/decade digunakan highpass filter orde kedua dan lowpass
orde kedua. Dengan kata lain orde bandpass filter tergantung pada orde dari
highpass dan lowpass-nya.
Gambar 2.10. Rangkaian Filter Butterworth
Pada dasarnya ada dua tipe bandpass filter yaitu: wide bandpass dan
narrow bandpass. Namun tidak ada perbedaan bentuk dari kedua tipe bandpass,
tetapi bisa dibedakan dengan quality factor-nya (Q). Wide bandpass merupakan
bandpass filter dengan Q<10, sedangkan untuk narrow bandpass Q>10. Besar Q
menentukan selektifitas filter, semakin besar nilai Q semakin selektif filter-nya
atau dengan kata lain semakin kecil bandwidth (BW). Hubungan antara Q,
bandwidth 3 dB dan frekuensi tengah (f0) sebagai berikut:
12
00
fff
BWf
Q−
== (2.4)
dimana: f1 = Low Cutoff Frequency
f2 = High Cutoff Frequency
Tegangan output untuk bandpass filter adalah gabungan antara tegangan
output highpass filter dan lowpass filter. Tegangan output untuk highpass filter
adalah
inF v
ff
ffAv
21
10
)/(1
)/(
+= (2.5)
dimana 1
1RR
A FF += , highpass filter gain
Universitas Kristen Petra
17
=f frekuensi sinyal input (Hz)
2
1 21
CRf
Lπ= , low cutoff frequency (Hz)
sedangkan tegangan output untuk lowpass filter adalah
inF v
ff
ffAv2
2
20
)/(1
)/(
+= (2.6)
dimana 2
1RRA F
F += , lowpass filter gain
=f frekuensi sinyal input (Hz)
1
2 21
CRf
Hπ= , high cutoff frequency (Hz)
2.3.3. Schmitt Trigger
Schmitt Trigger adalah salah satu aplikasi dari comparator yang akan
menegatifkan output (bila tegangan input berada di atas tegangan referensi
positif). Dan demikian pula sebaliknya membuat output positif, bila tegangan
input berada di bawah tegangan referensi negatif.
Diasumsikan tegangan saturasi positif, maka tegangan yang timbul pada
non inverting input adalah tegangan referensi positif atau UTP (upper Trip Point).
Selama tegangan pada inverting input lebih kecil dari UTP, maka output tetap
saturasi positif. Jika tegangan pada inverting input terus dinaikkan sampai
melebihi UTP, maka output op-amp akan berubah menjadi saturasi negatif.
Tegangan output ini menghasilkan tegangan pada non inverting input yaitu
tegangan referensi negatif, LTP (Lower Trip Point). Output op-amp tetap saturasi
negatif selama inverting input lebih positif dari LTP.
Universitas Kristen Petra
18
Gambar 2.11. Schmitt Trigger
Sumber Simpson. The Schmitt Trigger. 1997. <http://hyperphysics.phy-astr.gsu.edu/ hbase/electronic/SchmittTrigger.html>. Rumus tegangan-tegangan referensi (UTP dan LTP) adalah sebagai
berikut:
SatVRR
RUTP
21
1
+= (2.4)
SatVRR
RLTP
21
1
+−
= (2.5)
2.4. Mikrokontroler MCS-51 (AT89S51)
AT89C51 adalah mikrokontroler keluaran Atmel dengan 4K byte Flash
PEROM (Programmable and Eraseable Read Only Memory), AT89C51
merupakan memori dengan teknologi nonvolatile memory, isi memori tersebut
dapat diisi ulang ataupun dihapus berkali-kali. Memori ini bisa digunakan untuk
menyimpan perintah berstandar MCS-51 code sehingga memungkinkan
mikrokontroler ini untuk bekerja dalam mode single chip operation (mode operasi
keping tunggal) yang tidak memerlukan memori luar (external memory) untuk
menyimpan source code tersebut.
Universitas Kristen Petra
19
2.4.1. Deskripsi Hardware
AT98S51 mempunyai deskripsi sebagai berikut:
Gambar 2.12. Arsitektur Perangkat Keras
Sumber: Nalwan, Paulus Andi. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta: PT Elex Media Komputindo, 2003, p.2
Tabel 2.3. Deskripsi Pin
Nama Pin
Nomor Pin Alternatif Keterangan
20 GND Ground 40 VCC Power Supply
32...39 P0.7...P0.0
D7...D0 &
A7...A0
Port 0 dapat berfungsi sebagai I/O biasa , low order multiplex address/data ataupun menerima kode byte pada saat flash programming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink kedelapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika satu pada port tersebut Port berfungsi sebagai low order multiplex
Universitas Kristen Petra
20
Tabel 2.3. Deskripsi Pin (Lanjutan)
Nama Pin
Nomor Pin Alternatif Keterangan
address/data port ini akan mempunyai internal pull up Pada saat Flash Programming diperlukan eksternal pull up terutama pada saat verifikasi program
1...8 P1.0...P1.7
Port 1 berfungsi sebagai I/O biasa atau menerima low order address byte selama pada saat Flash Programming Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1 Sebagai output port ini memberikan output sink keempat buah input TTL
21...28 P2.0...P2.7
A8...A15 Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit (movx @Dprt) Pada saat mengakses memori secara 8 bit, (Mov @ Rn) port ini akan mengeluarkan isi dari P2 Special Function Register Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1 Sebagai output, port ini dapat memberikan output sink keempat buah input TTL
10...17 Port 3 Sebagai I/O biasa Port 3 mempunyai sifat yang sama dengan Port 1 dan Port 2. Sedangkan sebagai fungsi spesial port-port ini mempunyai keterangan sebagai berikut:
10 11 12 13 14 15 16 17
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RXD TXD INT0 INT1
T0 T1
WR RD
Port Serial Input Port Serial Output Port External Interrupt 0 Port External Interrupt 1 Port External Timer 0 Input Port External Timer 1 Input External Data Memory Write Strobe External Data Memory Read Strobe
9 RST Reset akan aktif dengan memberikan input high selama 2 cycle
30 ALE Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) yang me-latch low byte address pada saat mengakses memori eksternal Sedangkan pada saat Flash Programming (PROG) berfungsi sebagai pulse input pada operasi normal ALE akan mengeluarkan sinyal
Universitas Kristen Petra
21
Tabel 2.2 Deskripsi Pin (Lanjutan)
Nama Pin
Nomor Pin Alternatif Keterangan
Clock sebesar 1/16 frekuensi oscillator kecuali pada saat mengakses memori eksternal sinyal clock pada pin ini dapat pula di-disable dengan men-set bit 0 dari Special Function Register di alamat 8EH ALE hanya akan aktif pada saat mengakses memori eksternal (movx & movc)
29 PSEN Pin ini berfungsi pada saat mengeksekusi program yang terletak pada eksternal. PSEN akan aktif dua kali setiap cycle
31 EA Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada memori eksternal setelah sistem di-reset. Jika berkondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat Flash Programming pin ini akan mendapat tegangan 12 V (VP)
19 XTAL1 Input Oscillator 18 XTAL2 Output Oscillator
Sumber: Nalwan, Paulus Andi. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta: PT Elex Media Komputindo, 2003, p.2 2.4.2. Struktur Memori
AT89C51 mempunyai struktur memori yang terdiri atas:
RAM Internal, memori sebesar 128 byte yang biasanya digunakan untuk
menyimpan variabel atau data yang bersifat sementara
Special Function Register (Register Fungsi Khusus), memori yang berisi
register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh
mikrokontroler tersebut, seperti timer, serial dan lain-lain
Flash PEROM, memori yang digunakan untuk menyimpan instruksi-instruksi
MCS-51
AC89C51 mempunyai struktur memori yang terpisah antara RAM Internal
dan Flash PEROM-nya. RAM Internal dialamati oleh RAM Address Register
(Register Alamat RAM) sedangkan Flash PEROM yang menyimpan perintah-
perintah MCS-51 dialamati oleh Program Address Register (register Alamat
Universitas Kristen Petra
22
Program). Dengan adanya struktur yang terpisah tersebut, walaupun RAM internal
dan Flash PEROM, mempunyai alamat awal yang sama, yaitu alamat 00H, namun
secara fisiknya kedua memori tersebut tidak saling berhubungan.
2.4.3. RAM Internal
RAM Internal terdiri atas:
Register Banks
89C51 mempunyai delapan buah register yang terdiri atas R0 hingga R7.
kedelapan buah register ini selalu terletak pada alamat 00H hingga 07H pada
setiap kali sistem di-reset. Namun, posisi R0 hingga R7 dapat di pindah ke
Bank 1 (08 hingga 0FH), Bank 2 (10H hingga 17H) atau Bank 3 (18H hingga
1FH) dengan mengatur RS0 dan RS1 (lihat bagian 1.2.3.4. Register Bank
Select Bit)
Bit Addressable RAM
RAM pada alamat 20H hingga 2FH dapat diakses secara pengalamatan bit (bit
addressable) sehingga hanya dengan sebuah instruksi saja setiap bit dalam
area ini dapat di-set, clear, AND dan OR. Sebagai contoh, pada saat terjadi
instruksi Setb 67H, hal ini sama dengan men-set bit MSB dari alamat 2CH,
yaitu: Mov A,2CH ; Pindahkan data dari alamat 2CH ke Acc A
Orl A,#10000000B ; Set MSB Acc A
Mov 2CH,A ; Pindahkan data dari Acc A ke alamat 2CH Dengan adanya sistem bit addressable RAM, proses yang seharusnya
dijalankan dengan tiga cycle seperti pada listing di atas dapat digantikan
dengan sebuah instruksi yang hanya membutuhkan satu cycle saja. Dalam
aplikasinya, lokasi yang dapat di akses dengan pengalamatan bit ini dapat juga
di gunakan untuk menandai suatu lokasi bit tertentu baik berupa Register
Fungsi Khusus yang dapat dialamati secara bit (termasuk register I/O) ataupun
lokasi-lokasi tertentu yang dapat dialamati secara bit.
RAM Keperluan umum
RAM Keperluan Umum dimulai dari alamat 30H hingga 7FH dan dapat di
akses dengan pengalamatan langsung maupun tak langsung. Pengalamatan
Universitas Kristen Petra
23
langsung dilakukan ketika salah satu operand merupakan bilangan yang
menunjukkan lokasi yang dialamati seperti pada contoh sebagai berikut:
Gambar 2.13. Pemindahan Data 00110000B dari Alamat 35H Ke Akumulator.
Sedangkan pengalamatan secara tak langsung pada lokasi dari RAM Internal
ini adalah akses data dari memori ketika alamat memori tersebut tersimpan
dalam suatu register R0 atau R1. R0 dan R1 adalah dua buah register pada
mikrokontroler berarsitektur MCS-51 yang dapat digunakan sebagai pointer
dari sebuah lokasi memori pada RAM Internal. Contohnya sebagai berikut: Mov R0, #35h ; R0 diisi dengan data 35h
Mov A,@R0 ; baca data yang ditunjuk di alamat R0
Pengalamatan secara tak langsung biasa digunakan untuk mengakses beberapa
lokasi memori dengan letak yang beraturan seperti pada contoh berikut: Mov R0, #30h ; R0 diisi dengan data 30h
Loop:
Mov @R0, #05 ; data 5 diisikan ke alamat yang ditunjuk R0
Inc R0 ;R0 menunjuk ke alamat selanjutnya
Cjne R0,#35h,Loop ;Jika R0 blum mencapai 35h lompat ke label Loop
2.4.4. Register Fungsi Khusus
89C51 mempunyai 21 Special Function Register (Register Fungsi Khusus)
yang terletak pada antara alamat 80H hingga FFH beberapa dari register-register
ini juga mampu dialamati dengan pengalamatan bit sehingga dapat dioperasikan
seperti pada RAM yang lokasinya dapat dialamati dengan pengalamatan bit.
Universitas Kristen Petra
24
Gambar 2.14 Peta Memori RAM dan Special Function Registers
Sumber : Nalwan, Paulus Andi. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta: PT Elex Media Komputindo, 2003, p.9
Accumulator
Register ini terletak pada alamat E0H. Hampir semua operasi aritmatik dan
operasi logika selalu menggunakan register ini. Untuk proses pengambilan
dan pengiriman data ke memori eksternal juga diperlukan register ini.
Port
89C51 mempunyai empat buah port, yaitu Port 0, Port 1, Port 2 dan Port 3
yang terletak pada alamat 80H, 90H, A0H dan B0H. Namun, jika digunakan
eksternal memori ataupun fungsi-fungsi spesial, seperti External Interrupt,
Serial ataupun External Timer, Port 0, Port 2 dan Port 3 tidak dapat digunakan
sebagai port dengan fungsi umum. Untuk itu disediakan Port 1 yang
Universitas Kristen Petra
25
dikhususkan untuk port dengan fungsi umum. Semua port ini dapat diakses
dengan pengalamatan secara bit sehingga dapat dilakukan perubahan output
pada tiap-tiap pin dari port ini tanpa mempengaruhi pin-pin yang lainnya. Program Status Word
Program Status Word atau PSW terletak pada alamat D0H yang terdiri atas
beberapa bit sebagai berikut:
PSW D0H
Gambar 2.15 PSW
Flag Carry
Flag Carry (terletak pada alamat D7H) mempunyai fungsi sebagai
pendeteksi terjadinya kelebihan pada operasi penjumlahan atau terjadi
pinjam (borrow) pada operasi pengurangan. Selain pada operasi aritmatik,
carry juga berfungsi sebagai tempat penyimpanan sebesar 1 bit pada
operasi boolean.
Flag Auxiliary Carry
Flag Auxiliary Carry akan selalu set pada saat proses penjumlahan terjadi
carry dari bit ketiga hingga bit keempat.
Flag 0
Flag 0 digunakan untuk tujuan umum bergantung pada kebutuhan
pemakai.
Bit Pemilih Register Bank
Register Bank Select Bits (RS0 dan RS1) atau Bit Pemilih Register Bank
digunakan untuk menentukan lokasi Register Bank (R0 hingga R7) pada
memori. RS0 dan RS1 selalu bernilai nol setiap kali sistem di-reset
(sehingga lokasi dari R0 hingga R7 akan berada di alamat 00H hingga 07H)
Flag Overflow
Flag Overflow akan di-set jika pada operasi aritmatika menghasilkan
bilangan yang lebih besar daripada 128 atau lebih kecil dari -128
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 CY AC F0 RS1 RS0 OV - P
Universitas Kristen Petra
26
Bit Parity
Bit parity akan di-set jika jumlah bit 1 dalam akumulator adalah ganjil dan
akan clear (jika jumlah bit 1 dalam akumulator adalah genap). Bit parity
ini digunakan untuk proses yang berhubungan dengan serial port yaitu
sebagai check sum.
Register B
Register B digunakan bersama akumulator untuk proses aritmatik selain dapat
juga difungsikan sebagai register biasa. Register ini juga bersifat bit
addressable.
Stack Pointer
Stack Pointer merupakan register 8 bit yang terletak di alamat 81H. Isi dari
Stack Pointer ini merupakan alamat dari data yang disimpan di stack. Stack
Pointer dapat di-edit atau dibiarkan mengikuti standar sesudah terjadi reset.
Data Pointer
Data Pointer atau DPTR merupakan register 16 bit yang terletak pada alamat
82H untuk DPL dan 83H untuk DPH. DPTR biasa digunakan untuk mengakses
source code ataupun data yang terletak di memori eksternal.
Register Timer
AT89C51 mempunyai dua buah 16 bit Timer/Counter, yaitu Timer 0 dan
Timer 1. Timer 0 terletak di alamat 8AH untuk TL0 dan 8CH untuk TH0 dan
Timer 1 terletak di alamat 8BH untuk TL1 dan 8DH untuk TH1.
Register Port Serial
AT89C51 mempunyai sebuah on chip serial port (port serial di dalam keping)
yang dapat digunakan untuk berkomunikasi dengan peralatan lain yang
menggunakan serial port juga seperti modem, shift register dan lain-lain.
Buffer (Penyangga) untuk proses pengiriman maupun proses pengambilan data
terletak pada Register SBUF, yaitu pada alamat 99H. Sedangkan untuk
mengatur mode serial dapat dilakukan dengan mengubah isi dari SCON yang
terletak pada alamat 98H.
Register Interupsi
89C51 mempunyai lima buah interupsi dengan dua level prioritas interupsi.
Interupsi ini akan selalu nonaktif setiap kali sistem di-reset. Register-register
Universitas Kristen Petra
27
yang berhubungan dengan interrupt adalah interrupt Enable Register (IE) atau
Register Pengaktif Interupsi pada alamat A8H untuk mengatur keaktifan tiap-
tiap interrupt dan Interrupt Priority Register (IP) atau Register Prioritas
Interupsi pada alamat B8H
Register Kontrol Power
Register ini terdiri atas SMOD yang digunakan untuk melipat dua baud rate
dari port serial, dua buah bit untuk flag fungsi umum pada bit ketiga dan bit
kedua, Power Down (PD) bit dan Idle (IDL) bit. Pada mode Idle hubungan
antara CPU dan internal clock terputus, namun kondisi port tetap pada kondisi
terakhir, ALE dan PSEN menjadi high timer masih tetap bekerja. Mode Idle
berakhir pada saat terjadi interupsi, reset atau kondisi-kondisi lain yang me-
reset IDL bit. Pada mode Power Down, oscillator dan semua fungsi berhenti,
RAM tetap pada kondisi terakhir, begitu pula dengan port dan ALE maupun
PSEN akan berkondisi 0. Mode Power Down berakhir pada saat terjadi reset.
2.4.5. Flash PEROM
AT89C51 mempunyai 4 Kb Flash PEROM (Programmable and
Eraseable Read Only Memory), yaitu ROM yang dapat ditulis ulang atau dihapus
menggunakan sebuah perangkat programmer. Flash PEROM dalam AT98C51
menggunakan Atmel’s High-Density Non Volatile Technology yang mempunyai
kemampuan untuk ditulis ulang hingga 1000 kali dan berisikan perintah standar
MCS-51.
Program yang ada pada Flash PEROM akan dijalankan jika sistem di-
reset, pin EA/VP berlogika satu sehingga mikrokontroler aktif berdasarkan
program ada pada Flash PEROMnya. Namun, jika pin EA/VP berlogika 0, maka
mikrokontroler akan aktif berdasarkan program yang ada pada memori eksternal.
Untuk keamanan program yang ada dalam Flash PEROM, 89C51
mempunyai fasilitas Lock Bit Protection yang terdiri atas:
Lock Bit 1, instruksi MOVC yang dieksekusi dari memori eksternal untuk
membaca isi Flash PEROM tidak dapat dilakukan.
Lock Bit 2, sama dengan Lock Bit 1, tetapi isi dari Flash PEROM tidak dapat
di-verify oleh 89C51 Programmer
Universitas Kristen Petra
28
Lock Bit 3, sama dengan Lock Bit 2 tetapi akses ke memori eksternal tidak
dapat dilakukan.
2.4.6. Reset
Reset dapat dilakukan secara manual maupun otomatis saat power
diaktifkan (Power On Reset). Saat terjadi reset, isi dari register akan berubah
sesuai yang ada pada tabel 2.4.
Gambar 2.16. Rangkaian Reset
Tabel 2.4. Isi Register Setelah Reset
Register Isi Register Program Counter 0000 H Akumulator 00 H Register B 00 H PSW 00 H Stack Pointer (A) 07 H DPTR 0000H Port 0-3 FF H Interrupt Priority (IP) xxx00000B Interrupt Enable (IE) 0xx00000 B Register Timer 00 H SCON 00 H SBUF 00 H PCON (HMOS) 0xxxxxxx B PCON (CMOS) 0xxx0000 B
Sumber: Nalwan, Paulus Andi. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta: PT Elex Media Komputindo, 2003, p.28
Reset terjadi dengan adanya logika 1 selama minimal dua cycle pada pin
RST. Setelah kondisi pin RST kembali low, mikrokontroler akan mulai
Universitas Kristen Petra
29
menjalankan program dari alamat 0000 H. Kondisi pada internal RAM tidak terjadi
perubahan selama reset.
2.4.7. Operasi Timer
AT89C51 mempunyai dua buah timer, yaitu Timer 0 dan Timer 1 yang
keduanya dapat berfungsi sebagai counter ataupun sebagai timer. Secara fisik
sebetulnya timer juga merupakan rangkaian T flip-flop yang dapat diaktifkan dan
dinonaktifkan setiap saat. Perbedaan terletak pada sumber clock dan aplikasinya.
Jika timer mempunyai sumber clock dengan frekuensi tertentu yang sudah pasti
sedangkan counter mempunyai sumber clock dari pulsa yang hendak dihitung
jumlahnya. Aplikasi dari counter atau penghitung pulsa biasa digunakan untuk
aplikasi menghitung jumlah kejadian yang terjadi dalam periode tertentu
sedangkan timer atau pewaktu biasa digunakan untuk aplikasi menghitung jumlah
lamanya suatu kejadian yang terjadi.
Kedua timer pada AT89C51 masing-masing mempunyai 16 bit counter
yang mampu diatur keaktifan dan mode operasinya, di-reset dan di-set dengan
harga tertentu. Untuk mengatur timer ini AT89C51 mempunyai enam buah
Special Function Register.
Timer Mode Register (TMOD) Tidak dapat dimuati secara bit
89H
Gambar 2.17. Register TMOD
Register TMOD berupa 8 bit register yang terletak pada alamat 89H dengan
fungsi setiap bit-nya adalah sebagai berikut:
Gate : Timer akan berjalan jika bit ini di-set dan INT0 (untuk
Timer 0) atau INT1 (untuk Timer 1) berkondisi high.
TC / : 1 = Counter
0 = Timer
M1 & M0 : Untuk memilih mode timer
Timer 1 Timer 0 Gate (1) C/T (1) M1 (1) M0 (1) Gate (0) C/T (0) M1 (0) M0 (0)
Universitas Kristen Petra
30
THx dan TLx
AT89C51 mempunyai dua buah timer, yaitu Timer 0 dan Timer 1 dan setiap
timer terdiri atas 16 bit timer yang masing-masing tersimpan dalam dua buah
register yaitu THx untuk Timer High Byte dan TLx untuk Timer Low Byte.
Timer Control Register
Register ini hanya mempunyai 4 bit saja, yaitu TCON.4, TCON.5, TCON.6
dan TCON.7 saja yang mempunyai fungsi behubungan dengan timer. dapat dimuati secara bit
88H
Gambar 2.18. Register TCON
Register ini bersifat bit addressable sehingga bit TF1 dapat disebut TCON.7,
TR1 sebagai TCON.6 dan seterusnya hingga Bit IT0 sebagai TCON.0
TCON.7 atau TF1: Timer 1 Overflow Flag yang akan di-set jika timer
overflow. Bit ini dapat di-clear oleh software dan
oleh hardware pada saat program menuju ke alamat
yang ditunjuk oleh interrupt vector.
TCON.6 atau TR1: 1 = Timer 1 aktif
0 = Timer 0 aktif
TCON.5 atau TF0: sama dengan TF1
TCON.4 atau TR0: sama dengan TR1
Mode Timer
Timer AT89C51 mempunyai empat buah mode kerja timer dimana setiap
mode mempunyai masing-masing fungsi.
Mode 0 Tidak dapat dimuati secara bit
89H
Gambar 2.19. Register TMOD pada Timer 1 Mode 0 (x diabaikan)
Pada mode ini, timer bekerja dengan mode 13 bit timer ketika overflow
terjadi saat terjadi perubahan kondisi dari ketiga belas bit yang tersimpan
di register TLx dan THx (x = 0 untuk Timer 0 dan x = 1 untuk Timer 1)
Register Timer Register Interupsi TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
Gate (1) C/T (1) M1 (1) M0 (1) Gate (0) C/T (0) M1 (0) M0 (0) X x 0 0 X x x x
Universitas Kristen Petra
31
menjadi logika 1. Pada aplikasi sebagai hal ini terjadi saat counter kembali
menghitung kembali dati awal. Bit TFx akan berlogika 1 pada saat kondisi
overflow terjadi.
Mode 1 Tidak dapat dimuati secara bit
89H
Gambar 2.20. Register TMOD pada Timer 1 Mode 0 (x diabaikan)
Pada mode 1, timer berfungsi sebagai 16 bit timer yang akan menghitung
naik mulai dari 0000H hingga FFFFH. Hasil dari perhitungan tersimpan
pada register TLx untuk Low Byte dan THx untuk High Byte. Jika
perhitungan sudah mencapai FFFFH, timer akan kembali menghitung
mulai dari 0, pada saat ini Timer Flag (TFx) akan di-set.
Mode 2 Tidak dapat dimuati secara bit
89H
Gambar 2.21. Register TMOD pada Timer 1 Mode 2 (x diabaikan)
Pada Mode ini, timer bekerja dalam mode 8 bit dimana nilai timer
tersimpan pada TLx. Register THx berisi Nilai Isi Ulang (Reload Value)
yang akan dikirim ke Register TLx setiap kali terjadi overflow. Misalkan,
Nilai THx diisi dengan 20H, saat timer diaktifkan nilai TLx akan
menghitung naik hingga pada saat nilai TLx hendak berubah dari FFH
menjadi 00H. Dengan demikian, Bit TFx akan set dan nilai THx, 20H akan
kembali dikirim ke register TLx. Selama timer aktif nilai THx akan tetap
20H.
Mode 3 Tidak dapat dimuati secara bit
89H
Gambar 2.22. Register TMOD pada Timer 0 Mode 3 (x diabaikan)
Pada mode ini, AT89C51 bagaikan memiliki tiga buah timer. Timer 0
terpisah menjadi dua buah 8 bit timer yaitu TL0 dan TF0 sebagai overflow
Gate (1) C/T (1) M1 (1) M0 (1) Gate (0) C/T (0) M1 (0) M0 (0) X X 0 1 X x x x
Gate (1) C/T (1) M1 (1) M0 (1) Gate (0) C/T (0) M1 (0) M0 (0) x x 1 0 X x x x
Gate (1) C/T (1) M1 (1) M0 (1) Gate (0) C/T (0) M1 (0) M0 (0) x x x x X x 1 1
Universitas Kristen Petra
32
flag dan TH0 dengan TF1 sebagai overflow flag. Sedangkan Timer 1 tetap
berfungsi sebagai 16 bit timer. Pada saat Timer 1 berada pada mode 3,
timer ini akan berhenti hingga mode kerja Timer 1 diubah menjadi mode
lain. Oleh karena Bit TF1 digunakan oleh TH0 sebagai overflow flag,
maka bit ini tidak dapat digunakan selama Timer 0 masih berada pada
mode 3.
Cara Kerja Timer
Gambar 2.23. Operasi Timer
Operasi dari timer memerlukan sumber clock yang didapat dari
eksternal maupun internal. Jika timer menggunakan sumber clock dari
eksternal, pin T0 (P3.4) berfungsi sebagai input clock. Untuk menjadikan
sumber clock eksternal sebagai sumber clock timer, maka bit C/T dari Register
TMOD harus di-set atau berkondisi high. Seperti yang tampak pada Gambar
2.20, jika Bit C/T berkondisi high, saklar akan menghubungkan sumber clock
timer ke pin Tx (T0 untuk Timer 0 dan T1 untuk Timer 1).
Jika digunakan sumber clock internal, input clock tersebut berasal dari
osilator yang telah dibagi 12. Untuk ini Bit C/T dari Register TMOD harus di-
clear atau berkondisi low sehingga saklar akan menghubungkan sumber clock
timer ke osilator yang telah dibagi 12.
Untuk mengaktifkan timer dapat dilakukan melalui hardware ataupun
software. Seperti yang terlihat pada Gambar 2.20, timer baru akan aktif setelah
Universitas Kristen Petra
33
mendapat sumber clock dan saklar SPST yang terletak antara saklar yang
dikontrol oleh C/T dan timer terhubung dengan sinyal clock dari sumber clock
akan mengalir masuk ke timer, sedangkan saklar tersebut akan terhubung (jika
terdapat logika high dari output gerbang AND).
Sesuai dengan tabel kebenaran gerbang AND, output dari gerbang
AND hanya akan berlogika high jika kedua input-nya berlogika high pula.
Jika ada salah satu dari inputnya yang berlogika low, output akan berlogika
low pula. Untuk pengaturan timer melalui software, keaktifan timer hanya
ditentukan oleh kondisi bit TR0 saja. Oleh karena itu output dari gerbang OR
yang terhubung ke input yang lain dari gerbang AND akan berlogika high dan
timer akan aktif dan sebaliknya jika TR0 berlogika low, output gerbang AND
akan berlogika low dan timer akan berhenti.
Agar output dari gerbang OR berlogika high, sesuai dengan tabel
kebenaran gerbang OR, cukup salah satu dari input-nya saja yang berlogika
high. Dengan demikian, output akan berlogika pula. Untuk pengaturan timer
melalui software, bit gate harus berkondisi low sehingga hasil invers-nya yang
merupakan salah satu input dari gerbang OR berlogika high. Hal ini membuat
output gerbang OR selalu berlogika high walau apapun yang terjadi pada Pin
INTx (INT0 untuk Timer 0 dan INT1 untuk Timer 1) seperti yang tampak
pada Gambar 2.21
Gambar 2.24. Pengaturan Timer Dengan Software
Untuk pengaturan timer dengan hardware. Pin INTx berfungsi sebagai
penentu. Oleh karena itu, Bit TRx harus berlogika high, agar pengaturan timer
Universitas Kristen Petra
34
ditentukan oleh output dari gerbang OR. Agar kondisi output dari gerbang OR
ditentukan oleh pin INTx, maka bit gate harus berkondisi high.
Gambar 2.25 Pengaturan Timer Dengan Hardware
Jadi kesimpulan untuk pengaturan timer dengan software, maka bit
penentu keaktifan adalah TRx (kondisi dari bit gate harus berlogika 0). Untuk
pengaturan timer dengan hardware, maka penentu keaktifan adalah INTx
(kondisi bit gate dan TRx harus berlogika 1).
2.5. LCD M1632
LCD M1632 merupakan modul LCD matriks dengan konfigurasi 16
karakter dan 2 baris dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5
kolom pixel. Pada LCD M1632 terdapat HD44780 yang merupakan
mikrokontroler pengendali LCD. LCD yang digunakan dalam tugas akhir ini
adalah LCD yang dikeluarkan oleh Hitachi.
2.5.1. Deskripsi M1632
HD44780 sebetulnya merupakan mikrokontroler yang dirancang khusus
untuk mengendalikan LCD dan mempunyai kemampuan untuk mengatur proses
scanning pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga
mikrokontroler/perangkat yang mengakses modul LCD ini tidak perlu lagi
mengatur proses scanning pada layar LCD. Mikrokontroler atau perangkat
tersebut hanya mengirimkan data-data yang merupakan karakter yang akan
ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD
saja.
Universitas Kristen Petra
35
Gambar 2.26 Modul M1632
a. Bagian Penguat Sinyal
Bagian ini merupakan bagian yang menguatkan sinyal sebelum sinyal
tersebut masuk ke layar LCD dan terdiri dari bagian penguat sinyal segmen
(segment signal driver) dan bagian penguat sinyal pin bersama (common
signal driver).
Sinyal yang dikuatkan oleh common signal driver adalah sinyal yang
berasal dari sebuah 16 bit shift register dan berfungsi untuk mengatur
scanning baris pixel dari layar LCD, sedangkan sinyal yang dikuatkan oleh
segment signal driver adalah sinyal yang berasal dari sinyal data 40 bit shift
register yang ditahan oleh 40 bit rangkaian latch. Sinyal ini berfungsi untuk
mengatur tampilan kolom pixel dari layar LCD.
LCD driver voltage selector (pemilih tegangan penguat LCD)
berfungsi untuk mengatur penguatan sinyal yang dikirim ke layar LCD
sehingga kontras dari LCD dapat diatur. Semakin kuat sinyal yang dikirim,
maka akan semakin kuat pula kontras yang ada pada layar LCD.
b. Bagian Memori
Bagian memori terdiri dari 9.920 bit CGROM, 64 byte CGRAM dan
80×8 bit DDRAM yang mengatur pengalamatan oleh Address Counter dan
akses datanya (pembacaan maupun penulisan datanya) dilakukan melalui
Register Data.
Data-data dari CGRAM atau CGROM tersebut merupakan data yang
selanjutnya dikirim ke 40 bit shift register melalui bagian Parallel and Serial
Converter.
Universitas Kristen Petra
36
c. Bagian Register
Pada M1632 terdapat Register Data dan Register Perintah. Proses
akses data ke atau dari Register Data akan mengakses ke CGRAM, DDRAM
atau CGROM, bergantung pada kondisi Address Counter, sedangkan proses
akses data ke atau dari Register Perintah akan mengaskes Instruction Decoder
(Dekoder Instruksi) yang akan menentukan perintah-perintah yang akan
dilakukan oleh LCD.
d. Bagian Antar Muka dengan Mikrokontroler
Bagian ini adalah bagian yang terhubung dengan pin-pin modul
M1632 yang akan berhubungan langsung dengan mikrokontroler.
2.5.2. Pin-pin Modul M1632
Untuk keperluan antarmuka suatu komponen elektronika dengan
mikrokontroler, perlu diketahui fungsi dari setiap pin yang ada pada komponen
tersebut.
Pin 1 (VCC): pin ini berhubungan dengan tegangan +5 volt
Pin 2 (GND): pin ini berhubungan dengan tegangan 0 volt (ground)
Pin 3 (VEE/VLCD): tegangan pengatur kontras LCD, kontras mencapai
nilai maksimum pada saat kondisi pin ini pada tegangan 0 volt.
Pin 4 (RS): Register Select, pin pemilih register yang akan diakses. Untuk
akses ke Register Data, logika dari pin ini adalah 1 dan untuk akses ke
Register Perintah, logika dari pin ini adalah 0.
Pin 5 (R/W): Logika 1 pada pin ini menunjukkan bahwa modul LCD
sedang dalam mode pembacaan dan logika 0 menunjukkan bahwa modul
LCD sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan
pembacaan data pada modul LCD, pin ini dapat dihubungkan langsung
dengan ground.
Pin 6 (E): Enable Clock LCD, pin mengaktifkan clock LCD. Logika 1
pada pin ini diberikan pada saat penulisan atau pembacaan data.
Pin 7-14 (D0-D7): Data Bus, kedelapan pin modul LCD ini adalah bagian
dimana aliran data sebanyak 4 bit ataupun 8 bit mengalir saat proses
penulisan maupun pembacaan data.
Universitas Kristen Petra
37
Pin 15 (Anoda): berfungsi ini tegangan positif dari backlight modul LCD
sekitar 4,5 volt.
Pin 16 (Katoda): Tegangan negatif backlight modul LCD sebesar 0 volt.
Gambar 2.27 Konfigurasi Pin M1632 Hitachi
Sumber: Nalwan, Paulus Andi. Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632. Jakarta: PT Elex Media Komputindo, 2004. p.6
2.5.3. Struktur Memori LCD
Modul LCD M1632 memiliki beberapa jenis memori yang digunakan
untuk menyimpan atau memproses data-data yang akan ditampilkan pada layar
LCD. Setiap jenis memori mempunyai fungsi-fungsi tersendiri.
DDRAM
DDRAM merupakan memori tempat karakter yang ditampilkan
berada. Contohnya, karakter “A” atau 41H yang ditulis pada alamat 00H
akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila
karakter tersebut ditulis di alamat 40H, karakter tersebut akan tampil pada
baris kedua kolom pertama dari LCD.
Gambar 2.28 DDRAM M1632
Sumber: Nalwan, Paulus Andi. Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632. Jakarta: PT Elex Media Komputindo, 2004. p.7
Universitas Kristen Petra
38
CGRAM
CGRAM adalah memori untuk menggambarkan pola sebuah
karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan
tetapi isi memori akan hilang pada saat power supply tidak aktif sehingga
pola karakter akan hilang.
CGROM
CGROM adalah memori untuk menggambarkan pola sebuah
karakter dan pola tersebut sudah ditentukan secara permanen dari
HD44780 sehingga pengguna tidak dapat mengubah lagi. Oleh karena
ROM bersifat permanen, pola karakter tersebut tidak akan hilang
walaupun power supply tidak aktif.
Pada gambar 2.25 tampak pola-pola karakter yang tersimpan dalam
lokasi-lokasi tertentu dalam CGROM. Saat HD44780 akan menampilkan
data 41h yang tersimpan dalam DDRAM, HD44780 akan mengambil data
di alamat 41h (0100 0001) yang ada pada CGROM, yaitu pola karakter A.
Gambar 2.29 Pola Karakter
Sumber: Nalwan, Paulus Andi. Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632. Jakarta: PT Elex Media Komputindo, 2004. p.8
Universitas Kristen Petra
39
2.5.4. Register-register LCD
HD44780 yang terdapat pada modl M1632 mempunyai dua buah register
yang akan diatur dengan pin RS. Saat RS berlogika 0, register yang diakses
adalah Register Perintah dan saat RS berlogika 1, register yang diakses adalah
Register Data.
Register Data
Register ini adalah register dimana mikrokontroler dapat
menuliskan atau membaca data ke atau dari DDRAM maupun CGRAM.
Akses data ke DDRAM, baik penulisan maupun pembacaan, merupakan
hasil akses ke bagian memori tampilan pada layar LCD, sedangkan akses
CGRAM merupakan proses untuk mengedit pola karakter yang ada pada
lokasi CGRAM tersebut.
Register Perintah
Register ini adalah register dimana perintah-perintah
mikrokontroler ke HD44780 selaku pengendali modul M1632 diberikan.
Perintah-perintah tersebut berfungsi untuk mengatur tampilan pada LCD
atau alamat dari DDRAM atau CGRAM. Selain itu, register ini juga
merupakan tempat dimana status HD44780 dapat dibaca. Bit ke-7 dari
status yang terbaca adalah busy flag (tanda sibuk), yaitu tanda yang
mengindikasikan bahwa HD44780 masih dalam kondisi sibuk sehingga
akkses data lebih lanjut dari mikrokontroler yang terhubung pada modul
M1632 harus menunggu hingga tanda sibuk ini selesai. Bit ke-6 hingga bit
ke-0 adalah Address Counter (Penghitung Alamat) dari DDRAM. Address
Counter ini menunjukkan lokasi dari DDRAM yang sedang ditunjuk saat
itu.
Gambar 2.30 Susunan Data Status HD44780.
Universitas Kristen Petra
40
2.5.5. Perintah-perintah M1632
Untuk mengatur tampilan pada layar LCD, alamat DDRAM atau CGRAM
mikrokontroler yang terhubung dengan modul M1632 harus mengirimkan data-
data tertentu ke register perintah sesuai tabel 2.5 (perintah-perintah M1632).
Menghapus Display DDRAM
Perintah ini merupakan perintah untuk menghapus isi DDRAM
sehingga layar LCD tidak akan menampilkan pola karakter apapun. Perintah
ini berfungsi untuk membersihkan layar LCD dan sekaligus menghapus isi
DDRAM. Kode perintah ini adalah 01H atau 0000 0001 dalam biner.
Mengatur Alamat DDRAM
Perintah ini menunjuk lokasi alamat DDRAM yang akan diakses.
Kode 02h atau 0000 0010B akan memerintahkan pointer (penunjuk) agar
menunjuk lokasi alamat awal, yaitu alamat 0 DDRAM. Perintah dengan logika
1 pada bit ke-7 akan memerintahkan pointer agar menunjuk lokasi sesuai
konfigurasi bit ke-6 hingga bit ke-0.
Mengatur Mode
Bagian ini adalah bagian pengatur pergeseran kursor atau tampilan
dengan atau tanpa mengubah alamat DDRAM. Logika bit ke-2 adalah logika 1
dan logika bit ke-3 hingga bit ke-7 adalah logika 0, sedangkan pada proses
pergeseran kursor atau tampilan tanpa mengubah alamat DDRAM, maka
logika bit ke-4 adalah logika 1 dan bit ke-5 hingga ke-7 adalah logika 0.
a. Pergeseran kursor atau tampilan dengan mengubah format alamat
DDRAM
Proses pergeseran ini dilakukan dengan menggunakan alamat DDRAM,
baik pada proses pergeseran kursor maupun tampilan.
- Kode 04H atau 0000 0100B
Pada kode ini kondisi bit I/D adalah berlogika 0 sehingga proses
pergeseran adalah decrement (berkurang), sedangkan logika bit S adalah
logika 0 sehingga pergeseran hanya terjadi pada kursor. Proses pergeseran
ini juga mempengaruhi pointer alamat DDRAM (address counter)
sehingga Address Counter juga akan mengikuti arah pergeseran tersebut.
Universitas Kristen Petra
41
- Kode 05H atau 0000 0101B
Pada kode ini kondisi bit I/D adalah logika 1 sehingga proses
pergeseran adalah increment (bertambah), sedangkan logika bit S adalah
logika 0 sehingga pergeseran hanya akan terjadi pada kursor, seperti pada
kode 04H, proses ini juga mempengaruhi pointer alamat DDRAM (address
counter) sehingga Address Counter juga akan mengikuti arah pergeseran
tersebut, namun pada arah yang berlawanan, yaitu ke kanan.
b. Pergeseran kursor atau tampilan tanpa mengubah alamat DDRAM
- Kode 06H atau 0000 0110B
Pada kode ini kondisi bit I/D adalah berlogika 0 sehingga proses
pergeseran adalah decrement (berkurang), sedangkan logika bit S adalah
logika 1 sehingga pergeseran terjaddi pada seluruh tampilan. Proses
pergeseran ini juga mempengaruhi isi DDRAM sehingga data-data do
alamat DDRAM dipndah ke alamat sebelumnya. Pergeseran ini akan
menyebabkan tampilan pada layar LCD bergeser ke kiri.
- Kode 07H atau 0000 0111B
Pada kode ini kondisi bit I/D adalah berlogika 1 sehingga proses
pergeseran adalah increment (bertambah), sedangkan logika bit S adalah
logika 1 sehingga pergeseran terjadi pada seluruh tampilan. Proses
pergeseran ini juga mempengaruhi isi DDRAM sehingga data-data do
alamat DDRAM dipindah ke alamat sesudahnya. Pergeseran ini akan
menyebabkan tampilan pada layar LCD bergeser ke kanan.
Atur Keaktifan Tampilan
Proses pergeseran ini, baik pada kursor maupun seluruh tampilan,
dilakukan tanpa mempengaruhi DDRAM sehingga nilai Address Counter
maupun isi data pada DDRAM tetap pada kondisi sebelumnya. Proses
pergeseran hanya tampak pada layar LCD saja. Hal ini dilakukan olah
HD44780 dengan mengubah urutan data yang ditampilkan.
Atur Fungsi
Proses ini dilakukan pada saat kondisi bit ke-5 berlogika 1, sedangkan
bit ke-6 dan bit ke-7 berlogika 0. bit ke-4 (DL), bit ke-3 (N) dan bit ke-2 (F)
berfungsi sebagai berikut:
Universitas Kristen Petra
42
- DL: Bit untuk mengatur panjang data pada proses antarmuka logika 1 pada
bit ini bertujuan untuk proses antarmuka 8 bit dan logika ke 0 bertujuan
untuk proses antarmuka 4 bit.
- N : Bit untuk mengatur jumlah baris yang digunakan. Logika 1 pada bit ini
adalah untuk menggunakan 2 baris dan logika 0 adalah untuk
menggunakan 1 baris.
- F : Bit untuk mengatur font karakter. Logika 1 pada bit ini adalah untuk
font 5×10 dan logika 0 adalah untuk font 5×8.
Atur Alamat CGRAM
Proses ini dilakukan saat kondisi bit ke-6 barlogika 1 dan bit ke-7
berlogika 0. bit ke-5 hingga bit ke-0 merupakan Address Counter CGRAM
sebanyak 6 bit atau 64 byte. Setiap pola karakter dibentuk oleh 8 byte data
CGRAM sehingga total keseluruhan CGRAM mampu menyimpan 8 buah
pola karakter.
Tabel 2.5. Perintah-perintah M1632
Perintah D7 D6 D5 D4 D3 D2 D1 D0 Deskripsi Hapus Display 0 0 0 0 0 0 0 1 Hapus Display
dan DDRAM
Posisi Awal 0 0 0 0 0 0 1 X Set Alamat DDRAM di 0
Set Mode 0 0 0 0 0 1 I/D S Atur arah Pergeseran Kursor dan Display
Display On/Off 0 0 0 0 1 D C B Atur Display (D) On/Off, Kursor (C) On/Off, Blinking (B)
Geser Kursor/Display 0 0 0 1 S/C R/L X X
Geser Kursor atau display tanpa mengubah alamat DDRAM
Set Fungsi 0 0 1 DL N F X X Atur panjang data, jumlah baris yang tampil, dan font karakter
Set Alamat CGRAM 0 1 ACG ACG ACG ACG ACG ACG
Data dapatdibaca atau ditulis setelah alamat diatur
Set Alamat DDRAM 1 ADD ADD ADD ADD ADD ADD ADD
Data dapat dibaca atau ditulis setelah alamat diatur
X = Abaikan I/D 1 = Increment, 0 = Decrement S 0 = Display tidak geser
Universitas Kristen Petra
43
S/C 1 = Display Shift, 0 = Geser Kursor R/L 1 = Geser Kiri , 0 = Geser Kanan DL 1 = 8 bit, 0 = 4 bit N 1 = 2 baris, 0 = 1 baris F 1 = 5 ×10, 0 = 5 × 8 D 1 = Display On, 0 = Display Off C 1 = Cursor On, 0 = Cursor Off B 1 = Blinking On, 0 = Blinking Off
Sumber: Nalwan, Paulus Andi. Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632. Jakarta: PT Elex Media Komputindo, 2004. p.19
.
top related