📄 lcd89527.lst
字号:
00CD E535 MOV A,PAIDUI ;如果短时间内有很多的进来,最多放8个,多于8个就R_MOV
00CF B40600 CJNE A,#06H,MAIN3_0 ;最后一个留下来做暂存.在R_MOV中,把其中的数据移到GET_BUFF中
MAIN3_0:
00D2 4002 JC MAIN3_1
00D4 D208 SETB F_MOV ;如果大于6,就启动R_MOV
MAIN3_1: ;如果小于6
00D6 0535 INC PAIDUI ;PAIDUI中的数字表示个数,GET_BUFF+PAIDUI表示下一个的存放点
00D8 7449 MOV A,#TIMER_BUFF
00DA 2535 ADD A,PAIDUI
00DC F8 MOV R0,A
00DD 76FA MOV @R0,#TEN_SEC ;把计时10秒的数据放在
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 7
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
; MOV A,PAIDUI
; CJNE A,#08H,MAIN3_2
;MAIN3_2:
00DF D202 SETB F_MOVED ;如果是在6个数以内,每一个进来的数,立即启动刷新
00E1 D203 SETB F_REFRESH
MAIN3_3:
;根据接收的地址,查表得到要CALL的号码,并且把接收的地址发送出去
00E3 7860 MOV R0,#OUT_BUFF
00E5 7600 MOV @R0,#0 ;暂时的地址时0000,正式的应该是查表之后得到的4位地址
00E7 08 INC R0
00E8 7600 MOV @R0,#0
00EA 08 INC R0
00EB 7600 MOV @R0,#0
00ED 08 INC R0
00EE 7600 MOV @R0,#0
00F0 020320 LJMP DATA_OUT
;********主机call的画面处理*************************************
MAIN4:
00F3 200D1E JB F_DIS_CALL,MAIN4_LOOP ;如果已经显示了CALL机画面,就直接去下一步
00F6 200505 JB F_KEY_VALUE,MAIN4_0
00F9 00 NOP
00FA 00 NOP
00FB 020342 LJMP MAIN5
MAIN4_0:
00FE C205 CLR F_KEY_VALUE
0100 E537 MOV A,KEY_NO
0102 B40A02 CJNE A,#0AH,MAIN4_1
0105 210C AJMP MAIN4_2
MAIN4_1:
0107 00 NOP
0108 00 NOP
0109 020342 LJMP MAIN5
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 8
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
MAIN4_2:
010C 120896 LCALL CLRLCD
010F 120347 LCALL DIS_CALL
0112 D20D SETB F_DIS_CALL
;********************************************************
MAIN4_LOOP:
0114 300E05 JNB F_DIS_CALL_2,MAIN4_LOOP3 ;此标志是判断是否输入完成第一行的标志
0117 00 NOP
0118 00 NOP
0119 020213 LJMP MAIN4_LOOP4
MAIN4_LOOP3:
011C 200505 JB F_KEY_VALUE,MAIN4_3
011F 00 NOP
0120 00 NOP
MAIN4_OUT:
0121 020342 LJMP MAIN5
MAIN4_3:
0124 C205 CLR F_KEY_VALUE ;等待输入数据
0126 E538 MOV A,KEY_GESHU ;根据按键的个数来判断程序的流向
0128 B4003D CJNE A,#0,MAIN4_8
012B E537 MOV A,KEY_NO
012D B40F05 CJNE A,#0FH,MAIN4_4
0130 00 NOP
0131 00 NOP
0132 020332 LJMP CALL_OUT ;如果第一个输入的数据就是F,就退出
MAIN4_4:
0135 B40C05 CJNE A,#0CH,MAIN4_5
0138 00 NOP
0139 00 NOP
013A 020332 LJMP CALL_OUT ;如果第一个输入的数据就是C,就退出
MAIN4_5:
013D B40A00 CJNE A,#10,MAIN4_6
MAIN4_6:
0140 4005 JC MAIN4_7
0142 00 NOP
0143 00 NOP
0144 020342 LJMP MAIN5 ;如果是不为C、F、0--9的其他数,不于处理
MAIN4_7:
0147 78A0 MOV R0,#KEY_AERA ;第一个数字的存储
0149 A637 MOV @R0,KEY_NO
014B 753103 MOV X_ADD,#3 ;显示第一个数据
014E 753258 MOV Y_ADD,#88
0151 120EF6 LCALL KEY_COMPARE
0154 120976 LCALL OUTSHUZI
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 9
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0157 0538 INC KEY_GESHU
0159 753103 MOV X_ADD,#3 ;显示第一个光标
015C 753260 MOV Y_ADD,#96
015F 901D71 MOV DPTR,#ZIMU_GUANGBIAO
0162 120976 LCALL OUTSHUZI
0165 020114 LJMP MAIN4_LOOP
;*******输入的第二个数据的处理*************
MAIN4_8:
0168 B40175 CJNE A,#01,MAIN4_10 ;
016B E537 MOV A,KEY_NO
016D B40C29 CJNE A,#0CH,MAIN4_9
0170 753103 MOV X_ADD,#3 ;清除第1个数据
0173 753258 MOV Y_ADD,#88
0176 901C6F MOV DPTR,#BLANK8
0179 120976 LCALL OUTSHUZI
017C 1538 DEC KEY_GESHU
017E 753103 MOV X_ADD,#3 ;显示第0个光标
0181 753258 MOV Y_ADD,#88
0184 901D71 MOV DPTR,#ZIMU_GUANGBIAO
0187 120976 LCALL OUTSHUZI
018A 753103 MOV X_ADD,#3 ;CLEAR第一个光标
018D 753260 MOV Y_ADD,#96
0190 901C6F MOV DPTR,#BLANK8
0193 120976 LCALL OUTSHUZI
0196 020342 LJMP MAIN5
MAIN4_9:
0199 B40F26 CJNE A,#0FH,MAIN4_91
019C 753103 MOV X_ADD,#3 ;清除第一行第2个光标
019F 753260 MOV Y_ADD,#96
01A2 901C6F MOV DPTR,#BLANK8
01A5 120976 LCALL OUTSHUZI
01A8 78A0 MOV R0,#KEY_AERA ;只有一个数据的,然后是一个F的处理
01AA E6 MOV A,@R0
01AB 7600 MOV @R0,#0
01AD 08 INC R0
01AE F6 MOV @R0,A
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 10
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
01AF 0538 INC KEY_GESHU
01B1 D20E SETB F_DIS_CALL_2
01B3 753106 MOV X_ADD,#6 ;显示第2行,第1个光标
01B6 753258 MOV Y_ADD,#88
01B9 901D71 MOV DPTR,#ZIMU_GUANGBIAO
01BC 120976 LCALL OUTSHUZI
01BF 020342 LJMP MAIN5
MAIN4_91:
01C2 B40A00 CJNE A,#010,MAIN4_A
MAIN4_A:
01C5 5015 JNC MAIN4_B ;0--9
01C7 78A1 MOV R0,#KEY_AERA+1 ;第一个数字的存储
01C9 A637 MOV @R0,KEY_NO
01CB 753103 MOV X_ADD,#3 ;显示第2个数据
01CE 753260 MOV Y_ADD,#96
01D1 120EF6 LCALL KEY_COMPARE
01D4 120976 LCALL OUTSHUZI
01D7 0538 INC KEY_GESHU
01D9 020342 LJMP MAIN5
MAIN4_B:
01DC 00 NOP ;其他的按键不处理
01DD 020342 LJMP MAIN5
;*****************************************************
MAIN4_10: ;等待的是第3个数据是F或C,第2行
01E0 E537 MOV A,KEY_NO
01E2 B40C1D CJNE A,#0CH,MAIN4_11
01E5 753103 MOV X_ADD,#3 ;清除第2个数据
01E8 753260 MOV Y_ADD,#96
01EB 901D71 MOV DPTR,#ZIMU_GUANGBIAO
01EE 120976 LCALL OUTSHUZI
01F1 753103 MOV X_ADD,#3 ;清除第2个光标
01F4 753260 MOV Y_ADD,#96
01F7 901C6F MOV DPTR,#BLANK8
01FA 120976 LCALL OUTSHUZI
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 11
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
01FD 1538 DEC KEY_GESHU
01FF 020342 LJMP MAIN5
MAIN4_11:
0202 B40FD7 CJNE A,#0FH,MAIN4_B
MAIN4_OK: ;收到F按键的处理
0205 753106 MOV X_ADD,#6 ;第2行的第1个光标
0208 753258 MOV Y_ADD,#88
020B 901D71 MOV DPTR,#ZIMU_GUANGBIAO
020E 120976 LCALL OUTSHUZI
0211 D20E SETB F_DIS_CALL_2
;**************等待输入第2行的数据****************
MAIN4_LOOP4:
0213 200E05 JB F_DIS_CALL_2,MAIN4_20
0216 00 NOP
0217 00 NOP
0218 020342 LJMP MAIN5
MAIN4_20:
021B 200505 JB F_KEY_VALUE,MAIN4_21
021E 00 NOP
021F 00 NOP
0220 020342 LJMP MAIN5
MAIN4_21:
;****************
0223 C205 CLR F_KEY_VALUE
0225 E538 MOV A,KEY_GESHU
0227 B4024F CJNE A,#2,THREE_KEYS
022A E537 MOV A,KEY_NO
022C B40C1F CJNE A,#0CH,MAIN4_25
022F 753103 MOV X_ADD,#3 ;如果第3个数据为C,清除第2个数据
0232 753260 MOV Y_ADD,#96
0235 901C6F MOV DPTR,#BLANK8
0238 120976 LCALL OUTSHUZI
023B 753106 MOV X_ADD,#6 ;清除第2行的光标
023E 753258 MOV Y_ADD,#88
0241 901C6F MOV DPTR,#BLANK8
0244 120976 LCALL OUTSHUZI
G:\备份\LDTP\旧的备份\LCD89527.ASM
页 12
07-20-02
19:29:54
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0247 1538 DEC KEY_GESHU
0249 C20E CLR F_DIS_CALL_2 ;回到上一行的标志
024B 020342 LJMP MAIN5
MAIN4_25:
;CJNE A,#0FH,MAIN4_251
;MOV R0,#KEY_AERA+2
;MOV A,@R0
;MOV @R0,#0
;INC R0
;MOV @R0,A
;LJMP MAIN4_4OK
MAIN4_251:
024E B40A00 CJNE A,#10,MAIN4_26
MAIN4_26:
0251 4005 JC MAIN4_27
0253 00 NOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -