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

📄 tlcm101.asm

📁 lcm测试程序,对LCM设计者有帮助,希望大家能用上.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	   LCALL   CK16064B1
	   MOV	   DPTR,#B16064C2W
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   MOV	   DPTR,#B16064C3W
	   MOVX    @DPTR,A
	   LCALL   CK16064B3

	   MOV	   A,VR
	   MOV	   DPTR,#B16064C1W
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   MOV	   DPTR,#B16064C2W
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   MOV	   DPTR,#B16064C3W
	   MOVX    @DPTR,A
	   LCALL   CK16064B3

	   MOV	   A,HR
	   MOV	   DPTR,#B16064C1W
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   MOV	   DPTR,#B16064C2W
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   MOV	   DPTR,#B16064C3W
	   MOVX    @DPTR,A
	   LCALL   CK16064B3

	   MOV	   LOOPREG,#32		       ; 64 Segments * 1/2
WR_CHIP:
	   MOV	   DPTR,#B16064D1W
	   MOV	   A,DTREG1
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   MOV	   A,DTREG2
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   MOV	   DPTR,#B16064D2W
	   MOV	   A,DTREG1
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   MOV	   A,DTREG2
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   MOV	   DPTR,#B16064D3W
	   MOV	   A,DTREG1
	   MOVX    @DPTR,A
	   LCALL   CK16064B3
	   MOV	   A,DTREG2
	   MOVX    @DPTR,A
	   LCALL   CK16064B3
	   DJNZ    LOOPREG,WR_CHIP
	   DEC	   PR
	   DJNZ    COUNTER,LP_PGDWR
	   RET
;--------------------------------------
B16064_BMP:
	   MOV	   DPTR,#BM16064B

	   MOV	   LOOPREG,#64		       ; 64 Segments * 1/2
	   MOV	   VR,#11000000B
	   MOV	   HR,#01000000B
GRA4_WR1:  MOV	   PR,#0BFH
	   MOV	   COUNTER,#8		       ; 8 Pages
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#B16064C1W
	   MOV	   A,VR 		       ; ROW = 00
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   POP	   DPL
	   POP	   DPH
GRA4_WRP1:
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#B16064C1W
	   MOV	   A,PR
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   MOV	   A,HR 		       ; Column = 00
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   POP	   DPH
	   POP	   DPL
	   MOV	   A,#0
	   MOVC    A,@A+DPTR
	   INC	   DPTR
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#B16064D1W
	   MOVX    @DPTR,A
	   LCALL   CK16064B1
	   POP	   DPH
	   POP	   DPL
	   DEC	   PR
	   DJNZ    COUNTER,GRA4_WRP1
	   INC	   HR
	   DJNZ    LOOPREG,GRA4_WR1

	   MOV	   LOOPREG,#64		       ; 64 Segments * 1/2
	   MOV	   HR,#01000000B
GRA4_WR2:  MOV	   PR,#0BFH
	   MOV	   COUNTER,#8		       ; 8 Pages
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#B16064C2W
	   MOV	   A,VR 		       ; ROW = 00
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   POP	   DPL
	   POP	   DPH
GRA4_WRP2:
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#B16064C2W
	   MOV	   A,PR
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   MOV	   A,HR 		       ; Column = 00
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   POP	   DPH
	   POP	   DPL
	   MOV	   A,#0
	   MOVC    A,@A+DPTR
	   INC	   DPTR
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#B16064D2W
	   MOVX    @DPTR,A
	   LCALL   CK16064B2
	   POP	   DPH
	   POP	   DPL
	   DEC	   PR
	   DJNZ    COUNTER,GRA4_WRP2
	   INC	   HR
	   DJNZ    LOOPREG,GRA4_WR2

	   MOV	   LOOPREG,#32		       ; 16064B IC3 SEGMENTS NUM.= 32
	   MOV	   HR,#01000000B
GRA4_WR3:  MOV	   PR,#0BFH
	   MOV	   COUNTER,#8		       ; 8 Pages
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#B16064C3W
	   MOV	   A,VR 		       ; ROW = 00
	   MOVX    @DPTR,A
	   LCALL   CK16064B3
	   POP	   DPL
	   POP	   DPH
GRA4_WRP3:
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#B16064C3W
	   MOV	   A,PR
	   MOVX    @DPTR,A
	   LCALL   CK16064B3
	   MOV	   A,HR 		       ; Column = 00
	   MOVX    @DPTR,A
	   LCALL   CK16064B3
	   POP	   DPH
	   POP	   DPL
	   MOV	   A,#0
	   MOVC    A,@A+DPTR
	   INC	   DPTR
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#B16064D3W
	   MOVX    @DPTR,A
	   LCALL   CK16064B3
	   POP	   DPH
	   POP	   DPL
	   DEC	   PR
	   DJNZ    COUNTER,GRA4_WRP3
	   INC	   HR
	   DJNZ    LOOPREG,GRA4_WR3
	   RET
;--------------------------------------
CK16064B1: PUSH    ACC
	   PUSH    PSW
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#B16064C1R
B16064_F1: MOVX    A,@DPTR
	   JB	   ACC.7,B16064_F1
	   POP	   DPL
	   POP	   DPH
	   POP	   PSW
	   POP	   ACC
	   RET

CK16064B2: PUSH    ACC
	   PUSH    PSW
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#B16064C2R
B16064_F2: MOVX    A,@DPTR
	   JB	   ACC.7,B16064_F2
	   POP	   DPL
	   POP	   DPH
	   POP	   PSW
	   POP	   ACC
	   RET

CK16064B3: PUSH    ACC
	   PUSH    PSW
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#B16064C3R
B16064_F3: MOVX    A,@DPTR
	   JB	   ACC.7,B16064_F3
	   POP	   DPL
	   POP	   DPH
	   POP	   PSW
	   POP	   ACC
	   RET
;=============================================================================
TEST_GRA5:			       ; PROGRAM FOR 12864A GRAPHIC LCM TEST
				       ; LCM CHIP : KS0108B
;=============================================================================
	   CLR	   RST
	   MOV	   DLYTIME,#2
	   LCALL   DELAY
	   SETB    RST
;--------------------------------------
	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111110B        ; turn OFF display (KS0108B or HD61202)
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DPTR,#BM12864A
	   LCALL   SAMSUNG_BMP

	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111111B 	       ; turn ON display
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DLYTIME,#80
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait
;--------------------------------------
	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111110B        ; turn OFF display (KS0108B or HD61202)
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DPTR,#A1286401
	   LCALL   SAMSUNG_BMP

	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111111B 	       ; turn ON display
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DLYTIME,#80
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait
;--------------------------------------
	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111110B        ; turn OFF display (KS0108B or HD61202)
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DPTR,#A1286402
	   LCALL   SAMSUNG_BMP

	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111111B 	       ; turn ON display
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DLYTIME,#80
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait
;--------------------------------------
	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111110B        ; turn OFF display (KS0108B or HD61202)
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DPTR,#A1286403
	   LCALL   SAMSUNG_BMP

	   LCALL   CHKBFG1
	   LCALL   CHKBFG2
	   MOV	   A,#00111111B 	       ; turn ON display
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A

	   MOV	   DLYTIME,#80
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait
;--------------------------------------
	   MOV	   DTREG1,#11111111B
	   MOV	   DTREG2,#00000000B
	   ACALL   SAMSUNG_SCR
	   MOV	   DLYTIME,#60
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait

	   MOV	   DTREG1,#00000000B
	   MOV	   DTREG2,#11111111B
	   ACALL   SAMSUNG_SCR
	   MOV	   DLYTIME,#60
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait

	   MOV	   DTREG1,#01010101B
	   MOV	   DTREG2,#01010101B
	   ACALL   SAMSUNG_SCR
	   MOV	   DLYTIME,#60
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait

	   MOV	   DTREG1,#10101010B
	   MOV	   DTREG2,#10101010B
	   ACALL   SAMSUNG_SCR
	   MOV	   DLYTIME,#60
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait

	   MOV	   DTREG1,#10101010B
	   MOV	   DTREG2,#01010101B
	   ACALL   SAMSUNG_SCR
	   MOV	   DLYTIME,#40
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait

	   MOV	   DTREG1,#01010101B
	   MOV	   DTREG2,#10101010B
	   ACALL   SAMSUNG_SCR
	   MOV	   DLYTIME,#60
	   LCALL   DELAY

	   JB	   PAUSE_FG,$		       ; Pause_flag = 1 , Wait

	   LJMP    TEST_SEL
;--------------------------------------
SAMSUNG_SCR:
	   MOV	   COUNTER,#8		       ; 8 Pages Counter
	   MOV	   VR,#11000000B	       ; set start line    (X address)
	   MOV	   HR,#01000000B	       ; set start columns (Y address)
	   MOV	   PR,#0BFH		       ; Page = 08

LP_WRKSD:
	   MOV	   A,PR
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   MOV	   A,VR 		       ; ROW = 00
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   MOV	   A,HR 		       ; Column = 00
	   MOV	   DPTR,#KSC_CM1_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   MOV	   DPTR,#KSC_CM2_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2

	   MOV	   LOOPREG,#32		       ; 64 Segments * 1/2
KS_CHIP:
	   MOV	   DPTR,#KSC_DT1_W
	   MOV	   A,DTREG1
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   MOV	   A,DTREG2
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   MOV	   DPTR,#KSC_DT2_W
	   MOV	   A,DTREG1
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   MOV	   A,DTREG2
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   DJNZ    LOOPREG,KS_CHIP
	   DEC	   PR
	   DJNZ    COUNTER,LP_WRKSD
	   RET
;--------------------------------------
SAMSUNG_BMP:
	   MOV	   LOOPREG,#64		       ; 64 Segments * 1/2
	   MOV	   VR,#11000000B
	   MOV	   HR,#01000000B
LP1WRBMP:  MOV	   PR,#0BFH
	   MOV	   COUNTER,#8		       ; 8 Pages
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#KSC_CM1_W
	   MOV	   A,VR 		       ; ROW = 00
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   POP	   DPL
	   POP	   DPH
KS1WRPG:
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#KSC_CM1_W
	   MOV	   A,PR
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   MOV	   A,HR 		       ; Column = 00
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   POP	   DPH
	   POP	   DPL
	   MOV	   A,#0
	   MOVC    A,@A+DPTR
	   INC	   DPTR
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#KSC_DT1_W
	   MOVX    @DPTR,A
	   LCALL   CHKBFG1
	   POP	   DPH
	   POP	   DPL
	   DEC	   PR
	   DJNZ    COUNTER,KS1WRPG
	   INC	   HR
	   DJNZ    LOOPREG,LP1WRBMP

	   MOV	   LOOPREG,#64		       ; 64 Segments * 1/2
	   MOV	   HR,#01000000B
LP2WRBMP:  MOV	   PR,#0BFH
	   MOV	   COUNTER,#8		       ; 8 Pages
	   PUSH    DPH
	   PUSH    DPL
	   MOV	   DPTR,#KSC_CM2_W
	   MOV	   A,VR 		       ; ROW = 00
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   POP	   DPL
	   POP	   DPH
KS2WRPG:
	   PUSH    DPL
	   PUSH    DPH
	   MOV	   DPTR,#KSC_CM2_W
	   MOV	   A,PR
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   MOV	   A,HR 		       ; Column = 00
	   MOVX    @DPTR,A
	   LCALL   CHKBFG2
	   POP	   DPH
	   POP	   DPL
	   MOV	   A,#0
	   MOVC    A,@A+DPTR
	   INC	   DPTR
	   PUSH    DPL

⌨️ 快捷键说明

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