Kamis, 22 Desember 2011

Display 7 Segmen_External

( Menampilkan Display Angka 2 Digit Secara External )
$mod51
org 00h
jmp mulai
org 03h ;external0
jmp hitung

hitung:
cjne r7, #100, maju3
mov r7, #00
jmp exit
maju3: inc r7
jmp exit

exit: reti
mulai:
mov p0, #00
mov p1, #00
mov p2, #00
mov r7, #00
mov tcon, #00h
mov ie, #00h
setb ie.7
setb ie.0
setb it0
ulang:
mov p1, r7
mov acc, r7
mov b, #10
div ab ; Hasil di a sisa di b
call tampil1
setb p2.1
call delay
clr p2.1
mov a, b
call tampil1
setb p2.0
call delay
clr p2.0
jmp ulang
tampil1:
cjne a, #0, satu
jmp nol
satu:
cjne a, #1, dua
jmp siji
dua:
cjne a, #2, tiga
jmp loro
tiga:
cjne a, #3, empat
jmp telu
empat:
cjne a, #4, lima
jmp papat
lima:
cjne a, #5, enam
jmp limo
enam:
cjne a, #6, tujuh
jmp enem
tujuh:
cjne a, #7, lapan
jmp pitu
lapan:
cjne a, #8, sanga
jmp wolu

nol: mov p0, #00111111b
ret
siji: mov p0, #00000110b
ret
loro: mov p0, #01011011b
ret
telu: mov p0, #01001111b
ret
papat: mov p0, #01100110b
ret
limo: mov p0, #01101101b
ret
enem: mov p0, #01111101b
ret
pitu: mov p0, #00000111b
ret
wolu: mov p0, #01111111b
ret
sanga: mov p0, #01101111b
ret

delay: ;mode pengurangan 5x255
mov r0, #10
loop1: mov r1, #255
loop: dec r1
cjne r1,#00, loop
dec r0
cjne r0, #00, loop1
ret
end

Tidak ada komentar:

Posting Komentar