📄 light control.asm
字号:
MOVLW 'S'
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 30H ;第一行最后一个字符显示当前模式
ADDWF MODE,W
CALL PUTCLCD
MOVLW 0X0C0
CALL SENDCMD
MOVLW '1'
CALL PUTCLCD
MOVLW '-'
CALL PUTCLCD
MOVLW 'L'
CALL PUTCLCD
MOVLW 'C'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW '2'
CALL PUTCLCD
MOVLW '-'
CALL PUTCLCD
MOVLW 'T'
CALL PUTCLCD
MOVLW 'C'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW '3'
CALL PUTCLCD
MOVLW '-'
CALL PUTCLCD
MOVLW 'H'
CALL PUTCLCD
MOVLW 'C'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
RETURN
;**********************************
;2-TD,时间显示子程序
;显示如下:TIME:
; **:**:** ?
TIMEDISPLAYLCD
CALL CLRLCD
MOVLW 080H
CALL SENDCMD
MOVLW 'T'
CALL PUTCLCD
MOVLW 'I'
CALL PUTCLCD
MOVLW 'M'
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'W'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H ;第一行最后一个字符显示当前模式
ADDWF MODE,W
CALL PUTCLCD
MOVLW 0X0C0
CALL SENDCMD
MOVF HOUR,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ':'
CALL PUTCLCD
MOVF MINUTE,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ':'
CALL PUTCLCD
MOVF SECOND,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVF STOREWH,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW '.'
CALL PUTCLCD
MOVLW 30H
ADDWF STOREWM,W
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
RETURN
;**********************************
;3-TA,时间校对显示子程序
;显示如下:TIME ADJUST
; :**:**:** ?
TIMEADJUSTLCD
CALL CLRLCD
MOVLW 080H
CALL SENDCMD
MOVLW 'T'
CALL PUTCLCD
MOVLW 'I'
CALL PUTCLCD
MOVLW 'M'
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'A'
CALL PUTCLCD
MOVLW 'D'
CALL PUTCLCD
MOVLW 'J'
CALL PUTCLCD
MOVLW 'U'
CALL PUTCLCD
MOVLW 'S'
CALL PUTCLCD
MOVLW 'T'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H ;第一行最后一个字符显示当前模式
ADDWF MODE,W
CALL PUTCLCD
RETURN
TIMERLCD
MOVLW 0X0C0
CALL SENDCMD
MOVF HOUR,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ':'
CALL PUTCLCD
MOVF MINUTE,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
RETURN
;**********************************
;4-TRA,定时校对显示子程序
;首先是定时开的校时
;然后是定时关的校时
;显示模式如下:TIMER ADJUST ON/OFF
; :**:** ?
TIMEONLCD
CALL CLRLCD
MOVLW 080H
CALL SENDCMD
MOVLW 'T'
CALL PUTCLCD
MOVLW 'I'
CALL PUTCLCD
MOVLW 'M'
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW 'R'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'A'
CALL PUTCLCD
MOVLW 'D'
CALL PUTCLCD
MOVLW 'J'
CALL PUTCLCD
MOVLW 'U'
CALL PUTCLCD
MOVLW 'S'
CALL PUTCLCD
MOVLW 'T'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H ;第一行最后一个字符显示当前模式
ADDWF MODE,W
CALL PUTCLCD
MOVLW 0X0C0
CALL SENDCMD
MOVF HOUR1,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ':'
CALL PUTCLCD
MOVF MINUTE1,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'N'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
RETURN
TIMEOFFLCD
CALL CLRLCD
MOVLW 080H
CALL SENDCMD
MOVLW 'T'
CALL PUTCLCD
MOVLW 'I'
CALL PUTCLCD
MOVLW 'M'
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW 'R'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'A'
CALL PUTCLCD
MOVLW 'D'
CALL PUTCLCD
MOVLW 'J'
CALL PUTCLCD
MOVLW 'U'
CALL PUTCLCD
MOVLW 'S'
CALL PUTCLCD
MOVLW 'T'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
MOVLW 0X0C0
CALL SENDCMD
MOVF HOUR2,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ':'
CALL PUTCLCD
MOVF MINUTE2,W
MOVWF M_INPUT
CALL BIN2BCDT
MOVF OUTPUT1,W
CALL PUTCLCD
MOVF OUTPUT2,W
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'F'
CALL PUTCLCD
MOVLW 'F'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
RETURN
;**********************************
;5-H,手动开关显示模块
; 显示如下:HAND CONTROL
; 1-ON 2-OFF ?
HANDONOFFLCD
CALL CLRLCD
MOVLW 080H
CALL SENDCMD
MOVLW 'H'
CALL PUTCLCD
MOVLW 'A'
CALL PUTCLCD
MOVLW 'N'
CALL PUTCLCD
MOVLW 'D'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'C'
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'N'
CALL PUTCLCD
MOVLW 'T'
CALL PUTCLCD
MOVLW 'R'
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'L'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF MODE,W
CALL PUTCLCD
MOVLW 0X0C0
CALL SENDCMD
MOVLW '1'
CALL PUTCLCD
MOVLW '-'
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'N'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW '2'
CALL PUTCLCD
MOVLW '-'
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'F'
CALL PUTCLCD
MOVLW 'F'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 30H
ADDWF STATE,W
CALL PUTCLCD
RETURN
;**********************************
;*************************************
;模式错误显示子程序
;显示如下:MODE ERROR! ?
; : CHOOSE MODE 3 ?
;*************************************
MODEERRORLCD
CALL CLRLCD
MOVLW 080H
CALL SENDCMD
MOVLW 'M'
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'D'
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
MOVLW 'E'
CALL PUTCLCD
MOVLW 'R'
CALL PUTCLCD
MOVLW 'R'
CALL PUTCLCD
MOVLW 'O'
CALL PUTCLCD
MOVLW 'R'
CALL PUTCLCD
MOVLW ' '
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
CALL PUTCLCD
MOVLW 30H
ADDWF MODE,W
CALL PUTCLCD
MOVLW 0X0C0
CALL SENDCMD
MOVLW 'C'
CALL PUTCLCD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -