【新手小白报到】在网上看了个有关显示器的程序,用 keil 编译了一下一直提示 UNDEFINED SYMBOL 的错误,求指教
小白求大神拯救,现在是一片迷茫,自己百度了好多也摸不着头脑,在学校里面都是做的很简单很简单的代码设计,就几行那种,大多也没有上机真正编译调试过。这种稍微多一点的就搞不明白了,所以拜托各位大神好心帮帮忙,小女子洗耳恭听下面是我找的源程序
显示屏显示子程序:
;===============显示分钟数子程序==================
DISPLAY0:
LCALL LEFT ;对左半屏操作
MOV YM,#4 ;页设置
MOV LM,#48 ;列 第一位数
MOV CODES,U0 ;字形参数
MOV DPTR,#TAB2
LCALL CHINE ;显示程序
RET
DISPLAY1:
LCALL RIGHT
MOV YM,#4
MOV LM,#0 ;第二位数
MOV CODES,U1
MOV DPTR,#TAB2
LCALL CHINE
RET
DISPLAY2:
LCALL RIGHT
MOV YM,#4
MOV LM,#16 ;第三位数
MOV CODES,U2
MOV DPTR,#TAB2
LCALL CHINE
RET
;================================
;显示屏初始化子程序
INT:
LCALL LEFT ;左半屏控制
MOV COM,#3FH ;左半屏开显示设置
LCALL PRM ;写指令子程序
LCALL RIGHT ;右半屏控制
MOV COM,#3FH ;右半屏开显示设置
LCALL PRM ;写指令子程序
;=============写数据子程序===============
PRD:
LCALL BUSY ;调用判忙子程序
SETB RS ;RS置1
CLR RW ;RW清0
SETB E
MOV DATAES,DAT ;所送数据
CLR E ;E下降沿液晶模块从数据总线上读入指令
RET
;==============设置显示初始页==============
PAGEFIRST:
MOV A,COM ;COM中为实际的页码
ORL A,#0B8h ;将实际的页数和B8的或所得的结果即是要送的指令代码
MOV COM,A
LCALL PRM ;调用写入指令子程序
RET
;===============设置显示初始列==============
LIEFIRST:
MOV A,COM ;COM中为实际的列码
ORL A,#40H ;将实际的页数和40的或所得的结果即是要送的指令代码
MOV COM,A ;设置显示起始列为第0列
LCALL PRM ;调用写入指令子程序
RET
;===============显示程序====================
CHINE:
MOV A,CODES
MOV B,#32
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
;================设置显示起始页=============
MOV COM,YM
LCALL PAGEFIRST
;================设置显示起始列=============
MOV COM,LM
LCALL LIEFIRST
;============在指定位置显示16*16汉字上半部分======
MOV R0,#00H
RETURN0:
MOV A,R0
MOVC A,@A+DPTR
MOV DAT,A
LCALL PRD
INC R0
CJNE R0,#16,RETURN0
;=============设置显示起始页=================
MOV A,YM
INC A
MOV COM,A ;设置显示起始页为第4页
LCALL PAGEFIRST
;=============设置显示起始列=================
MOV COM,LM
LCALL LIEFIRST
;===========在指定位置显示16*16汉字下半部分=
RETURN1:
MOV A,R0
MOVC A,@A+DPTR
MOV DAT,A
LCALL PRD
INC R0
CJNE R0,#32,RETURN1
RET
END