📄 do_with_lcd_dis.asm
字号:
;************************************************************
;文档类型: 原代码
;项目编号:
;文档编号:
;修订版本: v1.0
;生成日期: 2003.9.25
;文档作者: LI
;审 核:
;************************************************************
;相关文档: 循显处理程序
;文档编号 说明
;************************************************************
;修订版本: V5.0
;修订版本: 2005.6.4
;************************************************************
$INCLUDE (RAML128.INC)
$INCLUDE (RAMH128.INC)
$INCLUDE (PL3200.INC)
$INCLUDE (CONST.INC)
$INCLUDE (IO.INC)
$INCLUDE (RAM.INC)
CODE_REG SEGMENT CODE
RSEG CODE_REG
PUBLIC DO_WITH_LCD_DIS
PUBLIC LCD_DIS_TEST
PUBLIC LOOP_R1_TO_R0
PUBLIC BYTE4_TO_LCD_DIS
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
; 内容为10时,显示消隐
;为11时,显示"H"; 为12时,显示"L"
;*******************************;调用子程序情况:
EXTRN CODE(RD_SNO)
EXTRN CODE(RD_REV_BCD)
;EXTRN CODE(RD_JL_NOW_ZDL)
EXTRN CODE(RD_NOW_ZDL)
EXTRN CODE(RD_NOW_FL_INT)
EXTRN CODE(RD_YMD)
;EXTRN CODE(RD_AUTO_DATE)
EXTRN CODE(RD_HMS)
EXTRN CODE(RD_DIS_CRLB)
EXTRN CODE(CAL_DL_SUM)
EXTRN CODE(RD_VI)
EXTRN CODE(RD_FLOAT_ZYG)
;EXTRN CODE(RD_FLOAT_FYG)
;EXTRN CODE(RD_NOW_Y_XL)
;EXTRN CODE(RD_JL_LAST_FL_INT)
;EXTRN CODE(RD_JL_LAST_ZDL)
EXTRN CODE(CAL_TO_RD)
;EXTRN CODE(RD_JL_NOW_FL_DL)
EXTRN CODE(RD_NOW_FL_DL)
EXTRN CODE(DPTR_TO_RD4 )
;****************************************
DO_WITH_LCD_DIS:
MOV R0,#DIS_SEC_VALUE
MOV A,@R0
JZ DO_WITH_00
DEC @R0
CJNE @R0,#0,LOOP_DIS
DO_WITH_00:
MOV R0,#DIS_CODE ;2004.6.26处理为循环显示
INC @R0
SETB RD24_FLAG ;设置显示读24数据标志 05.9.8LIHENG
MOV R0,#DIS_SEC_VALUE
MOV @R0,#120
JB READ_BIT,DO_WITH_01
MOV R0,#DIS_SEC_VALUE
MOV @R0,#8 ;A
DO_WITH_01:
MOV LCD_CTRL_B0,#0FFH
MOV LCD_CTRL_B1,#0FFH
MOV LCD_CTRL_B2,#0FFH
JB READ_BIT,LOOP_DIS
CALL RD_DIS_CRLB
MOV LCD_CTRL_B0,RD_BUF0 ;*****li
MOV LCD_CTRL_B1,RD_BUF1 ;*****li
MOV LCD_CTRL_B2,RD_BUF2 ;*****li
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LOOP_DIS: ;循显LCD
MOV R0,#DIS_CODE
CJNE @R0,#1,LOOP_DIS_02
CALL DISP_V ;V版本号 上电显示
RET
LOOP_DIS_02:
MOV R0,#DIS_CODE
CJNE @R0,#2,LOOP_DIS_03
JNB NOW_DATE_BIT,INC_CODE_03
JNB RD24_FLAG,NO_NEED_02
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_DATE ;DATE 日期
NO_NEED_02: RET
INC_CODE_03:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_03:
MOV R0,#DIS_CODE
CJNE @R0,#3,LOOP_DIS_04
JNB NOW_TIME_BIT,INC_CODE_04
CALL LCD_CLR
CALL LCD_DIS_TIME ;TIME 时间
RET
INC_CODE_04:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_04:
MOV R0,#DIS_CODE
CJNE @R0,#4,LOOP_DIS_05
JNB ADDR_HL_BIT,INC_CODE_05
JNB RD24_FLAG,NO_NEED_04
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_ADR012 ;地址低3字节
NO_NEED_04: RET
INC_CODE_05:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_05:
MOV R0,#DIS_CODE
CJNE @R0,#5,LOOP_DIS_06
JNB REV_BCD_BIT,INC_CODE_06
JNB RD24_FLAG,NO_NEED_05
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_REV ;电表常数
NO_NEED_05: RET
INC_CODE_06:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_06:
MOV R0,#DIS_CODE
CJNE @R0,#6,LOOP_DIS_07
JNB NOW_P_Z_BIT,INC_CODE_07
JNB RD24_FLAG,NO_NEED_06
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_NOW_PZ ;当前有功总电量
NO_NEED_06: RET
INC_CODE_07:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_07:
MOV R0,#DIS_CODE
CJNE @R0,#7,LOOP_DIS_08
JNB NOW_P_F_BIT,INC_CODE_08
JNB RD24_FLAG,NO_NEED_07
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_NOW_PF ;当前有功峰电量
NO_NEED_07: RET
INC_CODE_08:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_08:
MOV R0,#DIS_CODE
CJNE @R0,#8,LOOP_DIS_09
JNB NOW_P_P_BIT,INC_CODE_09
JNB RD24_FLAG,NO_NEED_08
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_NOW_PP ;当前有功平电量
NO_NEED_08: RET
INC_CODE_09:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_09:
MOV R0,#DIS_CODE
CJNE @R0,#9,LOOP_DIS_10
JNB NOW_P_G_BIT,INC_CODE_10
JNB RD24_FLAG,NO_NEED_09
CLR RD24_FLAG
CALL LCD_CLR
CALL LCD_DIS_NOW_PG ;当前有功谷电量
NO_NEED_09: RET
INC_CODE_10:
MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_10:
; MOV R0,#DIS_CODE
; CJNE @R0,#10,LOOP_DIS_11
; JNB NOW_F_Z_BIT,INC_CODE_11
; JNB RD24_FLAG,NO_NEED_10
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_NOW_FZ ;当前有功反总电量
NO_NEED_10: ; RET
INC_CODE_11:; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_11:
; MOV R0,#DIS_CODE
; CJNE @R0,#11,LOOP_DIS_12
; JNB NOW_F_F_BIT,INC_CODE_12
; JNB RD24_FLAG,NO_NEED_11
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_NOW_FF ;当前有功反峰电量
NO_NEED_11: ; RET
INC_CODE_12:; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_12:
; MOV R0,#DIS_CODE
; CJNE @R0,#12,LOOP_DIS_13
; JNB NOW_F_P_BIT,INC_CODE_13
; JNB RD24_FLAG,NO_NEED_12
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_NOW_FP ;当前有功反平电量
NO_NEED_12: ; RET
INC_CODE_13:; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_13:
; MOV R0,#DIS_CODE
; CJNE @R0,#13,LOOP_DIS_14
; JNB NOW_F_G_BIT,INC_CODE_14
; JNB RD24_FLAG,NO_NEED_13
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_NOW_FG ;当前有功反谷电量
NO_NEED_13: ; RET
INC_CODE_14: ; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_14:
; MOV R0,#DIS_CODE
; CJNE @R0,#14,LOOP_DIS_15
; JNB NOW_W_BIT,INC_CODE_15
; JNB RD24_FLAG,NO_NEED_14
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_NOW_WZ ;;当前无功总电量
NO_NEED_14:; RET
INC_CODE_15: ; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_15:
; MOV R0,#DIS_CODE
; CJNE @R0,#15,LOOP_DIS_16
; CJNE @R0,#10,LOOP_DIS_16
; JNB NOW_XL_BIT,INC_CODE_16
; JNB RD24_FLAG,NO_NEED_15
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_NOW_XL ;;当前月最大需量
NO_NEED_15: ; RET
INC_CODE_16: ; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_16:
MOV R0,#DIS_CODE
;CJNE @R0,#16,LOOP_DIS_17
CJNE @R0,#10,LOOP_DIS_17
JNB V_A_BIT,INC_CODE_17
CALL LCD_CLR
CALL LCD_DIS_VA ;;当前电压
RET
INC_CODE_17: MOV R0,#DIS_CODE
INC @R0
LOOP_DIS_17:
MOV R0,#DIS_CODE
;CJNE @R0,#17,LOOP_DIS_18
CJNE @R0,#11,LOOP_DIS_18
JNB I_A_BIT,INC_CODE_18
CALL LCD_CLR
CALL LCD_DIS_IA ;;当前电流
RET
INC_CODE_18: ; MOV R0,#DIS_CODE
; INC @R0
LOOP_DIS_18:
; MOV R0,#DIS_CODE
;CJNE @R0,#18,LOOP_DIS_19
; CJNE @R0,#13,LOOP_DIS_19
; JNB NOW_GL_BIT,INC_CODE_19
; CALL LCD_CLR
; CALL LCD_DIS_NOW_GL ;;当前功率
; RET
INC_CODE_19: ; MOV R0,#DIS_CODE ;lxb
; INC @R0
LOOP_DIS_19:
; MOV R0,#DIS_CODE
; CJNE @R0,#19,LOOP_DIS_20
; JNB SY_Z_BIT,INC_CODE_20
; JNB RD24_FLAG,NO_NEED_19
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_SY_ZDL
NO_NEED_19: ; RET
INC_CODE_20: ; MOV R0,#DIS_CODE ;lxb
; INC @R0
LOOP_DIS_20:
; MOV R0,#DIS_CODE
; CJNE @R0,#20,LOOP_DIS_21
; JNB SY_F_BIT,INC_CODE_21
; JNB RD24_FLAG,NO_NEED_20
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_SY_FDL
NO_NEED_20:; RET
INC_CODE_21: ; MOV R0,#DIS_CODE ;lxb
; INC @R0
LOOP_DIS_21:
; MOV R0,#DIS_CODE
; CJNE @R0,#21,LOOP_DIS_22
; JNB SY_P_BIT,INC_CODE_22
; JNB RD24_FLAG,NO_NEED_21
; CLR RD24_FLAG
;; CALL LCD_CLR
; CALL LCD_DIS_SY_PDL
NO_NEED_21:; RET
INC_CODE_22: ; MOV R0,#DIS_CODE ;lxb
; INC @R0
LOOP_DIS_22:
; MOV R0,#DIS_CODE
; CJNE @R0,#22,LOOP_DIS_23
; JNB SY_G_BIT,INC_CODE_23
; JNB RD24_FLAG,NO_NEED_22
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_SY_GDL
NO_NEED_22: ; RET
INC_CODE_23: ; MOV R0,#DIS_CODE ;lxb
; INC @R0
LOOP_DIS_23:
; MOV R0,#DIS_CODE
; CJNE @R0,#23,LOOP_DIS_24
; JNB SY_WG_BIT,INC_CODE_24
; JNB RD24_FLAG,NO_NEED_23
; CLR RD24_FLAG
; CALL LCD_CLR
; CALL LCD_DIS_SY_WGDL
NO_NEED_23:; RET
INC_CODE_24:
LOOP_DIS_24:
MOV R0,#DIS_CODE
MOV @R0,#1
JMP DO_WITH_00
;****************************************
;2004.6.26 测试为LCD全部点亮自检
;****************************************
LCD_DIS_TEST: MOV EXT_ADR,#0FEH
SETB LED_LCD
MOV R6,#0
MOV R7,#12
DIS_TEST:
MOV EXT_ADR,R6
MOV EXT_DAT,#0FFH
INC R6
DJNZ R7,DIS_TEST
RET
;****************************************
;2004.6.26 LCD显示日期:年月日 当前费率号
;****************************************
LCD_DIS_DATE: MOV R0,#LCD_1
MOV @R0,#10
MOV R0,#LCD_2
MOV @R0,#2 ;20XX年
MOV R0,#LCD_3
MOV @R0,#0
CALL RD_YMD
CALL BYTE3_TO_LCD_DIS
SETB DATE_BIT
JMP DATE_TIME_SAME
;****************************************
;2004.6.26 LCD显示时间:时分秒 当前费率号
;****************************************
LCD_DIS_TIME: MOV R0,#LCD_1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -