Berbicara soal mikrokontroler, taukah kamu ada berapa jenis mikrokontroler? Ada berapa tipenya? Mikrokontroler memiliki banyak sekali tipe, dari tipe-tipe ini memiliki beberapa perbedaan fungsi dan kegunaannya. Salah satu tipenya yaitu ATmega16, Nah, dalam kesempatan ini saya akan memberikan kamu penjelasan mengenai Mikrokontroler ATmega16 ini, dan saya kan memnjelaskan Blok diagram dan juga Konfigurasi Pinnya. ATmega16 merupakan mikrokontroler yang banyak dipergunakan, karena fungsi dan cara menggunakannya yang sangat mudah. ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam chip yang sama dengen prosesornya.
A. Blok Diagram ATmega16
Dapat kita sebutkan dari gambar diatas, apa saja yang ada didalam mikrokontroler ATmega16 ini, Berikut adalah komponen-komponenya :
A. Blok Diagram ATmega16
Dapat kita sebutkan dari gambar diatas, apa saja yang ada didalam mikrokontroler ATmega16 ini, Berikut adalah komponen-komponenya :
1. Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.
2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.
3. Tiga buah Timer/Counter dengan kemampuan perbandingan.
4. CPU yang terdiri dari 32 register.
5. 131 intruksi andal yang umumnya hanya membutuhkan 1 siklus clock.
6. Watchdog Timer dengan oscilator internal.
7. Dua buah Timer/Counter 8 bit.
8. Satu buah Timer /Counter 16 bit.
9. Tagangan operasi 2.7 V - 5.5 V pada Atmega16.
10. Internal SRAM sebesar 1KB.
11. Memory Flash sebesar 16KB dengan kemampuan Read While Write.
12. Unit interupsi internal dan eksternal.
13. Port antarmuka SPI.
14. EEPROM sebesar 512 byte dapat diprogram saat operasi.
2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.
3. Tiga buah Timer/Counter dengan kemampuan perbandingan.
4. CPU yang terdiri dari 32 register.
5. 131 intruksi andal yang umumnya hanya membutuhkan 1 siklus clock.
6. Watchdog Timer dengan oscilator internal.
7. Dua buah Timer/Counter 8 bit.
8. Satu buah Timer /Counter 16 bit.
9. Tagangan operasi 2.7 V - 5.5 V pada Atmega16.
10. Internal SRAM sebesar 1KB.
11. Memory Flash sebesar 16KB dengan kemampuan Read While Write.
12. Unit interupsi internal dan eksternal.
13. Port antarmuka SPI.
14. EEPROM sebesar 512 byte dapat diprogram saat operasi.
15. Antar muka komparator analog.
16. 4 channel PWM.
17. 32x8 general purpose register.
18. Hampir mencapai 16 MIPS pada Kristal 16 MHz.
19. Port USART programmable untuk komunikasi serial.
B. Konfigurasi Pin ATmega16
Disetiap pin yang ada di ATmega16 memiliki fungsi yang berbeda, bisa kamu lihat penjelasannya dibawah ini. Saya akan memberikan gambar dari ATmega16 beserta nama pin-pinnya.
1. VCC merupakan pin yang mempunyai fungsi sebagai pin masukan catu daya/Power Supply
2. GND merupakan pin ground
3. RESET merupakan pin yang digunakan untuk mereset Mikrokontroler. Jika kamu memeberikan masukan low pada pin ini selama 2 machine cycle maka system akan direset.
4. XTL1 dan XTL2 adalah pin masukan clock internal
5. AVCC adalah pin masukan untuk tegangan ADC
6. AREF merupakan pin masukan tegangan referensi ADC. Untuk operasional ADC, suatu level tegangan antara GND dan AVCC harus diberikan ke kaki ini.
7. Port A (PA0-PA7) : Port A berfungsi sebagai input analog pada konverter A/D. Port A juga sebagai suatu Port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pena - pena Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pena–pena akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pena Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
8. Port B (PB0-PB7) : Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena Port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-updiaktifkan. Pena Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
9. Port C (PC0-PC7) : Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena Port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-updiaktifkan. Pena Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
10 Port D (PD0-PD7) : Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena Port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan
C. Penjelasan PORT (ABCD) Sebagai Input/Output
ATMega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
D. Peta Memori
AVR ATMega16 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 1kb SRAM internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler,
seperti kontrol register, timer/counter, fungsi – fungsi I/O, dan sebagainya. Alamat memori berikutnya yang digunakan untuk SRAM 1kb, yaitu pada lokasi $60 sampai dengan $45F.
16. 4 channel PWM.
17. 32x8 general purpose register.
18. Hampir mencapai 16 MIPS pada Kristal 16 MHz.
19. Port USART programmable untuk komunikasi serial.
B. Konfigurasi Pin ATmega16
Disetiap pin yang ada di ATmega16 memiliki fungsi yang berbeda, bisa kamu lihat penjelasannya dibawah ini. Saya akan memberikan gambar dari ATmega16 beserta nama pin-pinnya.
1. VCC merupakan pin yang mempunyai fungsi sebagai pin masukan catu daya/Power Supply
2. GND merupakan pin ground
3. RESET merupakan pin yang digunakan untuk mereset Mikrokontroler. Jika kamu memeberikan masukan low pada pin ini selama 2 machine cycle maka system akan direset.
4. XTL1 dan XTL2 adalah pin masukan clock internal
5. AVCC adalah pin masukan untuk tegangan ADC
6. AREF merupakan pin masukan tegangan referensi ADC. Untuk operasional ADC, suatu level tegangan antara GND dan AVCC harus diberikan ke kaki ini.
7. Port A (PA0-PA7) : Port A berfungsi sebagai input analog pada konverter A/D. Port A juga sebagai suatu Port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pena - pena Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pena–pena akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pena Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
8. Port B (PB0-PB7) : Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena Port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-updiaktifkan. Pena Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
9. Port C (PC0-PC7) : Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena Port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-updiaktifkan. Pena Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
10 Port D (PD0-PD7) : Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena Port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan
C. Penjelasan PORT (ABCD) Sebagai Input/Output
ATMega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
D. Peta Memori
AVR ATMega16 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 1kb SRAM internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler,
seperti kontrol register, timer/counter, fungsi – fungsi I/O, dan sebagainya. Alamat memori berikutnya yang digunakan untuk SRAM 1kb, yaitu pada lokasi $60 sampai dengan $45F.
No comments:
Post a Comment