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