📄 153.dt
字号:
BS FLAG_PW,POWER
BS FLAG_PW,3
BS KEY_CHANGE,1
LMD DELAY_OFF,@5
JMP POWER_3
NEXT_P3:
JBS FLAG_PW,3
JMP NEXT_P4
CLR FLAG_PW
BS FLAG_PW,POWER
BS FLAG_PW,4
BS KEY_CHANGE,1
LMD DELAY_OFF,@5
JMP POWER_4
NEXT_P4:
JBS FLAG_PW,4
JMP NEXT_P5
CLR FLAG_PW
BS FLAG_PW,POWER
BS FLAG_PW,5
BS KEY_CHANGE,1
LMD DELAY_OFF,@5
JMP POWER_5
NEXT_P5:
CLR FLAG_PW
BS FLAG_PW,POWER
BS FLAG_PW,1
BS KEY_CHANGE,1
LMD DELAY_OFF,@5
JMP POWER_1
;------------------------------------------------------
OUT_KEY:
MOV A,IOCD_BACKUP
IOW IOCD
MOV A,IOC6_BACKUP
IOW IOC6
MOV A,@01111000B
IOW IOC6
CLR FLAG_CH
BS FLAG_CH,1
; JBS FLAG_PW,POWER
; JMP INIT
JMP MAIN
/*;判断按下的按键是否已经松开,松开则清除标志为,不扫描键盘*/
KEY_UP_ON_OFF:
;判断开关键是否松开
JBS P6,5
JMP OUT_KEY
JBS FLAG_PW,POWER
JMP INIT
BC FLAG_KEY,ON_OFF_UP
JMP OUT_KEY
;判断选择键是否松开
KEY_UP_CHOOSE:
/* MOV A,IOCD_BACKUP
IOW IOCD
MOV A,@00000000B
IOW IOC6
MOV A,@0XFF
MOV P5,A
LMD KEY_164,@00010000b
MOV A,@8
MOV RL_CONT,A
LP_KEY1:
JBS KEY_164,0
JMP CLR_KEY1
JMP SET_KEY1
CLR_KEY1:
BC P6,2
JMP GO_KEY1
SET_KEY1:
BS P6,2
GO_KEY1:
NOP
BC P6,1
NOP
nop
nop
nop
nop
BS P6,1
RRC KEY_164
DJZ RL_CONT
JMP LP_KEY1
*/
MOV A,@11111111B
IOW IOC6
MOV A,@00000000B
IOW IOCD
JBC P6,2
JMP OUT_KEY
BC FLAG_KEY,CHOOSE_UP
JMP OUT_KEY
/*****************************************************
*数码管以及LED的编码,已经完成
*****************************************************/
POWER_OFF:
JMP OUT_KEY
/*开机档,与第一档相同*/
POWER_ON:
JMP POWER_1
/*第五档*/
POWER_5: ;100
LMD LED8_DATA1,@0X00
LMD LED8_DATA2,@10000010B
LMD LED8_DATA3,@11010111B
LMD LED_DATA,@00000010B
JMP OUT_KEY
/*第4档*/
POWER_4: ;300
LMD LED8_DATA1,@0X00
LMD LED8_DATA2,@11001110B
LMD LED8_DATA3,@11010111B
LMD LED_DATA,@000000001B
JMP OUT_KEY
/*第3档*/
POWER_3: ;500
LMD LED8_DATA1,@0X00
LMD LED8_DATA2,@11001101B
LMD LED8_DATA3,@11010111B
LMD LED_DATA,@00000100B
JMP OUT_KEY
/*第2档*/
POWER_2: ;1000
LMD LED8_DATA1,@10000010B
LMD LED8_DATA2,@11010111B
LMD LED8_DATA3,@11010111B
LMD LED_DATA,@00001000B
JMP OUT_KEY
/*第1档*/
POWER_1: ;1800
LMD LED8_DATA1,@10000010B
LMD LED8_DATA2,@11011111B
LMD LED8_DATA3,@11010111B
LMD LED_DATA,@10000000B
JMP OUT_KEY
/******************LED_CTRL******************************************************************************************/
/*判断温度是否超标,是则LED闪烁,否则正常显示*/
LED_CTRL:
;温度检测
;CALL CLR_IC164
JBS FLAG_PW,POWER
JMP NOM
JBS P6,3
JMP WEN_LED_CTRL
JBS WEN_KONG_FLAG,1
JMP NOM
;正常温度返回
BC WEN_KONG_FLAG,1
LMD LED_CH_DATA,@0x1f
NX_LED1:
JBS FLAG_PW,1
JMP NX_LED2
LMD LED_DATA,@10000000B
JMP NOM
NX_LED2:
JBS FLAG_PW,2
JMP NX_LED3
LMD LED_DATA,@00001000B
JMP NOM
NX_LED3:
JBS FLAG_PW,3
JMP NX_LED4
LMD LED_DATA,@00000100B
JMP NOM
NX_LED4:
JBS FLAG_PW,4
JMP NX_LED5
LMD LED_DATA,@000000001B
JMP NOM
NX_LED5:
LMD LED_DATA,@00000010B
JMP NOM
;温度超标
WEN_LED_CTRL:
BS WEN_KONG_FLAG,1
JBC FLAG_PW,5
JMP L_5
JBC FLAG_PW,4
JMP L_4
JBC FLAG_PW,3
JMP L_3
JBC FLAG_PW,2
JMP L_2
JBC FLAG_PW,1
JMP L_1
;---------------------------------------------
L_1:
DJZ LED_CH_DATA
JMP NOM
JBC LED_CHANGE,1
JMP L_CH1
BS LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@00000100B ;3挡LED亮
JMP NOM
L_CH1:
BC LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@10000000B ;1挡LED亮
JMP NOM
;---------------------------------------------
L_2:
DJZ LED_CH_DATA
JMP NOM
JBC LED_CHANGE,1
JMP L_CH2
BS LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@0X01 ;4挡LED亮
JMP NOM
L_CH2:
BC LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@0X08 ;2挡LED亮
JMP NOM
;---------------------------------------------
L_3:
DJZ LED_CH_DATA
JMP NOM
JBC LED_CHANGE,1
JMP L_CH3
BS LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@0X02 ;5挡LED亮
JMP NOM
L_CH3:
BC LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@0X04 ;3挡LED亮
JMP NOM
;---------------------------------------------
L_4:
DJZ LED_CH_DATA
JMP NOM
JBC LED_CHANGE,1
JMP L_CH4
BS LED_CHANGE,1
LMD LED_CH_DATA,@0xf
LMD LED_DATA,@0X02 ;5挡LED亮
JMP NOM
L_CH4:
BC LED_CHANGE,1
LMD LED_CH_DATA,@0x1f
LMD LED_DATA,@0X01 ;4挡LED亮
JMP NOM
;---------------------------------------------
L_5:
JMP NOM
;---------------------------------------------
;正常显示,已经完成
NOM:
mov a,@0xff
mov p5,a
BS P6,0
LD LED8_BACKUP,LED_DATA
MOV A,@8
MOV RL_CONT,A
LP_LED:
JBS LED8_BACKUP,0
JMP CLR_DATA
JMP SET_DATA
CLR_DATA:
BC P6,2
JMP GO_
SET_DATA:
BS P6,2
GO_:
NOP
BC P6,1
NOP
nop
nop
nop
nop
BS P6,1
RRC LED8_BACKUP
DJZ RL_CONT
JMP LP_LED
BC P6,0
CALL DELAY_5MS
BS P6,0
CLR FLAG_CH
BS FLAG_CH,7
JMP MAIN
/**************************************
*以下是数码管显示程序,已经测试正确
***************************************/
/***********LED8_1**************************************************************************************************/
LED8_1:
MOV A,@0xff
MOV P5,A
BS P6,0
LD LED8_BACKUP,LED8_DATA1
MOV A,@8
MOV RL_CONT,A
LP_LED1:
JBS LED8_BACKUP,0
JMP CLR_DATA1
JMP SET_DATA1
CLR_DATA1:
BC P6,2
JMP GO_1
SET_DATA1:
BS P6,2
GO_1:
NOP
BC P6,1
NOP
nop
nop
nop
nop
BS P6,1
RRC LED8_BACKUP
DJZ RL_CONT
JMP LP_LED1
BC P5,1
CALL DELAY_5MS
BS P5,1
CLR FLAG_CH
BS FLAG_CH,5
JMP MAIN
/******************LED8_2******************************************************************************************/
LED8_2:
mov a,@0xff
MOV p5,a
BS P6,0
LD LED8_BACKUP,LED8_DATA2
MOV A,@8
MOV RL_CONT,A
LP_LED2:
JBS LED8_BACKUP,0
JMP CLR_DATA2
JMP SET_DATA2
CLR_DATA2:
BC P6,2
JMP GO_2
SET_DATA2:
BS P6,2
GO_2:
NOP
BC P6,1
NOP
nop
nop
nop
nop
BS P6,1
RRC LED8_BACKUP
DJZ RL_CONT
JMP LP_LED2
BC P5,2
CALL DELAY_5MS
BS P5,2
CLR FLAG_CH
BS FLAG_CH,4
JMP MAIN
/******************LED8_3******************************************************************************************/
LED8_3:
mov a,@0xff
mov p5,a
BS P6,0
;LMD LED8_DATA3,@11010111B
LD LED8_BACKUP,LED8_DATA3
MOV A,@8
MOV RL_CONT,A
LP_LED3:
JBS LED8_BACKUP,0
JMP CLR_DATA3
JMP SET_DATA3
CLR_DATA3:
BC P6,2
JMP GO_3
SET_DATA3:
BS P6,2
GO_3:
NOP
BC P6,1
NOP
nop
nop
nop
nop
BS P6,1
RRC LED8_BACKUP
DJZ RL_CONT
JMP LP_LED3
BC P5,3
CALL DELAY_5MS
BS P5,3
CLR FLAG_CH
BS FLAG_CH,3
JMP MAIN
/******************LED8_4******************************************************************************************/
LED8_4:
mov a,@0xff
mov p5,a
BS P6,0
;LMD LED8_DATA3,@11010111B
LD LED8_BACKUP,LED8_DATA3
MOV A,@8
MOV RL_CONT,A
LP_LED4:
JBS LED8_BACKUP,0
JMP CLR_DATA4
JMP SET_DATA4
CLR_DATA4:
BC P6,2
JMP GO_4
SET_DATA4:
BS P6,2
GO_4:
NOP
BC P6,1
NOP
nop
nop
nop
nop
BS P6,1
RRC LED8_BACKUP
DJZ RL_CONT
JMP LP_LED4
BC P5,0
CALL DELAY_5MS
BS P5,0
CLR FLAG_CH
BS FLAG_CH,2
JMP MAIN
/*******************************************************************************************************************/
DELAY_5MS:
MOV A,@0X5
MOV DELAY_5MS0,A
LOOP_DELAY:
MOV A,@0X1f
MOV DELAY_5MS1,A
LP_D:
DJZ DELAY_5MS1
JMP LP_D
DJZ DELAY_5MS0
JMP LOOP_DELAY
RET
;--------------------------------------------------------------------------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -