📄 demo_69p25.asm
字号:
LDI WK0,0111B
STA LEDR4H,B1
LDI WK0,1110B
ORM LEDR4L,B1
LDI WK0,1000B
STA LEDR5H,B1
LDI WK0,1100B
ORM LEDR5L,B1
LDI WK0,1101B
ANDM LEDR5L,B1
RTNI
;===============================DISPLAY disr1 content
BCD_R1:
LDI TBR,01H
LDA DISR1,B0
CALL LED_TABLE
STA LEDR5H,B1
LDA LEDR5L,B1
STA WK0,B0
ANDIM WK0,0001B
ORM TBR,B0
STA LEDR5L,B1
RTNI
;===============================DISPLAY disr2
BCD_R2:
LDI TBR,01H
LDA DISR2,B0
CALL LED_TABLE
STA LEDR4H,B1
LDA LEDR4L,B1
STA WK0,B0
ANDIM WK0,0001B
ORM TBR,B0
STA LEDR4L,B1
RTNI
;===============================DISPLAY disr3
BCD_R3:
LDI TBR,01H
LDA DISR3,B0
CALL LED_TABLE
STA LEDR2H,B1
LDA LEDR2L,B1
STA WK0,B0
ANDIM WK0,0001B
ORM TBR,B0
STA LEDR2L,B1
RTNI
;===============================DISPLAY disr4
BCD_R4:
LDA DISR4,B0
BNZ BCD_R41 ;if display r4 equ 0 then no display
LDI DISR4,0AH
BCD_R41:
LDI TBR,01H
LDA DISR4,B0
CALL LED_TABLE
STA LEDR1H,B1
LDA LEDR1L,B1
STA WK0,B0
ANDIM WK0,0001B
ORM TBR,B0
STA LEDR1L,B1
RTNI
;----------------------------------------------------------
DIS8:
;---------------------------------------------"ML"
CJNE4 AUTORH,01H,DIS80OFF
LDI WK0,0001B
EOR MK_DIS,B0
BA0 DIS80OFF
LDI WK0,0001B
ORM LEDR5L,B1
JMP DIS8099
DIS80OFF:
LDI WK0,1110B
ANDM LEDR5L,B1 ;NO "ML"
DIS8099:
;------------------------------------------WEI BO
LDA SUPR,B0
BAZ DIS812
CJE4 SUPR,06H,DIS81OFF
DIS811:
LDA MK_YUYUE,B0
BA3 DIS81OFF ;YUUE THEN OFF
LDA YUYUERL,B0
BNZ DIS81OFF
LDA LOOKR_COOK,B0
BNZ DIS81ON ; LOOKING COOK THEN ON
;--------------------------------------
LDI WK0,0010B
EOR MK_COOK,B0
BA1 DIS81ON
LDA MK01H,B0
BA3 DIS81ON
JMP DIS81OFF
DIS812:
LDA JETR,B0
BNZ DIS811 ;DEF1
CJNE4 AUTORH,00H,DIS811 ;DEF2
DIS81OFF:
LDI WK0,1110B
ANDM LEDR3H,B1
JMP DIS8199
DIS81ON:
LDI WK0,0001B
ORM LEDR3H,B1
DIS8199:
;------------------------------ZHU HE
CJE4 SUPR,06H,DIS820
CJE4 SUPR,07H,DIS820
CJE4 SUPR,08H,DIS820
JMP DIS82OFF
DIS820:
LDA MK_YUYUE,B0
BA3 DIS82OFF ;YUUE THEN OFF
LDA YUYUERL,B0
BNZ DIS82OFF ;LOOKING CLOCK THEN OFF
LDA LOOKR_COOK,B0
BNZ DIS82ON ; LOOKING COOK THEN ON
;------------------------------
LDI WK0,0010B
EOR MK_COOK,B0
BA1 DIS82ON
LDA MK01H,B0
BA3 DIS82ON
DIS82OFF:
LDI WK0,1101B
ANDM LEDR3H,B1
JMP DIS8299
DIS82ON:
LDI WK0,0010B
ORM LEDR3H,B1
DIS8299:
;------------------------------def1/def2
LDA JETR,B0
BNZ DIS830
CJE4 AUTORH,0AH,DIS830
JMP DIS83OFF
DIS830:
LDI WK0,0010B
EOR MK_COOK,B0
BA1 DIS83ON
LDA MK01H,B0
BA3 DIS83ON
DIS83OFF:
LDI WK0,1011B
ANDM LEDR3H,B1
JMP DIS8399
DIS83ON:
LDI WK0,0100B
ORM LEDR3H,B1
DIS8399:
;-------------------------------------HI FIRE
CJE4 SUPR,01H,DIS840
CJE4 SUPR,02H,DIS840
JMP DIS84OFF
DIS840:
LDA MK_YUYUE,B0
BA3 DIS84OFF ;YUUE THEN OFF
LDA YUYUERL,B0
BNZ DIS84OFF ;LOOKING CLOCK THEN OFF
LDA LOOKR_COOK,B0
BNZ DIS84ON ; LOOKING COOK THEN ON
;--------------------------
LDI WK0,0010B
EOR MK_COOK,B0
BA1 DIS84ON
LDA MK01H,B0
BA3 DIS84ON
DIS84OFF:
LDI WK0,0111B
ANDM LEDR3H,B1
JMP DIS8499
DIS84ON:
LDI WK0,1000B
ORM LEDR3H,B1
DIS8499:
;-------------------------------------LOW FIRE
CJE4 SUPR,03H,DIS850
CJE4 SUPR,04H,DIS850
CJE4 SUPR,05H,DIS850
JMP DIS85OFF
DIS850:
LDA MK_YUYUE,B0
BA3 DIS85OFF ;YUUE THEN OFF
LDA YUYUERL,B0
BNZ DIS85OFF ;LOOKING CLOCK THEN OFF
LDA LOOKR_COOK,B0
BNZ DIS85ON ; LOOKING COOK THEN ON
;-------------------------------------
LDI WK0,0010B
EOR MK_COOK,B0
BA1 DIS85ON
LDA MK01H,B0
BA3 DIS85ON
DIS85OFF:
LDI WK0,0111B
ANDM LEDR3L,B1
JMP DIS8599
DIS85ON:
LDI WK0,1000B
ORM LEDR3L,B1
DIS8599:
;-------------------------------------CLOCK
CJNE4 YUYUERL,00H,DIS86ON
LDA MK_YUYUE,B0
BA3 DIS861
DIS86OFF:
LDI WK0,1110B
ANDM LEDR1L,B1
JMP DIS8699
DIS861:
LDI WK0,1000B
EOR MK01H,B0
BA3 DIS86OFF
DIS86ON:
LDI WK0,0001B ;DISPLAY CLOCK
ORM LEDR1L,B1
DIS8699:
;---------------------------------------------boy LOCK
LDA MK_LIT,B0
BA0 DIS87ON
LDI WK0,1110B
ANDM LEDR2L,B1
JMP DIS8799
DIS87ON:
LDI WK0,0001B
ORM LEDR2L,B1
DIS8799:
;----------------------------------------------AUTOCOOK
CJE4 AUTORH,00H,DIS88OFF
CJE4 AUTORH,0AH,DIS88OFF
LDA MK_YUYUE,B0
BA3 DIS88OFF ;YUUE THEN OFF
LDA YUYUERL,B0
BNZ DIS88OFF ;LOOKING CLOCK THEN OFF
;---------------------------------
LDI WK0,0010B
EOR MK_COOK,B0
BA1 DIS88ON
LDA MK01H,B0
BA3 DIS88ON
DIS88OFF:
LDI WK0,1110B
ANDM LEDR3L,B1
JMP DIS8899
DIS88ON:
LDI WK0,0001B ;AUTOCOOK ON
ORM LEDR3L,B1
DIS8899:
;-------------------------------------------g
LDA YUYUERL,B0
BNZ DIS89OFF
LDA MK_YUYUE,B0
BA3 DIS89OFF
LDA JETR,B0
BNZ DIS89_ST ;DEF1
CJNE4 AUTORH,00H,DIS89_ST ;DEF2/AUTO
JMP DIS89OFF
DIS89_ST:
LDA MK_DIS,B0
BA0 DIS890
DIS89OFF:
LDI WK0,1110B
ANDM LEDR4L,B1
JMP DIS89END
DIS890:
CJE4 AUTORH,01H,DIS89OFF
LDI WK0,0001B
ORM LEDR4L,B1
DIS89END:
DIS99:
JMP DISPLAY_RET
;*******************************************************************
;======================================================
T0_INT:
STA ACCBUF,B1 ;protect acc
ANDIM IRQ,0000B ;clr int irq
;---------------------------------
LDI MACR2,0001B
EOR MK_BZ,B0
BA0 INT11
;----------------------------
EORIM PCRBUF,0001B ;BUZZER OUT PUT
STA PCR,B0
;------------------------------
INT11:
INT12:
JMP ZERO_PART
ZERO_PART_RET:
EORIM INTM1L,0001B
BA0 INT299 ;JMP ZERO_PART ;JMP TO ZERO
EORIM INTM1L,0010B
BA1 INT299
ORIM PFRBUF,0001B
STA PFR,B0
LDI PERBUF,1111B
STA PER,B0
CJAE4 DISCTRH,04H,INT3
INC4 DISCTR
CJNE4 DISCTR,01H,INT22
LDA LEDR1L,B1
CALL STORE_PA
LDA LEDR1H,B1
CALL STORE_PB
ANDIM PERBUF,0111B ;disPlay com1
STA PER,B0
JMP INT28
;======================================subroutine store to pa
STORE_PA:
STA PARBUF,B0
EORIM PARBUF,1111B
STA PAR,B0
RTNI
STORE_PB: ; subroutine store to pb
STA PBRBUF,B0
EORIM PBRBUF,1111B
STA PBR,B0
RTNI
;----------------------------------
INT22:
CJNE4 DISCTR,02H,INT23
LDA LEDR2L,B1
CALL STORE_PA
LDA LEDR2H,B1
CALL STORE_PB
ANDIM PERBUF,1011B ;display com2
STA PER,B0
JMP INT28
INT23:
CJNE4 DISCTR,03H,INT24
LDA LEDR3L,B1
CALL STORE_PA
LDA LEDR3H,B1
CALL STORE_PB
ANDIM PERBUF,1101B ;display com3
STA PER,B0
JMP INT28
INT24:
CJNE4 DISCTR,04H,INT25
LDA LEDR4L,B1
CALL STORE_PA
LDA LEDR4H,B1
CALL STORE_PB
ANDIM PERBUF,1110B ;display com4
STA PER,B0
JMP INT28
INT25:
LDI DISCTR,00H
LDA LEDR5L,B1
CALL STORE_PA
LDA LEDR5H,B1
CALL STORE_PB
ANDIM PFRBUF,1110B ;display com5
STA PFR,B0
;------------------
; EORIM MK_SY,0001B
; BA0 INT99
LDI DISCTRH,0AH
INT28:
; JMP INT299
INT299:
INC4 NEWR2
BNZ INT99
INC4 INTM1H
CJB4 INTM1H,05H,INT99 ;time counter
LDI INTM1H,00H
ORIM MK01L,0001B
JMP INT99
;-------------------------------------------------------
INT3:
LDI PDRM,00H
LDI PULLUPR,1000B ;PULL DOWN ENABLE
LDI PER,1111B
ORIM PFRBUF,0001B
STA PFR,B0
LDI PARBUF,1111B
STA PAR,B0 ;PA PULL UP
LDI PBRBUF,1111B ;PB PULL UP
STA PBR,B0
LDI DISCTRH,00H
ORIM INTM1L,0011B
INC4 NEWR2
BNZ INT31
INC4 INTM1H
CJB4 INTM1H,05H,INT31 ;time counter
LDI INTM1H,00H
ORIM MK01L,0001B
INT31: ;---------------------------key door option scan
LDA MK_KS,B0
BA1 KEYP299
LDA KEY_CTR,B1
BAZ KEYP21
LDA KEYM2L,B0
STA KEYM2LS,B0
LDA KEYM2H,B0
STA KEYM2HS,B0
LDA KEYR_OPTION,B1
STA KEYRS_OPTION,B1
LDA KEYR_DOOR,B0
STA KEYRS_DOOR,B0
CALL STORE_OPTION_SHAO
CALL READ_OPTION_SHAO
CALL KEYP20
CALL JUDGE_OPTION_SHAO
ANDIM KEYR_DOOR,0001B
ANDIM KEYRS_DOOR,0001B
LDA KEYR_DOOR,B0
EOR KEYRS_DOOR,B0
BNZ KEYP34
LDA KEYM2L,B0
EOR KEYM2LS,B0
BNZ KEYP34
LDA KEYM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -