Membuat Tampilan Seven Segment Tanpa Decoder Pada Bahasa Assembly
di blog ini gw menyebarkan ilmu aja cara menciptakan seven segment tanpa memakai decoder,,,
langsung aja liat di bawah,,,
langsung aja liat di bawah,,,
Program cara 1:
;--------------------------------------------------------------
; Menghidupkan display LED 7 segment
;untuk menampilkan angka 0 s/d 9
;cara 1 : data pribadi dikeluarkan ke port yang bersangkutan
;---------------------------------------------------------------
Org 0h
Mulai:
Mov P0,#22h ;keluarkan arahan angka 0 port 0
Acall Delay ;panggil sub routine delay
Mov P0,#77h ;keluarkan arahan angka 1 port 0
Acall Delay ;panggil sub routine delay
Mov P0,#0A4h ;keluarkan arahan angka 2 port 0
Acall Delay ;panggil sub routine delay
Mov P0,#25h ;keluarkan arahan angka 3 port 0
Acall Delay ;panggil sub routine delay
Mov P0,#71h ;keluarkan arahan angka 4 port 0
Acall Delay ;panggil sub routine delay
Mov P0,#29h ; keluakan arahan angka 5 port 0
Acall Delay ; Panggil sub routine delay
Mov P0,#28h ; Keluarkan arahan anka 6 port 0
Acall Delay ; Panggil sub routine delay
Mov P0,#67h ; Keluarkan arahan anka 7 port 0
Acall Delay ; Panggil sub routine delay
Mov P0,#20h ; Keluarkan arahan anka 8 port 0
Acall Delay ; Panggil sub routine delay
Mov P0,#21h ; Keluarkan arahan anka 9 port 0
Acall Delay ; Panggil sub routine delay
SJMP Mulai ;Lompat kealamat dengan label mulai
;-----------------
;Sub routine delay
;-----------------
Delay : Mov R0,#0ffh ; isi Register R0 dengan FF (Hex)
Delay1 : Mov R1,#0ffh ; isi Register R1 dengan FF (Hex)
Delay 2 : DJNZ R1,Delay ; Kurangi R1 dengan 1, kalau hasil
; belum sama dengan 0, maka lompat
; Ke delay 2
DJNZ R0,Delay1 ; Kurangi R1 dengan 1, kalau hasil
; belum sama dengan 0, maka lompat
; ke delay 1
RET ; Kembali ke alamat sehabis perintah
; “Acall Delay”
END
Program cara 2
;
;menghidupkan display LED 7 segment
;untuk menampilakan angka 0 s/d 9 File name HL5,H51
;Cara 2 : data dambil dari alamat data array
;
Org 0h
Mulai:
Mov R2,#10 ; Jumlah angka numerik
Mov DPTR,#Numerik ;
Next data:
clr A
Movc A,@A+DPTR
Mov P0,A ; Keluarkan data A ke
; port 0
inc DPTR
Acall Delay ; Panggil sub routine
; Delay
DJNZ R2,Nextdata ; kurangi R2 dengan 1,
; kalau hasil belum sama ; dengan 0 maka lompat ; ke nextdata
SJMP mulai ; Lompat ke alamat
; dengan label Mulai
;-----------------
;Sub routine delay
;-----------------
Delay : Mov R0, #0ffh ; isi register R0 dengan ff
; (Hex)
Delay1 : Mov R1, #0ffh ; isi register R1 dengan ff
; (Hex)
Delay2 : DJNZ R2, #Delay ; kurangi R0 dengan 1, bila
; hasil belum sama dengan 0 ; maka lompat ke Delay1
RET ; Kembali ke alamat setelah
; perintah 'Acall Delay'
;-----------
;Lokasi data
;-----------
Numerik :
DB 22h, 77h, 0A4h, 25h, 29h, 67h, 20h, 21h,
END
0 Response to "Membuat Tampilan Seven Segment Tanpa Decoder Pada Bahasa Assembly"
Post a Comment