Circuit Diagram:
Program :
;
; Program untuk menampilkan tulisan 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 sampai 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 sampai 8x (jumlah digit 7
;segment)
Ret
;
Delay:
mov 79h,#0FFh ;isi RAM 79h dengan A0 (hex)
delay1: Djnz 79h,delay1 ;
ret ;kembali ke langkah setelah 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 karakter 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 karakter 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 bisa menggunakan seven segmen singgle yaitu dengan memparalel input data dan pada sambungan vcc di beri transistor sebagai switching saat ingin di nyalakan maka transistor di aktifkan maka seven segment aktif anya, cara ini di sebut sistem switching, memang kalau didefinisikan seven segmen ini kedip-kedip soalnya nyala mati bergantian, akan tetapi itu tidak, karena sistem ini dibuat dengan kecepatan switching yang sangat maka saat dilihat oleh mata tulisan seven segment tidak terlihat kedip-kedip.
data area digunakan sebagai data center angka yang akan dimunculkan.