Home > Personal > Program Assembler untuk ngetest LCD 2×16

Program Assembler untuk ngetest LCD 2×16

Program ini di gunakan untuk mengetest apakah lcd bekerja dengan bener atau gak.
dalam program ini lcd di hubungkan dengan port 2 mikrokontroller dan untuk mengkompiler program ini di gunakan asm51.exe dan di writer ke mikrokontroller nya dengan menggunakan serial programming interface menggunakan asp_ic.exe

Program untuk mengetest lcd
code :


;Program ini untuk mencoba mengontrol LCD 2x16
;Nama Program : lcd.asm

p1		equ	090H		; port 1
data_lcd 	equ	0A0h	; DB0 - DB7 LCD dihubungkan dengan Port 2
p3		equ	0B0h		;keypad dihubungkan dengan Port 3

rs		equ	090h		;sinyal RS dengan P1.0
rw		equ	091h		;sinyal RW dengan P1.1
en		equ	092h		;sinyal E  dengan P1.2
psw		equ	0D0h		;psw = program status word
tmod		equ	089h		;timer mode register
th0		equ	08Ah		;timer 0 High Byte
tl0		equ	08Bh		;timer 0 Low Byte
th1		equ	08Ch		;timer 1 High Byte
tl1		equ	08Dh		;timer 1 Low Byte
tcon		equ	088H		;timer control register
acc		equ	0E0h		;

	org 0h

start:
	lcall delay_1_s
	lcall init_lcd
message:
	lcall clear_lcd
	mov dptr,#pesan1	;
	lcall kirimpesan_lcd
	lcall tulis_dibaris_bawah
	mov dptr,#pesan2	;
	lcall kirimpesan_lcd

	jmp selesai
kirimpesan_lcd:
;==============

loopkirimpesan_lcd:
	mov a,#00h
	movc a,@a+dptr
	cjne a,#0fh,kirim_lcd
	ret
kirim_lcd:
	lcall kirim_karakter
	inc dptr
	ajmp loopkirimpesan_lcd
kirim_karakter:
	lcall write_text

init_lcd:
;=======

	clr rw
	clr rs
	setb en
	mov data_lcd,#38h
	clr en
	call wait_lcd

	clr rw
	clr rs
	setb en
	mov data_lcd,#08h
	;cle en
	clr en
	call wait_lcd

	clr rs
	setb en
	mov data_lcd,#0eh
	clr en
	call wait_lcd

	clr rs
	setb en
	mov data_lcd,#06h
	clr en
	call wait_lcd
	ret

tulis_dibaris_bawah:
	clr rw
	clr rs
	setb en
	mov data_lcd,#0c0h
	clr en
	lcall wait_lcd
	ret

clear_lcd:
	setb en
	clr rs
	mov data_lcd,#01h
	clr en
	lcall wait_lcd
	ret

wait_lcd:
;========
	clr rs
	setb rw
	setb en
	mov data_lcd,#0ffh
	mov a,data_lcd
	jb acc.7,wait_lcd
	clr en
	clr rw
	ret

write_text:
;==========
	clr rw
	setb rs
	setb en
	mov data_lcd,a
	clr en
	lcall wait_lcd
	ret

pesan1:
	db 'SAHIR',0fh
pesan2:
	db 'Teknik Elektro',0fh

delay_50_ms:
	mov	tmod,#01h
	mov	th0,#034h
	mov	tl0,#08ch
;	setb	tr0
	setb	tcon.4		; tcon.4 = tr0
count_50_ms:
;	jbc	tf0,finish_50_ms
	jbc	tcon.5,finish_50_ms	; tcon.5 = tf0
	sjmp	count_50_ms
finish_50_ms:
	ret
;============
delay_200_us:
	mov	tmod,#01h
	mov	th0,#0ffh
	mov	tl0,#02fh
;	setb	tr0
	setb	tcon.4		; tcon.4 = tr0
count_200_us:
;	jbc	tf0,finish_200_us
	jbc	tcon.5,finish_200_us	; tcon.5 = tf0
	sjmp	count_200_us
finish_200_us:
	ret
;============
delay_1_s:
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	call delay_50_ms
	ret
selesai:

end	;end program
Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
Categories: Personal Tags:
  1. yuni
    December 5th, 2010 at 15:54 | #1

    mas tolong dunk… minta bantuannya
    gimana buat program yang di tampilin di LCD (palang parkir otomatis)

    inisialisasinya yaitu mslkn qta pake 2 tombol
    1 buat tmbl msuk dn stunya buat tmbl keluar. nilai awal kita kasih 20.
    kalau mslkan qta tekan tmbol 1, maka yang ditampilin di lcd itu nilai yang awalnya 20 berkurang satu menjadi 19. trus yng bagian tmbl keluarnya kebalikan tmbl masuk

    mohon bantuannya ya mas,,,,

  2. robby suhendra
    January 18th, 2011 at 21:42 | #2

    BoS minta solusi untuk Program asembly menampilkan nilai dgn GRADE A,B,C,D,E
    yang diinfut nilainya
    A>=80
    B>=70
    C>=60
    D>=50
    E<50

    tolong ya gan

  3. robby suhendra
    January 19th, 2011 at 17:14 | #3

    bos aq mw minta solusi program asembly untuk menampilkan nilai berdasarkan GRADE A,B,C,D,E
    A>=80,B>=70,C>=60,D>=50,E<50

Comment pages
  1. October 25th, 2008 at 17:38 | #1