|
楼主 |
发表于 2008-3-5 00:41:56
|
显示全部楼层
这是模拟测试的代码:
RS EQU p2.0 ;液晶接口的定义
RW EQU p2.1
E EQU p2.2
org 0000h
MOV SP,#70H ;设置堆栈
MOV p0,#01H ;清屏
CALL sss
MOV p0,#38H ;使用8Bits汇流排,显示2行5*7字符
CALL sss
MOV p0,#0CH ;显示开,光标关
CALL sss
MOV p0,#06H ;字符不动,光标自动右移一格
CALL sss
MOV p0,#80H ;第一行的开始位置
cALL sss
MOV DPTR,#TABLE1 ;显示
CALL www1 ;到TABLE1取码?
MOV p0,#0C0H ;第二行的位置
CALL sss
MOV DPTR,#TABLE2 ;显示
CALL www1 ;到TABLE2 取码
MOV p0,#0C2H ;光标定位0C0H
CALL sss
JMP $
sss: CLR RS ;送命令
CLR RW
CLR E
CALL ddd
SETB E
RET
www1: MOV R1,#00H ;显示table中的值
A1: MOV A,R1 ;到table取码
MOVC A,@A+DPTR
call www2 ;显示到lcd
INC R1
CJNE A,#00H,A1 ;是否到00h
RET
www2:MOV p0,A ;显示
SETB RS
CLR RW
CLR E
CALL ddd
SETB E
RET
ddd: MOV R4,#05 ;延时1mS子程序
D1:MOV R5,#0FFH
DJNZ R5,$
DJNZ R4,D1
RET
table1: db"2008-02-16 15:07.56 ",00H
table2: db"Xjwlmq wsh BG Li-xiao-an",00H
end
;E端子应该是H为使能。
;BF为低电平表示忙就循环等待。
[ 本帖最后由 lxa000 于 2008-3-5 00:54 编辑 ] |
|