Showing posts with label Mikrokontroler. Show all posts
Showing posts with label Mikrokontroler. Show all posts

Sunday, December 18, 2016

Jenis-Jenis Keluarga Mikrokontroler

Kali ini KelasElketro ingin memeberikan kamu penjelasan jenis-jenis dari mikrokontroler. Mikrokontroler adalah suatu unit yang dapat diprogram cara kerjanya, sehingga dapat dipergunakan untuk keperluan yang berbeda. Pada masa sekarang mikrokontroler banyak digunakan sebagai pengontrol pada peralatan-peralatan mulai dari mainan/hobie, peralatan rumah tangga, sampai kontrol pada peralatan industri. Disini saya akan menjelaskan jenis-jenis mikrokontroler menurut keluarganya. Terdapat ratusan bahkan ribuan dari mikrokontroler yang ada didunia ini. Tetapi saya hanya akan menjelaskan secara keluarga besarnya saja. Berikut ini adalah jenis-jenis dari mikrokontroler :

1) MCS51

Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data. Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control).

Mikrokontroler MCS51 Atmel versi 40 kaki mempunyai 32 kaki sebagai port paralel dan 8 pin yang lain untuk konfigurasi kerja mikrokontroler. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel yang masing-masing dikenal sebagai port 0 , port 1 , port 2 ,port 3. Nomor dari masing-masing jalur (kaki) dari port paralel mikrokontroler MCS51 Atmel mulai dari 0 sampai 7, jalur (kaki) pertama dari port 0 disebut sebagai P0.0 dan jalur terakhir untuk port 3 adalah P3.7. Mikrokontroler MCS51 Atmel versi mini mempunyai 20 kaki, 15 kaki diantaranya adalah kaki port1 dan port 3. 5 kaki yang lain untuk konfigurasi kerja mikrokontroler. Port 1 terdiri dari 8 jalur yaitu P1.0 sampai P1.7 dan port 3 terdiri dari 7 jalur yaitu P3.0 sampai P3.5 dan P3.7.
2) AVR

Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.

a) Varian Mikrokontroler AVR

Antar seri mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Berikut ini adalah macam dari Mikrokontroler AVR

  • Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh mikrokontroler
  • RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running
  • EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang running
  • Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program
  • Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa
  • UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous
  • PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa
  • ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu
  • SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial synchronous
  • ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal
  • Salah satu seri mikrokontroler AVR yang banyak menjadi andalan saat ini adalah tipe ATtiny2313 dan ATmega8535. Seri ATtiny2313 banyak digunakan untuk sistem yang relatif sederhana dan berukuran kecil. Berikut adalah feature-feature mikrokontroler seri ATtiny2313.
  • Kapasitas memori Flash 2 Kbytes untuk program
  • Kapasitas memori EEPROM 128 bytes untuk data
  • Maksimal 18 pin I/O
  • 8 interrupt
  • 8-bit timer
  • Analog komparator
  • On-chip oscillator
  • Fasilitas In System Programming (ISP)
Sedangkan ATmega8535 banyak digunakan untuk sistem yang kompleks, memiliki input sinyal analog, dan membutuhkan memori yang relatif lebih besar. Berikut adalah feature-feature mikrokontroler seri ATmega8535.
  • Memori Flash 8 Kbytes untuk program
  • Memori EEPROM 512 bytes untuk data
  • Memori SRAM 512 bytes untuk data
  • Maksimal 32 pin I/O
  • 20 interrupt
  • Satu 16-bit timer dan dua 8-bit timer
  • 8 channel ADC 10 bit
  • Komunikasi serial melalui SPI dan USART
  • Analog komparator
  • 4 I/O PWM
  • Fasilitas In System Programming (ISP)
3) PIC

PIC ialah keluarga mikrokontroler tipe RISC buatan Microchip Technology. Bersumber dari PIC1650 yang dibuat oleh Divisi Mikroelektronika General Instruments. Teknologi Microchip tidak menggukana PIC sebagai akronim,melaikan nama brandnya ialah PICmicro. Hal ini karena PIC singkatan dari Peripheral Interface Controller, tetapi General Instruments mempunyai akronim PIC1650 sebagai Programmabel Intelligent Computer.

