permisi semuanya
selamat malam
para juragan dan sesepuh mikrokontroler
ane mw tanya nih
seputar program mikrokontroler avoider
listingnya seperti ini bos dengan menggunakan bahasa assembler dan programnya Reads51
Spoiler for "JUDUL SPOILER":
#include <sfr51.inc>
MULAI: ; Label Start
mov p3,#00000000b ; set sensor depan (ch0)
; mov p3,#00000001 : set sensor samping (ch1) dan
; seteru.scr>snya
; jika ingin pasang sensor tambahan sebanyak
; 8buah
LOOP:
mov a, p0 ; baca sensor, keluaran 8 bit dari ADC 0809
mov p1, p0 ; tampilkan juga di port 1
cjne a, #0ffh, maju1 ; jika tidak sama dengan 0ffh, lompat ke label
; maju1
mov p2, #00001010b ; gerakan robot maju
acall L_Tunda ; panggil prosedur tunda jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 26 Undecodable line, Syntax error
maju1:
cjne a, #0feh, maju2 ; jika tidak sama, lompat ke label maju2
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 32 Undecodable line, Syntax error
maju2:
cjne a, #0fdh, maju3 ; jika tidak sama, lompat ke label maju3
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 38 Undecodable line, Syntax error
maju3:
cjne a, #0fch, maju4 ; jika tidak sama, lompat ke label maju4
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 44 Undecodable line, Syntax error
maju4:
cjne a, #0fbh, maju5 ; jika tidak sama, lompat ke label maju5
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 50 Undecodable line, Syntax error
maju5:
cjne a, #0fah, maju6 ; jika tidak sama dengan 0fah, lompat ke label maju6
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 56 Undecodable line, Syntax error
maju6: cjne a, #0f9h, maju7 ; jika tidak sama, lompat ke label maju7
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 59 Incorrect operand types
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 62 Undecodable line, Syntax error
maju7
cjne a, #of8h, maju8 ; jika tidak sama, lompat ke label maju8
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 68 Undecodable line, Syntax error
maju8:
cjne a, #0f7h, mundur ; jika tidak sama, lompat ke label mundur
mov p2, #00001010b ; maju
acall L_TUNDA jmp LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 74 Undecodable line, Syntax error
mundur:
mov p2, #00000001b ; berhenti dulu
acall L_TUNDA ; panggil procedure penundaan waktu
mov p2, #0000101b ; mundur
acall L_TUNDA ; panggila procedure penundaan waktu
mov p2, #0000000b ; belok
acall L_TUNDA ; panggil procedure penundaan waktu
acall L_TUNDA ; panggil procediure penundaan waktu
acall L_TUNDA ; panggila procedure penundaan waktu jmp LOOP ; loncat ke procedure LOOP
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 86 Undecodable line, Syntax error
;procedure penundaan waktu selama 050hx075h (konversi dalam us)
L_TUNDA: ; label L_TUNDA
mov r7, #050h ; isikan register 7 dengan data 050h
L_TUNDA_1 ; Label L_TUNDA acall TUNDA ; panggil prosedure tunda
"C:\Program Files\Rigel\Reads51\Work\TA\test.asm" 94 Undecodable line, Syntax error
djnz R7, L_TUNDA_1 ; kurangi nilai register (R7)
; dengan 1 jika belum sama dengan 0 loncat ke
; prosedure L_TUNDA_1
RET ; kembali
TUNDA: ; label TUNDA
mov R6, #075h ; isikan register 6 (R6) dengan data 075h
djnz R6, $ ; kurangi nilai register 6 (R6)
; dengan 1 jika belum sama dengan 0
; terus kurangi. (waktu akan tertunda selama beberapa
; ms pada kristal 12 Mhz
RET ; kembali
END
nah yang bikin ane bingun pada tulisan warna merah gan, udah ane edit sana sini, dan mencari referensi di google tapi mentok gan otak ane, mohon bantuannya para sesepuh, juragan dan master asembler untuk membantu atau berbagi pengetahuannya dengan saya...