📄 emctx808moo.dt
字号:
jmp KeyScanYes00 ;judge key wased pressed
;jbs p7,key6
;jmp KeyScanYes00 ;judge key wased pressed
eni
nop
nop
jmp MainLoop
;=======================================
;=======================================
LoosenKeyWait00:
nop
nop
Loosen_00:
disi
nop
nop
;---------------------------------------
jbs p5,key0
jmp LoosenKeyReturn
jbs p5,key1
jmp LoosenKeyReturn
jbs p5,key2
jmp LoosenKeyReturn
jbs p5,key3
jmp LoosenKeyReturn
jbs p5,key4
jmp LoosenKeyReturn
jbs p5,key5
jmp LoosenKeyReturn
;jbs p7,key6
;jmp LoosenKeyReturn
;---------------------------------------
djz RegWaitTime ;放键去抖
jmp LoosenKeyReturn
mov a,@CWaitTime
mov RegWaitTime,a
;
bc Flag20,LoosenKeyBit ;清放键标志
;---------------------------------------
;---------------------------------------
LoosenKeyReturn:
eni
jmp MainLoop
;=======================================
;******************************************
WorkEnd:
nop
nop
;disi
jmp Main
;******************************************
;******************************************
eop
;******************************************
/*-----------------------------------------
Mode Work list
------------------------------------------*/
;******************************************
LcdXs_1: ;Lcd动太显示
tbl
retl @00000000b
retl @00000001b
retl @00000011b
retl @00000111b
Lcdxs_2:
tbl
retl @00000001b
retl @00000010b
retl @00000100b
retl @00000111b
;*****************************************
Lcd88_1:
tbl
retl @01111011b ;0
retl @01001000b ;1
retl @00111110b ;2
retl @01011110b ;3
Lcd88_2:
tbl
nop
retl @00101000b ;1
retl @01011110b ;2
retl @01101110b ;3
retl @00101101b ;4
retl @01100111b ;5
retl @01110111b ;6
retl @00101010b ;7
retl @01111111b ;8
retl @01101111b ;9
retl @01111011b ;0
;******************************************
MassageTable: ;massage table
tbl
retl @CSpeed0
retl @CSpeed1
retl @CSpeed2
retl @CSpeed3
retl @CSpeed4
retl @CSpeed5
retl @CSpeed6
retl @CSpeed7
retl @CSpeed8
retl @CSpeed9
retl @CSpeed10
retl @CSpeed11
retl @CSpeed12
retl @CSpeed13
retl @CSpeed14
retl @CSpeed15
retl @CSpeed16
retl @CSpeed17
retl @CSpeed18
retl @CSpeed19
retl @CSpeed20
retl @CSpeed21
retl @CSpeed22
retl @CSpeed23
retl @CSpeed24
retl @CSpeed25
retl @CSpeed26
retl @CSpeed27
retl @CSpeed28
retl @CSpeed29
retl @CSpeed30
retl @CSpeed31
retl @CSpeed32
retl @CSpeed33
retl @CSpeed34
retl @CSpeed35
retl @CSpeed36
retl @CSpeed37
retl @CSpeed38
retl @CSpeed39
retl @CSpeed40
retl @CSpeed41
retl @CSpeed42
retl @CSpeed43
retl @CSpeed44
retl @CSpeed45
retl @CSpeed46
retl @CSpeed47
retl @CSpeed48
retl @CSpeed49
;==========================================
;==========================================
ModeWork: ;自动模式程序
disi
jbs Flag00,TMode100msBit
jmp ModeReturn
bc Flag00,TMode100msBit
;==========================================
ModeDetox:
jbs Flag20,ModeDetoxBit ;Mode Detox flagBit
jmp ModeFitness ; jump to Fitness
;------------------------------------------
jbc Flag20,DetoxExBit0
jmp ModeDetoxStop
;------------------------------------------
ModeDetoxCW:
djz RegTModeCW ;CW time Register
jmp ModeReturn
mov a,RegTModeCWBuff ;5s Delay
mov RegTModeCW,a
;------------------------------------------
bs Flag20,DetoxExBit0 ;CW / STOP ExChange in ModeDetoxBit
bs Flag20,ModeBit ;ModeBit==1, PWM don't work
bc p5,Motor ;Motor stop for Time 1s
jmp ModeReturn
;==========================================
ModeDetoxStop:
djz RegTModeStop ;stop time Register
jmp ModeReturn
mov a,RegTModeStopBuff ;1s Delay
mov RegTModeStop,a
;------------------------------------------
bc Flag20,DetoxExBit0 ;CW / STOP ExChange in ModeDetoxBit
bc Flag20,ModeBit ;ModeBit==0, PWM work
jbs teshu,guanma
bs p5,Motor ;Motor CW for Time 5s
jmp ModeReturn
;==========================================
;==========================================
ModeFitness:
jbs Flag20,ModeFitnessBit ;Mode Fitness Flag Bit
jmp ModeMassage ;jump to massage
;------------------------------------------
ModeFitnessCW:
jbc Flag20,FitnessExBit0
jmp ModeFitnessStop
;------------------------------------------
djz RegTModeCW ;CW / CWC time Register
jmp ModeReturn
mov a,RegTModeCWBuff ;3s Delay
mov RegTModeCW,a
;------------------------------------------
bs Flag20,FitnessExBit0 ;CW / STOP ExChange in ModeFitnessBit
bc p5,Motor ;Motor stop for Time 1s
;bs Flag20,ModeBit ;ModeBit==1, PWM don't work
jmp ModeReturn ;use Relay ExChang time
;==========================================
ModeFitnessStop:;CWC and STOP
djz RegTModeStop ;stop time Register
jmp ModeReturn
mov a,RegTModeStopBuff ;1s Delay
mov RegTModeStop,a
;------------------------------------------
bc Flag20,FitnessExBit0 ;CW / STOP ExChange in ModeFitnessBit
bc p5,Motor ;Motor CW for Time 5s
bs Flag00,TRelay1sBit ;Relay Excahnge Time 1s Bit
;bc Flag20,ModeBit ;ModeBit==0, PWM work
jmp ModeReturn ;use Relay ExChang time
;==========================================
;==========================================
;------------------------------------------
ModeMassage:
jbs Flag20,ModeMassageBit ;mode Massage Flag bit
jmp ModeReturn ;jump to return
;------------------------------------------
djz RegModeTMC
jmp ModeReturn
mov a,RegModeTMCBuff
mov RegModeTMC,a
;------------------------------------------
mov a,RegModeMC
xor a,@49
jbc status,z
jmp ModeMassage01
;------------------------------------------
ModeMassage00:
mov a,RegModeMC
call MassageTable
nop
nop
mov RegT1,a
mov RegT1Buff,a
inc RegModeMC
jmp ModeReturn
;------------------------------------------
ModeMassage01:
clr RegModeMC
;------------------------------------------
ModeReturn:
eni
;ret
nop
nop
nop
;*******************************************
/*-----------------------------------------
LCD Display list
------------------------------------------*/
;******************************************
LCDDisplay:
disi
jbs Flag00,WorkBit
jmp LCDReturn
jbs Flag00,T1msBit
jmp LCDReturn
bc Flag00,T1msBit
;------------------------------------------
;------------------------------------------
LCD05:
mov a,@11100000b
and p7,a
jbc FlagScan00,ScanBit05
jmp LCD04
bs FlagScan00,ScanBit05
mov a,@000000110b
iow p6
jmp LCDSeg00
;------------------------------------------
LCD04:
jbc FlagScan00,ScanBit04
jmp LCD03
bs FlagScan00,ScanBit04
mov a,@00000101b
iow p6
jmp LCDSeg01
;------------------------------------------
LCD03:
jbc FlagScan00,ScanBit03
jmp LCD15
bs FlagScan00,ScanBit03
mov a,@00000011b
iow p6
jmp LCDSeg02
;------------------------------------------
;------------------------------------------
LCD15:
bs p7,0
bs p7,1
bs p7,2
bs p7,3
bs p7,4
jbc FlagScan10,ScanBit05
jmp LCD14
bs FlagScan10,ScanBit05
mov a,@00000110b
iow p6
jmp LCDSeg10
;------------------------------------------
LCD14:
jbc FlagScan10,ScanBit04
jmp LCD13
bs FlagScan10,ScanBit04
mov a,@00000101b
iow p6
jmp LCDSeg11
;------------------------------------------
LCD13:
jbc FlagScan10,ScanBit03
jmp LCDEnd
bs FlagScan10,ScanBit03
mov a,@00000011b
iow p6
jmp LCDSeg12
;------------------------------------------
;----------------------------------------
LCDEnd:
clr FlagScan00
clr FlagScan10
jmp LCD05
;------------------------------------------
;------------------------------------------
LCDSeg00: ;-------> +
;mov a,@10000000b
;mov p7,a
mov a,@00000000b
mov p6,a
;------------------------------------------
jbc Flagseg14,seg14Bit0 ;L6 腹部1*******
bs p6,seg7
jbc Flagseg01,seg01Bit2 ;L3 段码3
bs p6,seg8
jbc Flagseg01,seg01Bit1 ;L4 段码4
bs p6,seg9
jbc FlagSeg,Seg00Bit0 ;2F 十位8
bs p7,Seg6
jbc FlagSeg,Seg00Bit1 ;2A 十位8
bs p7,Seg5
jbc FlagSeg12,seg12Bit0 ;1F 个位8
bs p7,Seg4
jbc FlagSeg12,Seg12Bit1 ;1A 个位8
bs p7,Seg3
jbc FlagSeg11,Seg11Bit0 ;TIM(Timer)
bs p7,Seg2
jbc FlagSeg11,Seg11Bit1 ;MAS(Massage)
bs p6,Seg1
jbc FlagSeg13,Seg13Bit0 ;AVO(Avold olly food)************
bs p6,Seg0
nop
nop
jmp LCDReturn
;*****************************************************
LCDseg01:
mov a,@00000000b
mov p6,a
jbc Flagseg14,seg14Bit1 ;L7 腹部中************
bs p6,seg7
jbc Flagseg01,seg01Bit3 ;L2 段码2
bs p6,seg8
jbc Flagseg01,seg01Bit0 ;L5 段码5
bs p6,seg9
jbc FlagSeg,Seg00Bit2 ;2G 十位8
bs p7,Seg6
jbc FlagSeg,Seg00Bit3 ;2B 十位8
bs p7,Seg5
jbc FlagSeg12,Seg12Bit2 ;1G 个位8
bs p7,Seg4
jbc FlagSeg12,Seg12Bit3 ;1B 个位8
bs p7,Seg3
jbc FlagSeg,Seg00Bit4 ;2D 十位8
bs p7,Seg2
jbc FlagSeg11,Seg11Bit2 ;DET(Detox)
bs p6,Seg1
jbc FlagSeg13,Seg13Bit1 ;LES(Less carbohdrate)*************
bs p6,Seg0
nop
nop
jmp LCDReturn
;************************************************************
LCDseg02:
mov a,@00000000b
mov p6,a
jbc Flagseg14,seg14Bit2 ;L8 腹部3***************
bs p6,seg7
jbc Flagseg01,seg01Bit4 ;L1 段码1
bs p6,seg8
jbc flagseg11,seg11Bit3 ;SPE(SPED)
bs p6,seg9
jbc FlagSeg,Seg00Bit5 ;2E 十位8
bs p7,Seg6
jbc FlagSeg,Seg00Bit6 ;2C 十位8
bs p7,Seg5
jbc FlagSeg12,Seg12Bit4 ;1E 个位8
bs p7,Seg4
jbc FlagSeg12,Seg12Bit5 ;1C 个位8
bs p7,Seg3
jbc FlagSeg12,Seg12Bit6 ;1D 个位8
bs p7,Seg2
jbc FlagSeg11,Seg11Bit4 ;SLI(Slim&Trim)
bs p6,Seg1
jbc FlagSeg13,Seg13Bit2 ;USE(Use trimax regularly***************
bs p6,Seg0
nop
nop
jmp LCDReturn
;------------------------------------------
;------------------------------------------
;------------------------------------------
LCDSeg10: ;- <-------
mov a,@11111111b
mov p6,a
jbc Flagseg14,seg14Bit0 ;L6 腹部1*******
bc p6,seg7
jbc Flagseg01,seg01Bit2 ;L3 段码3
bc p6,seg8
jbc Flagseg01,seg01Bit1 ;L4 段码4
bc p6,seg9
jbc FlagSeg,Seg00Bit0 ;2F 十位8
bc p7,Seg6
jbc FlagSeg,Seg00Bit1 ;2A 十位8
bc p7,Seg5
jbc FlagSeg12,seg12Bit0 ;1F 个位8
bc p7,Seg4
jbc FlagSeg12,Seg12Bit1 ;1A 个位8
bc p7,Seg3
jbc FlagSeg11,Seg11Bit0 ;TIM(Timer)
bc p7,Seg2
jbc FlagSeg11,Seg11Bit1 ;MAS(Massage)
bc p6,Seg1
jbc FlagSeg13,Seg13Bit0 ;AVO(Avold olly food)************
bc p6,Seg0
nop
nop
jmp LCDReturn
;------------------------------------------
LCDseg11:
mov a,@11111111b
;mov p7,a
mov p6,a
jbc Flagseg14,seg14Bit1 ;L7 腹部中************
bc p6,seg7
jbc Flagseg01,seg01Bit3 ;L2 段码2
bc p6,seg8
jbc Flagseg01,seg01Bit0 ;L5 段码5
bc p6,seg9
jbc FlagSeg,Seg00Bit2 ;2G 十位8
bc p7,Seg6
jbc FlagSeg,Seg00Bit3 ;2B 十位8
bc p7,Seg5
jbc FlagSeg12,Seg12Bit2 ;1G 个位8
bc p7,Seg4
jbc FlagSeg12,Seg12Bit3 ;1B 个位8
bc p7,Seg3
jbc FlagSeg,Seg00Bit4 ;2D 十位8
bc p7,Seg2
jbc FlagSeg11,Seg11Bit2 ;DET(Detox)
bc p6,Seg1
jbc FlagSeg13,Seg13Bit1 ;LES(Less carbohdrate)*************
bc p6,Seg0
nop
nop
jmp LCDReturn
;******************************************
LCDseg12:
mov a,@11111111b
;mov p7,a
mov p6,a
jbc Flagseg14,seg14Bit2 ;L8 腹部3***************
bc p6,seg7
jbc Flagseg01,seg01Bit4 ;L1 段码1
bc p6,seg8
jbc Flagseg11,seg11Bit3 ;SPE(SPED)
bc p6,seg9
jbc FlagSeg,Seg00Bit5 ;2E 十位8
bc p7,Seg6
jbc FlagSeg,Seg00Bit6 ;2C 十位8
bc p7,Seg5
jbc FlagSeg12,Seg12Bit4 ;1E 个位8
bc p7,Seg4
jbc FlagSeg12,Seg12Bit5 ;1C 个位8
bc p7,Seg3
jbc FlagSeg12,Seg12Bit6 ;1D 个位8
bc p7,Seg2
jbc FlagSeg11,Seg11Bit4 ;SLI(Slim&Trim)
bc p6,Seg1
jbc FlagSeg13,Seg13Bit2 ;USE(Use trimax regularly***************
bc p6,Seg0
nop
nop
;------------------------------------------
;------------------------------------------
LCDReturn:
eni
jmp Page2Return
;------------------------------------------
;******************************************
org 600h
page2:
nop
nop
;bs status,ps0
;bc status,ps1
Lcddt: ;动态Lcd显示值
jbs Flag00,WorkBit
jmp kk
;disi
mov a,dwan_x ;duanma
call Lcdxs_1
nop
nop
mov flagseg14,a
mov a,word_x
call Lcdxs_2 ;zjmu
nop
nop
mov flagseg13,a
mov a,time_shi
call Lcd88_1
nop
nop
mov flagseg,a
mov a,time_ge
call Lcd88_2
nop
nop
mov flagseg12,a
;eni
kk:
nop
nop
nop
nop
jmp ModeWork
;call ModeWork
;call LCDDisplay
nop
nop
Page2Return :
;eni
bc status,ps0
bc status,ps1
nop
nop
jmp page1
;******************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -