Dalam Praktek kali ini, saya akan mencoba mempraktekkan apa yang sudah saya pelajari dan membagikan kepada saudara. Praktek kali ini adalah tentang mikrokontroller yaitu bagaimana cara membuat lampu menyala, berkedip, dan mati.
okeh kita mulai saja pelajaran nya yah.. ^_^
okeh kita mulai saja pelajaran nya yah.. ^_^
Program Assembler Mikrokontroller
Persiapan:
1. Notepadd / Notepadd++
2. SetupReads51 bisa di download disini
3. Instal app tersebut, dan jalankan.
sudah selesai dengan persiapan nya??
okeh kita lanjut dengan membuat scriptnya:
1. membuat semua di Port P0 semuanya menyala , berkedip
- tulis script dibawah ini ke notepadd/notepadd++ !!
#include <sfr51.inc>
ORG 0000H
MULAI :
MOV P0,#00H ;isi 00 heksadesimal ke port 0, artinya lampu nyala
ACALL DELAY ;tunda waktu
MOV P0,#FFH ;isi FF heksadesimal ke port 0, artinya lampu mati
ACALL DELAY ;tunda waktu
SJMP MULAI ;Mengulang ke MULAI
DELAY : MOV R0,#100 ; waktu delay dalam second
DELAY1 : MOV R1,#0FFH
DELAY2 : MOV R2,#0
DJNZ R2,$
DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
END
- kemudian simpan dengan lamp1.ASM (namafile bebas, tapi save as tipenya harus .ASM), bebas simpan nya dimana saja..asal jangan di recycle bin yah..hehe :v
- setelah di save, kita lihat ke aplikasi Reads51, kemudian Open file yang tadi di save ( lamp1.ASM )
- lalu akan tampil seperti ini
- Kemudian ganti "BUILD mode" dengan "RUN/DEBUG mode"
- Setelah itu klik tool > klik TTY Window > SimIO
- Setelah itu, untuk menjalankan scriptnya klik icon tanda seru "!".
- Selesai
2. Menyalakan lampu secara acak
misal kita ingin menyalakan lampu2 seperti gambar diatas. langkah2 nya sebagai berikut:
- Pertama, kita akan mencari tahu dlu kode lampu untuk P0,P1,P2, dan P3, yaitu dengan cara Shift+Click pada lampu yang ingin dinyalakan, sampai seperti pada gambar diatas.
- Kemudian, disebelah kanan akan tampak kode nya, kita masukan kode2 tersebut kedalam script, seperti dibawah ini.
#include <sfr51.inc>
ORG 0000H
MULAI :
MOV P0,#E7H ;isi 00 heksadesimal ke port 0, artinya lampu nyala
MOV P1,#18H
MOV P2,#18H
MOV P3,#E7H
ACALL DELAY ;tunda waktu
MOV P0,#FFH ;isi FF heksadesimal ke port 0, artinya lampu mati
MOV P1,#FFH
MOV P2,#FFH
MOV P3,#FFH
ACALL DELAY ;tunda waktu
SJMP MULAI ;Mengulang ke MULAI
DELAY : MOV R0,#100 ; waktu delay dalam second
DELAY1 : MOV R1,#0FFH
DELAY2 : MOV R2,#0
DJNZ R2,$
DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
END - Selanjutnya lakukan seperti langkah tadi.
- lihat hasilnya.
Praktikum Pemrograman Assembler
Reviewed by Rony Nurrachman
on
March 03, 2013
Rating:
No comments: