Menghidupkan Display Led 8X 7 Segment Goresan Pena Bergeser Dengan Bahasa Assembly
Circuit Diagram:
Program :
;
; Program untuk menampilkan goresan pena secara bergeser
; File name HL7.H51
;
; Pemakaian RAM :
; 70h-77h = data segment display / 70h = kiri
; 78h = data common display
; 79h = untuk display 1 common
; 7Ah = untuk display 8 common
; 7Bh = untuk counter RAM to PORT display
; 7Ch = untuk counter buffer RAM display
; 7Dh = jumlah text
; 7Eh = pointer untuk tentukan DPTR
;
org 0h
Ljmp Mulai
;
; sub routine untuk mengisi buffer RAM display
;
Isi_buffer:
Mov 7ch,08h ; Jumlah dih=git 7 segment
Mov R0,#70h ;
ulang:
Mov A,7Eh ; Isi A derngan isi dari
; alamat 7Eh
movc A,@A=DPTR ; Pindahkan data ke n ke A
Mov @R0,A ; Pindahkan isi A ke alamat
; yang ditunjuk R0
Inc DPTR ; Siapkan data berikutnya
Inc R0 ; Tambahkam isi R0 dengan 1
Djnz 7Ch,ulang ; Ulangi hingga 8 kali (jumlah
;Digit 7 segment)
Ret
;
;untuk menmpilkan isi RAM buffer display ke 8x7 segment
;
Dis8seg:
Mov 7Bh,#08h ; Isi RAm 7Bh dengan 8 = jumlah digit
; 7segment
Mov R1,#70h ; R1 = Alamat buffer display
Mov 78h,#0FEh ; ISi memory 78h dengan FEh = u/ common
; display
ulang2:
Mov A,@R1 ; Pindahkan isi RAM yang ditunjukan R1 keA
Mov p0,A ; Keluarkan dataA ke port0 (data segment)
Inc R1
Mov A,78h ; Pindahkan isi RAM 78h ke A
Mov p2,A ; Keluarkan data A ke port 2(data common)
RL A
Mov 78h,A
Lcall delay
Mov p0,#0FFh ;matikan display sesaat (untuk
;menghindari bayangan)
Mov p2,#0FFh
Djnz 7Bh,ulang2 ;ulangi hingga 8x (jumlah digit 7
;segment)
Ret
;
Delay: mov 79h,#0FFh ;isi RAM 79h dengan A0 (hex)
delay1: Djnz 79h,delay1 ;
ret ;kembali ke langkah sesudah perintah
;Acall
Display:
mov 7Ah,#0Ah ;isi RAM 7Ah dengan 0Ah
Display1:
Lcall Dis7seg
Djnz 7Ah,display1
Ret
;
mulai:
;text keluar dari kanan ke kiri
Mov 7Eh,#1
Mov 7Dh,#8 ;RAM 7Dh di isi jumlah aksara yang
;akan ditampilkan
NextData:
Mov DPTR,#Haline ;isi DPTR dengan alamat label
;awal
Lcall Isi_buffer
Lcall Display
Inc 7Eh ;RAM 7Eh untuk counter data
;berikutnya
Djnz 7Dh,NextData ;ulangi sejumlah aksara yang di
;inginkan
Lcall display
Lcall display
Lcall display
;text digeser masuk ke kanan
NextData2:
dec 7Eh ;RAM 7E untuk counter data berikutnya
Mov DPTR,#Haline
Lcall Isi_buffer
Lcall display
Mov A,7Eh
Cjne A,0,NextData2
Lcall display
Lcall display
Lcall display
Ljmp Mulai
;--------------------------------------------------------
; DATA AREA
;--------------------------------------------------------
Haline: DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FDh,70h,24h,0Bh,77h,62h,0A0h,0FDh
End
pada gambar diatas dapat memakai seven segmen singgle yaitu dengan memparalel input data dan pada sambungan vcc di beri transistor sebagai switching ketika ingin di nyalakan maka transistor di aktifkan maka seven segment aktif anya, cara ini di sebut sistem switching, memang jikalau didefinisikan seven segmen ini kedip-kedip soalnya nyala mati bergantian, akan tetapi itu tidak, alasannya ialah sistem ini dibentuk dengan kecepatan switching yang sangat maka ketika dilihat oleh mata goresan pena seven segment tidak terlihat kedip-kedip.
data area dipakai sebagai data center angka yang akan dimunculkan.
0 Response to "Menghidupkan Display Led 8X 7 Segment Goresan Pena Bergeser Dengan Bahasa Assembly"
Post a Comment