Blok Diagram Mikrokontroler

Rabu, 08 Oktober 2014

Pemahaman konsep dasar dari mikrokontroler ditunjukkan pada Gambar 1.1 Diagram blok mikrokontroler umum.


Gambar 1.1 Diagram blok mikrokontroler umum

Masing-masing bagian tersebut saling dihubungkan melalui internal bus, umumnya terdiri dari 3 bus yaituaddress busdata bus dan control bus.
Masing-masing bagian memiliki fungsi-fungsi :
            a.         Register.        Register adalah suatu tempat penyimpanan (variabel)            bilangan bulat 8 atau 16 bit. Pada umumnya register jumlahnya banyak,         masing-masing ada yang memiliki fungsi khusus dan ada pula yang memiliki        kegunaan umum. Register yang memiliki fungsi khusus misalnya adalah    register timer yang berisi data penghitungan pulsa untuk timer, atau register           pengatur mode operasi counter (pencacah pulsa). Sedangkan register yang             bersifat umum digunakan untuk menyimpan data sementara yang diperlukan untuk proses penghitungan dan proses operasi mikrokontroler. Register dengan kegunaan umum dibutuhkan mengingat pada saat yang bersamaan     mikrokontroler hanya mampu melakukan operasi aritmatika atau logika hanya       pada satu atau dua operand saja. Sehingga untuk operasi-operasi yang          melibatkan banyak variabel harus dimanipulasi dengan menggunakan          variabel-variabel register umum.
            b.         Accumulator. Merupakan salah satu register khusus yang berfungsi          sebagai operand umum proses aritmetika dan logika.
            c.         Program Counter.    Merupakan salah satu register khusus yang         berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler.
            d.         ALU (Arithmetic and Logic Unit).        ALU memiliki kemampuan mengerjakan proses-proses aritmatika (penjumlahan, pengurangan, perkalian,      pembagian)   dan  operasi logika (misalnya AND, OR, XOR, NOT) terhadap    bilangan bulat 8 atau 16 bit.
            d.         Clock Circuits.          Mikrokontroler adalah rangkaian logika sekuensial, dimana proses kerjanya berjalan melalui sinkronisasi clock.  Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian            rangkaian.
            e.         Internal   ROM  (Read Only Memory).   Merupakan  memori penyimpan      data yang isinya tidak dapat diubah atau dihapus (hanya dapat             dibaca). ROM            biasanya diisi dengan program untuk menjalankan         mikrokontroler segera         setelah power dinyalakan, dan berisi data-data konstanta yang diperlukan oleh         program. Isi ROM tidak dapat hilang walaupunpower dimatikan.
            f.          Internal    RAM    (Random Access Memory).    Merupakan  memori penyimpan data yang isinya dapat diubah atau dihapus. RAM biasanya berisi data-data variabel dan register. Data yang tersimpan pada          RAM bersifat hilang jika catu daya yang terhubung padanya dimatikan.
            g.         Stack Pointer. Stack adalah bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data secara khusus. Data yang disimpan dan dibaca tidak dapat dilakukan dengan metode acak. Karena data yang masuk ke         dalam stack pada urutan yang terakhir adalah data yang pertama kali dibaca   kembali. Stack Pointer berisi offset dimana posisi data stack yang terakhir           masuk (atau yang pertama kali dapat diambil).
            h.         I/O  (input/output) Ports.       Merupakan sarana yang dipergunakan oleh     mikrokontroler untuk mengakses peralatan-peralatan lain di luar dirinya, berupa pin-pin yang dapat berfungsi untuk mengeluarkan data digital ataupun menginputkan data.
            i.          Interrupt circuits.       Adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyal-sinyal interupsi baik internal maupun eksternal. Adanya        sinyal interupsi akan menghentikan eksekusi normal program mikrokontroler            untuk selanjutnya menjalankan sub-program untuk melayani interupsi tersebut.
            Diagram blok tersebut tidaklah selalu sama untuk setiap jenis mikrokontroler.       Beberapa mikrokontroler menyertakan rangkaian ADC (Analog to Digital         Converter) di dalamnya, ada pula yang menyertakan port I/O serial di             samping port I/O paralel yang sudah ada.
Baca Selengkapnya >>>

Pengertian ADC dan DAC

1.  Apa itu ADC ( Analog to Digital Converter) ? ADC ( Analog to Digital Converter) adalah Pengubah dari analog ke digital. Fungsi dari ADC adalah untuk mengubah data analog menjadi data digital yang nantinya akan masuk ke suatu komponen digital yaitu mikrokontroller AT89S51. Inputan dari ADC ini ada 2 yaitu input positif (+) dan input negatif (-). V (+) dan V (-) adalah inputan tegangan analog differensial sehingga data tegangan yang akan diproses oleh ADC adalah selisih antara Vi (+) dan Vi (-). Vref adalah tegangan referensi ADC yang digunakan untuk mengatur tegangan input pada Vi+ dan Vi-. Besarnya tegangan referensi ini adalah setengah dari tegangan input maksimal. Hal ini bertujuan agar pada saat inputan maksimal data digital juga akan maksimal. Chip select fungsinya untuk mengaktifkan ADC yang diaktifkan dengan logika low. Read adalah inputan yang digunakan untuk membaca data digital hasil konversi yang aktif pada kondisi logika low. Write berfungsi untuk melakukan start konversi ADC diaktifkan pada kondisi logika low. Instruksi berfungsi untuk mendeteksi apakah konversi telah selesai atau tidak, jika sudah selesai maka pin instruksi akan mengeluarkan logika low. Data outputan digital sebanyak 8 byte (DB0-DB7) biner 0000 0000 sampai dengan 1111 1111, sehingga kemungkinan angka decimal yang akan muncul adalah 0 sampai 255 dapat diambil pada pin D0 sampai D7. DB0-DB7 mempunyai sifat menempel. 


2.  Apa itu DAC( Digital to Analog Converter) ? DAC adalah perangkat untuk mengkonversi sinyal masukan dalam bentuk digital menjadi sinyal keluaran dalam bentuk analog (tegangan, arus, muatan electrik). Tegangan keluaran yang dihasilkan DAC sebanding dengan nilai digital yang masuk ke dalam DAC. Sebuah konverter analog-ke-digital (ADC) melakukan operasi mundur. Sinyal mudah disimpan dan ditransmisikan dalam bentuk digital, tapi DAC diperlukan untuk sinyal untuk diakui oleh indera manusia atau non-sistem digital. Fungsi DAC adalah pengubah data digital yang masih berbentuk biner seperti data yang ada pada CD menjadi data analog . berikut adalah tahapan data digital menjadi analog. fisik CD dibaca Data digital CD DAC Buffer Line out.

Baca Selengkapnya >>>

Konfigurasi Pin ATMega328


ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, yang membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter, dll). Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.

 Pin Mikrokontroler Atmega328

ATMega328 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan sebagaiinput/output digital atau difungsikan sebagai periperal lainnya.
1.     Port B
Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu PORTB juga dapat memiliki fungsi alternatif seperti di bawah ini.
     a.    ICP1 (PB0), berfungsi sebagai Timer Counter input capture pin. 
b.    OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai keluaran PWM (Pulse Width Modulation).
c.    MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur komunikasi SPI.
d.   Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).
e.    TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock external untuktimer.
f.     XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama mikrokontroler. 
2.    Port C
Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output digital. Fungsi alternatif PORTC antara lain sebagai berikut.
a.    ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10 bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog menjadi data digital
b.    I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck.
3.    Port D
Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat difungsikan sebagai input/output. Sama seperti Port B dan Port CPort D juga memiliki fungsi alternatif dibawah ini.
a.    USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial.
b.    Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsihardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat program berjalan kemudian terjadi interupsi hardware/software maka program utama akan berhenti dan akan menjalankan program interupsi.
c.    XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock.
d.   T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.
e.    AIN0 dan AIN1 keduanya merupakan masukan input untuk analog comparator.
  

                         Fitur ATmega328
  ATMega328 adalah mikrokontroler keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ini memiliki beberapa fitur antara lain:
1.      Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM  tetap dapat menyimpan data meskipun catu daya dimatikan.
2.      Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
3.      Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
4.      32 x 8-bit register serba guna.
5.      Dengan clock 16 MHz kecepatan mencapai 16 MIPS.
6.      32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
7.      130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
Baca Selengkapnya >>>

Istilah Dalam Mikrokontroler

Istilah-istilah dalam Mikrokontroler:
·    Tehnik fabrikasi, adalah tehnik yang biasa dilakukan untuk memproduksi hamper semua mikrokontroler terbaru. misalkanMikrokontroler CMOS (Complementary Metal Oxide Semiconductor)  memerlukan daya yang lebih rendah dibanding mikrokontroler yang dibuat dengan tehnik sebelumnya, sehingga memungkinkan untuk dioperasikan menggunakan batere. Chip CMOS juga memungkinkan dioperasikan pada fully atau mendekati fully static, yang berarti bahwa clock dapat diperlambat bahkan diberhentikan sehingga chip berada dalam kondisi (mode) sleep. CMOS juga lebih tahan terhadap noise dibandingkan cara fabrikasi sebelumnya.
·     CISC (Complete Instruction Set Computer), instruksi yang bekerja seperti sebuah makro, sehingga memungkinkan programmer untuk menggunakan sebuah instruksi menggantikan beberapa instruksi sedarhana lainnya. Biasanya memiliki lebih dari 80 instruksi.
·        RISC ( Reduced Instruction Set Computer), instruksi yang bekerja lebih sedikit, memungkinkan lahan pada chip (silicon realestate) digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RIS adalah kesederhanaan disain, chip yang lebih kecil, jumlah pin sedikit dan sangat sedikit mengkonsumsi daya.
·     UART (Universal Asynchronous Receiver Transmitter), adalah adapter serial port adapter untuk komunikasi serial asinkron.
·      USART (Universal Synchronous/Asynchronous Receiver Transmitter),merupakan adapter serial port untuk komunikasi serial sinkron dan asinkron. Komunikasi serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi pada click yang lebih tinggi dibanding asinkron.
·        SPI (serial peripheral interface) merupakan port komunikasi serial sinkron.
·        SCI (serial communications interface) merupakan enhanced UART (asynchronous serial port).
·        I2C bus (Inter-Integrated Circuit bus), berfungsi sebagai antarmuka jaringan multi-master, multi-slave dengan deteksi tabrakan data.
·       Comparator, Mikrokontroler tertentu memiliki ssebuah atau lebih komparator. Komparator ini bekerja seperti IC komparator biasa tetapi sinyal input/outputnya terpasang pada bus mikrokontroler.
       Interupt, merupakan metode yang efisien bagi mikrokontroler untuk memproses periperalnya, mikrokontroler hanya bekerja memproses periperal tsb hanya pada saat terdapat data diperiperal tsb. Pada saat terjadi interupt, mikrokontroler menunda operasi yang sedang dilakukan kemudian mengidentifikasi interupsi yang datang dan menjalankan rutin pelayanan interupsi.
·      Maskable Interrupts, dengan maskable interupt kita dapat bebas memilih untuk menggunakan satu atau lebih interupsi. Keuntungan maskable interupt inin adalah kita dapat mematikan interupsi pada saat mikrokontroler sedang melakukan proses yang kritis sehingga interupsi yang datang akan diabaikan.
·       Vectored Interrupts, Pada saat terjadi interupsi, interupt handler secara otomatis akan memindahkan program pada alamat tertentu yang telah ditentukan sesuai dengan jenis interupsi yang terjadi.
·  Compiler ,penerjemah untuk bahasa pemrograman tingkat tinggi. Bekerja dengan cara menterjemahkan (mis pada PC) langsung ke bahasa mesin yang dimengerti oleh mikrokontroler.
·    Simulator, mensimulasikan atau menirukan kerja mikrokontroler pada PC. Langkah-langkah yang dikerjakan serta apa yang terjadi ketika program dijalankan dapat diamati dilayar PC.
·   Debuger residen, menjalankan program di mikrokontroler itu sendiri, dan pada saat bersamaan menampilkan hasilnya pada komputer induknya (PC). Alat bantu ini memiliki beberapa keunggulan seperti pada simulator dengan kelebihan lain yaitu kita dapat melihat bagaimana program tersebut bekerja pada target yang sebenarnya. Namun disisi lain, alat bantu ini memakai sebagian sumber daya yang dimiliki oleh mikrokontroler seperti port komunikasi (untuk komunikasi dgn PC), interupsi untuk untuk menjalankan program perlangkah (single step) dan sejumlah memori untuk menyimpan program dari debugger (bagian residen yang ditempatkan di target).
·      Emulator, adalah peralatan yang bekerja dengan berpura-pura sebagai mikrokontroler dan pada saat bersamaan dia mengambil informasi untuk ditampilkan. Emulator memberikan kontrol penuh pada target. Emulator ini bisa berupa perangkat dengan display tersendiri atau merupakan pengantar muka PC.
·     Akumulator, digunakan sebagai register umum untuk mengakumulasikan hasil dari instruksi-instruksi pada mikrokontroler.
·     Register R,delapan set register yang dinamakan R0, R1, R2, R3, R4, R5, R6, dan R7. Register-register ini digunakan sebagai register pembantu penyimpanan data dalam banyak operasi.
·      Register B, sama dengan akumulator dalam hal dia menyimpan sebuah harga 8 bit (1 byte). Register B ini hanya digunakan dalam dua instruksi keluarga 8031, yaitu MUL AB dan DIV AB. Karenanya, jika diinginkan untuk mengalikan atau membagi akumulator A dengan suatu harga, maka simpanlah harga tersebut dalam register B dan kemudian jalankan instruksinya.
·   DPTR (Data Pointer),satu-satunya register yang dapat diakses 16 bit (2 byte) di dalam keluarga mikrokontroler. Sebagaimana namanya, DPTR digunakan untuk menunjuk pada lokasi suatu data.
·      PC (Program Counter), adalah alamat 2 byte yang memberitahu keluarga mikrokontroler 89C51 di mana instruksi selanjutnya akan dilaksanakan.
·    SP (Stack Pointer), mampu menyimpan 8 bit (1 byte) data. SP digunakan untuk menunjukkan di mana harga berikutnya yang akan diambil dari stack.
·   Immediate Addressing, Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan.
·    Direct Addressing,Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain.
·  Indirect Addressing, Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga.

·       Interupsi, adalah suatu kejadian yang akan menghentikan sementara jalan program saat itu. Dengan interupsi, suatu alur program dapat dihentikan sementara untuk menjalankan suatu subrutin, dan kemudian melanjutkan aliran program secara normal seperti tidak pernah ada interupsi. Subrutin ini yang disebut dengan interrupt handler, dan hanya dijalankan jika terjadi suatu kejadian khusus (event).
Baca Selengkapnya >>>

Apa Itu Satu Siklus Clock Mikrokontroler?

Pengertian Satu Siklus Clock pada Mikrokontroler

Sebuah siklus waktu CPU yang berisi jumlah jam siklus (sering disebut pulsa T-periodik atau ketukan, ia adalah unit dasar dari operasi pemrosesan). Siklus clock disebut periode osilasi, didefinisikan sebagai kebalikan dari jam pulsa (yang dapat dipahami, mikrokontroler siklus clock eksternal adalah dua kali timbal balik dari kristal, seperti 12M kristal, yang jangka waktu adalah 1/6 mikrodetik), adalah komputer yang paling dasar, unit terkecil dari waktu.

Dalam satu siklus clock, CPU hanya menyelesaikan tindakan dasar. Sebagai jam pulsa adalah pulsa dari komputer kerja dasar, yang mengontrol kecepatan mesin kerja (komputer disatukan setiap langkah sampai dengan kecepatan nya). Jelas, untuk jenis yang sama mesin, semakin tinggi frekuensi clock, semakin cepat komputer bekerja. Namun, karena sirkuit perangkat keras komputer dan perangkat yang berbeda tidak identik, mereka membutuhkan siklus clock rentang frekuensi belum tentu sama. 8051 kita pelajari berbagai clock 1.2MHz-12MHz.

Sebuah siklus mesin terdiri dari enam periode negara (yakni siklus clock, dinotasikan dengan S). Siklus Status memiliki dua ketukan (dengan P1, P2 ditampilkan).

8051 satu siklus mesin dengan 6 S-siklus (periode negara) komponen. Itu adalah siklus mesin negara = 6 siklus (yaitu siklus jam) = 12 siklus osilator.


CLOCK merupakan sinyal listrik yang berupa suatu denyutan dan berfungsi untuk mengkoordinasikan atau mengsinkronisasikan setiap aksi-aksi atau proses-proses yg dilakukan oleh setiap komponen didalam perangkat elektronika.
Bagaimana proses A, bagaimana Proses B, ... bagaimana proses X berjalan bersama Proses A, bagaimana proses Z berjalan dengan proses B, ... dst

Oleh karena itu nilai Clock sangat penting artinya agar perangkat elektronik dapat berfungsi sebagaimana mustinya.




Ada beberapa istilah penting yg berkaitan dengan Clock, yaitu :
Cycle : adalah satuan yang digunakan untuk menandakan selesainya satu siklus clock, mulai dari denyutan dikeluarkan kemudian naik hingga nilainya mencapai 1 lalu mulai turun nilainya hingga 0
Cycle Time (T) : adalah jumlah waktu yg diperlukan oleh sinyal clock untuk menyelesaikan satu (1) siklus clock
Rise Time : adalah waktu yang dibutuhkan untuk perubahan nilai clock dari 0 ke 1
Fall Time
 : adalah waktu yang dibutuhkan untuk perubahan nilai clock dari 1 ke 0
Clock Frequency (F) : adalah besaran untuk menilai kemampuan suatu sinyal clock dalam menciptakan satu siklus denyutan setiap detiknya alias berapa banyak cylce per detik yang dapat di hasilkan oleh sinyal clock. Sesuai standra internasional, Satuan yang digunakan untuk mengukurnya adalah Hertz = Hz, dimana 1Hz sama dgn satu cycle per detik.
Sebagai contoh, jika sinyal clock membutuhkan waktu 10ms (micro second) dalam menyelesaikan satu siklus denyutan (cycle) maka clock frequency = 1/0,001 = 1000 Hz = 1KHz

F = 1/T ---> T = 1/F


berdasarkan rumus diatas, kita bisa mencari berapa waktu yang dibutuhkan untuk mengeksekusi satu instruksi pada mikrokontroler yang mempunyai clock 12MHz, karena pada mikrokontroler, instruksi dieksekusi pada satu siklus clock. Berikut caranya :
F = 12.000.000 Hz
F = 1/T
12.000.000 = 1/T
T = 1/12.000.000
T = 83 x 10^-9 s = 83 x 10^-6 ms = 83 x 10^-3 us = 0,083 us = 83 ns

jadi, satu instruksi pada mikrokontroler dengan clock 12 MHz akan diselesaikan dalam waktu 83 ns (delapan puluh tiga nano sekon)
Baca Selengkapnya >>>

Bagian Mikrokontroler Dan Fungsinya

Dengan  memahami bagian-bagian utama dan fungsi bagian-bagian utama dari mikrokontroler secara umum untuk keluarga tertentu merupakan pedoman pemahaman  konsep dasar bagaimana prinsip kerja suatu mikrokontroler.

Masing-masing bagian tersebut saling dihubungkan melalui internal bus, umumnya terdiri dari 3 bus yaitu address busdata bus dan control bus.
Masing-masing bagian memiliki fungsi-fungsi :
            a.         Register.        Register adalah suatu tempat penyimpanan (variabel)            bilangan bulat 8 atau 16 bit. Pada umumnya register jumlahnya banyak,         masing-masing ada yang memiliki fungsi khusus dan ada pula yang memiliki        kegunaan umum. Register yang memiliki fungsi khusus misalnya adalah    register timer yang berisi data penghitungan pulsa untuk timer, atau register           pengatur mode operasi counter (pencacah pulsa). Sedangkan register yang             bersifat umum digunakan untuk menyimpan data sementara yang diperlukan untuk proses penghitungan dan proses operasi mikrokontroler. Register dengan kegunaan umum dibutuhkan mengingat pada saat yang bersamaan     mikrokontroler hanya mampu melakukan operasi aritmatika atau logika hanya       pada satu atau dua operand saja. Sehingga untuk operasi-operasi yang          melibatkan banyak variabel harus dimanipulasi dengan menggunakan          variabel-variabel register umum.
            b.         Accumulator. Merupakan salah satu register khusus yang berfungsi          sebagai operand umum proses aritmetika dan logika.
            c.         Program Counter.    Merupakan salah satu register khusus yang         berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler.
            d.         ALU (Arithmetic and Logic Unit).        ALU memiliki kemampuan mengerjakan proses-proses aritmatika (penjumlahan, pengurangan, perkalian,      pembagian)   dan  operasi logika (misalnya AND, OR, XOR, NOT) terhadap    bilangan bulat 8 atau 16 bit.
            d.         Clock Circuits.          Mikrokontroler adalah rangkaian logika sekuensial, dimana proses kerjanya berjalan melalui sinkronisasi clock.  Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian            rangkaian.
            e.         Internal   ROM  (Read Only Memory).   Merupakan  memori penyimpan      data yang isinya tidak dapat diubah atau dihapus (hanya dapat             dibaca). ROM            biasanya diisi dengan program untuk menjalankan         mikrokontroler segera         setelah power dinyalakan, dan berisi data-data konstanta yang diperlukan oleh         program. Isi ROM tidak dapat hilang walaupunpower dimatikan.
            f.          Internal    RAM    (Random Access Memory).    Merupakan  memori penyimpan data yang isinya dapat diubah atau dihapus. RAM biasanya berisi data-data variabel dan register. Data yang tersimpan pada          RAM bersifat hilang jika catu daya yang terhubung padanya dimatikan.
            g.         Stack Pointer. Stack adalah bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data secara khusus. Data yang disimpan dan dibaca tidak dapat dilakukan dengan metode acak. Karena data yang masuk ke         dalam stack pada urutan yang terakhir adalah data yang pertama kali dibaca   kembali. Stack Pointer berisi offset dimana posisi data stack yang terakhir           masuk (atau yang pertama kali dapat diambil).
            h.         I/O  (input/output) Ports.       Merupakan sarana yang dipergunakan oleh     mikrokontroler untuk mengakses peralatan-peralatan lain di luar dirinya, berupa pin-pin yang dapat berfungsi untuk mengeluarkan data digital ataupun menginputkan data.
            i.          Interrupt circuits.       Adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyal-sinyal interupsi baik internal maupun eksternal. Adanya        sinyal interupsi akan menghentikan eksekusi normal program mikrokontroler            untuk selanjutnya menjalankan sub-program untuk melayani interupsi tersebut.
            Diagram blok tersebut tidaklah selalu sama untuk setiap jenis mikrokontroler.       Beberapa mikrokontroler menyertakan rangkaian ADC (Analog to Digital         Converter) di dalamnya, ada pula yang menyertakan port I/O serial di             samping port I/O paralel yang sudah ada.

3.         Cara Kerja Mikrokontroler.      Prinsip kerja  mikrokontroler adalah  :
a.         Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan address sebagaimana nilai    yang tertera pada Program Counter. Selanjutnya Program Counter ditambah             nilainya dengan 1 (increment) secara otomatis.  Data yang diambil tersebut            adalah urutan instruksi program pengendali mikrokontroler yang sebelumnya    telah dibuat oleh pemakai. 
b.         Instruksi tersebut diolah dan dijalankan. Proses pengerjaan bergantung   pada jenis instruksi: bisa membaca, mengubah nilai-nilai pada register, RAM,             isi port atau melakukan pembacaan dan dilanjutkan dengan pengubahan data. 
c.         Program Counter telah berubah nilainya (baik karena penambahan           otomatis sebagaimana pada langkah 1 di atas atau karena pengubahan pada         langkah b. Selanjutnya yang dilakukan mikrokontroler adalah mengulang       kembali siklus ini pada langkah 1. Demikian seterusnya hingga power        dimatikan.
            Dari pengertian di atas dapat disimpulkan bahwa pada dasarnya unjuk kerja mikrokontroler sangatlah bergantung pada urutan instruksi yang dijalankannya, yaitu program yang ditulis di ROM.
            Dengan membuat program yang bermacam-macam, maka tentunya mikrokontroler dapat mengerjakan proses yang bermacam-macam pula. Fasilitas-fasilitas yang ada misalnya timer/counter, port I/O, serial port, Analog to Digital Converter (ADC) dapat dimanfaatkan oleh program untuk menghasilkan proses yang diinginkan.  Misalnya saja ADC dipergunakan oleh sebuah mikrokontroler pengendali alat ukur digital untuk mengukur tegangan sinyal input. Kemudian hasil pembacaan ADC diolah untuk kemudian dikirimkan ke sebuah display yang terhubung pada port I/O, menampilkan hasil pembacaan yang telah diolah. Proses pengendalian ADC, pemberian sinyal-sinyal yang tepat pada display, kesemuanya dikerjakan secara berurutan pada program yang ditulis di ROM.
            Penulisan program mikrokontroler pada umumnya adalah menggunakan bahasa assembly untuk mikrokontroler yang bersangkutan (setiap mikrokontroler memiliki instruksi bahasa assembly yang berlainan). Kemudian dengan bantuan sebuah komputer, bahasa assembly tersebut diubah menjadi bahasa mesin mikrokontroler, dan disalin ke dalam ROM mikrokontroler.
            Pada buku ini akan dibahas mikrokontroler dari keluarga MCS-51, dengan beberapa contoh aplikasi sederhana. Selanjutnya dari pengertian yang didapat, diharapkan dapat dikembangkan sendiri aplikasi-aplikasi lain sebagaimana yang diinginkan.
Baca Selengkapnya >>>

Keluarga Mikrokontroler

Secara umum mikrokontroler terbagi menjadi 3 keluarga besar yang ada di pasaran. Setiap keluarga memepunyai cirri khas dan karekteriktik sendiri sendiri, berikut pembagian keluarga dalam mkrokontroler:
1.    Keluarga 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).
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.


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.
Masing-masing mempunyai keluarga mempunyai turunan sendiri-sendiri. Sekarang kita akan membahas pembagian jenis-jenis mikrokonktroler yang telah umum digunakan.
a.    Mikrokontroler AT89S52
Mikrokontroler 89S52 merupakan versi terbaru dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini. AT89S52 mmpunyai kelebihan yaitu mempunyai flash memori sebesar 8K bytei, RAM 256 byte serta 2 buah data pointer 16 bit, Spesifikasinya:
·         Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya.
·         8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis
·         Tegangan kerja 4-5 V
·         Bekerja dengan rentang 0 – 33MHz
·         256x8 bit RAM internal
·         32 jalur I/O dapat deprogram
·         3 buah 16 bit Timer/Counter
·         8 sumber interrupt
·         saluran full dupleks serial UART
·          watchdog timer
·         dual data pointer
·         Mode pemrograman ISP yang fleksibel (Byte dan Page Mode)


 Jenis-jenis Atmel lain yang ada di pasaran adalah sebagai berikut :
·         :Atmel AT91 series (ARM THUMB architecture)
·         Atmel AVR32
·         AT90, Tiny & Mega series – AVR (Atmel Norway design)
·         Atmel AT89 series (Intel 8051/MCS51 architecture)
·         MARC4
b.    AMCC
Hingga Mei 2004, mikrokontroler ini masih dikembangkan dan dipasarkan oleh IBM, hingga kemudian keluarga 4xx dijual ke Applied Micro Circuits Corporation, jenis-jenisnya yaitu:
·         403 PowerPC CPU (PPC 403GCX)
·         405 PowerPC CPU (PPC 405EP, PPC 405GP/CR, PPC 405GPr, PPC NPe405H/L)
·         440 PowerPC Book-E CPU (PPC 440GP, PPC 440GX, PPC 440EP/EPx/GRx, PPC 440SP/SPe)
c.    Cypress MicroSystems
Jenis dari Cypress MicroSystems yang ada di pasaran adalah CY8C2xxxx (PSoC)
d.    Freescale Semiconductor
Hingga 2004, mikrokontroler ini dikembangkan dan dipasarkan oleh Motorola, yang divisi semikonduktornya dilepas untuk mempermudah pengembangan Freescale Semiconductor, adapun jenis-jenisnya yaitu sebagai berikut:
·         8-bit (68HC05 (CPU05), 68HC08 (CPU08), 68HC11 (CPU11))
·         16-bit (68HC12 (CPU12), 68HC16 (CPU16), Freescale DSP56800 (DSPcontroller))
·         32-bit (Freescale 683XX (CPU32), MPC500, MPC 860 (PowerQUICC), MPC 8240/8250 (PowerQUICC II), MPC 8540/8555/8560 (PowerQUICC III))
e.    Fujitsu
Jenis chip mikrokontroler yang dikeluarkan oleh fujitsu diantaranya adalah sebagai berikut:
·         F²MC Family (8/16 bit)
·         FR Family (32 bit)
·         FR-V Family (32 bit RISC)
f.     Holtek
Chip mikrokontroler keluaran holtek adalah jenis HT8
g.    Intel
Intel adalah salah satu perusahan yang banyak mengeluarkan jenis chip di pasaran, secara umum intel mengeluarkan dua jenis chip mikrokontroler yaitu:
·         8-bit (8XC42, MCS48, MCS51, 8061, 8xC251)
·         16-bit (80186/88, MCS96, MXS296, 32-bit, 386EX, i960)
h.    Microchip
Dalam mengeluarkan prduknya, microchip membagi produknya kedalam beberapa jenis yaitu :
·         Low End, Mikrokontroler PIC 12-bit
·         Mid Range, Mikrokontroler PIC 14-bit (PIC16F84, PIC16F877)
·         16-bit instruction PIC
·         High End, Mikrokontroler PIC 16-bit

i.      National Semiconductor
Jenis chip mikrokontroler yang dikeluarkan oleh National Semiconductor adalah jenis COP8 dan CR16.
j.      NEC
NEC mempunyai beberapa jenis chip mikrokontroler yang ada dipasaran yaitu : jenis 17K, 75X, 78K, V850.
k.    Philips Semiconductors
Ada tiga jenis chip mikrokontroler yang dikeluarkan oleh perusahaan ini yaitu : LPC2000, LPC900, LPC700
l.      Renesas Tech. Corp.
Renesas adalah perusahan patungan Hitachi dan Mitsubishi. Perusahaan ini mengeluarkan beberapa jenis mikrokontroler yang ada dipasaran yaitu : H8, SH, M16C, M32R
m.   ST Microelectronics
STMicroelectronic merupakan salah satu perusahaan yang bergerak juga dalam produksi chip mikrokontroler, diantaranya produknya adalah : ST 62, ST 7
n.    Texas Instruments
Dua jenis chip mikrokontroler yang di produksi oleh perusahaan ini adalah : TMS370, MSP430
o.    Western Design Center
Perusahaan Wistern Design Center memproduksi dua tipe chip mikrokontroler yang beredar di pasaran yaitu :
·         Tipe 8-bit (W65C02-based µCs)
·         Tipe 16-bit (W65816-based µCs)

p.    Ubicom
Ubicom memproduksi beberapa tipe chip mikrokontroler diantaranya adalah:
·         SX-28, SX-48, SX-54
Seri Ubicom's SX series adalah jenis mikrokontroler 8 bit yang, tidak seperti biasanya, memiliki kecepatan tinggi, memiliki sumber daya memori yang besar, dan fleksibilitas tinggi. Beberapa pengguna menganjurkan mikrokontroller pemercepat PICs. Meskipun keragaman jenis mikrokontroler Ubicom's SX sebenarnya terbatas, kecepatan dan kelebihan sumber dayanya yang besar membuat programmer bisa membuat perangkat virtual lain yang dibutuhkan. Referensi bisa ditemukan di Parallax's Web site, sebagai penyalur utama.
·         IP2022
Ubicom's IP2022 adalah mikrokontroler 8 bit berkecepatan tinggi (120 MIPs). Fasilitasnya berupa: 64k FLASH code memory, 16k PRAM (fast code dan packet buffering), 4k data memory, 8-channel A/D, various timers, and on-chip support for Ethernet, USB, UART, SPI and GPSI interfaces.
q.    Xilinx
Ada dua jenis chip mikrokontroler yang dikeluarkan oleh perusahaan Xilink diataranya adalah :
·         Microblaze softcore 32 bit microcontroller
·         Picoblaze softcore 8 bit microcontroller
r.     ZiLOG
Dua jenis chip mikrokontroler dari ZiLOG yang ada di pasaran adalah :
·         Z8
·         Z86E02
Disamping itu, Ada banyak mikrokontroller yang dirancang oleh produsen sebagai sarana hobi. Biasanya mikrokontroller seperti ini dimuati interpreter BASIC, dihubungkan ke bagian Dual Inline Pin bersama power regulator dan beberapa fasilitas lain. PICs sepertinya sangat popular untuk jenis ini, barangkali karena adanya perlindungan terhadap listrik statis. Diantara produk ini adalah:
1. Parallax, Inc.
o   BASIC Stamp. Nama besar di mikrokontroler BASIC, meskipun sebenarnya lamban dan harganya tidak sebanding.
o   SX-Key. Harga murahnya harus dibayar dengan kualitas yang buruk.
2. PicAxe
     Murah, tidak lebih dari sekedar PIC yang dimuati BASIC. Bagian programmernya ditancapi dengan 3 resistors. Penawaran BASIC menawarkan fungsionalitas yang besar dengan adanya fasilitas IF..GOTO secara terbatas. 

KESIMPULAN
Dari setiap jenis chip mikrokontroler mempunyai kelebihan dan kekurangan masing-masing. Bagi kita sebagai pengguna harus pintar-pintar memilih chip mikrokontroler tersebut sesuai dengan yang kita butuh. Harus diingat bahwa chip mikrokontroler yang mahal belum tentu bagus tetapi chip yang bagus adalag sesuai dengan apa yang kita butuhkan.
Baca Selengkapnya >>>
Go Top
Kembali Ke Atas