Mikrokontroler AT Mega16

2. 6 Teori scanning kolom
Pada Tugas Akhir ini sistem scanning yang digunakan untuk display dot matrik adalah scanning kolom. Diantarnya salah satunya dengan menggunakan 74LS164atau SIPO (serial input parallel output). 
Dengan menggunakan sistem ini tampilan akan dibuat dengan menampilkan tiap kolom dot matrik satu– persatu, dimana kolom – kolom dot matrik dihubungkan pada output 74LS164 dan 7 baris dot matrik dihubungkan pada port B mikrokontroler.
Untuk membuat scanning kolom maka input 74LS164 diberi logika high kemudian pada pin clock diberi logika low – high – low untuk memberikan input clock dengan tetap memberi logika high pada pin input.

2.7  Mikrokontroler AT Mega16
2.7.1 Gambaran Umum ATmega16
AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel,berbasis arsitektur ISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.
Atmega16 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, Atmega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses. Pada umumnya mikrokontroler terdiri dari bagian-bagian sebagai berikut: Alamat (address), Data, Pengendali, Memori (RAM atu ROM), dan bagian input-Output.
Arsitektural ATmega16 adalah sebagai berikut:

Gambar 2.8 Blok Diagram ATmega16

2.7.2 Konfigurasi pin-pin ATmega16
o VCC
Sebagai tegangan penyuplai.
o Ground
Sebagai ground.
o Port A (PA7..PA0)
Port A sebagai input analog ke A/D konverter. Port A juga sebagai 8-bit bi-directional port I/O, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor-resistor internal pull-up. Ketika port PA0…PA7 digunakan sebagai input dan pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tristate ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.
Gambar 2.9  ATmega16
o Port B (PB7..PB0)
Port B adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port B mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.
o Port C (PC7..PC0)
Port C adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull26 up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset.
o Port D (PD7..PD0)
Port D adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port D mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.
o Reset
Input Reset, pulsa akan menjadi minimum sekalipun clock bekerja.
o XTAL1
Input ke Inverting Oscillator Amplifier.
o XTAL2
Output dari Inverting Oscillator Amplifier.
o AREF
AREF adalah referensi analog ke A/D converter.
                                                                                                                  
2.7.3 Program Memori
2.7.3.1 Flash Memori
ATmega16 memiliki 16K byte flash memori dengan lebar 16 atau 32 bit. Kapasitas memori itu sendiri terbagi manjadi dua bagian yaitu bagian boot program dan bagian aplikasi program.










Gambar 2.10 Peta Memori Flash
Flash memori memiliki kemampuan mencapai 10.000 write dan erase.

2.7.3.2 Memori SRAM
Penempatan memori data yang lebih rendah dari 1120 menunjukkan register, I/O memori, dan data internal SRAM. 96 alamat memori pertama untuk file register dan memori I/O, dan 1024 alamat memori berikutnya untuk data internal SRAM. Lima mode pengalamatan yang berbeda pada data memori yaitu direct, indirect, indirect dis-placement, indirect pre-decreament dan indirect post-increament . Pada file register, mode indirect mulai dari register R26-R31. Pengalamatan mode direct mencapai keseuruhan kapasitas data. Pengalamatan mode indirect dis-placement mencapai 63 alamat memori dari register X atau Y. Ketika meggunakan mode pengalamatan indirect dengan pre-decrement dan post increment register X, Y, dan Z akan di-dicrement-kan atau di-increment-kan. Pada ATMega16 memiliki 32 register, 64 register I/O dan 1024 data internal SRAM yang dapat mengakses semua mode-mode pengalamatan
 














Gambar 2.11 Peta Memori SRAM

2.7.3.3 Memori EEPROM
Pada EEPROM ATmega16 memiliki memori sebesar 512 byte dengan daya tahan 100.000 siklus write/read.

Register-register pada memori EEPROM :
o Bit 15..9
Bit ini sebagai bit-bit bank pada Atmega16 dan akan selalu membaca zero.
Gambar 2.12  Bit 15..8

o Bit 8..0
Bit-bit ini sebagai alamat EEPROM.
o Bit 7..4
Bit-bit ini sebagai data EEPROM.

Gambar 2.13  Bit 7..0

o Bit 3
Bit ini sebagai Enable Interupt Ready pada EEPROM.
o Bit 2
Bit ini sebagai Enable Interupt Master pada EEPROM.
o Bit 1
Bit ini sebagai write enable pada EEPROM.
o Bit 0
Bit ini sebagai read enable pada EEPROM.



Tabel 2.4 Waktu pemrograman EEPROM