Rabu, 05 Desember 2012

Memprogram Mikrokontroler

Untuk mengisinya digunakan teknik ISP (In system Programming) yg telah didukung oleh mikrokontroler versi 89Sxx
ISP Programmer ini dapat dibuat dengan menggunakan software ATMEL mikrokontroler ISP
Rangkaian ini dihubungkan ke port p1.5, p1.6, p1.7, reset, Gnd, dan Vcc.


Rangkaian Downloader


istruksi penting at89s51/52
Acall (Absolute Call)
Instruksi ACALL digunakan untuk memanggil subrutin program
Contoh:
START:
ACALL TUNDA
…….
TUNDA:
MOV R7,#0FFH

CJNE
Instruksi ini akan membandingkan data langsung dengan lokasi memori yang dialamati oleh register R atau Akumulator. Apabila tidak sama maka instruksi akan menuju ke alamat kode.
Format: CJNE R,#data,Alamat kode
Contoh:
CJNE R7,#01H,PERINTAH0
MOV A,STEPCONTROL
AJMP PERINTAH1

DEC
Instruksi DEC akan mengurangi isi lokasi memori yang ditunjukkan oleh register R dengan nilai 1 dan hasilnya disimpan pada lokasi tersebut.

Contoh:
MOV R7,#40h
DEC R7

INC
Instruksi INC akan menambah isi memori dengan 1 dan menyimpannya pada alamat tersebut.

Contoh:
INC A
INC R7

DJN7
Instruksi DJNZ akan mengurangi nilai register dengan 1 dan jika hasilnya sudah 0 maka instruksi selanjutnya akan dieksekusi. Jika belum 0 maka akan menuju ke alamat kode.

Contoh:
DJNZ R7,Alamat Kode

JB dan JNB
JB = instruksi ini akan membaca data per satu bit, jika data tersebut adalah 1 maka akan menuju ke alamat kode dan jika 0 maka tidak akan menuju ke alamat kode.
Contoh: JB alamatbit,alamatkode

JNB = instruksi ini akan membaca data persatu bit . Jika data tersebut adalah 0 maka akan menuju ke alamat kode, dan jika 1 tidak akan menuju ke alamat kode.
Contoh: JNB alamatbit,alamatkode

MOV
Instruksi ini untuk memindahkan isi akumulator / register atau data dari nilai luar atau alamat lain.

Contoh:
MOV A,#40H
MOV A,P3
MOV R1,P1.0

SETB dan CLRB
SETB = Instruksi ini untuk mengaktifkan atau memberikan logika 1 pada sebuah bit data.
Format:
SETB P1.0

CLRB = instruksi ini untuk memberikan logika 0 pada sebuah bit data.
Format:
CLRB P1.0

Contoh program
siap:mov p0,#00h
mov p1,#00h
mov p3,#00h
mov a,#00h
jb p3.2,startbiasa
ljmp siap

startbiasa : mov r0,p0
ljmp maju

maju: cjne r0,#00001100b,kanan1
ljmp forward
kanan1: cjne r0,#00000010b,kanan2
ljmp rightf
kanan2: cjne r0,#00000011b,kanan3
ljmp rightf
kanan3: cjne r0,#00000001b,kanan4
ljmp rightf
kanan4: cjne r0,#00000111b,kanan5
ljmp rightf
kanan5: cjne r0,#00001111b,kiri1
ljmp rightf

kiri1 : cjne r0,#00010000b,kiri2
ljmp leftf
kiri2 : cjne r0,#00110000b,kiri3
ljmp leftf
kiri3 : cjne r0,#00100000b,kiri4
ljmp leftf
kiri4 : cjne r0,#00111000b,kiri5
ljmp leftf
kiri5 : cjne r0,#00111100b,maju
ljmp leftf

forward: mov p3,#0a0h
ljmp startbiasa
Rightf: mov p3,#90h
ljmp startbiasa
rights: mov p3,#80h
ljmp startbiasa
leftf: mov p3,#60h
ljmp startbiasa
lefts: mov p3,#20h
ljmp startbiasa

Comments
1 Comments

1 comment

13 November 2012 pukul 23.07

test

Posting Komentar

 

Selamat Datang

Selamat datang di Coretan Rta-47, Namaku Razie. Saya senang Anda berada diblog sederhana ini. Dan berharap Anda sering datang kembali. Semoga artikel diblog ini bermanfaat untuk anda.
Terimakasih telah berkunjung diblog ini...

Social Stuff

  • Rss
  • Stumbleupon
  • Twitter
  • Facebook
Info