• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI. Universitas Sumatera Utara

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II DASAR TEORI. Universitas Sumatera Utara"

Copied!
15
0
0

Teks penuh

(1)

BAB II

DASAR TEORI

2.1 Mikrokontroler ATMega16

Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan masukan yang diterima dan program yang dikerjakan. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks.

Mikrokontroler adalah suatu chip dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari CPU (Central Proccesssing Unit), RAM (Random Acess Memory), EEPROM/ EPROM/ PROM/ ROM, EEPROM/ EPROM/ PROM/ ROM, I/O, Timer dan lain sebagainya. Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupsi yang cepat dan efisien.

Mikrokontroler sekarang ini sudah banyak dapat kita temui dalam berbagai peralatan elektronik, misalnya peralatan yang terdapat di rumah, seperti telepon digital, microwave oven, televisi, dan masih banyak lagi. Mikrokontroler juga dapat kita gunakan untuk berbagai aplikasi misalnya untuk pengendalian suatu alat, otomasi dalam industri dan lain – lain. Keuntungan menggunakan mikrokontroler adalah harganya murah, dapat diprogram berulang kali, dan dapat diprogram sesuai dengan keinginan kita.

(2)

2.1.1 Spesifikasi Mikrokontroler ATMega16

Mikrokontroler AVR adalah mikrokontroler RISC 8 bit berdasarkan aristektur Harvard, yang dibuat oleh Atmel pada tahun 1996. AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan AVR yaitu AVR memiliki kecepatan eksekusi program yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan MCS51 yang membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Mikrokontroler ATMega16 memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/Counter, Watchdog Timer, PWM, Port I/O, komunikasi serial, Komparator, I2C,dll.). Selain dari keunggulan di atas, mikrokontroler ATMega16 juga beredar di pasaran sehingga lebih mudah didapatkan.

Berikut ini merupakan beberapa spesifikasi ATMega16:

1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 Mhz.

2. Memiliki kapasitas flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte

3. Saluran Port I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 4. CPU yang terdiri atas 32 buah register

5. User interupsi internal dan eksternal 6. Port USART sebagai komunikasi serial 7. Konsumsi daya rendah (DC 5V)

8. Fitur peripheral, yang terdiri dari

a. Tiga buah Timer/Counter dengan perbandingan

- 2 (dua) buah Timer/Counter 8 bit dengan Prescaler terpisah dan Mode Compare

- 1 (satu) buah Timer/Counter 16 bit dengan Prescaler

terpisah, Mode Compare, dan Mode Capture

b. Real Time Counter dengan osilator tersendiri c. 4 channel PWM

d. 8 channel, 10-bit ADC

- 8 Single-ended Channel

(3)

- 2 Differential Channel dengan Programmable Gain 1x, 10x, atau 200x

e. Byte-oriented Two-wire Serial Interface

f. Antamuka SPI

g. Watchdog Timer dengan osilator internal

h. On-chip Analog Comparator

(4)

2.1.2 Konfigurasi Pin ATMega16

Susunan pena mikrokontroler ATMega16 diperlihatkan pada Gambar 2.2 di bawah ini.

Gambar 2.2 Konfigurasi Pin ATMega16

Konfigurasi pin ATMega16 dengan kemasan 40 pin DIP (Dual In-line Package) dapat dilihat pada Gambar 2.2. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin ATMega16 sebagai berikut:

1. Vcc merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin Ground

3. Port A (PA0…7) merupakan pin input/output dua arah dan pin masukan ADC.

4. Port B (PB0…7) merupakan pin input/output dua arah dan pin dengan fungsi khusus seperti SPI, MISO, MOSI, SS, AIN1/OC0, AIN0/INT2, T1, T0 T1/XCK

5. Port C (PC0…7) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti TOSC2, TOSC1, TDI,TD0, TMS, TCK, SDA, SCL

6. Port D (PD0…7) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti RXD, TXD, INT0, INT1, OC1B, OC1A, ICP1 7. RESET merupakan pin yang digunakan untuk me-reset

mikrokontroler.

(5)

9. AVCC merupakan pin masukan tegangan untuk ADC 10.AREF merupakan pin masukan tegangan referensi ADC

2.1.3 Arsitektur Mikrokontroler ATMega16

ATMega16 menggunakan arsitektur Harvard dengan memisahkan antara memori dan bus untuk program dan data untuk memaksimalkan kemampuan dan kecepatan. Instruksi dalam memori program dieksekusi dengan pipelining single

level dimana ketika satu instruksi dieksekusi, instruksi berikutnya diambil dari memori program. Konsep ini mengakibatkan instruksi dieksekusi setiap siklus

clock. CPU terdiri dari 32x8 bit general purpose register yang dapat diakses dengan cepat dalam satu siklus clock, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan dalam satu siklus. Pada operasi ALU, dua operand berasal dari register, kemudian operasi dieksekusi dan hasilnya disimpan kembali pada register dalam satu siklus clock. Operasi aritmetik dan logika pada ALU akan mengubah bit-bit yang terdapat pada Status Register (SREG). Arsitektur Mikrokontroler ATMega16 dapat dilihat pada Gambar 2.3 yang terdapat di bawah ini.

(6)

Gambar 2.3 Arsitektur Mikrokontroler ATMega16

2.1.4 Peta Memori ATMega16 2.1.4.1 Memori Program

Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data. ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit, maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi kedalam dua bagian, yaitu bagian program boot dan aplikasi seperti terlihat pada Gambar 2.5. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor

(7)

Gambar 2.4 Peta Memori ATMega16

2.1.4.2 Memori Data (SRAM)

Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32 register umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat data terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai fitur mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk SRAM internal.

Register File Data Address Space R0 $0000 R1 $0001 R2 $0002 … … R29 $001D R30 $001E R31 $001F

(8)

I/O Registers $00 $0020 $01 $0021 $02 $0022 … … $3D $005D $3E $005E $3F $005F Internal SRAM $0060 $0061 … $045E $045F Gambar 2.5 Peta Memori Data ATMega16

2.1.4.3 Memori Data EEPROM

ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat ditulis/dibaca dari memori ini, ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM mulai dari $000 sampai $1FF.

2.1.5 Software Mikrokontroler ATMega16

Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program untuk diisikan ke dalam mikrokontroler tersebut. Oleh karena itu, dalam tugas akhir ini akan digunakan perangkat lunak CodeVisionAVR sebagai media penghubung antara program yang akan diisikan ke mikrokontroler ATMega16 yang menggunakan bahasa C.

(9)

Pemrograman mikrokontroler AVR dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA, dll) tergantung compiler yang digunakan. Bahasa Assembler pada mikrokontroler AVR memiliki kesamaan instruksi, sehingga jika telah menguasai pemrograman satu jenis mikrokontroler AVR, maka akan dengan mudah untuk memprogram mikrokontroler AVR jenis lain, tetapi bahasa assembler relatif lebih sulit dipelajari daripada bahasa C, untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama, serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan dibandingkan bahasa assembly yaitu penyusunan program akan lebih sederhana dan mudah pada proyek yang lebih besar. Bahasa C hampir bisa melakukan semua operasi yang dapat dikerjakan oleh bahasa mesin.

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman mikrokontroler keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan program generator.

Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya, Compiler C yang digunakan hampir mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded).

Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi string, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu, SPI (Serial Peripheral Interface) dan lain sebagainya.

(10)

Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly. Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak downloader yang bersifat In System Programmer yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi ke dalam sistem memori mikrokontroler AVR yang sedang diprogram.

Selain itu, CodeVisionAVR juga menyediakan sebuah fitur yang dinamakan dengan Code Generator atau CodeWizardAVR. Secara praktis, fitur ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yang terdapat pada mikrokontroler AVR yang sedang diprogram. Dinamakan

Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan. Secara teknis, penggunaan fitur ini pada dasarnya hampir sama dengan application wizard pada bahasa-bahasa pemrograman visual untuk komputer (seperti Visual C, Borland Delphi, dan sebagainya)

2.2 LED Infrared

LED Infrared (LED inframerah) adalah suatu jenis diode yang terbuat dari bahan Gallium (Ga), Arsen (As), dan fosfor (P) yang apabila diberi tegangan maju maka arus majunya akan membangkitkan cahaya pada pertemuan PN-nya. Tegangan maju antara anoda-katoda berkisar antara 1,5 V – 2 V, sedangkan arus majunya berkisar antara 5 mA – 20 mA. Cahaya yang dibangkitkan oleh LED Inframerah adalah infra merah yang tidak dapat dilihat oleh mata. Led inframerah memancarkan cahaya pada spectrum inframerah dengan panjang gelombang λ=940 nm. Spectrum cahaya inframerah ini mempunyai level panas yang paling tinggi diantara sinar-sinar yang lain walaupun tidak tampak oleh mata dan mempunyai efek fotolistrik yang terkuat . Energi yang dihasilkan oleh LED inframerah tidak seluruhnya diubah menjadi bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian.

(11)

Gambar 2.6 Simbol LED Infrared

parameter simbol min typ max unit Kondisi Intensitas pemancar Ee 7.8 15.0 --- mW/sr IF=20mA --- 140 --- IF=100mA,tp=100µs, tP/T=0.01 --- 980 --- IF=1A,tp=100µs, tP/T=0.01 Panjang gelombang maksimum λP --- 850 --- nm IF=20mA Spectral Bandwidth ∆λ --- 45 --- IF=20mA Tegangan maju Vf --- 1.45 1.65 V IF=20mA --- 1.80 2.40 IF=100mA,tp=100µs, tp/T=0.01 --- 4.10 5.25 IF=1A,tp=100µs, tP/T=0.01 Arus balik IR --- --- 10 µA VR=5V

Sudut pancar

2Ɵ1/2 --- 17 --- deg IF=20mA

Tabel 2.1 Karakteristik LED Infrared

2.3 Photo transistor

Photo transistor adalah suatu jenis transistor NPN yang kaki terminal basisnya diganti dengan sebuah lapisan transparan untuk menerima cahaya dari transmitter. Jadi kaki terminal basis tidak menerima arus melainkan menerima cahaya yang dibiaskan padanya.

(12)

Gambar 2.7 Simbol photo transistor

Photo transistor memiliki sifat yang sama dengan transistor bipolar NPN yaitu dapat digunakan dalam dua konfigurasi common-emiter dan common collector.

(13)

Apabila dibandingkan dengan photo diode, photo transistor lebih sensitif, memiliki noise yang lebih sedikit, dan memiliki gain yang lebih besar. Tetapi memilki frekuensi respon yang lebih lambat dan lebih mudah panas.

Photo transistor dapat digunakan dalam dua pilihan mode yaitu:

1. Mode aktif / linier : dalam mode aktif, keluaran dari photo transistor sesuai dengan intensitas cahaya yang dibiaskan kepadanya.

2. Mode switch : dalam mode switch, photo transistor akan saturasi pada saat menerima sinar infrared dan cut off pada saat tidak menerima sinar infrared .

parameter kondisi Symbol min typ max units Sensitivitas puncak λps --- 880 --- nM Sudut penerimaan Q --- ±25 --- Deg Arus gelap Collector Emitter VCE= 10 V, Ee= 0 ID --- --- 100 nA Collector Emitter breakdown IC= 1 mA BVCEO 30 --- --- V Emitter Collector breakdown IE= 100 μA BVECO 5 --- --- V Arus collector on-state Ee= 0.5 mW/cm2 VCE= 5 V IC(ON) 0.2 --- 1.50 mA 1.00 --- --- Tegangan saturasi VCE=5V Ee= 0.5 mW/cm2 IC= 0.1 mA VCE(SAT) --- --- 0.4 V Waktu bangkit VCC=5V RL=100Ω IC= 1 mA tr --- 8 --- µs Waktu jatuh tf --- 8 ---

(14)

2.4 LCD 2x16

LCD 2x16 type M1632 adalah Liquid Crystal Display dot matrix yang mampu menampilkan 16x2 karakter, membutuhkan daya kecil dan dilengkapi panel LCD dengan tingkat kontras yang cukup tinggi serta kontroler LCD CMOS yang telah terpasang dalam modul tersebut. Kontroler ini memiliki ROM/RAM dan display data RAM, semua fungsi display dikontrol dengan instuksi dan modul ini dapat dengan mudah di hubungkan dengan unit Mikroprosesor (MPU).

Fitur-fitur LCD 2x16

- 16 karakter two lineLiquid Crystal Display 5x7 dot matrix + cursor - Duty ratio 1/16

- Karakter generator ROM untuk 192 tipe karakter (font karakter 5x7 dot matrix)

- Karakter generator RAM untuk 8 tipe karakter (font karakter 5x7 dot matrix)

- 80x8 bit display data RAM (maximum 80 karakter)

- Bisa melakukan Interfacing dengan mikroprosesor 4 bit atau 8 bit

- Display data RAM dan karakter generator RAM bisa dibaca dari mikroprosesor

- Banyak fungsi instruksi

- Rangkaian oscillator yang tertanam dalam LCD - Single power supply +5v

- Rangkaian reset otomatis yang tertanam dalam LCD - Proses CMOS

(15)

item simbol kondisi min tipe max unit Tegangan Input High VIH1 2.2 - VDD V Low VIL1 0 - 0.6 V Tegangan keluaran

High VOH1 IOH = 0.205 mA 2.4 - - V low VOL1 IOL = 1.2 mA - - 0.4 V Tegangan catu daya VDD 4.75 5.00 5.25 V VDD -VLC 1.5 - - V Komsumsi arus IDD - 2.0 3.0 mA ILC VLC = 0.25 V - 0.2 1.0 mA Frekuensi osilasi fosc Osilasi tahanan 190 270 350 kHz

Gambar

Gambar 2.1 Blok Diagram ATMega16
Gambar 2.2 Konfigurasi Pin ATMega16
Gambar 2.3 Arsitektur Mikrokontroler ATMega16
Gambar 2.4 Peta Memori ATMega16
+5

Referensi

Dokumen terkait

Lebih spesifik, peran ICON+ adalah memberikan layanan terbaik kepada para pelanggan listrik dari sisi teknologi informasi ICON+ juga menyediakan sejumlah layanan lainnya

 Antarmuka ini merupakan suatu teknik untuk manajemen window atau tugas yang terdiri dari beberapa kumpulan tampilan yang terorganisir seperti tabbed-notebook.  Antarmuka

Komponen ini menjawab pertanyaan bagaimana siswa SMA YPSIM bertindak dan berperilaku terhadap pembelajaran bermuatan multikultural yang diterapkan di sekolah mereka, yang

1) Untuk mendapatkan bagian-bagian yang berisi bensin (natural gasoline) dari gas- gas bumi, pada umumnya digunakan karbon aktif. 2) Untuk menghilangkan bagian-bagian yang

Data kualitatif untuk produk Programming multimedia learning ini diperoleh dari komentar dari para mahasiswa. Data kualitatif digunakan sebagai bahan pertimbangan dalam

Pemeliharaan dan Perawatan Asip Statis di Kantor Arsip Kabupaten Pesisir Selatan, Jurnal Ilmu Informasi Perpustakaan dan Kearsipan, Vol.. Hani, 2000, Manajemen

Khadiq Muakrom (063311042) Pola Kepemimpinan Pengasuh Pondok Pesantren Dalam Meningkatkan Kualitas Pendidikan Formal Di Pondok Pesantren Darul Amanah Kabunan Sukorejo

Kompetensi Dasar Materi Pokok dan Uraian Materi Nilai Budaya Dan Karakter Bangsa Kewirausah- aan/ Ekonomi Kreatif Gagasan Kegiatan Pembelajaran Indikator Pencapaian Kompetensi