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

📄 disp.asm

📁 显示程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
		LDA		#<T_AutoOnOFF_Off
		STA		<R_TempL
		LDA		#>T_AutoOnOFF_Off
		STA		<R_TempH
		JSR		F_Disp_ABCFull
		JMP		L_Disp_Program_Mode4_End
L_Disp_Program_Mode41_:
		LDA		R_Mode2
		BNE		L_Disp_Program_Mode41_001
L_Disp_Program_Mode41_000:
		BBR0	<R_Disp_Flag,L_Disp_Program_Mode4_End_
		RESB	0,R_Disp_Flag
		LDA		#<T_AutoOnOFF_On
		STA		<R_TempL
		LDA		#>T_AutoOnOFF_On
		STA		<R_TempH
		JSR		F_Disp_ABCFull
		JMP		L_Disp_Program_Mode4_End
L_Disp_Program_Mode41_001:
		RESB	0,R_Disp_Flag
		LDA		R_Mode2
		CMP		#01H
		BNE		L_Disp_Program_Mode42
		BBR1	<R_SysFlag1,L_Disp_Program_Mode411
L_Disp_Program_Mode410:
		STZ		R_Disp_CharL
		LDA		#ON_TIME_ADDR_X+010H
		STA		<R_CursorX
		LDA		#ON_TIME_ADDR_Y+010H
		STA		<R_CursorY
		JSR		F_R_CursorY_37_XY_Off
		JSR		F_Disp_NumOrABC
		LDA		#ON_TIME_ADDR_X+018H
		STA		<R_CursorX
		JSR		F_Disp_NumOrABC
		BRA		L_Disp_Program_Mode412
L_Disp_Program_Mode411:
		JSR		F_Disp_OnTime
		JSR		F_Disp_OffTime
L_Disp_Program_Mode412:
		JMP		L_Disp_Program_Mode4_End
L_Disp_Program_Mode42:
		CMP		#02H
		BNE		L_Disp_Program_Mode43
		BBR1	<R_SysFlag1,L_Disp_Program_Mode421
L_Disp_Program_Mode420:
		STZ		R_Disp_CharL
		LDA		#ON_TIME_ADDR_X+028H
		STA		<R_CursorX
		LDA		#ON_TIME_ADDR_Y+010H
		STA		<R_CursorY
		JSR		F_R_CursorY_37_XY_Off
		JSR		F_Disp_NumOrABC
		LDA		#ON_TIME_ADDR_X+030H
		STA		<R_CursorX
		JSR		F_Disp_NumOrABC
		BRA		L_Disp_Program_Mode422
L_Disp_Program_Mode421:
		JSR		F_Disp_OnTime
		JSR		F_Disp_OffTime
L_Disp_Program_Mode422:
		BRA		L_Disp_Program_Mode4_End
L_Disp_Program_Mode43:
		CMP		#03H
		BNE		L_Disp_Program_Mode44
		BBR1	<R_SysFlag1,L_Disp_Program_Mode431
L_Disp_Program_Mode430:
		STZ		R_Disp_CharL
		LDA		#OFF_TIME_ADDR_X+010H
		STA		<R_CursorX
		LDA		#OFF_TIME_ADDR_Y+010H
		STA		<R_CursorY
		JSR		F_R_CursorY_37_XY_Off
		JSR		F_Disp_NumOrABC
		LDA		#OFF_TIME_ADDR_X+018H
		STA		<R_CursorX
		JSR		F_Disp_NumOrABC
		BRA		L_Disp_Program_Mode432
L_Disp_Program_Mode431:
		JSR		F_Disp_OnTime
		JSR		F_Disp_OffTime
L_Disp_Program_Mode432:
		BRA		L_Disp_Program_Mode4_End
L_Disp_Program_Mode44:
		BBR1	<R_SysFlag1,L_Disp_Program_Mode441
L_Disp_Program_Mode440:
		STZ		R_Disp_CharL
		LDA		#OFF_TIME_ADDR_X+028H
		STA		<R_CursorX
		LDA		#OFF_TIME_ADDR_Y+010H
		STA		<R_CursorY
		JSR		F_R_CursorY_37_XY_Off
		JSR		F_Disp_NumOrABC
		LDA		#OFF_TIME_ADDR_X+030H
		STA		<R_CursorX
		JSR		F_Disp_NumOrABC
		BRA		L_Disp_Program_Mode442
L_Disp_Program_Mode441:
		JSR		F_Disp_OnTime
		JSR		F_Disp_OffTime
L_Disp_Program_Mode442:
L_Disp_Program_Mode4_End:
		BRA		L_Disp_Program_End
L_Disp_Program_Mode5:
		CMP		#05H
		BEQ		L_Disp_Program_Mode5_
		BRA		L_Disp_Program_Mode6
L_Disp_Program_Mode5_:
		LDA		R_Mode1
		BNE		L_Disp_Program_Mode5_1
L_Disp_Program_Mode5_0:
		BBR0	<R_Disp_Flag,L_Disp_Program_Mode5_End
		JSR		Main_Menu
		BRA		L_Disp_Program_End
L_Disp_Program_Mode5_1:
		CMP		#01H
		BNE		L_Disp_Program_Mode5_2
		LDA		R_Mode2
		BNE		L_Disp_Program_Mode5_1_1
L_Disp_Program_Mode5_1_0:
		LDA		#<T_NormalClock
		STA		<R_TempL
		LDA		#>T_NormalClock
		STA		<R_TempH
		JSR		F_Disp_ABCFull
		BRA		L_Disp_Program_Mode5_End
L_Disp_Program_Mode5_1_1:
		BBR0	<R_Disp_Flag,L_Disp_Program_Mode5_End
		RESB	0,R_Disp_Flag
		SETB	2,R_Disp_Flag
		JSR		F_Disp_Clock
		JSR		F_Disp_Week
L_Disp_Program_Mode5_End:
		BRA		L_Disp_Program_End
L_Disp_Program_Mode5_2:
		LDA		#<T_WaterMarkClock
		STA		<R_TempL
		LDA		#>T_WaterMarkClock
		STA		<R_TempH
		JSR		F_Disp_ABCFull
		BRA		L_Disp_Program_End
L_Disp_Program_Mode6:
		LDA		R_Mode1
		BEQ		L_Disp_Program_Mode60
		BRA		L_Disp_Program_Mode61
L_Disp_Program_Mode60:
		BBR0	<R_Disp_Flag,L_Disp_Program_Mode6_End
		JSR		Main_Menu
L_Disp_Program_Mode61:
L_Disp_Program_Mode6_End:
L_Disp_Program_End:
		RTS
;;==============================================
F_Disp_AutoRun:
		PHA
		BBR0	<R_SysFlag1,L_Disp_AutoRun_End
		LDA		R_Mode
		BNE		L_Disp_AutoRun_End
		LDA		R_Disp_Time
		LSR		A
		CMP		R_AutoSlideTime
		BCC		L_Disp_AutoRun_End
		STZ		R_Disp_Time
		SETB	0,R_Disp_Flag
L_Disp_AutoRun:
		JSR		820H
.IF	MaskUpDate=0
		DW		02H
.ELSE
		DW		02H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_GetPictuieNum-1
		LDA		R_Disp_Pic_Num+1
		CMP		R_PicNumMax+1
		BCC		L_Disp_AutoRun_Pic_Num_Inc
		LDA		R_Disp_Pic_Num
		CMP		R_PicNumMax
		BCS		L_Disp_AutoRun_End_LoadMin
L_Disp_AutoRun_Pic_Num_Inc:
		INC		R_Disp_Pic_Num
		BNE		L_Disp_AutoRun_End
		INC		R_Disp_Pic_Num+1
		BRA		L_Disp_AutoRun_End
L_Disp_AutoRun_End_LoadMin:
		LDA		#C_Disp_Pic_NumMin
		STA		R_Disp_Pic_Num
		STZ		R_Disp_Pic_Num+1
L_Disp_AutoRun_End:
		BBS5	<R_SysFlag1,L_Disp_AutoRun_Out
		JSR		820H
.IF	MaskUpDate=0
		DW		02H
.ELSE
;		DW		00H
		DW		02H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_CheckPictuieTrueOrFalse-1
		LDA		<R_TempL
		CMP		#01H
		BNE		L_Disp_AutoRun
L_Disp_AutoRun_Out:
		PLA
		RTS
;;==============================================
F_Disp_NorFlashPic:
		PHA
;		CLC
;		LDA		R_Disp_Pic_Num
;		ADC		#<C_NorFlash_CS_Drr
;		STA		<R_Pic_DrrL
;		LDA		#>C_NorFlash_CS_Drr
;		STA		<R_Pic_DrrH
		INC		R_DispMode
		LDA		R_DispMode
		CMP		#0EH
		BCC		L_Disp_NorFlashPic0
		STZ		R_DispMode
L_Disp_NorFlashPic0:
		LDA		R_DispMode
		BNE		L_Disp_NorFlashPic1
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic1:
		CMP		#01H
		BNE		L_Disp_NorFlashPic2
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic1-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic2:
		CMP		#02H
		BNE		L_Disp_NorFlashPic3
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic3-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic3:
		CMP		#03H
		BNE		L_Disp_NorFlashPic4
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic2-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic4:
		CMP		#04H
		BNE		L_Disp_NorFlashPic5
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic4-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic5:
		CMP		#05H
		BNE		L_Disp_NorFlashPic6
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic4-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic6:
		CMP		#06H
		BNE		L_Disp_NorFlashPic7
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic6-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic7:
		CMP		#07H
		BNE		L_Disp_NorFlashPic8
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic6-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic8:
		CMP		#08H
		BNE		L_Disp_NorFlashPic9
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_PicDMA-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic9:
		CMP		#09H
		BNE		L_Disp_NorFlashPic10
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic_Mosaic1-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic10:
		CMP		#0AH
		BNE		L_Disp_NorFlashPic11
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic_Mosaic2-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic11:
		CMP		#0BH
		BNE		L_Disp_NorFlashPic12
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic_Mosaic3-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic12:
		CMP		#0CH
		BNE		L_Disp_NorFlashPic13
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic_Mosaic4-1
		JMP		L_Disp_NorFlashPic_End
L_Disp_NorFlashPic13:
		JSR		820H
.IF	MaskUpDate=0
		DW		01H
.ELSE
;		DW		01H
		DW		01H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_ST7636R_Disp_Pic_Mosaic-1
L_Disp_NorFlashPic_End:
		STZ		R_Disp_Time
												;displaying	have a key relase will SET This	Flag
		RESB	0,R_Disp_Flag
		PLA
		RTS
;;==============================================
F_Disp_ABCFull:
		PHA
		PHX
		PHY
		LDA		<R_SysFlag2
		AND		#0F0H
		BNE		L_Disp_ABC_1
L_Disp_ABC_0:
		JMP		L_Disp_ABC_ST7636R
L_Disp_ABC_1:
		CMP		#080H
		BCC		L_Disp_ABC_2
		JMP		L_Disp_ABC_ST7637
L_Disp_ABC_2:
		CMP		#010H
		BNE		L_Disp_ABC_3
		JMP		L_Disp_ABC_ST7669
L_Disp_ABC_3:
		CMP		#020H
		BNE		L_Disp_ABC_4
		JMP		L_Disp_ABC_ST7787
L_Disp_ABC_4:
		CMP		#030H
		BNE		L_Disp_ABC_5
		JMP		L_Disp_ABC_0_
L_Disp_ABC_5:
		CMP		#040H
		BNE		L_Disp_ABC_6
		JMP		L_Disp_ABC_ST7624
L_Disp_ABC_6:
		CMP		#050H
		BNE		L_Disp_ABC_7
		JMP		L_Disp_ABC_ST7626
L_Disp_ABC_7:
		CMP		#060H
		BNE		L_Disp_ABC_8
		JMP		L_Disp_ABC_ST7628
L_Disp_ABC_8:
		JMP		L_Disp_ABC_OLED
L_Disp_ABC_0_:
L_Disp_ABC_ST7624:
L_Disp_ABC_ST7626:
L_Disp_ABC_ST7628:
L_Disp_ABC_OLED:
;		JSR		F_Disp_ABCFull_A
		JSR		820H
.IF	MaskUpDate=0
		DW		02H
.ELSE
;		DW		02H
		DW		02H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_Disp_ABCFull_A-1
		JMP		L_Disp_ABCFull_End
L_Disp_ABC_ST7669:
;		JSR		F_Disp_ABCFull_C
		JSR		820H
.IF	MaskUpDate=0
		DW		02H
.ELSE
;		DW		02H
		DW		02H+C_NorFlash_CS_Drr+C_NorFlash_CS_Drr
.ENDIF	;MaskUpDate=0
		DW		F_Disp_ABCFull_C-1
		JMP		L_Disp_ABCFull_End
L_Disp_ABC_ST7787:
		JSR		F_Disp_ABCFull_B
		JMP		L_Disp_ABCFull_End
L_Disp_ABC_ST7636R:
L_Disp_ABC_ST7637:
		LDA		#MENU_ADDR_X
		STA		<R_CursorX
		LDA		#MENU_ADDR_Y
		STA		<R_CursorY
		JSR		F_R_CursorY_37_XY_Off
		LDX		#Page_Display_Line
L_Disp_ABCFull_1:
		PHX
		LDX		#Line_Display_Char
L_Disp_ABCFull_2:
		PHX
		LDA		(R_TempL)
		STA		R_Disp_CharL
		JSR		F_Disp_NumOrABC
		INC		<R_TempL
		BNE		L_Disp_ABCFull_3
		INC		<R_TempH
L_Disp_ABCFull_3:
		CLC
		LDA		<R_CursorX
		ADC		#08H
		STA		<R_CursorX
		PLX
		DEX
		BNE		L_Disp_ABCFull_2
		LDA		#MENU_ADDR_X
		STA		<R_CursorX
		CLC
		LDA		<R_CursorY
		ADC		#10H
		STA		<R_CursorY
		PLX
		DEX
		BNE		L_Disp_ABCFull_1
L_Disp_ABCFull_End:
		PLY
		PLX
		PLA
		RTS
;;==============================================
F_Clear_MenuOtherArea:
		PHA
		PHX
		PHY
		M_Keep_Drr
		M_Change_ST7636R_CS_Drr
		LDA		<R_SysFlag2
		AND		#0F0H
		BNE		L_Clear_MenuOtherArea_1
L_Clear_MenuOtherArea_0:
		BRA		L_Clear_MenuOtherArea_ST7636R
L_Clear_MenuOtherArea_1:
		CMP		#080H
		BCC		L_Clear_MenuOtherArea_2
		BRA		L_Clear_MenuOtherArea_ST7637
L_Clear_MenuOtherArea_2:
		CMP		#010H
		BNE		L_Clear_MenuOtherArea_3
		BRA		L_Clear_MenuOtherArea_ST7669
L_Clear_MenuOtherArea_3:
		CMP		#020H
		BNE		L_Clear_MenuOtherArea_4
		JMP		L_Clear_MenuOtherArea_ST7787
L_Clear_MenuOtherArea_4:
		JMP		L_Clear_MenuOtherArea_End
L_Clear_MenuOtherArea_ST7636R:
		M_Input		R_RowAddressSet				;COM SET
		M_Write_D	060H+C_ST7636R_Y_Off
		M_Write_D	07FH+C_ST7636R_Y_Off
		BRA		L_Clear_MenuOtherArea_ST763
L_Clear_MenuOtherArea_ST7637:
		M_Input		R_RowAddressSet				;COM SET
		M_Write_D	060H+C_ST7637_Y_Off
		M_Write_D	07FH+C_ST7637_Y_Off
L_Clear_MenuOtherArea_ST763:
		M_Input		R_ColumeAddressSet						;SEG SET
		M_Para		R_ColumeAddressStartL
		M_Para		R_ColumeAddressEndL
		M_Input		R_MemoryWrite
		LDA		#128
		STA		<R_Disp_TempL
		LDY		#020H
		JMP		L_Clear_MenuOtherArea_Com
L_Clear_MenuOtherArea_ST7669:
		M_Input		R_RowAddressSet				;COM SET
		M_Write_D	000H
		M_Write_D	060H+C_ST7669_Y_Off
		M_Write_D	000H
		M_Write_D	09FH+C_ST7669_Y_Off
		M_Input		R_ColumeAddressSet						;SEG SET
		M_Para		R_ColumeAddressStartH
		M_Para		R_ColumeAddressStartL
		M_Para		R_ColumeAddressEndH
		M_Para		R_ColumeAddressEndL

⌨️ 快捷键说明

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