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

📄 display2.dt.bak

📁 一个多士炉的汇编源码
💻 BAK
📖 第 1 页 / 共 5 页
字号:
		JBS    MODEBUF,0                
        JMP    RUN_OPERATE1
;========================
;++++解冻模式显示处理++++
;========================
		JBC    DARKE_GRADE,5
		JMP    DEF_GRADE5
		
		JBC	DARKE_GRADE,4
		JMP    DEF_GRADE4
		 
		JBC    DARKE_GRADE,3
		JMP    DEF_GRADE3
		 
		JBC    DARKE_GRADE,2
		JMP    DEF_GRADE2
		 
		JBC    DARKE_GRADE,1
		JMP    DEF_GRADE1
		 
		JBC    DARKE_GRADE,0
		JMP    DEF_GRADE0
		JMP    TEST_SLEEP

;=============6挡的处理============
DEF_GRADE5:
		MOV    A,@0B00011100;显示6
		MOV    DISPBUF0,A
		
		MOV    A,@0B00011111
		MOV    DISPBUF1,A

		MOV    A,@140
		SUB    A,RUN_2S
		 		 
   	 JBC    STATUS,0
		JMP    STOP_RUN     ;如果运行时间超过6挡运行时间则停止运行

		jbs	addorsubchange_flag,0
		jmp    nokey_down6
		jmp    six_judge6

nokey_down6:                ;如果运行过程中没有+或-键被按下则在点显示时间缓冲区中写入23
		mov    a,@23
		mov    0x33,a       ;如果有+或-键盘被按下,那么缓冲区在模式设定子程序中已经将时间写入到缓冲区了
		jmp    six_judge6		

;=============5挡的处理===============
DEF_GRADE4:
		MOV    A,@0B00011100;显示5
		MOV    DISPBUF0,A
		
		MOV    A,@0B00010111
		MOV    DISPBUF1,A

		MOV    A,@125
		SUB    A,RUN_2S
		
		JBC    STATUS,0
		JMP    STOP_RUN

		jbs	addorsubchange_flag,0
		jmp    nokey_down5
		jmp    five_judge5

nokey_down5:
		mov    a,@25
		mov    0x33,a
		jmp    five_judge5		

;==============4挡的处理==============
DEF_GRADE3:
		MOV    A,@0B00011010;显示4
		MOV    DISPBUF0,A
		
		MOV    A,@0B00010101
		MOV    DISPBUF1,A

		MOV    A,@110
		SUB    A,RUN_2S
		 
		JBC    STATUS,0
		JMP    STOP_RUN

		jbs	addorsubchange_flag,0
		jmp    nokey_down4
		jmp    four_judge4

nokey_down4:
		mov    a,@28
		mov    0x33,a
		jmp    four_judge4		

;===============3挡的处理==============
DEF_GRADE2:
		MOV    A,@0B00010110;显示3
		MOV    DISPBUF0,A
		
		MOV    A,@0B00010111
		MOV    DISPBUF1,A

		MOV    A,@95
		SUB    A,RUN_2S
		 
		JBC    STATUS,0
		JMP    STOP_RUN

		jbs	addorsubchange_flag,0
		jmp    nokey_down3
		jmp    three_judge3

nokey_down3:
		mov    a,@32
		mov    0x33,a
		jmp    three_judge3		

;================2挡的处理==============
DEF_GRADE1:
		MOV    A,@0B00010110;显示2
		MOV    DISPBUF0,A
		
		MOV    A,@0B00011110
		MOV    DISPBUF1,A

		MOV    A,@80
		SUB    A,RUN_2S
		 
		JBC    STATUS,0
		JMP    STOP_RUN

		jbs	addorsubchange_flag,0
		jmp    nokey_down2
		jmp    two_judge2

nokey_down2:
		mov    a,@40
		mov    0x33,a
		jmp    two_judge2		

;================1挡的处理=============
DEF_GRADE0:
		MOV    A,@0B00010010;显示1
		MOV    DISPBUF0,A
		
		MOV    A,@0B00010001
		MOV    DISPBUF1,A

		MOV    A,@65
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    STOP_RUN
		JMP    ONE_LIGHT

;========6挡的点数点亮时间处理=========
SIX_JUDGE6:
		MOV    A,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time66
		jmp    notadd_time66

add_time66:
		add    a,0x35
		bc     status,0    

notadd_time66:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    FIVE_JUDGE6
		JMP    SIX_LIGHT

FIVE_JUDGE6:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time65
		jmp    notadd_time65

add_time65:
		add    a,0x35
		bc     status,0    

notadd_time65:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    FOUR_JUDGE6
		JMP    FIVE_LIGHT

FOUR_JUDGE6:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time64
		jmp    notadd_time64

add_time64:
		add    a,0x35
		bc     status,0    

notadd_time64:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    THREE_JUDGE6
		JMP    FOUR_LIGHT
		 
THREE_JUDGE6:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		add    a,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time63
		jmp    notadd_time63

add_time63:
		add    a,0x35
		bc     status,0    

notadd_time63:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    TWO_JUDGE6
		JMP    THREE_LIGHT
		 
TWO_JUDGE6:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		add    a,0x33
		add    a,0x33
        add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time62
		jmp    notadd_time62

add_time62:
		add    a,0x35
		bc     status,0    

notadd_time62:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    ONE_LIGHT
		JMP    TWO_LIGHT

;========5挡的点数点亮时间处理=========
FIVE_JUDGE5:
		MOV    A,0x33
		bc     status,0
		 
		jbc	addorsubchange_flag,0
		jmp    add_time55
		jmp    notadd_time55

add_time55:
		add    a,0x35
		bc     status,0    

notadd_time55:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    FOUR_JUDGE5
		JMP    FIVE_LIGHT

FOUR_JUDGE5:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time54
		jmp    notadd_time54

add_time54:
		add    a,0x35
		bc     status,0    

notadd_time54:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    THREE_JUDGE5
		JMP    FOUR_LIGHT
		 
THREE_JUDGE5:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time53
		jmp    notadd_time53

add_time53:
		add    a,0x35
		bc     status,0    

notadd_time53:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    TWO_JUDGE5
		JMP    THREE_LIGHT
		 
TWO_JUDGE5:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		add    a,0x33
		add    a,0x33
		bc     status,0		

		jbc	addorsubchange_flag,0
		jmp    add_time52
		jmp    notadd_time52

add_time52:
		add    a,0x35
		bc     status,0    

notadd_time52:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    ONE_LIGHT
		JMP    TWO_LIGHT

;========4挡的点数点亮时间处理=========
FOUR_JUDGE4:
		MOV    A,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time44
		jmp    notadd_time44

add_time44:
		add    a,0x35
		bc     status,0    

notadd_time44:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    THREE_JUDGE4
		JMP    FOUR_LIGHT
		 
THREE_JUDGE4:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time43
		jmp    notadd_time43

add_time43:
		add    a,0x35
		bc     status,0    

notadd_time43:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    TWO_JUDGE5
		JMP    THREE_LIGHT
		 
TWO_JUDGE4:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time42
		jmp    notadd_time42

add_time42:
		add    a,0x35
		bc     status,0    

notadd_time42:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    ONE_LIGHT
		JMP    TWO_LIGHT

;========3挡的点数点亮时间处理=========
THREE_JUDGE3:
		MOV    A,0x33
		bc     status,0		

		jbc	addorsubchange_flag,0
		jmp    add_time33
		jmp    notadd_time33

add_time33:
		add    a,0x35
		bc     status,0    

notadd_time33:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    TWO_JUDGE3
		JMP    THREE_LIGHT
		 
TWO_JUDGE3:
		bc     status,0
		MOV    A,0x33
		add    a,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time32
		jmp    notadd_time32

add_time32:
		add    a,0x35
		bc     status,0    

notadd_time32:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    ONE_LIGHT
		JMP    TWO_LIGHT

;========2挡的点数点亮时间处理=========
TWO_JUDGE2:
		MOV    A,0x33
		bc     status,0

		jbc	addorsubchange_flag,0
		jmp    add_time22
		jmp    notadd_time22

add_time22:
		add    a,0x35
		bc     status,0    

notadd_time22:
		SUB    A,RUN_2S
		JBC    STATUS,0
		JMP    ONE_LIGHT
		JMP    TWO_LIGHT

;=======将显示字符写入显示缓冲区======
SIX_LIGHT:
		MOV    A,@0B11111111
		JMP    LIGHT_WRITE

FIVE_LIGHT:
		MOV    A,@0B11111110
		JMP    LIGHT_WRITE

FOUR_LIGHT:
		MOV    A,@0B11011110
		JMP    LIGHT_WRITE

THREE_LIGHT:
		MOV    A,@0B00011110
		JMP    LIGHT_WRITE
		 
TWO_LIGHT:
        MOV    A,@0B00011010
        JMP    LIGHT_WRITE

ONE_LIGHT:
	    MOV    A,@0B00001010

;====这里有点闪烁的处理========
LIGHT_WRITE:	     
   	 JBS    T1S_FLAG,0
		JMP    CLR_DISPBUF2
		 
		MOV    DISPBUF2,A
		JMP    SLEEP_END	     

CLR_DISPBUF2:
		CLRA
		MOV    DISPBUF2,A
		JMP    SLEEP_END
;===============================
;+++++运行解冻模式处理结束++++++
;===============================		

;===============================
;+++++运行重新加热模式处理++++++
;===============================
RUN_OPERATE1:               
		JBS    MODEBUF,1
		JMP    RUN_OPERATE2

		MOV    A,@0B01100001;将数字清掉
		MOV    DISPBUF0,A
		 
		MOV    A,@0B00100000
		MOV    DISPBUF1,A
		           
		MOV    A,@4
		SUB    A,RUN_2S
		 
		JBC    STATUS,0
		JMP    REH_FIVELIGHT;运行时间超过4秒转
		JMP    SIX_LIGHT

REH_FIVELIGHT:
		MOV    A,@8
		SUB    A,RUN_2S
   	 JBC    STATUS,0
	    JMP    REH_FOURLIGHT
		JMP    FIVE_LIGHT
		 
REH_FOURLIGHT:		 
		MOV    A,@11
		SUB    A,RUN_2S

		JBC    STATUS,0
		JMP    REH_THREELIGHT
		JMP    FOUR_LIGHT
		 
REH_THREELIGHT:
		MOV    A,@14
		SUB    A,RUN_2S

		JBC    STATUS,0
		JMP    REH_TWOLIGHT
		JMP    THREE_LIGHT

REH_TWOLIGHT:
		MOV    A,@17
		SUB    A,RUN_2S

		JBC    STATUS,0
		JMP    REH_ONELIGHT
		JMP    TWO_LIGHT

REH_ONELIGHT:				 
		MOV    A,@20
		SUB    A,RUN_2S
		 
		JBC    STATUS,0
		JMP    STOP_RUN
		JMP    ONE_LIGHT

;=============================
;++++运行正常模式处理入口+++++
;=============================
RUN_OPERATE2:		
		JBS    MODEBUF,2
		JMP    SLEEP_END

		JBC    DARKE_GRADE,5
		JMP    NORMAL_GRADE5
		
		JBC	DARKE_GRADE,4
		JMP    NORMAL_GRADE4
		 
		JBC    DARKE_GRADE,3
		JMP    NORMAL_GRADE3
		 
		JBC    DARKE_GRADE,2
		JMP    NORMAL_GRADE2
		 
		JBC    DARKE_GRADE,1
		JMP    NORMAL_GRADE1
		 
		JBC    DARKE_GRADE,0
		JMP    NORMAL_GRADE0
		JMP    SLEEP_END

;============6挡的处理=============
NORMAL_GRADE5:
		MOV    A,@0B00001100;显示6
		MOV    DISPBUF0,A
		
		MOV    A,@0B00001111
		MOV    DISPBUF1,A

		MOV    A,@120
		SUB    A,RUN_2S
		 		 
   	 JBC    STATUS,0
		JMP    STOP_RUN        		

		jbs	addorsubchange_flag,0
		jmp    nornokey_down6
		jmp    norsix_judge6

nornokey_down6:
		mov    a,@20
		mov    0x33,a
		jmp    norsix_judge6		

;============5挡的处理=============
NORMAL_GRADE4:
		MOV    A,@0B00001100;显示5
		MOV    DISPBUF0,A
		
		MOV    A,@0B00000111
		MOV    DISPBUF1,A
		

		MOV    A,@105
		SUB    A,RUN_2S
		
		JBC    STATUS,0
		JMP    STOP_RUN

		jbs	addorsubchange_flag,0
		jmp    nornokey_down5
		jmp    norfive_judge5

nornokey_down5:
		mov    a,@21
		mov    0x33,a
		jmp    norfive_judge5		
		
;============4挡的处理=============

⌨️ 快捷键说明

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