Selasa, 04 April 2017

Tugas 2 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW SIMULATOR

PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN
TOP VIEW SIMULATOR DAN MODUL LAROS-ELECTOR V2.1

Nama Dosen : Dr. Hendra Jaya, S.Pd, M.T







Di Susun Oleh :
Mardiah
1425040011
S1. A



PENDIDIKAN TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSAR
2017


BAB 1
PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN
TOP VIEW SIMULATOR DAN MODUL LAROS-ELECTOR V2.1

  1.      Pada awalnya buka program TopView Simulator dan akan muncul form seperti pada gambar 1.1, disini pilih pada menu dropdown ”Select Device”, pilih AT89C51.


Gambar 1.1 Tampilan Top View Simulator Select Device

  2.      Langkah berikutnya klik data memory pada form yang sama dan pilihlah besar memory sesuai dengan Device misalnya 4 Kbyte, seperti pada gambar 1.2, dan klik OK


Gambar 1.2. Data memory Setting

  3.      Buka program notepad / tex teditor dan ketik listing program kemudian simpan dalam satu folder dengan program ASM51, pada gambar 1.3. merupakan contoh program untuk menghidupkan Led di port 1.


Gambar 1.3. Contoh Penulisan Program Dalam Text Editor

Penulisan program harus sesuai dengan port yang ditunjuk pada mikrokontroler seperti pada gambar 1.4.


Gambar 1.4. Gambar Rangkaian Flash Point LED

 4. Buka command prompt dan masuk direktori folder asm 51 misal pada contoh di folder ‡ D: \Praktikum\asm51\asm51
  5.  Langkah selanjutnya ketik nama file yang sudah berisi program assesmbler misal Job.asm. perhatikan pada gambar 1.5. bila tidak ada kesalahan maka muncul ASSEMBLY COMPLETE, 0 ERROR FOUND

Gambar 1.5. Tampilan program compiler ASM51 pada command promt

  6.    Selanjutnya buka program TopViewSimualator dan pilih menu File ‡ Load Program, tampilan seperti pada gambar 1.6. dan pilihlah file hexa yaitu file assembler yang sudah ter-compile


Gambar 1.6. Tampilan Load Program File

  7.  Kemudian muncul form bentang alamat memori seperti pada gambar 1.7. kemudian klik OK

Gambar 1.7. Tampilan Bentang Alamat Memory

  8. Pilih menu File ‡ External Modules Setting ‡ Led dan akan muncul form seperti pada gambar 1.8. pilih port yang akan diaktifkan misal port 1, centanglah masing-masing bit pada port1. selnjutnya klik OK.


Gambar 1.8. Form Pengaturan Module Led

   9.   Langkah berikutnya pilih menu View ‡ External Modules ‡ Led dan muncul form seperti gambar 1.9


Gambar 1.9. Form Led Modules Yang Belum Dijalankan

  10.Selanjutnya pilih menu Run ‡ Go untuk menjalankan program dan tampilan hasil eksekusi seperti pada gambar 1.10.


Gambar 1.10. Form Led Module Yang Sudah Dijalankan


.




Selasa, 28 Februari 2017

Tugas Kelompok Mikrokontroler



Mikrokontroler 8051
(Dosen Mata Kuliah : Dr. Hendra Jaya, S.Pd, MT)







OLEH :

                               WILDAN                                    (1425040015)
                               MARDIAH                                 (1425040011)
                               RIANTI RAHMI                       (1425040004)
                               ANDI MUHAMMAD SOSE    (1425040007)



PENDIDIKAN TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSAR



Mikrokontroler 8051

  A.   Introduksi
Seperti pada pembahasan sebelumnya, mikrokontroler keluarga intel MCS-51 memiliki berbagai macam device dan versi. Umumnya anggota keluarga MCS-51 juga disebut sebagai mikrokontroler 8051.
Berikut dibawah ini fitur penting yang dimiliki mikrokontroler 8051:
·         MCS-51 merupakan mikrokontoler Intel keluarga 8-bit yang didesain dengan teknologi HMOS.
·         Frekuensi operasi 12 Mhz tersedia dalam versi ROM/EPROM/EEPROM.
·         64K memori program dan 64K memori data yang terpisah
·         Tersedia intruksi perkalian (MUL) dan pembagian (DIV)
·         Mempunyai prosesor boolean dan mendukung operasi bitwise
·         Juga tersedia dalam versi CHMOS
·         32 saluran I/O yang bisa digunakan baik sebagai empat port 8-bit atau 32 I/O
·         16-bit bus alamat yang termutipleksi dengan Port 1 dan Port 2. Port 0 juga sebagai bus data
  B.    Arsitektur MCS-51
Diagram blok mikrokontroler 8051 ditunjukkan pada gambar dibawah ini.

Gambar 1. Diagram blok mikrokontroler 8051
Istilah ‘8051’ disini mengacu kepada anggota keluarga MCS-51. Blok fungsional mikrokontoler 8051 terdiri dari ALU, unit kendali dan pewaktu, RAM/EPROM/ROM, register, latch dan driver untuk port P0, P1, P2 dan P3. Setiap blok fungsional tersebut didiskusikan berikut ini
1.     ALU
ALU 8051 menampilkan operasi aritmatik dan logika pada operand 8-bit. Latch adalah register yang mendapatkan keluaran dari ALU. Selain memiliki operasi penambahan (ADD) dan pengurangan (SUB) 8051 juga memiliki operasi perkalian (MUL) dan pembagian (DIV).
Tiap operasi logika bersangkutan dengan gerbang-gerbang digital didalamnya yang memungkinkan operasi NOT, OR, NOT dan XOR.
2.     Prosesor boolean
Mikrokontroler 8051 memiliki sebuah Prosesor Boolean terpisah yang terintegrasi langsung dengan mikrokontoler tersebut. Prosesor boolean ini memiliki set instruksi sendiri, latch, dan bit RAM yang dapat dialamati. Flag carry tersedia sebagai akumulator. Intruksi pemanipulasian bit menampilkan operasi-operasi seperti bit komplemen, set bit, dan penghapusan bit. Terdapat juga instruksi pengkondisian, seperti JUMP, IF, BIT, SET, dsb.
Selain itu pula mikrokontroler ini juga mendukung operasi logika AND, OR. Hasil dari operasi logika tersimpan pada bit carry yang mana bekerja sebgai akumulator.
3.     Memori data dan program
Mikrokontroler 8051 memiliki memori program dan memori data yang terpisah. Code program biasanya tersimpan pada ROM/EPROM. Storage program adalah salah satu faktor yang membedakan antara anggota keluarga 8051 yang satu dengan yang lainnya. Memori program dari 80C51 adalah 4K ROM, sedangkan memori program 80C52 adalah 8K ROM. 87C51 memiliki program memori ‘EPROM’ sebesar 4K.
Memori data bisa berupa RAM internal dan RAM eksternal. Contoh yang memiliki RAM internal adalah 80C51 yang berkapasitas 128 byte. Beberapa lokasi internal RAM yang juga digunakan untuk pengendalian operasi periperal seperti pewaktu/pencacah, port serial, interupsi, dsb disebut sebagai SFR (Spesial Function Register). Ruang RAM eksternal dapat terakses dalam hampir semua anggota 8051. Untuk mengakses RAM eksternal digunakan alamat 16-bit. Bus alamat (Port 0) dan bus alamat-data (Port2) yang menahan alamat ini. Orde byte yang lebih rendah dari bus alamat-data merupakan waktu temultipleksi. Sedangkan multipleksi mengurangi jumlah pin, dan juga mengurangi kecepatan dari akses memori. Hal ini yang mennjadi alasan mengapa akses memori data eksternal selalu lebih lambat dibanding dengan pengaksesan RAM internal. Selanjutnya untuk mengakses memori eksternal kita memerlukan load pointer data yang mana membutuhkan instruksi ekstra.
4.     Osilator
semua anggota keluarga 8051 menggunakan kristal eksternal sebagai fungsi osilator. Frekuensi operasi bisa tergantung kepada device itu sendiri. Data sheet device bisa dijadikan rujukan untuk melihat frekuensi operasi yang sesuai dan mendukung device-device yang akan digunakan. Sebagai contoh 80C51 beroperasi pada frekuensi 12 MHz. Tetapi itu tidak menjadi suatu patokan yang tetap karena pada kenyataannya banyak juga user menggunakan kristal 11,059 MHz.
Selain itu masih banyak lagi device yang berjalan pada frekuensi dibawah atau diatas 12 MHz. Frekuensi ringan yang lebih rendah memperkenankan pewaktu membangkitkan frekuensi klok untuk pengoperasian serial port.



5.     Kendali dan pewaktuan
Gambar 2. Pin Mikrokontroler 8051

Keseluruhan operasi mikrokontroler 8051 singkron dengan klok. Segala yang terjadi didalam mikrokontroler tersebut selangkah dengan klok. Terlepas dari pewaktuan internal, untuk mengakses device diluar chip terdapat pula fitur seperti pengendali sinyal ALE, PSEN dan RD, WR yang dibangkitkan oleh unit pewatuan dan kendali.
Kita dapat dengan mudah melihat pin-pin 8051 terhubung pada keempat port P0, P1, P2, dan P3. Untuk pin port P0 dan P3 memiliki fungsi-fungsi tambahan. Selain itu terdapat pin-pin untuk power supply Vcc (Pin 40) dan ground (Pin 20). Pin-pin 18 dan 19 diperuntukkan untuk koneksi ke kristal. Bagian pin yang terakhir secara berturut-berturut adalah, PSEN (Pin 29), ALE (Pin 30), EA (Pin 31) yang merupakan Program Store Enable, Address Latch Enable, dan External Access. Berikut adalah pembahasan singkat tentang pin-pin ini.
a.      XTAL2(Pin 18)
Keluaran dari penguatan membalik yang membentuk satu bagian dari osilator dan masukan ke generator clock internal, harus dihubungkan ke XTAL2.
b.      XTAL1
XTAL1 adalah masukan ke penguatan membalik yang membentuk bagian dari sirkuit osilator. Berkaitan dengan clock external, pin ini harus dihubungkan ke ground.
c.       Vcc (Pin 40)
Pin Vcc terhubung ke power supply +5V. Arus power supply yang diperkirakan untuk 8031/8051 adalah 125mA. Sedangkan untuk 8751 arus maksimalnya adalah 250 mA. Untuk 8031/8051 rata-rata efisiensinya adalah 1 W.
d.      Vss (Pin 20)
Vss merupakan ground. Semua voltase dispesifikasikan berhubungan dengan pin ini. Sebagai contoh, voltase di pin manapun yang berkenaan dengan Vss seharusnya berada dalam jangkauan -0.5V hingga +7V.
e.       Port 0 (pin-pin 32-39)
Port 0 adalah saluran I/O 8-bit. Alamat orde rendah dan bus data juga dimultipleksiikan dengan Port 0. Port  ini jenisnya merupakan cerat terbuka masukan dua arah (open drain bi-directional I/O port) dan harus menggunakan resistor pull-up selama verifikasi.
f.        Port 1 (Pin-pin 1-8)
Port 1 adalah L/O 8-bit dengan masing-masing P1.0 sampai P1.7 yang bersifat dua arah. Port 1 sudah terpasang resistor pullup secara internal. Jika logika satu dituliskan pada Port 1 maka keluaran akan berlogika satu dan dapat digunakan sebagai masukan.
g.      Port 2 (Pin-pin 21-28)
Port 2 juga merupakan port I/O 8-bit dua arah. Pin-pin Port 2 sudah terpasang resitor pullup secara internal. Port 2 dimultiplekskan dengan alamat bus yang memiliki orde lebih tinggi.
h.      Port 3 (Pin-pin 10-17)
Port 3 juga merupakan port I/O 8-bit bersifat dua arah. Pin-pin Port 3 sudah terpasang resistor pullup secara internal. Ada fungsi-fungsi lain yang dimultipleksikan dengan pin-pin Port 3. Fungsi-fungsi alternative dapat dilihat  pada tabel dibawah. Fungsi-fungsi tambahan pin-pin Port 3 ini berhubungan dengan interupsi-interupsi eksternal, serial port, timer/counter dan sinyal-sinyal baca/tulis.

i.        Pin 9 (RST)
Untuk me-reset perangkat, pin RST dari 8051 dibuat logika tinggi untuk dua siklus mesin. Sebuah resistor pull-down 8.2K dari pin RST ke Vss dan sebuah kapasitor 10µF dari pin RST ke Vcc membentuk sirkuit reset-nya. Nilai-nilai komponen ini cukup untuk memungkinkan terjadinya penundaan (delay), demikian dengan tujuan untuk membuat barisan RST berlogika tinggi selama 24 periode osilator. Untuk mendukung fungsi reset manual, jika diinginkan, sebuat pemicu dapat ditambahkan di seberang kapasitor 10µF.
j.        ALE (Pin 30)
Keluaran Address Latch Enable (ALE) digunakan untuk mengunci byte alamat rendah selama akses memori external. ALE diaktifkan secara periodik dengan kisaran konstan dari 1/6 frekuensi osilator. Namun, selama akses memori data eksternal, satu pulsa ALE dilewatkan.
k.      PSEN (Pin 29)
Program Store Enable (PSEN) adalah sinyal kontrol keluaran, diaktifkan setiap enam periode osilator ketika mengambil memori program eksternal, pin ini adalah strobe pembaca bagi memori program eksternal, dan selama eksekusi program internal, PSEN akan tetap berada dalam posisi logika tinggi.
l.        EA (Pin 31)
Pin akses eksternal (Eksternal Akses), ketika ditahan dalam posisi logika tinggi, mengeksekusi perintah dari memori program internal sampai pada alamat 0FFFH; setelah alamat ini, instruksi-instruksi diambil dari memori program eksternal. Jika pin berada dalam posisi logika rendah, semua perintah diambil dari memori eksternal, dan selama operasi normal, pin ini tidak boleh berada dalam posisi mengambang.

  C.   Struktur Mikrokontroler
Dalam gambar 1 terlihat bahwa sebuah mikrokontroler terdiri dari beberapa bagian. Bagian-bagian tersebut saling dihubungkan dengan internal dan pada umumnya terdiri dari 3 macam bus yaitu address bus, data bus dan control bus. Masing-masing bagian memiliki fungsi-fungsi sebagai berikut:
1.      Register:
Register merupakan suatu tempat penyimpanan (variabel) bilangan bulat yang terdiri dari 8 atau 16 bit. Pada umumnya register memiliki jumlah yang banyak, masing-masing ada yang memiliki fungsi khusus dan ada pula yang memiliki fungsi atau kegunaan secara umum. Register yang memiliki fungsi secara khusus misalnya register timer yang berisi data penghitungan pulsa untuk timer, atau register pengatur mode operasi counter (penghitung pulsa). Sedangkan register yang memiliki fungsi umum digunakan untuk menyimpan data sementara yang diperlukan untuk proses penghitungan dan proses operasi mikrokontroler. Register dengan fungsi umum sangat dibutuhkan dalam sistem mikrokontroler karena mikrokontroler hanya mampu melakukan operasi aritmetik 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.
2.      Accumulator:
Merupakan salah satu register khusus yang berfungsi sebagai operand umum proses aritmetika dan logika.
3.      Program Counter:
Merupakan salah satu register khusus yang berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler.
4.      ALU (Arithmetic and Logic Unit):
ALU memiliki kemampuan dalam mengerjakan proses-proses aritmatika (penjumlahan, pengurangan, perkalian, pembagian) dan operasi logika (misalnya AND, OR, XOR, NOT) terhadap bilangan bulat 8 atau 16 bit.
5.      Clock Circuits:
Mikrokontroler merupakan rangkaian logika sekuensial, dimana proses kerjanya berjalan melalui sinkronisasi clock. Oleh karena itu diperlukan clock circuits yang menyediakan clock untuk seluruh bagian rangkaian.
6.      Internal ROM (Read Only Memory):
Merupakan memori penyimpan data dimana data tersebut tidak dapat diubah atau dihapus (hanya dapat dibaca). ROM biasanya diisi dengan program untuk dijalankan oleh mikrokontroler segera setelah power dihidupkan. Data dalam ROM tidak dapat hilang meskipun power dimatikan.
7.      Stack Pointer:
Stack merupakan bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data secara khusus. Data yang disimpan dan dibaca tidak dapat dilakukan dengan cara acak karena data yang dituliskan ke dalam stack yang berada pada urutan yang terakhir merupakan data yang pertama kali dibaca kembali. Stack Pointer berisi offset dimana posisi data stack yang terakhir masuk (atau yang pertama kali dapat diambil).
8.      I/O (Input/Output) Ports:
Merupakan sarana yang digunakan oleh mikrokontroler untuk mengakses peralatan-peralatan lain di luar sistem. I/O Port berupa pin-pin yang dapat berfungsi untuk mengeluarkan data digital ataupun sebagai masukan data eksternal.
9.      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 di atas tidak 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 disamping port I/O parallel yang sudah ada.
10.  Internal RAM (Random Acces Memory)
Merupakan memori penyimpan data dimana data tersebut dapat diubah atau dihapus. RAM biasanya berisi data-data variable dan register. Data yang tersimpan pada RAM bersifat volatile yaitu akan hilang bila catu daya yang terhubung padanya dimatikan.

  D.    Prinsip Kerja Mikrokontroler
Prinsip kerja sebuah mikrokontroler dapat dijelaskan sebagai berikut:

1.      Berdasarkan data yang ada pada register Program Counter. Mikrokontroler mengambil data dari ROM dengan alamat sebagaimana ditunjukkan dalam Program Counter. Selanjutnya Program Counter ditambah nilainya dengan 1 (increment) secara otomatis. Data yang diambil tersebut merupakan urutan instruksi program pengendali mikrokontroler yang sebelumnya telah dituliskan oleh pembuatnya.
2.      Instruksi tersebut diolah dan dijalankan. Proses pengerjaan bergantung pada jenis instruksi; bisa membaca, mengubah nilai-nilai dalam register, RAM, isi port atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.
  1. Program Counter telah berubah nilainya (baik karena penambahan secara otomatris sebagaimana dijelaskan pada langkah 1 di atas atau karena pengubahan data pada langkah 2). Selanjutnya yang dilakukan mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga catu daya dimatikan.
  E.    Kesimpulan
Berdasarkan uraian di atas dapat disimpulkan bahwa pada dasarnya unjuk kerja mikrokontroler sangatlah tergantung pada urutan instruksi yang dijalankannya, yaitu program yang ditulis dalam ROM.
Dengan membuat program yang bermacam-macam, tentunya mikrokontroler dapat mengerjakan tugas yang bermacam-macam pula. Fasilitas-fasilitas yang ada misalnya timer/counter, port I/O, serial port, Analog to Digital Converter (ADC) dapat dimanfaatkan oleh programmer untuk menghasilkan kinerja yang dikehendaki. Sebagai contoh ADC digunakan oleh mikrokontroler sebagai alat ukur digital untuk mengukur tegangan sinyal masukan, selanjutnya hasil pembacaan ADC diolah untuk kemudian dikirimkan ke sebuah display yang terhubung pada port I/O guna menampilkan hasil pembacaan yang telah diolah. Proses pengendalian ADC, pemberian sinyal-sinyal yang tepat pada display, kesemuanya dikerjakan secara berurutan pada program yang ditulis dalam ROM.
Penulisan program mikrokontroler pada umumnya menggunakan bahasa assembly untuk mikrokontroler yang bersangkutan (setiap jenis mikrokontroler memiliki instruksi bahasa assembly yang berbeda-beda). Dengan bantuan sebuah pesawat komputer (PC), bahasa assembley tersebut diubah menjadi bahasa mesin mikrokontroler dan selanjutnya disalin ke dalam ROM dari mikrokontroler.