📄 lcd89527.lst
字号:
0600 901D31 MOV DPTR,#ZIMU_DUNHAO
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 24
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0603 120976 LCALL OUTSHUZI
0606 753106 MOV X_ADD,#6 ;台
0609 753270 MOV Y_ADD,#112
060C 90164B MOV DPTR,#HZ_TAI_2
060F 1208C9 LCALL OUTHZ16
0612 8634 MOV SHUZI,@R0
0614 120636 LCALL SHUZI_PRO ;计算出低位的DPTR,高位的放在DPH_BAK,和DPL_BAK中
0617 753106 MOV X_ADD,#6
061A 753268 MOV Y_ADD,#104
061D 120976 LCALL OUTSHUZI
0620 753106 MOV X_ADD,#6
0623 753260 MOV Y_ADD,#96
0626 853C83 MOV DPH,DPH_BAK
0629 853D82 MOV DPL,DPL_BAK
062C 120976 LCALL OUTSHUZI
062F C135 AJMP DIS_REFRESH_END
DIS_REFRESH_OTHER: ;没有要显示的就显示其他的画面
0631 1207C2 LCALL DISPLAY_ALL
0634 00 NOP
DIS_REFRESH_END:
0635 22 RET
;*********************************************************
;计算出低位的DPTR,高位的放在DPH_BAK,和DPL_BAK中
;输入的数字已经是10进制了
;*********************************************************
SHUZI_PRO:
0636 E534 MOV A,SHUZI
0638 54F0 ANL A,#0F0H
063A C4 SWAP A
SHUZI_PRO_A:
063B B40006 CJNE A,#0,SHUZI_PRO_0
063E 901D11 MOV DPTR,#SHUZI_0
0641 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_0:
0644 B40106 CJNE A,#1,SHUZI_PRO_1
0647 901C81 MOV DPTR,#SHUZI_1
064A 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_1:
064D B40206 CJNE A,#2,SHUZI_PRO_2
0650 901C91 MOV DPTR,#SHUZI_2
0653 020695 LJMP SHUZI_PRO_NEXT
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 25
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
SHUZI_PRO_2:
0656 B40306 CJNE A,#3,SHUZI_PRO_3
0659 901CA1 MOV DPTR,#SHUZI_3
065C 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_3:
065F B40406 CJNE A,#4,SHUZI_PRO_4
0662 901CB1 MOV DPTR,#SHUZI_4
0665 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_4:
0668 B40506 CJNE A,#5,SHUZI_PRO_5
066B 901CC1 MOV DPTR,#SHUZI_5
066E 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_5:
0671 B40606 CJNE A,#6,SHUZI_PRO_6
0674 901CD1 MOV DPTR,#SHUZI_6
0677 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_6:
067A B40706 CJNE A,#7,SHUZI_PRO_7
067D 901CE1 MOV DPTR,#SHUZI_7
0680 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_7:
0683 B40806 CJNE A,#8,SHUZI_PRO_8
0686 901CF1 MOV DPTR,#SHUZI_8
0689 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_8:
068C B40906 CJNE A,#9,SHUZI_PRO_NEXT
068F 901D01 MOV DPTR,#SHUZI_9
0692 020695 LJMP SHUZI_PRO_NEXT
SHUZI_PRO_NEXT:
0695 20070F JB F_HIGH,SHUZI_PRO_RET
0698 D207 SETB F_HIGH
069A 85823D MOV DPL_BAK,DPL
069D 85833C MOV DPH_BAK,DPH
06A0 E534 MOV A,SHUZI
06A2 540F ANL A,#0FH
06A4 02063B LJMP SHUZI_PRO_A
SHUZI_PRO_RET:
06A7 C207 CLR F_HIGH
06A9 22 RET
;************************************************************
R_MOV:
06AA AB35 MOV R3,PAIDUI
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 26
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
06AC 1B DEC R3
06AD EB MOV A,R3
06AE B40009 CJNE A,#0,R_MOV_2
06B1 753500 MOV PAIDUI,#0
06B4 754000 MOV GET_BUFF,#0
06B7 0206D7 LJMP R_MOV_END
R_MOV_2:
06BA 7840 MOV R0,#GET_BUFF
06BC 7941 MOV R1,#GET_BUFF+1
R_MOV_0:
06BE E7 MOV A,@R1
06BF F6 MOV @R0,A
06C0 7700 MOV @R1,#0
06C2 08 INC R0
06C3 09 INC R1
06C4 DBF8 DJNZ R3,R_MOV_0
06C6 7849 MOV R0,#TIMER_BUFF
06C8 794A MOV R1,#TIMER_BUFF+1
06CA AB35 MOV R3,PAIDUI
06CC 1B DEC R3
R_MOV_1:
06CD E7 MOV A,@R1
06CE F6 MOV @R0,A
06CF 7700 MOV @R1,#0
06D1 08 INC R0
06D2 09 INC R1
06D3 DBF8 DJNZ R3,R_MOV_1
06D5 1535 DEC PAIDUI ;排队的个数少了一个
R_MOV_END:
06D7 D202 SETB F_MOVED
06D9 22 RET
;******************40MS中断一次监测按键***********************
; 使用了第一区
;************************************************************
TIMER0_INT:
06DA C0E0 PUSH A
06DC C0D0 PUSH PSW
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 27
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
06DE C2D4 CLR RS1 ; 使用了第一区
06E0 D2D3 SETB RS0
06E2 00 NOP
06E3 E535 MOV A,PAIDUI
06E5 B40004 CJNE A,#00,TIMER0_INT_1
06E8 00 NOP
06E9 00 NOP
06EA C1F1 AJMP TIMER0_INT_0
TIMER0_INT_1:
06EC 00 NOP
06ED 00 NOP
06EE 120799 LCALL MOV_PRO
TIMER0_INT_0: ;2秒钟刷新一次的记时
06F1 20030A JB F_REFRESH,TIMER0_INT_NEXT ;在刷新完之后,CLR F_REFRESH,重新开始记时
06F4 00 NOP
06F5 00 NOP
06F6 D53305 DJNZ TIMER_2S_0,TIMER0_INT_NEXT
06F9 D203 SETB F_REFRESH
06FB 75331E MOV TIMER_2S_0,#30 ;
TIMER0_INT_NEXT:
06FE C2D4 CLR RS1
0700 C2D3 CLR RS0
;***************中断中检测按键************************
KEY_TEST:
0702 C294 CLR P1.4 ;REM ON 02.07.20
; CLR P1.7 ;ADDED ON 02.7.20
0704 E590 MOV A,P1
0706 540F ANL A,#0FH
0708 B40F56 CJNE A,#0FH,KEY_IN
070B E537 MOV A,KEY_NO
070D 2404 ADD A,#04H
070F F537 MOV KEY_NO,A
0711 C295 CLR P1.5 ;REM ON 02.07.20
; CLR P1.6 ;ADDED ON 02.7.20
0713 E590 MOV A,P1
0715 540F ANL A,#0FH
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 28
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0717 B40F47 CJNE A,#0FH,KEY_IN
071A E537 MOV A,KEY_NO
071C 2404 ADD A,#04H
071E F537 MOV KEY_NO,A
0720 C296 CLR P1.6 ;REM ON 02.07.20
; CLR P1.5 ;ADDED ON 02.7.20
0722 E590 MOV A,P1
0724 540F ANL A,#0FH
0726 B40F38 CJNE A,#0FH,KEY_IN
0729 E537 MOV A,KEY_NO
072B 2404 ADD A,#04H
072D F537 MOV KEY_NO,A
072F C297 CLR P1.7 ;REM ON 02.07.20
; CLR P1.4 ;ADDED ON 02.7.20
0731 E590 MOV A,P1
0733 540F ANL A,#0FH
0735 B40F29 CJNE A,#0FH,KEY_IN
0738 00 NOP
0739 00 NOP
073A 300414 JNB F_KEY_FOUND,NO_KEY
073D 00 NOP
073E 00 NOP
073F E536 MOV A,KEY_LAST_TIME
0741 B40200 CJNE A,#02H,COMPARE_TIME ;长度是否够长
COMPARE_TIME:
0744 400B JC NOT_LONG_ENOUGH
0746 D205 SETB F_KEY_VALUE
0748 E539 MOV A,OLD_KEY_NO ;取出备份
074A 1207AC LCALL LOAD_KEY ;重新分配按键的值
074D F537 MOV KEY_NO,A
074F E154 AJMP KEY_OUT
NO_KEY:
NOT_LONG_ENOUGH:
0751 753700 MOV KEY_NO,#00H ;NO KEY!
KEY_OUT:
0754 C204 CLR F_KEY_FOUND
0756 753600 MOV KEY_LAST_TIME,#00H
0759 753900 MOV OLD_KEY_NO,#00H
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 29
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
075C 00 NOP
075D 00 NOP
075E 02078B LJMP KEY_TEST_RETI
KEY_IN:
0761 7B00 MOV R3,#00H
0763 C4 SWAP A ;REM ON 02.7.20
KEY_IN_0:
0764 33 RLC A ;REM ON 02.7.20
; RRC A ;ADDED ON 02.7.20
0765 500B JNC KEY_FOUND ;找到按键
0767 0B INC R3
0768 0537 INC KEY_NO
076A BB04F7 CJNE R3,#04H,KEY_IN_0
076D 00 NOP
076E 00 NOP
076F 02078B LJMP KEY_TEST_RETI
KEY_FOUND:
0772 E539 MOV A,OLD_KEY_NO
0774 B53709 CJNE A,KEY_NO,NEW_KEY_IN
0777 0536 INC KEY_LAST_TIME
0779 753700 MOV KEY_NO,#00H
077C 00 NOP
077D 00 NOP
077E E189 AJMP KEY_IN_1
NEW_KEY_IN:
07
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -