Selasa, 28 April 2020

TOPVIEW SIMULATOR


Mata Pelajaran : Teknik Pemrograman, Mikroprosesor dan Mikrokontroller

Mikrokontroller dengan Topview Simulator


Mikrokontroller erat hubungannya dengan hardware dan software. Komponen yang digunakan juga mempunyai spesifikasi khusus dengan penggunaan frekuensi, input, output, serta tegangan dan arus yang akan dibaca dan diolah oleh bahasa pemrograman. Sedangkan sisi software untuk menentukan bahasa pemrograman yang akan digunakan untuk menggunakan mikro yang akan kita pakai misalnya MCS51 dan MCS52 karena mereka mempunyai file header sendiri-sendiri.
Untuk mengenal lebih jauh mikrokontroller, pada sisi hardware tentu akan membutuhkan biaya yang cukup mahal untuk membeli perangkat yang dibutuhkan untuk aplikasi yang kita buat. Sedangkan software dapat dimiliki tanpa biaya yang besar, bahkan tanpa biaya apapun atau gratis. Sehingga disini kita akan memilih Topview Simulator.


Pada Topview simulator, untuk melakukan simulasi, kita dapat me-load aplikasi dalam bentuk .hex/.bin. Selain itu Topwiew menyediakan modul-modul seperti keypad/keyboard, led, lcd, dan beberapa modul lain untuk simulasi. Kita juga bisa melihat isi memori ketika aplikasi sedang dijalankan.

Bahasa assembly yang kita buat dapat dijalankan pada Topview Simulator.

Pertama-tama kita akan membuat program dalam bahasa assembly. Untuk membuatnya dapat menggunakan aplikasi notepad yang ada di windows, simpan file tersebut dengan extension asm. Contoh: latihanTAV.asm. Selanjutnya kita membuka Topview Simulator yang sudah diinstal di computer. Dari Topview Simulator kita buka file “latihanTAV.asm”.

Setelah sukses di compile maka akan terbentuk file baru yang berextension HEX, LST dan file bernama Mod51. Dan selanjutnya Topview akan membaca file-file tersebut untuk dieksekusi. Pengaturan pada Topview juga harus dilakukan untuk mendapatkan tampilan yang kita inginkan misalnya, kita akan menggunakan LED sebagai tampilannya, maka kita dapat melihat hasil program tersebut.

Untuk lebih jelasnya silakan melihat video materinya.


Senin, 27 April 2020

BAHASA ASSEMBLY


Mata Pelajaran : Teknik Pemrograman, Mikroprosesor dan Mikrokontroller


Bahasa Assembly


Bahasa Assembly adalah bahasa pemrograman yang terdiri dari instruksi-instruksi yang menggantikan kode-kode biner dari bahasa mesin dengan mnemonic sehingga mudah diingat, biasa disebut kode sumber. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh computer, biasa disebut  kode objek.

Misalkan suatu instruksi penjumlahan akan dituliskan dalam bahasa mesin yang berupa kode-kode biner 10110011, dapat dibuat dalam bahasa assembly dengan kode mnemonic ADD sehingga mudah diingat dibandingkan dengan penulisan dalam bentuk kode 0 dan 1.

Dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun tidak langsung atau berupa alamat suatu lokasi memori tempat menyimpan data bersangkutan. Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51.

Beberapa contoh dan kegunaannya bahasa assembly directive (kode pengarah bagi assembler compiler)
EQU                      : pendefinisian konstanta
DBIT                     : pendefinisian data dengan ukuran 1 bit
ORG                      : inisialisasi alamat mulai program
DATA                    : pendefinisian internal direct data (data langsung)
IDATA                   : pendefinisian internal indirect data (data tidak langsung)
END                      : penanda akhir program
CODE                    : penanda mulai pendefinisian program
#INCLUDE           : mengikutsertakan file program line

Beberapa contoh dan kegunaan instruksi yang harus di eksekusi oleh CPU mikrokontroller
ACALL                   : Absolute Call, memanggil sub rutin program
AJMP                    : Absolute Jump, memindahkan kendali program ke lokasi tertentu
CJNE                     : Compare and Jump if Not Equal, membandingkan data langsung dengan dengan lokasi   memori tertentu
CLR                       : Clear, mereset data akumulator
DEC                       : Decrement, mengurangi isi lokasi memori yang di tuju
DJNZ                     : Decrement and Jump if Not Zero, mengurangi isi register dengan 1 hingga           hasilnya 0 maka instruksi selanjutnya akan dilaksanakan
INC                       : Increment, menambahkan isi memori dengan 1
MOV                     : Move from memory, memindahkan isi akumulator/register atau data
RET                       : Return from subroutine, kembali dari suatu subrutin program ke alamat terakhir subrutin tersebut dipanggil
RR                         : Rotate Right, memutar akumulator ke kanan (right)

Contoh program bahasa assembly:

$mod51
org 0H

ljmp loop

delay:
      mov R7,#10
l1:   mov R6,#85
l2:   mov R5,#85
l3:   djnz R5,l3     
      djnz R6,l2     
      djnz R7,l1
      ret

GerakKiri:
               mov a,#0FEH
geki:      mov P2,a
               rl a
               acall delay
               cjne a,#7FH,geki
               ret
GerakKanan:
               mov a,#7FH
geka:     mov P2,a
               rr a
               acall delay
               cjne A,#0FEH,geka
               ret
              
loop:      acall Gerakkiri
               acall GerakKanan
               sjmp loop
              
end