Top Banner
3 Siswa dapat menjelaskan perbedaan mikroprosesor dan mikrokontroler. Siswa dapat menyebutkan fitur-fitur ATmega16. Siswa dapat menyebutkan fungsi masing-masing pin ATmega16. Siswa dapat menjelaskan arsitektur CPU ATmega16. 1. Perbedaan Mikroprosesor dan Mikrokontroler Mikroprosesor dan mikrokontroler sering didefinisikan dalam satu pengertian yang sama. Padahal sebenarnya, terdapat perbedaan yang mendasar diantara keduanya. Mikroprosesor merupakan Central Processing Unit (CPU) yang terbentuk dalam satu chip. CPU tersusun atas beberapa komponen meliputi: Arithmatic and Logic Unit (ALU), register, bus control unit, instruction decoder, dan lain-lain. Sedangkan mikrokontroler merupakan gabungan dari CPU, port input/output (I/O), memori, timer, port serial, port paralel, dan rangkaian pendukung lainnya yang dikemas menjadi satu chip. 2. Mikrokontroler AVR Mikrokontroler adalah sebuah sistem mikroprosesor yang di dalamnya terdapat CPU, ROM, RAM, I/O, Clock, dan peralatan internal lainnya yang sudah terhubung dan terorganisir dengan baik dan dikemas dalam satu chip yang siap pakai (Winoto, 2008: 3). Sehingga pengguna hanya perlu mengisi ROM sesuai dengan aturan penggunaan pabrik yang membuatnya. AVR adalah mikrokontroler RISC (Reduce Instruction Set Compute) 8 bit berdasarkan arsitektur Harvard, yang dibuat oleh Atmel pada tahun 1996 (Andrianto, 2013: 2). Menurut Nurcahyo (2012), AVR merupakan singkatan dari Advance Virtual RISC. Secara umum mikrokontroler AVR dapat dikelompokkan menjadi tiga, yaitu keluarga AT90Sxx, ATmega, dan ATtiny. Spesifikasi dari dari masing-masing kelompok dapat dilihat pada Tabel 1.1.
8

1. Perbedaan Mikroprosesor dan Mikrokontroler

Oct 01, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1. Perbedaan Mikroprosesor dan Mikrokontroler

3

Siswa dapat menjelaskan perbedaan mikroprosesor dan mikrokontroler.Siswa dapat menyebutkan fitur-fitur ATmega16.Siswa dapat menyebutkan fungsi masing-masing pin ATmega16.Siswa dapat menjelaskan arsitektur CPU ATmega16.

1. Perbedaan Mikroprosesor dan MikrokontrolerMikroprosesor dan mikrokontroler sering didefinisikan dalam satu pengertian yang

sama. Padahal sebenarnya, terdapat perbedaan yang mendasar diantara keduanya. Mikroprosesor merupakan Central Processing Unit (CPU) yang terbentuk dalam satu chip. CPU tersusun atas beberapa komponen meliputi: Arithmatic and Logic Unit (ALU), register, bus control unit, instruction decoder, dan lain-lain. Sedangkan mikrokontroler merupakan gabungan dari CPU, port input/output (I/O), memori, timer, port serial, port paralel, danrangkaian pendukung lainnya yang dikemas menjadi satu chip.

2. Mikrokontroler AVRMikrokontroler adalah sebuah sistem mikroprosesor yang di dalamnya terdapat CPU,

ROM, RAM, I/O, Clock, dan peralatan internal lainnya yang sudah terhubung dan terorganisir dengan baik dan dikemas dalam satu chip yang siap pakai (Winoto, 2008: 3). Sehingga pengguna hanya perlu mengisi ROM sesuai dengan aturan penggunaan pabrik yang membuatnya.

AVR adalah mikrokontroler RISC (Reduce Instruction Set Compute) 8 bit berdasarkan arsitektur Harvard, yang dibuat oleh Atmel pada tahun 1996 (Andrianto, 2013: 2). Menurut Nurcahyo (2012), AVR merupakan singkatan dari Advance Virtual RISC. Secara umum mikrokontroler AVR dapat dikelompokkan menjadi tiga, yaitu keluarga AT90Sxx, ATmega, dan ATtiny. Spesifikasi dari dari masing-masing kelompok dapat dilihat pada Tabel 1.1.

Page 2: 1. Perbedaan Mikroprosesor dan Mikrokontroler

4

Tabel 1.1 Jenis Mikrokontroler AVRMikrokontroler AVR Memori

Tipe Jumlah pin Flash EEPROM SRAMTinyAVR 8 32 1 2 k 64 128 0 128AT90Sxx 20 44 1 8 k 128 512 0 1 kATmega 32 64 8 128 k 512 4 k 512 4 k

Pemrograman mikrokontroler AVR dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA, dll) tergantung compiler yang digunakan. Pada modul ini akan membahas pemrograman mikrokontroler ATmega16menggunakan bahasa C dengan software compiler CodeVision AVR. Alur pemrograman mikrokontroler AVR menggunakan CodeVision AVR dapat dilihat pada Gambar 1.1.

Gambar 1.1 Alur Program CodeVisionAVR

3. Fitur ATmega16Pada modul ini, mikrokontroler yang digunakan yaitu ATmega16 dalam kemasan

Pin Dual In-Line Package (PDIP). Fitur-fitur yang dimiliki ATmega16 sebagai berikut:1) Mikrokontroler AVR 8 bit yang mempunyai kemampuan tinggi dengan daya yang

rendah.2) Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16MHz.3) Kapasitas Flash memori 16 kbyte, EEPROM 512 byte, dan SRAM 1 kbyte.4) Saluran I/O sebanyak 32 buah, yaitu Port A, Port B. Port C, dan Port D.5) CPU yang terdiri atas 32 buah register.6) Unit interupsi internal dan eksternal.7) Port USART untuk komunikasi serial.8) Beroperasi pada tegangan 4.5-5.5 Volt.9) Beberapa fitur peripheral sebagai berikut.

a. Dua Timer/Counter 8 bit dengan prescaler terpisah dan mode pembanding.b. Satu Timer/Counter 16 bit dengan Prescaler terpisah, mode pembanding, dan

mode Capture.c. Real Time Counter(RTC) dengan osilator terpisah.d. Empat saluran Pulse Width Modulation(PWM). e. Delapan saluran Analog to Digital Converter(ADC).f. Two-wire serial interface. g. Programmable Serial USART.h. Master/Slave SPI Serial Interface.

Page 3: 1. Perbedaan Mikroprosesor dan Mikrokontroler

5

i. Analog Comparator yang terdapat dalam chip.

4. Konfigurasi Pin ATmega16

Gambar 1.2 Konfigurasi Kaki (Pin) ATmega16

Konfigurasi kaki / pin ATmega16 dalam kemasan PDIP dapat dilihat pada Gambar 1.2. Fungsi dari masing-masing pin ATmega16 adalah sebagai berikut.

1) VCC merupakan pin yang berfungsi sebagai masukan catu daya chip IC tersebut.2) GND merupakan pin untuk Ground catu daya.3) Port A (PA0-PA7) merupakan pin input/output dua arah. Selain itu, fungsi khusus

dari port A adalah sebagai pin ADC (ADC0-ADC7).4) Port B (PB0-PB7) merupakan pin input/output dua arah. Fungsi khusus dari port B

dapat dilihat pada Tabel 1.2.

Tabel 1.2 Fungsi Khusus Port B ATmega16Pin Fungsi Khusus

PB0 T0 {Timer/Counter 0 External Counter Input) XCK (USART External Clock Input/Output)

PB1 T1 (Timer/Counter 1 External Counter Input)PB2 AIN0 (Analog Comparator Positive Input) INT2 (External

Interrupt 2 Input)PB3 AIN1 (Analog Comparator Negative Input)

OC0 (Timer/Counter 0 Output Compare Match Output)PB4 SS (SPI Slave Select Input)PB5 MOSI (SPI Bus Master Output/Slave Input)PB6 MISO (SPI Bus Master Input/Slave Output)PB7 SCK (SPI Bus Serial Clock)

Page 4: 1. Perbedaan Mikroprosesor dan Mikrokontroler

6

5) Port C (PC0-PC7) merupakan pin input/output dua arah. Fungsi khusus dari port C dapat dilihat pada Tabel 1.3.

Tabel 1.3 Fungsi Khusus Port C ATmega16Pin Fungsi Khusus

PC0 SCL (Two-wire Serial Bus Clock Line)PC1 SDA (Two-wire Serial Bus Data Input/Output Line)PC2 TCK (JTAG Test Clock)PC3 TMS (JTAG Test Mode Select)PC4 TDO (JTAG Test Data Out)PC5 TDI (JTAG Test Data In)PC6 TOSC1 {Timer Oscilator pin 1)PC7 TOSC2 (Timer Oscilator pin 2)

6) Port D (PD0-PD7) merupakan pin input/output dua arah. Fungsi khusus dari port D dapat dilihat pada Tabel 1.4.

Tabel 1.4 Fungsi Khusus Port D ATmega16Pin Fungsi Khusus

PD0 RXD (USART Input Pin)PD1 TXD (USART Output Pin)PD2 INT0 (External Interrupt 0 Input)PD3 INT1 (External Interrupt 1 Input)PD4 OC1B (Timer/Counter 1 Output Compare Match Output B)PD5 OC1A (Timer/Counter 1 Output Compare Match Output A)PD6 ICP1 (Timer/Counter Input Capture Pin)PD7 OC2 (Timer/Counter Output Compare Match Output)

7) RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.8) XTAL1 dan XTAL2 merupakan pin masukan untuk clock/osilator eksternal.9) AVCC merupakan pin masukan tegangan untuk ADC.10) AREF merupakan pin masukan tegangan referensi ADC.

5. Blok Diagram ATmega16ATmega16 memiliki berbagai fitur sebagaimana telah disebutkan pada sub-bab

sebelumnya mengenai fitur ATmega16. Keberadaan fitur-fitur tersebut dapat dilihat pada Gambar 1.3 yang menampilkan blok diagram ATmega16.

Page 5: 1. Perbedaan Mikroprosesor dan Mikrokontroler

7

Gambar 1.3 Blok Diagram ATmega16

Page 6: 1. Perbedaan Mikroprosesor dan Mikrokontroler

8

6. Arsitektur CPU ATmega16Pada gambar 1.3 terdapat bagian yang disebut AVR CPU. AVR CPU terdiri dari

beberapa bagian yang dapat dilihat pada Gambar 1.4.

Gambar 1.4 Arsitektur CPU ATmega16

a. Arithmetic Logic Unit (ALU)ALU beroperasi dengan cara berhubungan langsung dengan 32 x 8 General

Purpose Register (GPR). Dengan beroperasi dalam satu siklus tunggal, operasi aritmatika dari GPR secara langsung dieksekusi. Operasi ALU dibagi menjadi tiga operasi utama, yaitu aritmatika, logika, dan bit-function. Beberapa implementasi dari arsitektur ini juga menyediakan perkalian untuk bilangan bertanda atau tak bertanda dan perkalian pecahan.b. General Purpose Register (GPR)

Struktur 32 general purpose register yang terdapat dalam CPU dapat dilihat pada Gambar 1.5. Masing-masing register ditentukan juga dalam alamat memori data, dipetakan kedalam 32 lokasi pertama data user. Walaupun tidak secara fisik diimplementasikan sebagai lokasi SRAM, namun pengaturan ini memberikan fleksibilitasdalam mengakses register, seperti register pointer X,Y, dan Z dapat diset menuju indexdari register file manapun.

Page 7: 1. Perbedaan Mikroprosesor dan Mikrokontroler

9

Gambar 1.5 General Purpose Register AVR

c. Program MemoryArsitektur AVR mempunyai dua memori utama, yaitu memori data dan memori

program. Selain itu, ATmega16 memiliki memori EEPROM untuk menyimpan data. ATmega16 memiliki 16 kbyte On-chip In-System Reprogrammable Flash memory untuk menyimpan program. Karena semua instruksi AVR memiliki format 16 atau 32 bit, Flashdiatur dalam 8 k x 16 bit. Untuk keamanan program, memori program, flash dibagi ke dalam dua bagian, yaitu bagian program Boot dan aplikasi. Bootloader adalah program kecil yang bekerja pada saat start up time yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.d. Program Counter

Program Counter adalah perangkat yang menghubungkan GPR dan Data Bus 8 bit dengan Flash Memory Program. Program Counter bersifat linier, yaitu akan bekerja secara berurutan dari alamat awalnya.e. Instruction Register

Instruction Register adalah register yang digunakan untuk menyimpan instruksi program sementara.f. Instruction Decoder

Instruction Decoder adalah decoder instruksi program dari Instruction Registerdan menghasilkan sinyal kontrol yang sesuai untuk menjalankan instruksi.g. Memori Data (SRAM)

Memori data AVR ATmega16 terbagi menjadi 3 bagian, yaitu 32 buah registerumum, 64 buah register I/O dan 1 kbyte SRAM internal. General purpose registermenempati 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 peripheralmikrokontroler seperti control register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat memori berikutnya mulai alamat $60 hingga $45F digunakan untuk SRAM internal. Peta memori data ATmega 16 dapat dilihat pada Gambar 1.6.

Page 8: 1. Perbedaan Mikroprosesor dan Mikrokontroler

10

Gambar 1.6 Peta Memori Data ATmega16

h. Memori Data EEPROMATmega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat

tulis/baca 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 $000 sampai $1FF.i. Internal Peripheral

Internal Peripheral merupakan fitur yang ada dalam ATmega16. Antara lain terdiri dari Interrupt Unit, SPI Unit, Watchdog Timer, Analog Comparator, dan I/O Module. Fitur tersebut bisa digunakan oleh pengguna ATmega16.

Mikroprosesor adalah sebuah chip CPU yang di dalamnya terdapat ALU, register, bus control unit, instruction decoder, dan lainnya.Mikrokontroler AVR adalah sebuah chip yang di dalamnya terdapat CPU, ROM, RAM, I/O, Clock, dan piranti lainnya.ATmega16 merupakan salah satu jenis mikrokontroler yang masuk dalam keluarga ATmega.ATmega16 memiliki fitur antara lain: I/O, USART, RTC, ADC, PWM, dan lain-lain.ATmega16 terdiri dari 40 pin yang memiliki fungsi berbeda-beda, seperti power, osilator, reset, I/O, dan lainnya.