PIC pada awalnya dibuat menggunakan teknologi General Instruments 16 bit CPU yaitu CP1600. * bit PIC dibuat pertama kali 1975 untuk meningkatkan performa sistem peningkatan pada I/). Saat ini PIC telah dilengkapi dengan EPROM dan komunikasi serial, UAT, kernel kontrol motor dll serta memori program dari 512 word hingga 32 word. 1 Word disini sama dengan 1 instruki bahasa assembly yang bervariasi dari 12 hingga 16 bit, tergantung dari tipe PICmicro tersebut. Silahkan kunjungi www.microchip.com untuk melihat berbagai produk chip tersebut.

Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam.

PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang rendah, ketersediaan dan penggunaan yang luas, database aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan port serial yang terdapat pada komputer.

Monday, December 12, 2016

Diagram Blok dan Konfigurasi Pin ATmega16

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 :

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.
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.

Thursday, December 8, 2016

Diagram Blok dan Konfigurasi Pin ATmega8

Sekarang saya ingin memberikan penjelasan lengkap tentang mikrokontroler yaitu ATmega8, Seperti yang kamu ketahui bahwa mikrokontroler adalah suatu komponen elektronika yang fungsinya untuk memnjalankan suatu program. Ada banyak jenis dari mikrokontroler antara lainnya ATmega8. ATmega8 ini termasuk kedalam Mikrokontroler keluarga AVR bersama ATmega16/32/328. ATmega8 merupakan Mikrokontroler yang banyak dipergunakan, khususnya oleh pemula. Karena dalam mempelajari ATmega8 ini sangatlah mudah. Berikut ini adalah Penjelasan Lengkap dari Mikrokontroler ATmega8 : 
A. Mikrokontroler ATmega8

Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC. Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal, ATmega8 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS per MHz, yang memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan kecepatan pemrosesan. AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (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 USART, Programmable Watchdog Timer, dan mode power saving. Beberapa diantaranya 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.

Penggunaan rangkaian mikrokontroler ATMega8 ada dua pilihan, dengan menggunakan board ATMega8 develompment board yang sudah ada dipasaran atau dengan membuat sendiri rangklaian mikrokontroler tersebut. Jika menggunakan rangkaian mikrokonter yang sudah tersedia dipasaran maka akan memepersingkat waktu pembuatan sistem, karena hanya tinggal membeli rangkaian berupa kit dan hanya tinggal menggunakannya.

B. Diagram Blok ATmega8

Terdapat diagram blog dari mikrokontroler ATmega8 ini. Berikut Gambar dan penjelasannya :

1) Saluran I/O sebanyak 23 buah terbagi menjadi 3 port.
2) ADC sebanyak 6 saluran dengan 4 saluran 10 bit dan 2 saluran 8 bit.
3) Tiga buah timer counter, dua diantaranya memiliki fasilitas pembanding.
4) CPU dengan 32 buah register
5) Watchdog timer dan oscillator internal.
6) SRAM sebesar 1K byte.
7) Memori flash sebesar 8K Bytes system Self-programable Flash
8) Unit interupsi internal dan eksternal.
9) Port antarmuka SPI.
10) EEPROM sebesar 512 byte.
11) Port USART ( Universal Syncronous and Asycronous Serial Receiver and Transmitter ) untuk komunikasi serial.

C. Konfigurasi PIN ATmega8

ATmega8 memiliki 28 pin atau kaki, Masing-masing pinnya mempunyai fungsi dan kegunaannya tersendiri. Baik sebagai Port, Catu daya, dan fungsi lainnya. Berikut ini saya akan jelaskan Konfigurasi dari Pin Mikrokontroler ATmega8 beserta fungsinya :


1. VCC : Merupakan supply tegangan untuk digital

2. GND : Merupakan ground untuk smua komponen yang membutuhkan grounding

3. Port B : Adalah 8 buah pin mulai dari pin B.0 sampai dengan pin B.7. Tiap pin dapat digunakan sebagai input dan juga output. Port B merupakan sebuah 8-bit bit-directional I/O port dengan inernal pull-up resistor. Sebagai input, pin – pin yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan. Jika ingin menggunakan tambahan kristal, maka cukup untuk menghubungkan kaki dari kristal ke keki pada pin port B. Namun jika tidak digunakan, maka cukup untuk dibiarkan saja. Pengguna kegunaan dari masing-masing kaki ditentukan dari clock fuse setting-nya.

4. Port C : merupakan sebuah 7-bit bi-directional I/O yang di dalam masing-masing pin terdapat pull-up resistor. Jumlah pin-nya hanya 7 buah mulai dari C.0 sampai dengan pin C.6. Sebagai keluaran / output, port C memiliki karakteristik yang sama dalam hal kemampuan menyarap arus (sink ) ataupun mengeluarkan arus ( source).

5. Reset / PC6 : Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Untuk diperhatikan juga bahwa pin ini memiliki karakteristik yang berbeda dengan pin – pin yang tedapat pada port C. Namun jika RSTDISBL Fuse tidak deprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, makan akan menghasilkan suatu kondisi reset meskipun clock-nya tidak berkerja.

6. Port D : Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor. Fungsi dari port ini sama dengan port –port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.

7. AVCC : Pada pin ini memiliki fungsi sebagai power supply tegangan untuk ADC. Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja. Bahkanjika ACD pada AVR tidak digunakan, tetap saja disarankan untuk menghubungkan secara terpisah dengan VCC. Cara menghubungkan AVCC adalah melewati low-pass filter setelah itu dihubungkan dengan VCC.

8. AREF : Merupakan pin referensi analog jika menggunakan ADC. Pada AVR status Register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi intruksi aritmatik. Informasi ini dapat digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian. Perlu diketahui bahwa register ini di-update setelah semua operasi ALU (Arithmetic Logic Unit). Hal tersebut seperti yang telah tertulis dalam datasheet khususnya pada bagian Intruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang kebutuhan penggunaan instruksi perbandingan yang telah didedikasikan serta dapat menghasilkan peningkatan dalam hal kecepatan dan kode yang lebih sederhana dan singkat. Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Namun hal ini harus dilakukan melalui software.

Wednesday, December 7, 2016

Diagram Blok, Konfigurasi Pin, dan Prinsip Kerja Mikrokontroler AT89S51

Hai! Selamat dating di KelasElektro, Dalam kesempatan kali ini saya KelasElektro ingin memberikan kamu penjelasan tentang mikrokontroler. Mikrokontroler adalah suatu unit yang dapat diprogram cara kerjanya, sehingga dapat dipergunakan untuk keperluan yang berbeda. Pada masa sekarang mikrokontroler banyak digunakan sebagai pengontrol pada peralatan-peralatan mulai dari mainan/hobie, peralatan rumah tangga, sampai kontrol pada peralatan industri. Disini saya akan menjelasakan salah satu jenis mikrokontroler yaitu AT89S51, saya akan menjelaskannya secara rinci dari, pengertian, struktur, Konfigurasi PIN, dan lainnya.

A. Mikrokontroler AT89S51

Ada beberapa vendor yang membuat Mikrokontroler diantarannya adalah Microchip, Atmel, Philips, Intel, Wndbond, Xemics dan yang lainnya. Dari beberapa vendor tersebut, Mikrokontroler yang paling sering dipakai dan sangat popular adalah mikrokntroler dari Atmel. Ada banyak jenis mikrokontroler yang termasuk kedalam Atmel yaitu, Keluarga ATtiny, Keluarga AT89sxx, Keluarga ATmega dan AT86RFxx. Ada beberapa perbedaan dari masing-masing keluarga kelompok mikrokontroler ini yaitu, masing-masing kelompok adalah berbeda Memorinya, Peripheralnya, dan Juga beda Fungsinya. Tetapi dari sedi arsitektur dan instruksi yang digunakan, mereka bisa dikatan hamper sejenis atau sama.

Mikrokontroler AT89S51 merupakan mikrokontroler keluaran Atmel dengan berkapasitas 4K (4000) byte flash PEROM (Programmable and Erasable Read Only Memory), AT89S51 adalah memori dengan teknologi monvolatile memory, isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. Memori ini biasa digunakan untuk menyimpan pertintah berstandar kode MCS-51 sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip operation (mode operasi keeping tunggal) yang tidak memerlukan external memori untuk menyimpan source kode tersebut.

B. Kelebihan Mikrokontroler AT89S51

Mikrokontroler AT89S51 merupakan versi terbaru dari keluaran ATMEL, dimana sebelumnya ada seri AT89c51 yang telah popular dan banyak digunakan. AT89S51 adalah mikrokontroler berteknologi nonvolatile kerapatan tinggi dari atmel yang kompitibel dengan mikrokontroler standar industi MCS-51 baik pin kaki IC maupun set perintahnya serta harganya yang cukup murah.

C. Diagram Struktur Mikrokontroler AT89S51

Register adalah suatu tempat penyimpanan (Variabel) bilangan bulat 8 bit atau 16 bit. Pada umumnya register berjumlah banyak, dan masing-masing ada yang memiliki fungsi khusus dan ada yang memiliki fungsi umum.

1) Accumulator (register A), merupakan salah satu register khusus yang berfungsi sebagai operand umum proses aritmatika dan logika.

2) Program counter, merupakan salah satu register khusus yang berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler 

3) ALU (Arithmetical and Logical Unit), ALU memiliki kemampuan khusus dalam mengerjakan proses-proses arithmetika (penjumlahan, pengurangan, perkalian dan pembagian) dan operasi logika (AND, OR, XOR dan NOT)
4) Clock circuits, mikrokontroler merupakan rangkaian digital sekuensial, dimana kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian rangkaian

5) Internal ROM (On Chip Flash), merupakan memori yang isinya tidak dapat diubah atau dihapus (pada saat mikrokontroler berjalan) isinya hanya dapat dibaca saja. ROM biasanya berisi program (urutan-urutan instruksi) untuk menjalankan mikrokontroler. Data pada ROM dibaca secara berurutan.

6) Internal RAM, merupakan memori yang isinya dapat diubah atau dihapus. RAM pada mikrokontroler biasanya berisi data-data variable dan register. Data yang tersimpan pada RAM bersifat hilang jika catu daya yang diberikan hilang (mati).

7) Stack pointer, merupakan bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data yang khusus. Dimana data yang paling terakhir dimasukkan merupakan data yang pertama kali dibaca kembali (LIFO).

8) I/O port (serial dan parallel), merupakan sarana yang digunakan mikrokontroler untuk mengakses Peralatan di luar dirinya, memasukan dan mengeluarkan data.

9) Interrupt circuits, merupakan rangkaian yang mengendalikan sinyal-sinyal interupsi bail internal maupun eksternal, dengan adanya sinyal interupsi akan mengakibatkan program utama yang sedang dikerjakan berhenti sejenak, dan bercabang/.loncat ke program rutin layanan interupsi (RLI) yang diminta, setelah RLI selesai dikerjakan, mikrokontroler kembali melanjutkan program utama yang tertunda tadi.

Setiap mikrokontroler memiliki blok diagram dan arsitektur yang berbeda satu dengan yang lainnya, tergantung pada banyak device yang terintegrasi di dalamnya, beberapa jenis mikrokontroler telah dilengkapi oleh ADC/DAC, PWM, WDT dan lain-lain.

D. Konfigurasi Kaki/Pin Mikrokontroler AT89S51

Pin adalah kaki fisik dari sebuah IC mikrokontroler AT89S51 yang memiliki 40 buah pin dengan fungsi yang berbeda-beda. Berikut adalah gambar beserta Fungsi dan penjelasannya.


Fungsi setiap pin adalah sebagai berikut:

1) Pin 1 - 8, Port 1 (P1.0 sampai dengan P1.7), merupakan port input/output delapan bit 8 dua arah dengan internal pull-up.
2) P1.5 (MOSI), P1.6 (MISO) dan P1.7 (SCK) memiliki fungsi yang khusus dalam komunikasi serial multiprosesor, dan pada pengisian program mikrokontroler dengan ISP (In System Programming)
3) Pin 9, digunakan untuk memberikan system reset pada Mikrokontroler, rangkaian reset
4) Pin 10 - 17, Port 3 (P3.1 sampai dengan P3.7), merupakan port input/output delapan bit 8 dua arah dengan internal pull-up. Setiap pin pada Port 3 ini memiliki fungsi khusus yang langsung berhubungan dengan hardware, fungsi tersebut adalah sebagai berikut:
  • P3.0 : RXD, port input/penerimaan data pada komunikasi serial
  • P3.1 : TXD, port output/pengiriman data pada komunikasi serial
  • P3.2 : (INT0), input interupsi eksternal channel 0 (active low) P3.3 : (INT1), input interupsi eksternal channel 1 (active low)
  • P3.4 : T0, input clock ekternal untuk timer 0
  • P3.5 : T1, input clock ekternal untuk timer 1
  • P3.6 : (WR), merupakan saluran untuk kendali penulisan (active low), saat mikrokontroler akan menulis data ke memori/device luar
  • P3.7 : (RD), merupakan saluran untuk kendali pembacaan (active low), saat mikrokontroler akan membaca data dari memori/device luar
5) Pin 18, XTAL 2
6) Pin 19, XTAL 1, XTAL 1 dan XTAL 2 merupakan masukan untuk rangkaian osilator internal.
7) Pin 20, GND, masukan catu daya 0 Volt atau Ground
8) Pin 21 - 28, merupakan port input/output delapan bit 8 dua arah dengan internal pull-up. Juga dapat difungsikan untuk jalur alamat byte tinggi (A8 sampai dengan A15) pada penggunaan memori luar.
9) Pin 29, (PSEN), Program Strore Enable (active low), sinyal pengontrol yang diberfungsi untuk membaca program dari memori eksternal.
10) Pin 30, ALE atau (PROG) active low, address latch enable, berfungsi menahan sementara alamat byte rendah pada proses pengalamatan ke memori eksternal
11) Pin 31, (EA) atau VPP, merupakan pin yang berfungsi untuk memilih program untuk menjalankan mikrokontroler, jika EA = 0 atau di-ground-kan maka akan digunakan program pada memori eksternal, jika EA = 1, maka akan digunakan program pada on chip flash.
12) Pin 32 - 39, Port 0 (P0.1 sampai dengan P0.7), merupakan port input/output delapan bit 8 dua arah tanpa internal pull-up, sehingga dalam aplikasi harus ditambahkan resistor pull-up eksternal pada masing-masing pin, resistor pull up bernilai 4.7K Ohm terpasang langsung ke VCC
13) Pin 40, VCC, catu daya +5 Volt DC

E. Prinsip Kerja Dari Mikrokontroler AT89S51

Prinsip kerja mikrokontroler adalah sebagai berikut:

1) Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna.

2) Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.

3) Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan.

Diagram Blok dan Konfigurasi Pin Mikrokontroler ATmega8535

Assalamualaikum! Dalam kesempatan kali ini saya KelasElektro ingin memberikan kamu penjelasan tentang mikrokontroler. Mikrokontroler adalah suatu unit yang dapat diprogram cara kerjanya, sehingga dapat dipergunakan untuk keperluan yang berbeda. Pada masa sekarang mikrokontroler banyak digunakan sebagai pengontrol pada peralatan-peralatan mulai dari mainan/hobie, peralatan rumah tangga, sampai kontrol pada peralatan industri. Disini saya akan menjelasakan salah satu jenis mikrokontroler yaitu Atmega8535, saya akan menjelaskannya secara rinci dari, pengertian, struktur, Konfigurasi PIN, dan lainnya. Atmega8535 ini biasa dipakai untuk membuat suatu programan yang menggunakan perintah bahasa, bisa bahasa Basic, Bahasa C++, dan sebagainya. Berikut ini adalah penjelasannya :
A. Mikrokontroler ATmega8535

Ada beberapa vendor yang membuat Mikrokontroler diantarannya adalah Microchip, Atmel, Philips, Intel, Wndbond, Xemics dan yang lainnya. Dari beberapa vendor tersebut, Mikrokontroler yang oaling sering dioakai dan sangat popular adalah mikrokntroler dari Atmel. Ada banyak jenis mikrokontroler yang termasuk kedalam Atmel yaitu, Keluarga ATtiny, Keluarga AT90sxx, Keluarga ATmega dan AT86RFxx. Ada beberapa perbedaan dari masing-masing keluarga kelompok mikrokontroler ini yaitu, masing-masing kelompok adalah berbeda Memorinya, Peripheralnya, dan Juga beda Fungsinya. Tetapi dari sedi arsitektur dan instruksi yang digunakan, mereka bisa dikatan hamper sejenis atau sama.

ATmega8535 adalah microkontroler yang termasuk kedalam kelompok ATmega, ada beberapa mikrokontroler yang hamper sejenis seperti ATmega16 dan ATmega32. ATmega8535 ini sangat dapat mudah ditemukan dipasaran dan harganya pun lebih murah daripada lainnya. Fasilitas yang ada di mikrokontroler ATmega8535 termasuk lengkap, dengan fasilitas yang lengkap itulah ATmega8535 adalah mikrokntroler yang Powerfull. ATmega8535 Memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATmega8535 lebih cepat bila dibandingkan dengam jenis-jenis mikrokntroler lainnya.

B. Blok Diagram ATmega8535

Berikut ini adalah Blog diagram daripada mikrokontroler ATmega8535 :
Dari gambar diatas dapat kita lihat bahwa ATmega8535 memiliki bagian-bagian sebagai berikut:

1. ADC 10 bit sebanyak 8 saluran
2. Tiga buah Timer atau Counter yang mempunyai kemampuan pembanding
3. CPU yang terdiri atas 32 Register
4. Watchdog Timer dengan osilator internal
5. SRAM saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.
6. Memori flash sebesar 8 KB dengan kemampuan Read While Write.
7. Unit Interupsi internal dan eksternal.
8. Port antar muka SPI
9. EEPROM seberas 512 Byte yang dapat deprogram pada saat pengoprasian.
10. Antarmuka koperator analog.
11. Port USART untuk komunikasi serial fitur ATmega8535

C. Konfigurasi Pin ATmega8535

Disetiap kaki/pin yang ada di ATmega8535 memiliki fungsi yang berbeda, bisa kamu lihat penjelsannya dibawah ini. Saya akan memberikan gambar dari ATmega8535 beserta nama pin-pinnya.

Penjelasan Gambar :

1. VCC merupakan pin yang mempunyai fungsi sebagai pin masukan catu daya/Power Supply

2. GND merupakan pin ground
3. Port A (PA0-PA7) merupakan Pin I/O dua arah dan pin Masukan ADC. Setiap pinnya dapat menyediakan internal Pull-up resistor (Bisa diatur per bit). Output buffer port A dapat member arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register Port A (DDRA) harus disetting dahulu sebelum Port A digunkan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin Port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Saelain itu kedelapan pin Port A juga digunakan untuk masukan sinyal analog bagi A/D converter.

4. Port B (PB0-PB7) Merupakan Pin I/O dua arah dan pin fungsi khusus yaitu Timer atau Counter, Komperator Analog, dan SPI. Setiap pinnya dapat menyediakan internal Pull-up resistor (Bisa diatur per bit). Output buffer port B dapat member arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register Port B (DDRB) harus disetting dahulu sebelum Port B digunkan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin Port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, Pin-pin di Port B juga mempunyai fungsi alternative yang khusus seperti sebagai Timer atau Counter, dan Masukan Komparator Analog Positif.

5. Port C (PC0-PC7) merupakan pin I/O dua arah dan pin khusus yaitu TWI komperator Analog dan Timer Oscilator. Setiap pinnya dapat menyediakan internal Pull-up resistor (Bisa diatur per bit). Output buffer port C dapat member arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register Port C (DDRA) harus disetting dahulu sebelum Port C digunkan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin Port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu pin Port C (pin PC06 dan Pin PC07) juga mempunyai fungsi alternative yaitu sebagai oscillator untuk Timer/Countr.

6. Port D (PD0-PD7) merupakan pin I/O dua arah dan pin fungsi Khusus yaitu komperator analog, interupsi eksternal, dan komunikasi serial. Setiap pinnya dapat menyediakan internal Pull-up resistor (Bisa diatur per bit). Output buffer port D dapat member arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register Port D (DDRD) harus disetting dahulu sebelum Port A digunkan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin Port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output

7. RESET merupakan pin yang digunakan untuk mereset Mikrokontroler. Jika kamu memeberikan masukan low pada pin ini selama 2 machine cycle maka system akan direset.

8. XTL1 dan XTL2 adalah pin masukan clock internal

9. AVCC adalah pin masukan untuk tegangan ADC

10. AREF merupakan pin masukan tegangan referensi ADC. Untuk operasional ADC, suatu level tegangan antara GND dan AVCC harus diberikan ke kaki ini.

D. Peta Memori ATmega8535

Mikrokontroler ATmega8535 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 512 byte SRAM internal. Register keperluan umum menempati space data pada alamat terbawah yaitu $00 dan $1F. Sementara Itu, register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti contoh register, timer/counter, fungsi-fungsi I/O, dan sebagainya. Memori program yang terletak dalam flash PEROM tersusn dalam word atau 2 byte karena setiap instruksi memiliki lebar 16 bit atau 32 bit, ATmega8535 memiliki Kbyte 12 bit program counter (PC) sehingga mampu mengalamati isi flash. Selain itu ATmega8535 memiliki memori data berupa EEPROM 8 bit sebanyak 512 byte. Alat EEPROM dimulai dari $000 sampai $1FF.

Penjelasan Bahasa C, Sejarah beserta Kelebihannya

Bahasa pemrograman adalah suatu kumpulan kata (perintah) yang siap digunakan untuk menulis suatu kode program sehingga kode-kode program yang kita tulis tersebut akan dapat dikenali oleh kompilator yang sesuai.Sekarang ini banyak sekali bahasa pemrograman yang dapat digunakan untuk mengembangkan suatu perangkat lunak, diantaranya bahasa C, C++, Pascal, Java dan banyak lagi lainnya. Bahkan untuk pembuatan pemrograman visual pun, telah banyak tersedia perangkat lunak seperti C++Builder, Delphi, JBuilder, Visual C++ dan yang lainnya.

Dalam kesempatan kali ini KelasEelektro ingin menjelaskan salah satu bahasa pemrograman yaitu Bahasa C. Bahasa C merupakan bahasa pemrograman yang berkekuatan tinggi (powerful) dan fleksibel yang telah banyak digunakan oleh para programmer profesional untuk mengembangkan program-program yang sangat bervariasi dalam berbagai bidang.
A. Sejarah Terciptanya Bahasa C

Lahirnya bahasa pemrograman diawali olehterbentuknya bahasa assembly yang dikembangkan oleh IBM dalam tahun 1956-1963. Bahasa ini termasuk dalam bahasa tingkat rendah (low level language). Pada tahun 1957, sebuah tim yang dipimpin oleh John W. Backus berhasil mengembangkan sebuah bahasa pemrograman baru yang lebih diarahkan untuk proses analisa numerik. Bahasa pemrograman tersebut dinamai dengan bahasa FORTRAN (Formula Translation). Setahun kemudian, yaitu pada tahun 1958, para ilmuwan komputer dari Eropa dan Amerika yang tergabung dalam sebuah komite menciptakan bahasa pemrograman baru yang lebih bersifat struktural dan dinamakan dengan bahasa ALGOL (Algorithmic Language).

Kemudian pada tahun 1964, IBM kembali menciptakan bahasa pemrograman baru dengan nama PL/I (Programming Language 1) yang lebih ditujukan untuk keperluan bisnis dan penelitian. Tahun 1969 laboratorium Bell AT&T di Murray, New Jersey menggunakan bahasa assembly untuk mengembangkan sistem operasi Unix yang bertujuan untuk membuat program antar muka yang bersifat programmer friendly. Setelah Unix berjalan, lahirlah bahasa pemrograman baru yang ditulis olehMartin Richards dengan nama bahasa BCPL (Basic Combined Programming Language).

Kemudian pada tahun 1970, seorang pengembang sistem dari laboratorium tersebut yang bernama Ken Thompson membuat bahasa B yang akan digunakan untuk menulis ulang sistem operasi Unix. Nama ‘B’ ini konon diambil dari huruf pertama dalam kataBCPL. Karena alasan bahwa bahasa B masih terkesan lambat, maka pada tahun 1971 seorang pengembang sistem bernama Dennis Ritchie, yang juga bekerja di laboratorium yang sama, menciptakan bahasa baru dengan nama C yang bertujuan untuk menulis ulang dan menutupi kelemahan-kelemahan yang ada pada sistem operasi Unix sebelumnya. Menurut sumber yang ada, nama ‘C’ ini juga konon diambil dari huruf kedua dalam kata BCPL. Sejak itu bahasa C terus digunakan untuk memelihara sitem operasi Unix, Sampai akhirnya pada tahun 90-an, bahasa C ini digunakan untuk mengembangkan sistem operasi Windows dan sekarang ini digunakan untuk mengembangkan sistem operasi Linux. Selain untuk menulis program yang merupakan embedded system, di kalangan industri hiburan, bahasa C juga banyakdigunakan dalam mengembangkan perangkat lunak untuk permainan (game). Hal-hal inilah yang menyebabkan bahasa C menjadi bahasa yang sangat populer di kalangan industri perangkat lunak.

B. Kelebihan Dan Kelemahan Bahasa C

Berikut ini adalah Kelebihan dari Bahasa C, dan alas an para programmer baanyak yang menggunaka bahasa C ini :

1) Bahasa C merupakan bahasa yang powerfuldan fleksibel yang telah terbukti dapat menyelesaikan program-program besar seperti pembuatan sistem operasi, pengolah kata, pengolahan gambar (seperti pembuatan game) dan juga pembuatan kompilator untuk bahasa pemrograman baru.

2) Bahasa C merupakan bahasa yang portabel sehingga dapat dijalankan di beberapa sistem operasi yang berbeda. Sebagai contoh program yang kita tulis dalam sistem operasi Windows dapat kita kompilasi di dalam sistem operasi Linux dengan sedikit ataupun tanpa perubahan sama sekali.

3) Bahasa C merupakan bahasa yang sudah populer dan banyak digunakan oleh para programmer berpengalaman sehingga kemungkinan besar library(pustaka) dan aksesoris program lainnya yang diperlukan dalam pemrograman telah banyak disediakan oleh pihak luar/lain dan dapat diperoleh dengan mudah.

4) Bahasa C merupakan bahasa yang bersifat modular, yaitu yang tersusun atas rutinrutin tertentu yang dinamakan dengan fungsi (function) dan fungsi-fungsi tersebut dapat digunakan kembali untuk pembuatan program-program lainnya tanpa harus menulis ulang implementasinya.

5) Bahasa C merupakan bahasa tingkat menengah (middle level language) sehingga mudah untuk melakukan interfacing(pembuatan program antar muka) ke perangkat keras (hardware)

Berikut adalah Kelemahan dari bahasa C :

1) Banyak operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai. Kalau tidak dikuasai sudah tentu akan menimbulkan masalah.

2) Para Pemrogram C tingkat pemula umumnya belum pernah mengenal pinter dan tidak terbiasa menggunakan. Padahal leampuhan C justru terletak pada Ponter.

C. Tata Cara membuat program Bahasa C

Hal dasar yang harus dilakukan untuk membuat suatu program adalah menuangkan permasalahan yang kita hadapi ke dalam bentuk kode program, yaitu dengan menerapkan konsep algoritma. Kode program adalah kumpulan atau runtunan yang digunakan untuk memerintahkan komputer agar dapat menjalankan pekerjaan-pekerjaan tertentu sesuai yang kita kehendaki. Kode program sering juga dinamakan dengan istilah ‘sintak’.

Untuk menuliskan kode program, Anda dapat menggunakan program-program editor yang telah tersedia di dalam sistem operasi yang Anda gunakan. Misalnya apabila Anda menggunakan Microsoft Windows, maka Anda dapat menggunakan Notepad. Apabila Anda menggunakan MS-DOS, maka dapat menggunakan Editserta di dalam Linux atau Unix, Anda dapat menggunakan editor ed, joe, ex, emacs, picoataupun vi. Namun, sekarang telah banyak kompilator C yang menyediakan built-in editoruntuk keperluan penulisan dan penyuntingan kode program yang akan kita buat sehingga kita tidak perlu menuliskannya dengan editor lain di luar kompilator.

Komputer belum mengetahui arti kode-kode program yang ditulis dalam bahasa C tersebut karena komputer hanya mengenal instruksi-instruksi biner yang dikenal dengan bahasa mesin. Maka dari itu kita membutuhkan suatu program lain untuk dapat menerjemahkan kode program (dalam bahasa C) tersebut ke dalam bahasa mesin. Program seperti inilah yang dinamakan dengan kompilator. Kompilator akan menerima masukan kode program dan akan menghasilkan suatu kode objek yang disimpan dalam file objek. File objek tersebut berisi kode-kode mesin yang merupakan terjemahan dari kode program. Dalam sistem operasi Windows, biasanya file objek ini akan berekstensi .obj, sedangkan dalam sistem operasi Unix atau Linux pada umumnya file objek tersebut akan berekstensi .o .

Yah, itu mungkin penjelasan tentang Bahasa C ini, semoga bisa membantu kemu. Jika memang kurang puas atau kurang rinci saya menjelaskannya, kamu bisa mencari referensi lainnya di google. Sekian Terima Kasih sudah dating dan membaca secara keseluruhan.