当前位置:首页 > 基于单片机的蓄电池监测系统设计
本 科 毕 业 设 计
第 45 页 共 48 页
LCALL CLS ;调用清除LCM子程序
MOV A,#80H ;向A送立即数80H设定显示地址为第一行第一列
LCALL WRITE_COM ;调用写指令到LCM子程序
MOV DPTR,#LINE1 ;将第一行字符串的启始地址送如DPTR中
LCALL DISP ;调用显示字符串到LCM子程序
MOV A,#0C0H ;向A送立即数0C0H设定显示地址为第二行第一列
LCALL WRITE_COM MOV DPTR,#LINE2 LCALL DISP SJMP $
INITIAL: MOV A,#38H LCALL WRITE_COM MOV A,#0EH
LCALL WRITE_COM MOV A,#06H LCALL WRITE_COM
RET
CHECK_BUSY: PUSH ACC BUSY_LOOP: CLR LCM_E SETB LCM_RW
CLR LCM_RS
SETB LCM_E
MOV A,LCM_DATA
CLR LCM_E
JB ACC.7,BUSY_LOOP
POP ACC LCALL DEL RET
WRITE_COM: LCALL CHECK_BUSY ;调用写指令到LCM子程序
;将第二行字符串的启始地址送如DPTR中 ;调用显示字符串到LCM子程序 ;启动LCM子程序 ;查询忙碌信号子程序 ;写指令到LCM子程序
本 科 毕 业 设 计
CLR LCM_E CLR LCM_RS CLR LCM_RW
SETB LCM_E MOV LCM_DATA,A
CLR LCM_E
第 46 页 共 48 页
RET
WRITE_DATA: LCALL CHECK_BUSY CLR LCM_E SETB LCM_RS
CLR LCM_RW SETB LCM_E
MOV LCM_DATA,A CLR LCM_E RET
CLS: MOV A,#01H LCALL WRITE_COM
RET
DEL: MOV R6,#5 MOV R7,#248 DJNZ R7,$
DJNZ R6,D1
RET
DISP: PUSH ACC CLR A MOVC A,@A+DPTR JZ END_DISP LCALL WRITE_DATA INC DPTR LCM子程序 LCM子程序 ;2.7MS延时子程序D1: A的内容压栈DISP_LOOP:
A清零
A ;若查到的内容为0则终止查表 ;调用写数据到LCM子程序 ;DPTR加1指向下一个对象
;写数据到;清除;将;;查表将字符串内容送入 本 科 毕 业 设 计
第 47 页 共 48 页
SJMP DISP_LOOP ;跳转到DISP_LOOP循环执行END_DISP: POP ACC ;弹出压栈内容至A
RET
END
********************************结束***************************************
本 科 毕 业 设 计
第 48 页 共 48 页
共分享92篇相关文档