MIKROKONTROLER AT89S51/52
DENGAN MODUL MA-51
SUDIRMAN,Ir.,M.Kom
Misal :
A = FBh ; B = 12h
DIV a,b
Org 00h
Start:
Jmp loop
Org 300h
Loop:
Setb p0.0
Clr p0.1
Sjmp loop
End
b. JB (Jump if Bit) dan JNB (Jump If Not Bit) digunakan untuk melakukan
lompatan ke suatu blok program jika nilai operand 1 (bit) atau 0 (Not bit).
Contoh JB:
Org 00h
Start:
Mov p0,#00h
Jb p0.0,Nyala
Sjmp Start
Nyala:
Setb p2.0
Sjmp Start
End
Contoh JNB:
Org 00h
Start:
Mov p0,#00h
Jnb p0.0,Nyala
Sjmp Start
Nyala:
Setb p2.0
Sjmp Start
End
Contoh:
Org 00h
Utama:
Mov rl,#10
Jz rl,Nyala
Sjmp start
Nyala:
Setb p2.0
Jmp Utama
End
d. CJNE (Compare and Jump If Not Equal) digunakan utnuk melakukan
pembandingan dua operand dan lompat ke blok program lain jika tidak
sama.
Contoh:
Org 00h
Utama:
Mov a,#10
Tambah:
Inc a
Cjne a,#20,tambah
Setb p2.0
Sjmp utama
end
Contoh:
Org 00h
Kedip:
Setb p2.0
Call tunda
Clr p2.0
Call tunda
Sjmp kedip
Tunda:
Mov r7,#20h
La: mov r6,#0ffh
Lb: mov r5,#0ffh
Djnz r5,$
Djnz r6,lb
Djnz r7,la
Ret
End
PENGGUNAAN MODUL MA-51 UNTUK MIKROKONTROLER AT89S51/52
1.Gambar MA-51
Spesifikasi:
- Format file yang didukunng adalah *.hex
- Target In system Programmer (ISP)
- Kompatibel dengan Windows XP dan Vista
- Didukung oleh software ISP_Prog V1.3
- Tidak membutuhkan catu daya tambahan dari luar untuk mendownload
- Terdapat selector jumper untuk power board mikrokontroler Atmel jika membutuhkan
power dari USB
IC yang didukung antara lain:
1. At89S51
2. At89S52
3. At89S8252
4. At89S8253
Nb: Untuk merubah Com port klik dua kali pada prolific USB-to-Serial Comm Port
kemudian pilih menu Port settings _ Advanced, pilihlah com pada COM PORT Number
(sebaiknya pilih antara 1-6)
4. Jalankan program "ISP_PROG v1.3"
• Lakukan setting Device utk memilih Target Chip yang digunakan <Options_Device>
• Buka File dan masukan file *.Hex yang akan anda download <File_Load Flash File>
• Erase terlebih dahulu chip yang akan anda program (klik Chip Erase, kemudian klik
RUN)
• Kemudian pilih Write Flash untuk mendownload file program .Hex anda (klik Write
Flash,
kemudian klik RUN)
• Pilih Verify untuk mengecek ulang data yang telah terdownload.
• Pilih Lock Device untuk memproteksi data pada chip agar tidak dapat dibaca
programmnya
kembali. (program dapat ditulis kembali dengan meng-erase chip)
LANGKAH-LANGKAH MEMBUAT PROGRAM
CONTOH PROGRAM
$mod51
Org 00h
Mulai:
Clr p0.0
Setb p0.1
Clr p0.2
Setb p0.3
Clr p0.4
Setb p0.5
Clr p0.6
Setb p0.7
$mod51
Org 00h
Mulai:
Mov p0,#0ffh
Sjmp Mulai
End
Program 3. Lampu LED menyala semua dan berkedip
$mod51
Org 00h
loop:
mov p0,#0ffh
call tunda
mov p0,#00h
call tunda
sjmp loop
tunda:
mov r7,#02h
lupa: mov r6,#0fah
lupb: mov r5,#0ffh
djnz r5,$
djnz r6,lupb
djnz r7,lupa
ret
end
$mod51
Org 00h
Mulai:
Mov a,p3
Cjne a,#0feh,terus
Mov p0,#0
Sjmp Mulai
Terus:
Cjne a,#0fdh,mulai
Mov p0,#0ffh
Sjmp mulai
End
Penggunaan JNB
org 00h
mulai:
jnb p2.0,ok
sjmp mulai
ok: mov p0,#00011110b
sjmp mulai
end
Penggunaan JNB
org 00h
mulai:
jnb p2.0,ok
jnb p2.1,ok2
jnb p2.2,ok3
sjmp mulai
ok: mov p0,#11111110b
sjmp mulai
ok2: mov p0,#11111101b
sjmp mulai
ok3: mov p0,#11111011b
sjmp mulai
end
Penggunaan JNB
org 00h
mulai:
jnb p2.0,ok
jnb p2.1,ok2
jnb p2.2,ok3
sjmp mulai
ok: mov p0,#11111110b
sjmp mulai
ok2: mov p0,#11111100b
sjmp mulai
ok3: mov p0,#11111000b
sjmp mulai
Penggunaan JNB
org 00h
mulai:
jnb p2.0,ok
jnb p2.1,ok2
jnb p2.2,ok3
jnb p2.3,ok4
sjmp mulai
ok: mov p0,#11111110b
sjmp mulai
ok2: mov p0,#11111100b
sjmp mulai
ok3: mov p0,#11111000b
sjmp mulai
ok4: mov p0,#11111111b
sjmp mulai
end
Penggunaan JNB
org 00h
jnb p2.0,kiri
mov p0,#0feh
mov a,p0
kiri:
rl a
mov p0,a
call tunda
cjne a,#7fh,kiri
kanan:
rr a
mov p0,a
call tunda
cjne a,#0feh,kanan
sjmp kiri
tunda:
mov r7,#02h
lupa: mov r6,#0ffh
lupb: mov r5,#0ffh
djnz r5,$
djnz r6,lupb
djnz r7,lupa
ret
end
Program Timer:
RATUSAN EQU 20
CACAH EQU -50000
ORG 0H
MOV TMOD,#01H
MULAI:
MOV P0,#000H
CALL TUNDA
MOV P0,#0FFH
CALL TUNDA
SJMP MULAI
TUNDA: MOV R1,RATUSAN
LAGI: MOV TH0,#HIGH CACAH
MOV TL0,LOW CACAH
SETB TR0
TUNGGU: JNB TF0,TUNGGU
CLR TF0
CLR TR0
DJNZ R1,LAGI
RET
END
Program Timer1
CACAH EQU -5
ORG 0H
MOV TMOD,#00001110B
LAGI: MOV TH0,#CACAH
MOV TL0,#CACAH
SETB TR0
CEK: JNB TF0,$
MOV P1,#00h
CLR TF0
CEK1: JNB TF0,$
MOV P1,#0FFH
CLR TF0
SJMP CEK
END
Bahan Acuan:
1. Manual MA-51 oleh Creative Vision
2. Agfianto, Mikrokontroler AT89S51