⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yjp_nxsx.asm

📁 一个液晶驱动程序,配合计算机软件可方便的制作文本显示器用于工控场合
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	   INC DPTR
	   MOV A,SET_L_BUF
	   MOVX @DPTR,A

	   LCALL WR24C021      ;写入24C021中

KEY2_3D1:  LCALL KEY2_2B
	   RET
;;====================================
;;=1 将设置值存储在MWn中
;;=2 将设置值存储在SDA2000A中,时钟值
;;=3 将设置值存储在24C021中,时段值
KEY2_3AEND:RET
KEY2_3A:   MOV A,SET_MODE
	   XRL A,#1
	   JZ JKEY2_3B
	   MOV A,SET_MODE
	   XRL A,#2
	   JZ JKEY2_3C
	   MOV A,SET_MODE
	   XRL A,#3
	   JZ JKEY2_3D
	   RET
JKEY2_3B:  LJMP KEY2_3B
JKEY2_3C:  LJMP KEY2_3C
JKEY2_3D:  LJMP KEY2_3D
;;....................................
KEY2_3END: RET		;ENT键
KEY2_3:    MOV A,SET_X
	   JNZ KEY2_3A
	   LCALL KEY_COM1
	   MOV A,R7	 ;丢失表格数据
	   JNZ KEY2_3END
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#22
	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,#23
	   MOVC A,@A+DPTR
	   MOV R1,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#0
	   MOVC A,@A+DPTR
	   JZ KEY2_3END
	   LCALL KEY_COM2
	   RET
;;====================================
KEY3_0END: RET		;F1键
KEY3_0:    LCALL KEY_COM1
	   MOV A,R7	 ;丢失表格数据
	   JNZ KEY3_0END
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#25
	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,#26
	   MOVC A,@A+DPTR
	   MOV R1,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#0
	   MOVC A,@A+DPTR
	   JZ KEY3_0END
	   LCALL KEY_COM2
	   RET
;;====================================
KEY3_1END: RET		;F2键
KEY3_1:    LCALL KEY_COM1
	   MOV A,R7	 ;丢失表格数据
	   JNZ KEY3_1END
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#28
	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,#29
	   MOVC A,@A+DPTR
	   MOV R1,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#0
	   MOVC A,@A+DPTR
	   JZ KEY3_1END
	   LCALL KEY_COM2
	   RET
;;====================================
KEY3_2END: RET		;F3键
KEY3_2:    LCALL KEY_COM1
	   MOV A,R7	 ;丢失表格数据
	   JNZ KEY3_2END
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#31
	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,#32
	   MOVC A,@A+DPTR
	   MOV R1,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#0
	   MOVC A,@A+DPTR
	   JZ KEY3_2END
	   LCALL KEY_COM2
	   RET
;;====================================
KEY3_3END: RET		;F4键
KEY3_3:    LCALL KEY_COM1
	   MOV A,R7	 ;丢失表格数据
	   JNZ KEY3_3END
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#34
	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,#35
	   MOVC A,@A+DPTR
	   MOV R1,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#0
	   MOVC A,@A+DPTR
	   JZ KEY3_3END
	   LCALL KEY_COM2
	   RET
;;====================================
;;====================================
KEY_COM1:  MOV R7,#0
	   MOV A,PAGE_NUMB
	   MOV B,#3
	   MUL AB
	   CLR C
	   SUBB A,#2
	   MOV B,A
	   MOV DPTR,#8004H

	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,B
	   INC A
	   MOVC A,@A+DPTR
	   MOV R1,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#0
	   MOVC A,@A+DPTR
	   CLR C
	   SUBB A,#99H	 ;键盘表格标志
	   JZ KEY_COM11
	   MOV R7,#1
	   RET
KEY_COM11:
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#2
	   MOVC A,@A+DPTR
	   MOV R0,A
	   MOV A,#3
	   MOVC A,@A+DPTR
	   MOV R1,A
	   RET
;;====================================
JKEY_COM20:LJMP KEY_COM20
JKEY_COM21:LJMP KEY_COM21
JKEY_COM22:LJMP KEY_COM22

KEY_COM2:  MOV B,A
	   XRL A,#1
	   JZ  JKEY_COM20  ;画面切换
	   MOV A,B
	   XRL A,#2
	   JZ  JKEY_COM21  ;取反线圈
	   MOV A,B
	   XRL A,#3
	   JZ  JKEY_COM22  ;瞬间线圈
	   RET
;;....................................
KEY_COM20: MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#01
	   MOVC A,@A+DPTR ;取画面号
	   MOV B,A
	   MOV PAGE_NUMB,A
	   MOV A,#MW27
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,#0
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,B
	   MOVX @DPTR,A
	   RET
;;....................................
KEY_COM21: MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#01
	   MOVC A,@A+DPTR
	   MOV DPL,A
	   MOV R6,A	;保存DPTR
	   MOV DPH,#01H
	   MOVX A,@DPTR
	   MOV R4,A
	   INC DPTR
	   MOVX A,@DPTR
	   MOV R5,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#2
	   MOVC A,@A+DPTR
	   MOV B,#3
	   MUL AB
	   MOV DPTR,#JMPCPL_BITTAB
	   JMP @A+DPTR
JMPCPL_BITTAB:
	   LJMP CPL_BIT00
	   LJMP CPL_BIT01
	   LJMP CPL_BIT02
	   LJMP CPL_BIT03
	   LJMP CPL_BIT04
	   LJMP CPL_BIT05
	   LJMP CPL_BIT06
	   LJMP CPL_BIT07
;;....................................
CPL_BIT00: MOV A,R5
	   MOV C,ACC.0
	   CPL C
	   MOV ACC.0,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT01: MOV A,R5
	   MOV C,ACC.1
	   CPL C
	   MOV ACC.1,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT02: MOV A,R5
	   MOV C,ACC.2
	   CPL C
	   MOV ACC.2,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT03: MOV A,R5
	   MOV C,ACC.3
	   CPL C
	   MOV ACC.3,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT04: MOV A,R5
	   MOV C,ACC.4
	   CPL C
	   MOV ACC.4,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT05: MOV A,R5
	   MOV C,ACC.5
	   CPL C
	   MOV ACC.5,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT06: MOV A,R5
	   MOV C,ACC.6
	   CPL C
	   MOV ACC.6,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
CPL_BIT07: MOV A,R5
	   MOV C,ACC.7
	   CPL C
	   MOV ACC.7,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;====================================
KEY_COM22: MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#01
	   MOVC A,@A+DPTR
	   MOV DPL,A
	   MOV R6,A	;保存DPTR
	   ORL A,#80H	;防止出现MW0特例
	   MOV CLR_BIT_X,A ;键释放时退出
	   MOV DPH,#01H
	   MOVX A,@DPTR
	   MOV R4,A
	   INC DPTR
	   MOVX A,@DPTR
	   MOV R5,A
	   MOV A,R0
	   MOV DPH,A
	   MOV A,R1
	   MOV DPL,A
	   MOV A,#2
	   MOVC A,@A+DPTR
	   MOV CLR_BIT_Y,A
	   MOV B,#3
	   MUL AB
	   MOV DPTR,#JMPBBS_BITTAB
	   JMP @A+DPTR
JMPBBS_BITTAB:
	   LJMP BBS_BIT00
	   LJMP BBS_BIT01
	   LJMP BBS_BIT02
	   LJMP BBS_BIT03
	   LJMP BBS_BIT04
	   LJMP BBS_BIT05
	   LJMP BBS_BIT06
	   LJMP BBS_BIT07
;;....................................
BBS_BIT00: MOV A,R5
	   MOV C,ACC.0
	   SETB C
	   MOV ACC.0,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT01: MOV A,R5
	   MOV C,ACC.1
	   SETB C
	   MOV ACC.1,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT02: MOV A,R5
	   MOV C,ACC.2
	   SETB C
	   MOV ACC.2,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT03: MOV A,R5
	   MOV C,ACC.3
	   SETB C
	   MOV ACC.3,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT04: MOV A,R5
	   MOV C,ACC.4
	   SETB C
	   MOV ACC.4,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT05: MOV A,R5
	   MOV C,ACC.5
	   SETB C
	   MOV ACC.5,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT06: MOV A,R5
	   MOV C,ACC.6
	   SETB C
	   MOV ACC.6,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;....................................
BBS_BIT07: MOV A,R5
	   MOV C,ACC.7
	   SETB C
	   MOV ACC.7,C
	   MOV R5,A
	   MOV A,R6
	   MOV DPL,A
	   MOV DPH,#01H
	   MOV A,R4
	   MOVX @DPTR,A
	   INC DPTR
	   MOV A,R5
	   MOVX @DPTR,A
	   RET
;;====================================
;;====================================
AUTOSHOWEND:RET
AUTOSHOW:
	   MOV DPTR,#8003H
	   MOV A,#0
	   MOVC A,@A+DPTR
	   INC A
	   MOV B,A
	   MOV A,#MW27
	   MOV DPL,A
	   MOV DPH,#01H
	   INC DPTR
	   MOVX A,@DPTR
	   CLR C
	   SUBB A,B
	   JNC AUTOSH3
	   MOVX A,@DPTR
	   XRL A,PAGE_NUMB
	   JZ AUTOSH3
	   MOVX A,@DPTR
	   MOV LCD_POW_BZ,#1
	   MOV PAGE_NUMB,A   ;导致主机可切换画面
AUTOSH3:   MOV A,PAGE_NUMB
	   XRL A,PAGE_BUF
	   JNZ AUTOSH1
	   MOV PAGE_QHBZ,#0
	   MOV A,SHOW_TIME
	   JNZ AUTOSHOWEND
	   MOV SHOW_TIME,#02 ;刷新动态数据
	   MOV A,SHOW_COUN
	   INC A
	   MOV SHOW_COUN,A
	   CLR C
	   SUBB A,#151	     ;刷新固定数据
	   JC  AUTOSH2
	   MOV SHOW_COUN,#0
	   AJMP AUTOSH2
AUTOSH1:   LCALL OCMJSUB6
	   MOV A,PAGE_NUMB
	   MOV PAGE_BUF,A
	   MOV PAGE_QHBZ,#1
	   MOV SHOW_COUN,#0
	   MOV SET_X,#0      ;画面切换后退出设置状态
	   MOV FLASH_X,#0
	   MOV CLR_CUR_BZ,#1
AUTOSH2:   MOV A,PAGE_NUMB
	   MOV B,#3
	   MUL AB
	   CLR C
	   SUBB A,#2
	   MOV B,A
	   MOV DPTR,#8004H
	   MOVC A,@A+DPTR
	   MOV DPH_BUF1,A
	   MOV A,B
	   INC A
	   MOVC A,@A+DPTR
	   MOV DPL_BUF1,A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -