前一段时间时间写的,你参考一下。我运行的是没有问题,如有误,还请指正。
;============================
; 20090612
; 星期五
; bg7ydo
;============================
di bit p3.2
rw bit p3.3
e bit p3.4
cs1 bit p3.5
cs2 bit p3.6
rst bit p3.7
bd equ p1
dat equ 40h
com equ 41h
pag equ 42h
;============================
org 0000h
sjmp main
org 040h
main:
clr rw
clr rst
nop
setb rst
nop
mov com,#00111111b
lcall w_com
mov com,#11000000b
lcall w_com
mov com,#10111000b
lcall w_com
mov com,#01000000b
lcall w_com
mov dptr,#txt1
mov r1,#8
mov r2,#10111000b
;==================================
; 满屏写图形文件
;
;==================================
w_lcd1:
mov r0,#64
w_lcd2:
mov a,#0
movc a,@a+dptr
mov dat,a
lcall w_dat_l
inc dptr
djnz r0,w_lcd2
w_lcd3:
mov r0,#64
w_lcd4:
mov a,#0
movc a,@a+dptr
mov dat,a
lcall w_dat_r
inc dptr
djnz r0,w_lcd4
inc r2
mov com,r2
lcall w_com
mov com,#40h
lcall w_com
djnz r1,w_lcd1
sjmp $
w_com:
lcall busy
mov p1,com ; 写指令代码
clr rw ; r/w=0
setb e ; e=1
clr e ; e=0
ret
w_dat_l:
lcall busy
clr cs2
mov p1,dat ; 写数据
setb di ; d/i=1
clr rw ; r/w=0
setb e ; e=1
clr e ; e=0
ret
w_dat_r:
lcall busy
clr cs1
mov p1,dat ; 写数据
setb di ; d/i=1
clr rw ; r/w=0
setb e ; e=1
clr e ; e=0
ret
r_data:
lcall busy
setb di ; d/i=1
mov p1,#0ffh ; p1 口置"1"
setb e ; e=1
mov dat,p1 ; 读数据
clr e ; e=0
ret
busy:
setb cs1 ; 片选设置为"00"
setb cs2
clr di ; d/i=0
setb rw ; r/w=1
busy1:
mov p1,#0ffh ; p1 口置"1"
setb e ; e=1
mov a,p1 ; 读状态字
clr e ; e=0
jb acc.7,busy1 ; 判"忙"标志为"0"否,否再读
ret
txt1:
db 0ffh,01h,0ddh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,0ddh,9dh,9dh,9dh,9dh
db 9dh,9dh,9dh,9dh,9dh,0ddh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,0ddh
db 9dh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,9dh,0ddh,9dh,9dh,9dh,9dh,9dh,9dh
db 9dh,9dh,9dh,0ddh,81h,81h,81h,81h,81h,81h,81h,81h,81h,0c1h,01h,01h
db 01h,0c1h,81h,81h,81h,81h,81h,81h,81h,81h,81h,0c1h,81h,81h,81h,81h
db 81h,81h,81h,81h,81h,0c1h,81h,81h,81h,81h,81h,81h,81h,81h,81h,0c1h
db 81h,81h,81h,81h,81h,81h,81h,81h,81h,0c1h,81h,81h,81h,81h,81h,81h
db 81h,81h,81h,0c1h,81h,81h,81h,81h,81h,81h,81h,81h,81h,0c1h,01h,0ffh
db 0ffh,00h,00h,00h,00h,00h,00h,0c4h,0a2h,92h,8ah,84h,00h,80h,00h,4eh
db 8ah,8ah,8ah,72h,00h,00h,00h,7ch,0a2h,92h,8ah,7ch,00h,00h,00h,0fch
db 22h,22h,22h,0fch,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,0ffh
db 0ffh,00h,0b8h,38h,38h,38h,38h,38h,38h,38h,38h,0b8h,38h,38h,38h,38h
db 38h,38h,38h,38h,38h,0b8h,38h,38h,38h,38h,38h,38h,38h,38h,38h,0b8h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,80h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,80h,00h,00h,00h,00h,00h,00h,00h,00h,00h,80h,00h,00h
db 00h,80h,00h,00h,00h,00h,00h,00h,00h,00h,00h,80h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,80h,00h,00h,00h,00h,00h,00h,00h,00h,00h,80h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,80h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,80h,00h,00h,00h,00h,00h,00h,00h,00h,00h,80h,00h,0ffh
db 0ffh,00h,01h,01h,01h,01h,01h,01h,09h,0fdh,01h,01h,01h,01h,01h,9dh
db 15h,15h,15h,0e5h,01h,01h,01h,0f9h,45h,25h,15h,0f9h,01h,01h,01h,7dh
db 81h,01h,81h,7dh,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h
db 01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,00h,00h
db 00h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h
db 01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h
db 01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h
db 01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,01h,00h,0ffh
db 0ffh,00h,0c0h,80h,80h,80h,80h,80h,81h,81h,81h,0c0h,80h,80h,80h,80h
db 81h,81h,81h,80h,80h,0c1h,80h,80h,81h,81h,81h,80h,80h,80h,80h,0c0h
db 80h,81h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,00h,00h
db 00h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,00h,0ffh
db 0ffh,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,0ffh
db 0ffh,00h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,00h,00h
db 00h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,0c0h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0c0h,00h,0ffh
db 0ffh,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h
db 80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,80h,0ffh
end