📄 dis4559n.inc
字号:
;**************************************************************;
; Remote controller for M34559 DEMO
; MODULE : DISPLAY SUBROUTINE ;
; MCU: M34559G6-xxxFP ;
; VERSION: 1.0 ;
; DESIGNED: GAO YUAN HONG ;
; DATE: 2006-05-12 ;
; Renesas System Solutions Asia Pte. Ltd ;
; SHANGHAI Representative Office ;
;**************************************************************;
DISPLAY:
.SZXYB T1SF_ADJUST ; 1s arrived?
A 0
BL DISP_START ; no,
.CLB ADJUSTF ; yes,clear ADJUSTF
DISP_START:
.SZXYB TIMEF ; change real time ?
BL DISP_SETTIME ; yes,process real time changing
.SZXYB TIMERF ; timer?
BL DISP_TIMER
.SZXYB TIMERONF ; timer on?
BL DISP_TIMERON
.SZXYB TIMEROFF ; timer off?
BL DISP_TIMEROFF
;---------------------------------------------------------------
DISP_TIME: ; real time display
LXY T_ML
LA 7
TDA
TAM 0
TABP 46 ; check table
NOP
LZ 1
LXY LCD5 ; display the low bit of minute
TMA 0
TAB
LXY LCD6 ; display the low bit of minute
TMA 0
NOP
LZ 0
LXY T_MH
LA 7
TDA
TAM 0
TABP 46
NOP
LZ 1
LXY LCD3 ; display the high bit of minute
TMA 0
TAB
LXY LCD4 ; display the high bit of minute
TMA 0
NOP
LZ 0
LXY T_HH
TAM 0
TDA
LXY T_HL
TAM 0
TABP 46
NOP
LXY BDATAL
XAMI 0
TAB
XAMD 0
LA 7
TDA
TAM 0
TABP 46
LZ 1
LXY LCD1 ; display the low bit of hour
TMA 0
TAB
LXY LCD2 ; display the low bit of hour
TMA 0
NOP
LZ 0
LXY BDATAH
LA 7
TDA
TAM 0
TABP 46
LZ 1
LXY LCD15 ; display the high bit of hour
TMA 0
TAB
LXY LCD14 ; display the high bit of hour
TMA 0
NOP
LZ 0
BL DISP_TIME_STAT
;--------------------------------------------------------------------------
DISP_TIMEROFF: ; display hour and mminute of "timer off"
LXY TOFF_ML
LA 7
TDA
TAM 0
TABP 46
NOP
LZ 1
LXY LCD5
TMA 0
TAB
LXY LCD6
TMA 0
NOP
LZ 0
LXY TOFF_MH
LA 7
TDA
TAM 0
TABP 46
NOP
LZ 1
LXY LCD3
TMA 0
TAB
LXY LCD4
TMA 0
NOP
LZ 0
LXY TOFF_HH
TAM 0
TDA
LXY TOFF_HL
TAM 0
TABP 46
LXY BDATAL
XAMI 0
TAB
XAMD 0
LA 7
TDA
TAM 0
TABP 46
LZ 1
LXY LCD1
TMA 0
TAB
LXY LCD2
TMA 0
NOP
LZ 0
LXY BDATAH
LA 7
TDA
TAM 0
TABP 46
LZ 1
LXY LCD15
TMA 0
TAB
LXY LCD14
TMA 0
NOP
LZ 0
BL DISP_TIME_STAT
;--------------------------------------------------------------------------------
DISP_TIMERON: ; display hour and minute of "timer on"
LXY TON_ML
LA 7
TDA
TAM 0
TABP 46
NOP
LZ 1
LXY LCD5
TMA 0
TAB
LXY LCD6
TMA 0
NOP
LZ 0
LXY TON_MH
LA 7
TDA
TAM 0
TABP 46
NOP
LZ 1
LXY LCD3
TMA 0
TAB
LXY LCD4
TMA 0
NOP
LZ 0
LXY TON_HH
TAM 0
TDA
LXY TON_HL
TAM 0
TABP 46
NOP
LXY BDATAL
XAMI 0
TAB
XAMD 0
LA 7
TDA
TAM 0
TABP 46
LZ 1
LXY LCD1
TMA 0
TAB
LXY LCD2
TMA 0
NOP
LZ 0
LXY BDATAH
LA 7
TDA
TAM 0
TABP 46
LZ 1
LXY LCD15
TMA 0
TAB
LXY LCD14
TMA 0
NOP
LZ 0
BL DISP_TIME_STAT
;---------------------------------------------------------------------------------------
DISP_TIMER:
.SZXYB TIMERONF ; is it timer on ?
BL DISP_TIMERON ; timer on
BL DISP_TIMEROFF ; timer off
DISP_SETTIME: ; real time setting
.SZXYB ADJUSTF ; is it in adjusting mode?
BL DISP_TIME ; yes
.SZXYB T05SF_TIME_DISP ; 0.5S arrive?
BL DISP_STIME05 ; yes
DISP_STIME00: ; no
LZ 1
.CLB LD160 ; turn off “CLOCK”
.CLB LD161 ; turn off "TIMER"
LZ 0
BL DISP_STIME_NUM
DISP_STIME05: ; 0.5S arrive.
.SZXYB T1SF_TIME_DISP ; 1S arrive?
BL DISP_STIME10 ; yes
LZ 1
.SEB LD160 ; 1S is not arriving,turn on “CLOCK”
.CLB LD161 ; turn off "TIMER"
LZ 0
BL DISP_STIME_NUM
DISP_STIME10: ; 1s is arriving,then clear flags
.CLB T05SF_TIME_DISP
.CLB T1SF_TIME_DISP
LA 0
LXY T1S_TIME_DISP
TMA 0
BL DISP_STIME00 ; turn off "CLOCK"
DISP_STIME_NUM: ; process figure display
.SZXYB T05SF_TIME_DISP ; 0.5S is arriving?
BL DISP_STIME_NUM0
DISP_STIME_ALL0: ; 0.5S is not arriving,clear the display buffer
LZ 1
LA 0
LXY LCD15
TMA 0
LXY LCD14
TMA 0
LXY LCD1
TMA 0
LXY LCD2
TMA 0
LXY LCD3
TMA 0
LXY LCD4
TMA 0
LXY LCD5
TMA 0
LXY LCD6
TMA 0
LZ 0
BL DISP_TIME_STAT
DISP_STIME_NUM0: ;0.5S is arriving.
.SZXYB T1SF_TIME_DISP ;then test whether 1 s is arrving.
BL DISP_STIME_NUM1 ;both 1S and 0.5S are arriving.
BL DISP_TIME ;0.5S is arriving,1s is not.
DISP_STIME_NUM1: ;both 1S and 0.5S are arriving.
.CLB T05SF_TIME_DISP
.CLB T1SF_TIME_DISP
LA 0
LXY T1S_TIME_DISP
TMA 0 ;clear flags
BL DISP_STIME_ALL0
;---------------------------------------------------------------------
DISP_TIME_STAT:
.SZXYB TIMEF ;set real time ?
BL DISP_TIME_STA40
.SZXYB TIMERF ;set timer on/off?
BL DISP_TIME_STA30
.SZXYB TIMERONF ;set timer on?
BL DISP_TIME_STA20
.SZXYB TIMEROFF ;set timer off?
BL DISP_TIME_STA10
DISP_TIME_STA0:
LZ 1
.CLB LD161 ;turn off“CLOCK”
.CLB LD160 ;turn off“TIMER”
.CLB LD00 ;turn off“ON”
.CLB LD01 ;turn off“OFF”
LZ 0
DISP_TIME_STA1:
.SZXYB T05SF_TIME_DISP ;0.5s is arriving?
BL DISP_TIME_STA3
DISP_TIME_STA2: ;0.5s is not arriving.
LZ 1
.CLB LD23 ;turn off“:”
LZ 0
BL DISP_CHKPOWER
DISP_TIME_STA3:
.SZXYB T1SF_TIME_DISP ;0.5s is arriving,whether 1s is arriving ?
BL DISP_TIME_STA4 ;both are arring,clear to count again
LZ 1
.SEB LD23 ;0.5s is arriving,1s is not,turn on":"
LZ 0
BL DISP_CHKPOWER
DISP_TIME_STA4:
.CLB T05SF_TIME_DISP
.CLB T1SF_TIME_DISP
LA 0
LXY T1S_TIME_DISP
TMA 0
BL DISP_TIME_STA2 ;both 0.5s and 1s are arriving,clear to count again,turn off“:”
DISP_TIME_STA10: ;set timer off function
LZ 1
.CLB LD00 ;turn off“ON”
.SEB LD01 ;turn on“OFF”
.SEB LD161 ;turn on“TIMER”
.SEB LD23 ;turn on“ : ”
LZ 0
BL DISP_CHKPOWER
DISP_TIME_STA20: ;set timer on function
LZ 1
.SEB LD00 ;turn off“ON”
.CLB LD01 ;turn on“OFF”
.SEB LD161 ;turn on“TIMER”
.SEB LD23 ;turn on“ : ”
LZ 0
BL DISP_CHKPOWER
DISP_TIME_STA30: ;timer on/off
.SZXYB TIMERONF ;timer on?
BL DISP_TIME_STA34 ;yes,timer on
LZ 1 ;timer off
.SEB LD161 ;turn on“TIMER”
.CLB LD160 ;turn off"CLOCK"
.SEB LD23
.CLB LD00
LZ 0
.SZXYB T05SF_TIME_DISP ; 0.5S is arriving?
BL DISP_TIME_STA32
DISP_TIME_STA31: ; 0.5S is not arriving,turn off "off"
LZ 1
.CLB LD01 ; turn off “OFF”
LZ 0
BL DISP_CHKPOWER
DISP_TIME_STA32: ; 0.5s is arriving,check whether 1s is arriving?
.SZXYB T1SF_TIME_DISP
BL DISP_TIME_STA33
LZ 1
.SEB LD01 ; 1S is not arriving,turn on "off"
LZ 0
BL DISP_CHKPOWER
DISP_TIME_STA33: ;both 0.5s and 1s are arriving,clear to count again
.CLB T05SF_TIME_DISP
.CLB T1SF_TIME_DISP
LA 0
LXY T1S_TIME_DISP
TMA 0
BL DISP_TIME_STA31
DISP_TIME_STA34: ; timer on setting
LZ 1
.SEB LD161 ; turn on“TIMER”
.CLB LD160 ; turn off"CLOCK"
.SEB LD23 ; turn on“ : ”
.CLB LD01 ; turn off"OFF"
LZ 0
.SZXYB T05SF_TIME_DISP ; 0.5S is arriving?
BL DISP_TIME_STA36 ; yes,check 1 second is arriving ?
DISP_TIME_STA35: ; 0.5S not arriving
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -