6
BAB II TEORI DASAR
2.1
Mikrokontroler ATMEGA8535 Mikrokontroler adalah Single Chip Microcomputer (SCM) yang memiliki
kemampuan untuk diprogram dan dimanfaatkan untuk tugas – tugas yang berorientasi kontrol. Sebuah mikrokontroler memiliki 4 buah komponen utama didalamnya, yaitu Central Processing Unit (CPU), memori, input dan output (I/O) unit dan interkoneksi antara masing – masing komponen tersebut. Salah satu tipe mikrokontroler yang banyak menjadi andalan saat ini adalah tipe AT89S51. Mikrokontroler jenis inipun dipergunakan pada perancangan alat ini, karena banyak keunggulannya dibandingkan generasi sebelumnya seperti 8031 yang masih membutuhkan memori eksternal untuk penyimpanan programnya. Mikrokontroler ATmega8535 ini merupakan produksi dari ATMEL yang kompatibel dengan keluarga MCS-51, sehingga perintah-perintah dan fungsi kakinya tidak jauh berbeda dengan mikrokontroler keluarga MCS-51 lainnya yang sudah sering digunakan, yang membedakan dengan yang lainnya hanya pada cara penyimpanan data dan kapasitas dari memorinya. 2.1.1 Arsitektur Mikrokontroler ATMEGA8535 Beberapa fasilitas atau arsitektur yang dimiliki oleh mikrokontroler ATMEGA8535 (gambar 2.1) adalah sebagai berikut : a. 8 Bit AVR berbasis RISC dengan performa tinggi dan konsumsi daya rendah b. Kecepatan maksimal 16MHz.
7
c. Memori : 1. 8 KB Flash. 2. 512 byte SRAM. 3. 512 byte EEPROM d. Timer / Counter : 1. 2 buah 8 bit timer / counter. 2. 1 buah 16 bit timer / counter. 3. 4 kanal PWM e. 8 kanal 10/8 bit ADC. f. Programable Serial USART g. Komparator Analog. h. 6 pilihan sleep mode untuk penghematan daya listrik. i. 32 jalur I/O yang bisa diprogram.
Gambar 2.1 Blok Diagram ATmega8535
8
2.1.2 Fungsi PIN Pada Mikrokontroler 8535 IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda, namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaaan. Keluarga MCS-51 memiliki bentuk packaging PDIP 40 pin.
Gambar 2.2 Pin Out ATmega8535 Berikut adalah penjelasan fungsi tiap kaki pada ATMEGA8535 : a). Pin 1 sampai 8 (Port 1) merupakan port parallel 8 bit dua arah (bi-directional). Port ini biasanya berfungsi sebagai I/O biasa. b). Pin 9 (Reset) adalah masukan aktif tinggi. Pulsa transisi dari rendah ke tinggi. Akan me-reset program selama minimal dua cycle. c). Pin 10 (Vcc) adalah Pin yang dihubungkan dengan sumber tegangan (+5 volt) yang berfungsi sebagai supply tegangan untuk mikrokontroler. d). Pin 11 (Ground) di hubungkan ke Ground dari catu daya. e). Pin 12 (XTAL 2) adalah pin masukan ke osilator internal. Sebuah osilator kristal atau sumber oscillator lain diluar.
9
f). Pin 13 (XTAL 1) adalah pin keluaran dari osilator internal ke osilator kristal yang external. g). Pin 14 sampai 21 (Port 3) adalah port parallel 8 bit dua arah yang memiliki fungsi khusus. Fungsi khusus ini meliputi RXD (Receive Data), TXD (Transmit Data), INTO (Interrupt O), INT1 (Interrupt 1), T0 (Timer 0 external input), T1 (Timer 1 external input), OC1B (Output Compare Match B), OC1A (Output Compare Match A) dan OC2 (Output Compare Match Output). Bila fungsi khusus ini tidak dipakai, pin-pin ini dapat digunakan sebagai Port serial 8 bit serbaguna. h). Pin 22 sampai 29 (Port 2) adalah Port parallel 8 bit dua arah. Pada desain minimum digunakan sebagai Port I/O. Port ini mengirimkan byte alamat bila di lakukan pengaksesan memori external. i). Pin 30 AVCC adalah pin masukan untuk tegangan ADC. j). Pin 31 (Ground) di hubungkan ke Ground dari catu daya. k). Pin 32 AREF adalah pin masukan untuk tegangan referensi eksternal ADC. l). Pin 33 sampai 40 (Port 0) adalah Port pararel 8 bit open drain dua arah. Bila digunakan mengakses memori eksternal, port ini me-multipleks alamat memori dengan data.
2.1.3 CPU (Central Processing Unit) Central Processing Unit terdiri atas empat buah elemen penting, yaitu : • Control Unit berfungsi mengambil, mengkode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori untuk mengatur kerja komponen – komponen yang lain dengan cara mengirimkan sinyal – sinyal kontrol. Control Unit juga mengendalikan data bus(bus data) dan address bus (bus alamat) , dilanjutkan dengan menafsir dan mengatur sinyal yang terdapat pada bus pengendali.
10
•
Arithmatic and Logic Unit berfungsi untuk melakukan operasi – operasi aritmatika dan logical bagi mikroprosesor.
•
Register yang merupakan memori internal bagi mikroprosesor.
•
Interkoneksi CPU, jalur-jalur yang menghubungkan ketiga komponen diatas.
2.1.4 Struktur dan Organisasi Memori Program-program dan data-data pada mikrokontroler disimpan dalam memori, memori ini terdiri dari RAM dan ROM. Perbedaan antara RAM dan ROM adalah: Tabel 2.1 Perbedaan RAM dan ROM RAM Bisa ditulis dan dibaca Volatile
ROM Bisa dibaca Non-Volatile
Mikrokontroler ATMEGA8535 memiliki dua ruang memori utama, yaitu memori data dan memori program. Selain dua memori utama, ATMEGA8535 juga memiliki fitur EEPROM yang dapat digunakan sebagai penyimpan data. yaitu : a. Flash Memory ATmega8535 memiliki flash memory sebesar 8 Kbytes untuk memori program. Karena semua instruksi AVR menggunakan 16 atau 32 bit, maka AVR memiliki organisasi memori 4 Kbyte x 16 bit dengan alamat dari $000 hingga $FFF. Untuk keamanan software, memori flash dibagi menjadi dua bagian, yaitu bagian Boot Program dan bagian Application Progaram. AVR tersebut memiliki 12 bit Program Counter (PC) sehingga mampu mengalamati isi flash memori.
11
$000
Application Flash Section
Boot Flash Section
$FFF
Gambar 2.3 Memori Program AVR ATMEGA8535 b. SRAM ATMEGA8535 memiliki 608 alamat memori data yang terbagi menjadi 3 bagian, yaitu 32 buah register file, 64 buah IO register dan 512 Byte Internal SRAM.
Gambar 2.4 Peta Memori Data AVR ATmega8535 Tampak pada peta memori data bahwa alamat $0000-$001F ditempati oleh register file. I/O register menempati alamat dari $0020-$005F. Sedangkan sisanya sebagai Internal SRAM sebesar 512 Byte ($0060-$025F). c. EEPROM
12
ATMEGA8535 juga memiliki memori data berupa EEPROM 8 bit sebesar 512 byte ($000-$1FF). 2.1.5 Fasilitas Pendukung Pada MCS-51 Fasilitas pendukung pada perangkat keras (hardware) ATMEGA8535 antara lain meliputi Power on Reset dan On Chip Oscilator.
2.1.5.1Power on Reset Saat kondisi power dalam keadaan on, dan jika pada pin 9 diberi masukan high rangkaian melakukan hold terhadap pin RST. Untuk memastikan bahwa reset tersebut valid, pin RST harus dalam kondisi high selama dua siklus mesin, dan kemudian sistem akan di-reset dan register-register internal pada 8535 akan berisi nilai default tertentu. Nilai default setelah sistem reset dapat dilihat pada tabel Setelah kondisi pin RST kembali low mikrokontroler akan menjalankan program dari alamat 0000H, kondisi pada internal RAM tidak terjadi perubahan selama reset.
Gambar 2.5 Rangkaian Power on Reset 2.1.5.2 On Chip Oscilator ATmega8535 telah memiliki on-chip oscillator yang berada didalamnya. On Chip Oscilator ini digunakan untuk menghitung pewaktuan satu siklus program mikrokontroler. Untuk menggunakan oscillator yang berada dalam chip
13
mikrokontroler diperlukan sebuah kristal . Nilai kristal yang biasa digunakan pada keluarga MCS-51 adalah 12MHz. Tambahan kapasitor juga diperlukan untuk menstabilkan sistem. Pewaktuan siklus program mikrokontroler dapat dihitung dengan rumus : Siklus program = 12 / nilai kristal (MHz)
Gambar 2.6 Rangkaian Kristal
2.1.6 Komunikasi Serial ATMEGA8535 Komunikasi Serial ialah komunikasi dimana pengiriman data dilakukan perbit sehingga lebih lambat dibandingkan komunikasi paralel,namun komunikasi serial memiliki kelebihan yaitu jangkauan panjang kabel yang lebih jauh dibandingkan paralel. Ketika mikrokontroler berkomunikasi dengan dunia luar, mikrokontroler menyediakan data dalam potongan yang berukuran byte. Komunikasi serial dapat digunakan untuk pemindahan data antara dua sistem yang dilokasikan pada jarak ratusan kaki hingga jutaan mil terpisah. ATMEGA8535 mempunyai on chip Serial Port yang dapat digunakan untuk komunikasi serial tersebut secara full duplex sehingga port serial ini masih dapat menerima data pada saat pengiriman data terjadi. Untuk menampung data yang diterima atau data yang dikirimkan, ATMEGA8535 mempunyai sebuah register SBUF yang berada pada alamat 99H. Register ini berfungsi sebagai buffer sehingga pada saat
mikrokontroler
ini
membaca data yang pertama dan data kedua belum diterima secara penuh, data ini tidak akan hilang.
14
Register SBUF terdiri dari dua buah register yaitu Transmit Buffer register yang bersifat write only ( hanya dapat ditulis ) dan Receive buffer register yang bersifat read only (hanya dapat dibaca). Pada proses penerimaan data dari port serial, data yang masuk ke dalam port serial akan ditampung pada Receiver Buffer terlebih dahulu dan diteruskan ke jalur bus internal saat pembacaan register SBUF. Pada proses pengiriman data ke port serial, data yang ditulis dari bus internal akan ditampung pada Transmit Buffer Register terlebih dahulu.
Komponen-Komponen Pendukung 2.2
Resistor Resistor komponen pasif elektronika (gambar 2.5) yang berfungsi untuk
membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable Resistor dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain. Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga, perak, emas dan bahan metal umumnya memiliki resistansi yang sangat kecil. Bahan-bahan tersebut menghantarkan arus listrik dengan baik, sehingga dinamakan konduktor. Kebaikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon memiliki resistansi yang lebih besar menahan aliran electron dan disebut sebagai insulator. Tipe resistor yang umum berbentuk tabung porselen kecil dengan dua kaki tembaga dikiri dan kanan. Pada badannya terdapat lingkaran membentuk gelang kode warna untuk memudahkan pemakai mengenali besar resistansi tanpa
15
mengukur besarnya dengan Ohm meter. Kode warna tersebut adalah standar manufactur yang dikeluarkan oleh EIA (Electronic Industries Association)
Gambar 2.7 Resistor Karbon 2.3
Kapasitor Kapasitor adalah komponen elektronika yang dapat menyimpan muatan
listrik (gambar 2.6) struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik maka muatan-muatan positif akan mengumpul pada satu kaki elektroda metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya muatan negatif tidak biasa menuju ke ujung kutup positif karena terpisah oleh bahan elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduktif pada ujung-ujung kakinya. Di alam bebas phenomena kapasitor terjadi pada saat terkumpulnya muatan-muatan positif dan negatif diawan.
16
Gambar 2.8 Struktur Kapasitor Kapasitor merupakan komponen pasif elektronika yang sering dipakai didalam merancang suatu system yang berfungsi untuk mengeblok arus DC, Filter dan penyimpanan energi listrik. Didalamnya 2 buah pelat elektroda yang saling berhadapan dan dipisahkan oleh sebuah insulator. Sedangkan bahan yang digunakan sebagai insulator dinamakan dielektrik. Ketika kapasitor diberikan tegangan DC maka energy listrik disimpan pada tiap elektrodanya. Selama kapasitor melakukan pengisian, arus mengalir. Aliran arus tersebut akan berhenti bila kapasitor telah penuh. Yang membedakan tiap-tiap kapasitor adalah dielektriknya. Berikut ini adalah jenis-jenis kapasitor yang dipergunakan dalam perancangan ini. a. Electrolytic Capacitor (ELCO) Elektroda dari kapasitor ini terbuat dari alumunium yang menggunakan membran oksidasi yang tipis. Karakteristik utama Electrolytic Capacitor adalah perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati-hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila polaritasnya terbalik maka akan menjadi rusak bahkan “Meledak”. Biasanya jenis kapasitor digunakan pada rangkaian power supply. Kapasitor ini tidak bisa digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor dihitung dengan cara mengalikan tegangan catu daya dengan 2. Misalnya kapasitor akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang
17
dipilih harus memiliki tegangan kerja minimum 2 x 5 = 10 Volt. b. Ceramic Capacitor Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya. Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog, karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua kapasitor diatas. c. Nilai Kapasitor Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk
3 digit pertama angka yang terakhir berfungsi untuk
menentukan 10n, nilai n dapat dilihat pada table dibawah. Tabel 2.2 Nilai Kapasitor
18
Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya adalah 47 + 104 = 470.000 pF = 0.4µF sedangkan toleransinya 5%. Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico Farad). 2.4
Transistor Transistor adalah alat semikonduktor yang dipakai sebagai penguat, atau
circuit pemutus dan penyambung (switching), stabilitasi tegangan, modulasi sinyal dan sebagai fungsi lainnya. Transistor dibagi menjadi dua jenis, yaitu : transistor PNP dan transistor NPN, dan masing-masing memiliki tiga sambungan yaitu basis, kolektor dan emitor. Bahan mentah yang digunakan untuk menghasilkan bahan N dan bahan P adalah silicon dan germanium. Oleh karena itu, dikatakan : a. Transistor germanium PNP b. Transistor germanium NPN b. Transistor silicon NPN c. Transistor silicon PNP Semua komponen di dalam rangkaian transistor dengan symbol. Anak panah yang terdapat di dalam symbol menunjukkan arah yang melalui transistor.
Gambar 2.9 Simbol Tipe Transistor
19
2.4.1 Karakteristik Transistor Berdasarkan hukum kirchoff arus yang menyatakan bahwa jumlah arus yang masuk kesatu titik akan sama jumlahnya dengan arus yang keluar. Jika teorema tersebut di aplikasikan pada transistor, hukum ini menjelaskan hubungan: IE = IC + IB...........................................................................2.1
Gambar 2.10 Arus Transistor NPN Dari persamaan 2.1 tersebut di atas mengatakan emiter IE adalah jumlah dari arus kolektor IC dengan arus base IB, karena arus IB sangat kecil sekali atau disebutkan IB << IC, maka dapat di nyatakan : IE = IC ..................................................................................2.2 IC = β . IB ............................................................................2.3 Dimana β = Faktor penguat arus yang nilainnya berkisar antara 50 sampai 500. Sifat-sifat dari transistor dapat diketahui dengan melihat (gambar2.9) berikut ini :
Gambar 2.11 Rangkaian Common Emitor
20
Pada gambar diatas dapat diketahui nilai arus basis berdasarkan hukum Ohm :
..............................................................2.4
Dan dengan hukum tegangan kirchoff dapat diketahui : VCE = VCC – IC . RC.........................................................2.5 Dengan persamaan-persamaan yang telah ada, maka di buat sebuah grafik daerah kerja dari transistor, yaitu grafik yang menampilkan nilai IC dan VCE, dan juga nilai IB, Dengan member pemisalan pada nilai IB dan β, maka dapat diketahui nilai IC dan VCC, grafik tersebut dapat dilihat pada (gambar 3.0), dengan pemisalan β = 100. Untuk lebih jelasnya dapat kita perhatikan pada daerah kerja transistor tersebut.
Gambar 2.12 Grafik Daerah Kerja Transistor Pada grafik di atas dapat dilihat bahwa ada empat daerah kerja pada transistor, daerah kerja pertama adalah nilai antara 1V dan 40V, pada daerah ini diode basis-emitor mendapat forward bias dan diode basis-kolektor mendapat reverse bias, pada daerah inilah terjadi, perubahan tegangan kolektor tidak
21
mempengaruhi arus kolektor, daerah ini disebut dengan daerah aktif. Daerah kerja kedua adalah daerah breakdown, yaitu pada nilai diatas 40V, transistor tidak boleh dioperasikan pada daerah ini, karena akan menyebabkan kerusakan pada transistor. Daerah kerja ketiga adalah saturasi, yaitu ketika VCE bernilai antara 0 dan mendekati 1V, maka pada daerah ini diode basis-kolektor tidak mendapat reversebias. Daerah kerja ke empat adalah daerah cutoff, yaitu pada saat arus bias 0 ampere, namun arus pada kolektor masih ada, walaupun sangat kecil nilainnya, sehingga IC bisa di anggap 0 atau diabaikan.
2.5
Dioda dan LED
Dioda Dioda adalah piranti semikonduktor dengan bahan tipe-n yang menyediakan elektron-elektron bebas dan bahan tipe-p yang disatukan (P-N junction). Dioda merupakan suatu piranti dua elektroda dengan arah arus yang tertentu, dapat juga dikatakan dioda bekerja sebagai penghantar bila tegangan listrik diberikan dalam arah tertentu tetapi dioda akan bekerja sebagai isolator bila tegangan yang diberikan dalam arah berlawanan dari pergerakan elektron pembentuknya. Kristal pn sebagai penyusun dioda akan bekerja jika arus didalamnya hanya dapat mengalir dalam satu arah dan tidak sebaliknya. Hubungan ini disebut dengan rangkaian prategangan maju (forward bias). Pada dioda, kita mengenal potensial barrier yaitu beda potensial pada persambungan. Beda potensial ini menjadi cukup besar untuk menghalangi proses penyebaran difusi selanjutnya dari
22
elektron-elektron bebas. Pada suhu ruangan potensial barrier bekerja sekitar 0,7 Volt untuk Silikon dan 0,3 Volt untuk Germanium.
Gambar 2.13 Kurva Dioda
karakteristik dioda pada pra tegangan maju (forward) dan pra tegangan balik (reverse). Dari gambar karakteristik tersebut dapat dianalisa bahwa sebuah dioda akan mengalirkan arus setelah tegangan luar mengatasi potensial barrier, maka arus maju akan menjadi besar. Pada kurva dengan karakteristik balik saat tegangan yang diberikan sama dengan nol, maka tidak ada arus yang mengalir jika tegangan dinaikkan maka arus akan sangat kecil. Saat arus maju terlalu besar maka dioda akan rusak karena disipasi daya terlalu besar. Jika pada arah balik tegangan yang terlalu tinggi akan menimbulkan kedadalan (breakdown) listrik pada dioda.
Gambar 2.14 Symbol Dioda
23
LED (Light Emitting Diode) Disingkat dengan LED. Dikenal juga dengan Dioda cahaya, karena perangkat elektronik ini mampu menghasilkan cahaya. Light Emitting Diode adalah suatu semikonduktor yang memancarkan cahaya monokromatik yang tidak koheren
ketika
diberi
tegangan
maju.
Gejala
ini
termasuk
bentuk
elektroluminesensi. Warna yang dihasilkan bergantung pada bahan semikonduktor yang dipakai, dan bisa juga dekat ultraviolet, tampak, atau inframerah.
LED (Light Emitting Dioda) yaitu jenis dioda yang dapat meng-emisikan (memancarkan) cahaya. Cahaya yang dikeluarkan bisa cahaya tampak (merah, kuning, hijau, biru, putih dsb.) ataupun infra merah. Untuk LED cahaya tampak biasa digunakan sebagai lampu indikator pada peralatan-peralatan elektronik atau lampu2 display,7 segmen dan sebagainya., sedangkan LED infra merah biasa digunakan pada rangkaian remote control televisi, VCD/DVD player, mouse dsb. LED memiliki kelebihan yaitu konsumsi arus yang rendah (sekitar 50 mA) dan usia/life time yang panjang jika digunakan pada tegangan kerja yang sesuai (sekitar 1.5 – 3 volt DC) sehingga cocok digunakan dalam banyak penerapan. Jika tegangan yang diberikan melebihi 3 volt, LED akan berumur pendek dan bahkan bisa langsung rusak.
Gambar 2.15 Symbol LED
24
2.6
Seven Segmen Seven segmen terdiri dari tujuh buah segmen atau LED (Light Emited
Dioda), dimana masing-masing segmen tersebut akan menyala pada saat arus mengalir melaluinya. Dengan mengkombinasikan segmen-segmen tersebut kita dapat membentuk digit desimal. Untuk membentuk angka satu maka segmen b dan c harus menyala, sedangkan untuk membentuk angka tiga maka segmen a,b,c,d, dan g harus menyala. Begitu seterusnya, perlu diketahui untuk menyalakan LED (segmen) diperlukan suatu resistor untuk membatasi arus. Untuk lebih jelas format dari seven segmen tersebut dapat dilihat pada tabel berikut: Tabel 2.3 Format Display Seven Segmen Common Anoda a
b
c
d
e
f
g
Digit
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
2
1
1
1
1
0
0
1
3
0
1
1
0
0
1
1
4
1
0
1
1
0
1
1
5
0
0
1
1
1
1
1
6
1
1
1
0
0
0
0
7
1
1
1
1
1
1
1
8
1
1
1
0
0
1
1
9
1
0
0
1
1
1
0
C
25
Gambar 2.16 Kontruksi Seven Segmen Common Anoda Seven segmen dapat dibedakan menjadi dua jenis yaitu common anoda, dan common katoda, sedangkan dalam pembuatan modul ini seven segmen yang dipakai adalah common anoda. 1. Seven Segmen Common Anoda Untuk seven segmen ini, anoda dari masing-masing segmen digabung, dan dihubungkan ke Vcc +5V, dan untuk mengaktifkannya diperlukan driver yang menyediakan taraf rendah (aktif low). Rangkaian dasar seven segmen common anoda dapat dilihat pada gambar 2.14.
Gambar 2.17 Seven Segmen Common Anoda
26
2. Seven Segmen Common Katoda Pada seven segmen jenis ini, katoda dari masing-masing segmen di gabung dan hubungkan ke ground, dan untuk mengaktifkannya diperlukan driver yang menyediakan taraf tinggi (aktif high). Rangkaian dasar seven segmen common katoda dapat dilihat pada gambar 2.15.
Gambar 2.18 Seven Segmen Common Katoda Sesuai dengan gambar, maka untuk menyalakan salah satu segmen, maka anodanya harus diberi tegangan minimal 3 volt atau logika high. Misalnya jika segmen a akan dinyalakan, maka anoda pada segmen a harus diberi tegangan minimal 3 volt atau logika high, dengan demikian maka segmen a akan menyala. Demikian juga untuk segmen lainnya.
2.7
Relay Relay adalah saklar elektronik yang dapat membuka atau menutup
rangkaian dengan menggunakan control dari rangkaian elektronik lain. Sebuah relay tersusun atas kumparan, pegas, saklar (terhubung pada pegas) dan 2 kontak elektronik (normally close dan normally open) a. Normally Close (NC) Sakar terhubung dengan kontak ini saat relay tidak aktif atau dapat dikatakan saklar dalam kondisi terbuka.
27
b. Normally Open (NO) Saklar terhubung dengan kontak ini saat relay aktif atau dapat dikatakan saklar dalam kondisi tertutup. NO C NC Gambar 2.19 Relay Berdasarkan pada prinsip dasar cara kerjanya, relay dapat bekerja karena adanya medan magnet yang digunakan untuk menggerakan saklar. Saat kumparan diberikan tegangan sebesar tegangan kerja relay maka akan timbul medan magnet pada kumparan karena adanya arus yang mengalir pada lilitan kawat. Kumparan yang bersifat sebagai elektromagnet ini kemudian akan menarik saklar dari kontak NC ke kontak NO. jika tegangan pada kumparan dimatikan maka medan magnet pada kumparan akan hilang sehingga pegas akan menarik saklar ke kontak NC.
2.8
VU meter Analog VU meter (Volume –Unit meter) merupakan salah satu pelengkap dari audio
dan saat ini banyak dikembangkan misalnya pada tape compo, power amplifier dan aplikasi-aplikasi lainnya. Pada dasarnya VU meter adalah sebuah tampilan dalam bentuk grafik yang bergerak mengikuti irama atau perubahan tekanan suara pada frekuensi-frekuensi tertentu. Gerakan pada level VU meter mewakili besarnya gain (dB) yang dihasilkan dari suara audio. Pada umumnya VU meter dibagi menjadi 2 bentuk yaitu VU meter analog dan VU meter digital. Biasanya VU meter ini memiliki indicator berupa gerakan jarum yang sesuai
28
dengan perubahan irama atau musik secara analog. Biasanya digunakan pada power amplifier sebagai indikator dari input atau output. Tetapi dalam perancangan papan skor digunakan untuk menampilkan frekuensi tekanan naik atau turun pada battery. Relay
Battery
VU meter
Gambar 2.20 Sistem VU Meter Analog
2.9
Bahasa C Bahasa
yang
digunakan
untuk
memprogram
IC
mikrokontroler
ATMEGA8535 adalah bahasa C. Pembahasan tentang bahasa C ini tidak secara terperinci, tetapi hanya secara garis besar. Contoh-contoh nantinya akan langsung dipraktikkan untuk memprogram mikrokontroler. Struktur Pemrograman C Struktur penulisan bahasa C secara umum terdiri atas empat blok, yaitu :
1. HEADER Header berisi include file (.hex), yaitu library (pustaka) yang akan digunakan dalam pemrogaraman. Contoh : #include <mega8535.h> #include <delay.h> #include <stdio.h> ... 2. DEKLARASI KONSTANTA GLOBAL DAN ATAU VARIABEL
29
TIPE DATA Berikut ini adalah table tipe-tipe variabel data yang dapat digunakan di compiler Code Vision AVR: Tabel 2.4 Tipe-Tipe Variable Data Code Vision AVR Type Size (Bits) Range bit 1 0,1 char 8 -128 to 127 unsigned char 8 0 to 255 signed char 8 -128 to 127 int 16 -32768 to 32767 short int 16 -32768 to 32767 unsigned int 16 0 to 65535 signed int 16 -32768 to 32767 long int 32 -2147483648 to 2147483647 unsigned long int 32 0 to 4294967295 signed long int 32 -2147483648 to 2147483647 float 32 ± 1.75e-38 to ± 3.402e38 double 32 ± 1.75e-38 to ± 3.402e38 Khusus untuk tipe data bit hanya bisa dideklarasikan untuk variabel global. KONSTANTA Penulisanan konstanta adalah sebagai berikut : Integer atau long integer dapat ditulis dengan format desimal (contoh 1234), Biner dengan awalan 0b (contoh 0b101001), heksadesimal dengan awalan 0x (contoh 0xff) atau octal dengan awalan 0 (contoh 0777). Unsigned integer ditulis dengan diakhiri U (contoh 10000U). Long integer ditulis dengan diakhiri L (contoh 99L). Unsigned long integer ditulis dengan diakhiri UL (contoh 99UL). Floating point ditulis dengan diakhiri F (contoh 1.234F). Karakter konstanta harus dituliskan dalam tanda kutip (contoh ‘a’), sedangkan konstanta string harus dalam tanda kutip dua (contoh “Saya Belajar C”). LABEL, VARIABEL, FUNGSI
30
Identifikasi label, variable dan fungsi dapat berupa huruf (A…Z, a….z) dan angka (0…9), juga karakter underscore (_). Meskipun begitu identifikasi hanya bisa dimulai dengan huruf atau karakter underscore. Yang lebih penting lagi, identifikasi ini Case is significant, yaitu huruf besar dan kecil berbeda. Misal, variable 1 tidak sama variable 1. Identifikasi bisa memuat sebanyak 32 karakter. KOMENTAR Komentar diawali dengan tanda ‘/*’ dan diakhiri dengan ‘*/’. RESERVED KEYWORDS Berikut ini adalah daftar kata baku yang tidak bisa dipakai (reserved keywords) untuk label, identifikasi atau variabel. OPERATOR Suatu instruksi pasti mengandung operator dan operand. Operand adalah variable atau konstanta yang merupakan bagian pernyataan sedangkan operator adalah suatu symbol yang menyatakan operasi mana yang akan dilakukan oleh operand tersebut. Contoh : c=a+b; Ada tiga operand (a, b, dan c) dan dua operator (= dan +). Operator dalam C dibagi menjadi 3 kelompok, yaitu : 1. Unary Operator yang beroperasi pada satu operand, missal:-n. 2. Binary Operator yang beroperasi pada dua operand, missal: a-n. 3. Ternary
31
Operator yang memerlukan tiga atau lebih operand, missal: a=(b*c)+d. Khusus untuk tipe data bit hanya bisa dideklarasikan untuk variabl global. a). Aritmatika b). Logika c). Manipulasi Bit d). Percabangan e). Perulangan f). Konversi Pola (%)
4. PROSEDUR DAN FUNGSI Seringkali dalam suatu program kita menemukan kelompok instruksi untuk suatu keperluan tertentu yang sering dijalankan. Kelompok instruksi ini bisa dibuat sebagai prosedur atau fungsi. Langkah ini akan dapat menghemat memori dibanding bila instruksi-instruksi tersebut ditulis berulang-ulang. Ingat bahwa di sini kita akan memprogram mikrokontroler yang memiliki memori yang terbatas. PROSEDUR Prosedur adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu tanpa mengembalikan suatu nilai. Contoh: . . . Void delay (unsigned char i) { While (i--) { /* penulisan untuk bahasa assembly */
32
#asm nop nop #endasm }; } . . . FUNGSI Fungsi adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu dengan hasil akhir pengembalian nilai dari keperluan tersebut. Contoh: . . . int luas(int pj, int 1b) luas = pj*1b; return luas; } . . . Pemanggilan prosedur atau fungsi dilakukan dengan langsung menuliskan prosedur atau fungsinya. Contoh: . . . delay(150);
// cara memanggil prosedur
dt = luas(5,10)
// cara menggunakan fungsi
}
33
. . . 4. PROGRAM UTAMA Kita sebut sebagai in-line assembly Dalam pemrograman dengan bahasa C ini kita masih dapat memasukkan bahasa assembly ke dalam program C. struktur penulisannyapun juga mudah, yaitu: . . . #asm
// dimulai dengan
#asm
nop // blok bahasa assembly nop #endasm // diakhiri dengan #endasm . . . Atau jika hanya beberapa instruksi maka kita bisa melakukannya dengan cara: . . . #asm(‘nop\nop\nop”)
2.10 Software Downloader Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software AVR Studio yang dapat didownload dari internet. AVR studio adalah suatu program bantu yang terintegrasi untuk menulis sekaligus debug aplikasi AVR dengan system operasi Windows 9x/Me/NT/2000/XP. AVR studio4 diperlukan karena code vision AVR-Eval memerlukan source code dari AVR studio untuk kompilasi.
34
Gambar 2.21 Tampilan AVR Studio 4 Code Vision AVR C Compiler (CVAVR) merupakan compiler bahasa C untuk AVR. CVAVR ini dapat mengimplementasikan hampit semua instruksi bahasa C yang sesuai dengan arsitektur AVR. CVAVR juga memiliki program generator yang memungkinkan kita membuat program dengan cepat. CVAVR ini dapat berjalan di bawah system operasi Windows 9x, Me, NT 4, 2000 dan XP. CVAVR ini dapat mengimplementasikan hamper semua instruksi bahasa C yang sesuai dengan arsitektur AVR, bahkan terdapat beberapa keunggulan tambahan untuk memenuhi keunggulan spesifikasi dari AVR. Hasil kompilasi objek CVAVR bisa digunakan sebagai source debug dengan AVR Studio debugger dari ATMEL. CVAVR juga memiliki program generator yang memungkinkan kita membuat program dengan cepat. Code vision AVR digunakan adalah Versi 1.25.1 Evaluation (CVAVREval). Meski hanya program evaluasi tetapi program ini cukup untuk belajar pemrograman AVR. Untuk mendapatkan CVAVREval cukup mudah, bisa didapat dari internet atau ditoko-toko software.