网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 优创科技 >> 文章中心 >> 工控天地 >> 文章正文
  一款以MCS-51单片机为CPU的配料机控制器源程序           ★★★ 【字体:
一款以MCS-51单片机为CPU的配料机控制器源程序
作者:田伟    文章来源:本站原创    点击数:    更新时间:2006-10-29    

       我先把这个完整的源程序发表出来,还没有中文注释,由于在编写这个程序时是在DOS下完成的,不方便中文注。以后我会开设一个学习天地的栏目,我将在里面分段讲解它,于这个软件配套的硬件电路板采用的是8031单片机,扩充了2764(8K)的EPROM存储程序,以X25043P 这个芯片做为保存配方的EEPROM 可以掉电保存,同时这个芯片还具有看门狗电路,在程序中也利用了这一功能,的可以保存20个配方,具有14路按钮输入,7路按键输入,6路控制输出,具有手动和自动配料功能,具有微打输出,可以直接联接一款RP-40的微打,可能其它微打稍加改进程序就能用。硬件上还采用了8155和8255两个输入输出接口芯片,采用了8259芯片做为LED显示和键盘输入的控制芯片,输入输出有光电隔离,有电路板用的机械触点的OMRON公司的继电器,可以直接外部驱动中间继电器工作。有兴趣的网友可以先下载这个程序。在相关的仿真器上试试,我会在以后陆续对其中的重点程序加以说明。

 

 


      ;33H,34H IS LC
      ;4H DEC SYMBLE
      ORG 0000H
      LJMP MAIN
      ORG 000BH
      LJMP T0INT
      ORG  002AH
MAIN: MOV DPTR,#0DFFFH
      MOV A,#99H
      MOVX @DPTR,A
      MOV DPTR,#0BFF0H
      MOV A,#0EH
      MOVX @DPTR,A
      MOV DPTR,#0BFF0H
      MOV A,#0EH
      MOVX @DPTR,A
      INC DPTR
      INC DPTR
      MOV A,#0BFH
      MOVX @DPTR,A
      INC DPTR
      MOV A,#0FFH
      MOVX @DPTR,A
      MOV R0,#60H
      MOV R7,#25
      MOV A,#00H
      MOV DPTR,#0BE20H
ZERO00:MOV @R0,A
      MOVX @DPTR,A
      INC DPTR
      INC R0
      CLR P1.0
      SETB P1.0
      DJNZ R7,ZERO00
      MOV A,#0FFH
      MOV DPTR,#0BFF3H
      MOVX @DPTR,A
      MOV TMOD,#11H
      MOV DPTR,#1FFFH
      MOV A,#11H
      MOVX @DPTR,A
      MOV A,#26H
      MOVX @DPTR,A
      MOV A,#0D1H
      MOVX @DPTR,A
      MOV A,#90H
      MOVX @DPTR,A
      MOV A,#08H
      MOVX @DPTR,A
      MOV R0,#08H
      MOV R7,#05H
      MOV R1,#80H
      MOV 33H,#00H
      MOV 34H,#00H
      MOV 45H,#01H
      MOV 46H,#01H
      MOV 47H,#01H
      MOV 48H,#01H
      ;MOV IE,#82H
      MOV TCON,#02H
      MOV TL0,#00H
      MOV TH0,#00H
      SETB TR0
      CLR 11H
      MOV 2AH,#0FFH
      MOV 4CH,#00H
      MOV 40H,#00H
      MOV 41H,#00H
      MOV 3CH,#01H
      CLR 05H
      CLR 08H
      CLR 09H
      MOV 3AH,#01H
LOOP1:ACALL DIS
      CLR P1.0
      SETB P1.0
      INC R1
      DJNZ R7,LOOP1
      MOV R6,#03H
      MOV R7,#0FFH
      ACALL BCDT
      ACALL DISBCD
      MOV R1,#253
      LCALL READ
      MOV 3EH,A
      MOV R1,#254
      LCALL READ
      MOV 3FH,A
      MOV R1,#00H
      LCALL READ
      MOV 4CH,A
      MOV R1,#250
      LCALL READ
      MOV 3AH,A
      MOV R1,#251
      LCALL READ
      MOV 3BH,A
      CLR C
  MOV A,#0AH
  SUBB A,4CH
  JNC NEPF
  MOV 4CH,#00H
NEPF:    MOV A,4CH
  INC A
  MOV R1,A
  LCALL READ
  MOV 75H,A
  MOV A,#64H
  CLR C
  SUBB A,75H
  JNC NEXH
  MOV 75H,#00H
NEXH:    LCALL READGL
  MOV R1,#0BH
  MOV R0,#45H
  MOV R2,#04H
LOOPRK5: LCALL READ
  MOV @R0,A
  INC R0
  INC R1
  DJNZ R2,LOOPRK5
  MOV R1,#235
  MOV DPTR,#0BE20H
  MOV R2,#0AH
LOOPRK55:LCALL READ
  MOVX @DPTR,A
  INC DPTR
  INC R1
  DJNZ R2,LOOPRK55
  MOV R1,#84H
  MOV R0,4CH
  LCALL  DIS
  LCALL WEN
  LCALL NWRITE
  CLR C
  LCALL LOOPAD
  LCALL KEY4
         MOV A,#0FFH
  MOV DPTR,#0BFF3H
  MOVX @DPTR,A
         MOV A,#0FFH
  MOV DPTR,#0BFF3H
  MOVX @DPTR,A
         MOV A,#0FFH
  MOV DPTR,#0BFF3H
  MOVX @DPTR,A
REKEY:   MOV DPTR,#0BFF0H
  MOV A,#0EH
  MOVX @DPTR,A
         MOV DPTR,#0DFFFH
  MOV A,#99H
         MOVX @DPTR,A
  CLR CY
  LCALL LOOPAD
  CLR C
  LCALL HEADER
  CLR C
  SUBB A,2AH
  JNC CAK
  CPL A
  INC A
CAK:     JZ CALLKEY
  LCALL CALLHEAD
CALLKEY: MOV A,2AH
  CPL A
  JZ CALLK
  LCALL JLING
CALLK:   ACALL KEY
  JZ REKEY
  DEC A
  MOV 7AH,A
  CJNE A,#06H,NEK00
  ;CPL 11H
  ;MOV R0,4CH
  ;MOV R1,#84H
  ;LCALL DIS
 ;LCALL AUTOZY
      LJMP REKEY
NEK00:CJNE A,#00H,NEK03
       CPL 08H
       LJMP REKEY
NEK03: CJNE A,#03H,NEK02
      ACALL KEY3
      LJMP REKEY
NEK02:CJNE A,#02,NEK05
      ACALL KEY2
      LJMP REKEY
NEK05:CJNE A,#05,NEK04
      PUSH 33H
      PUSH 34H
      MOV 46H,44H
      MOV 45H,43H
      MOV 33H,#00H
      MOV 34H,#00H
      ACALL KEY5
      POP 34H
      POP 33H
      LJMP REKEY
NEK04:CJNE A,#04H,NEK01
      LCALL KEY4
      LJMP REKEY
NEK01:CJNE A,#01H,R
      LCALL TEPRI
      JNZ R
      LCALL TOTAL
R:    LJMP REKEY
      RET
DIS:  MOV A,R1
      MOV DPTR,#1FFFH
      MOVX @DPTR,A
      MOV A,R0
      MOV DPTR,#TAB
      MOVC A,@A+DPTR
      PUSH ACC
      MOV A,R1
      CJNE A,#80H,DD1
      JNB 08H,GS
      POP ACC
      SETB ACC.7
      LJMP GS1
DD1:  CJNE A,#84H,GS
      JNB 11H,GS
      POP ACC
      SETB ACC.7
      LJMP GS1
GS:   POP ACC
GS1:  MOV DPTR,#1F7FH
      MOVX @DPTR,A
      NOP
      NOP
      NOP
      NOP
      RET
READGL: MOV A,#14H
      MOV B,4CH
      CLR C
      MUL AB
      CLR C
      ADD A,#10H
      MOV R1,A
      MOV R0,#60H
      MOV R2,#14H
LPREAD:LCALL READ
      MOV @R0,A
      INC R0
      INC R1
      DJNZ R2,LPREAD
      NOP
      NOP
      NOP
      NOP
      RET
KEY:  ACALL KEY1
      JZ RRRK
      MOV DPTR,#1F7FH
      MOVX A,@DPTR
      ANL A,#3FH
      INC A
      PUSH ACC
AKEY: MOV DPTR,#1F7FH
      MOVX A,@DPTR
      ACALL KEY1
      JNZ AKEY
      POP ACC
RRRK: NOP
      NOP
      NOP
      NOP
      RET
KEY1: MOV DPTR,#1FFFH
      MOVX A,@DPTR
      ANL A,#07H
      CLR P1.0
      SETB P1.0
      NOP
      NOP
      NOP
      NOP
      RET
KEY3: ;MOV 4CH,#00H
LPKEY3:MOV R0,4CH
      MOV R1,#84H
      LCALL DIS
      LCALL DELAYK
      MOV R0,#0AH
      LCALL DIS
      LCALL DELAYK
      MOV R0,4CH
      MOV R1,#84H
      LCALL DIS
      ACALL KEY
      JZ LPKEY3
      DEC A
      CJNE A,#03H,LPKEY33
      LCALL WEN
      LCALL NORET
      LCALL WEN
      MOV R1,#00H
      MOV R0,#4CH
      LCALL WRITE
      MOV A,4CH
      INC A
      MOV R1,A
      LCALL READ
      MOV 75H,A
      LCALL READGL
      LCALL WEN
      LCALL NWRITE
      NOP
      NOP
      NOP
      NOP
      RET
LPKEY33:CJNE A,#00H,LPKEY3
      INC 4CH
      MOV A,4CH
      CLR C
      SUBB A,#0AH
      JNZ LPKEY3
      MOV 4CH,#00H
      LJMP LPKEY3
      NOP
      NOP
      NOP
      NOP
      RET
      MOV R0,#0AH
      MOV R1,#84H
      LCALL DIS
       NOP
 NOP
 NOP
 NOP
 RET
KEY5:   MOV A,#0F8H
 MOV DPTR,#0BFF3H
 MOVX @DPTR,A
 PUSH 45H
 PUSH 46H
 PUSH 47H
 PUSH 48H
 MOV 45H,#01H
 MOV 46H,#01H
 MOV 47H,#01H
 MOV 48H,#01H
REK05: LCALL LOOPAD
 ACALL KEY
 JZ REK05
 DEC A
  CJNE A,#05H,RET005
  CLR 07H
  MOV A,#0C0H
  MOV DPTR,#0BFF3H
  MOVX @DPTR,A
  MOV 57H,#04H
  POP 48H
  POP 47H
  POP 46H
  POP 45H
  MOV 54H,47H
  MOV 55H,48H
  LCALL INKEY
  MOV 47H,58H
  MOV 48H,59H
  LJMP RET05
RET005:  POP 48H
  POP 47H
  POP 46H
  POP 45H
RET05:  MOV A,#0FFH
  MOV DPTR,#0BFF3H
  MOVX @DPTR,A
  MOV R1,#0BH
  MOV R0,#45H
  MOV R2,#04H
  JB 07H,LOOPK5
  MOV R1,#0BH
  MOV R0,#45H
  MOV R2,#04H
LOOPRK50:LCALL READ
  MOV @R0,A
  INC R0
  INC R1
  DJNZ R2,LOOPRK50
      NOP
      NOP
      NOP
      NOP
  RET
LOOPK5:  LCALL WEN
  LCALL NORET
  LCALL WRITE
LOOPK500:LCALL WEN
  LCALL WRITE
  INC R0
  INC R1
  DJNZ R2,LOOPK500
         LCALL WEN
         LCALL NWRITE
      NOP
      NOP
      NOP
      NOP
  RET
KEY4:    MOV 33H,35H
  MOV 34H,36H
  RET
KEY2:    CLR 01H
  MOV 30H,#0CH
  MOV 31H,#60H
  MOV 32H,#0FEH

  MOV DPTR,#0BFF3H
  MOV A,32H
  MOVX @DPTR,A
         LJMP MAINKE2
REKEY2:
MAINKE2: MOV A,30H
  DEC A
  MOV 30H,A
  CPL 01H
  CJNE A,#00H,REKEY22
         LJMP RETU2
REKEY22: MOV R0,31H
  MOV A,@R0
  MOV R6,A
  INC R0
  MOV A,@R0
  MOV R7,A
  INC R0
  MOV 31H,R0
         ACALL BCDT
  ACALL DISBCD
  JNB 01H,RKLC
  MOV A,32H
  RL A
  MOV DPTR,#0BFF3H
  MOVX  @DPTR,A
  MOV 32H,A
  MOV A,30H
  CJNE A,#01H,RKLC
  MOV R0,#0CH
  MOV R1,#83H
  ACALL DIS
  MOV R1,#82H
  MOV R0,#0AH
  ACALL DIS
         MOV R0,31H
  DEC R0
  MOV A,@R0
  MOV 55H,A
  DEC R0
  MOV A,@R0
  MOV 54H,A
  MOV 57H,#02H
  LCALL INKEY
  MOV R0,31H
  DEC R0
  MOV A,59H
  MOV @R0,A
  DEC R0
  MOV A,58H
  MOV @R0,A
         LJMP REKEY2
RKLC:    JB 01H,REKEY200
  MOV R0,#0BH
  MOV R1,#83H
  ACALL DIS
         MOV R0,31H
  DEC R0
  MOV A,@R0
  MOV 55H,A
  DEC R0
  MOV A,@R0
  MOV 54H,A
  MOV 57H,#03H
  LCALL INKEY
         MOV R0,31H
  DEC R0
  MOV A,59H
  MOV @R0,A
  DEC R0
  MOV A,58H
  ANL A,#01H
  MOV @R0,A
         LJMP REKEY2
REKEY200:MOV R0,31H
  DEC R0
  MOV A,@R0
  MOV 55H,A
  DEC R0
  MOV A,@R0
  MOV 54H,A
  MOV 57H,#04H
  LCALL INKEY
         MOV R0,31H
  DEC R0
  MOV A,59H
  MOV @R0,A
  DEC R0
  MOV A,58H
  MOV @R0,A
         LJMP REKEY2
RETU2:   MOV A,#14H
  MOV B,4CH
  CLR C
  MUL AB
  CLR C
  ADD A,#10H
  MOV R1,A
  MOV R0,#60H
  MOV R2,#14H
         LCALL WEN
  LCALL NORET
LPWRITE: LCALL WEN
  LCALL WRITE
  INC R0
  INC R1
  DJNZ R2,LPWRITE
  LCALL WEN
  MOV R1,4CH
  INC R1
  MOV R0,#75H
  LCALL WRITE
         LCALL WEN
  LCALL NWRITE
  LCALL TEPRI
  JNZ RETKEY
         LCALL INIPRI
  LCALL PRIPB
RETKEY:  NOP
      NOP
      NOP
      NOP
  RET
DISBCD:  MOV A,R4
  ANL A,#0FH
  MOV R0,A
  MOV 50H,A
  MOV R1,#80H
  ACALL DIS
  MOV A,R4
  ANL A,#0F0H
  SWAP A
  MOV R0,A
  MOV 51H,A
  MOV R1,#81H
  ACALL DIS
  MOV A,R3
  ANL A,#0FH
  MOV R0,A
  MOV 52H,A
  MOV R1,#82H
  ACALL DIS
  MOV A,R3
  ANL A,#0F0H
  SWAP A
  MOV R0,A
  MOV 53H,A
  MOV R1,#83H
  ACALL DIS
         NOP
      NOP
      NOP
      NOP
  RET
BCDT:
  MOV R5,#16
  CLR A
  MOV R2,A
  MOV R3,A
  MOV R4,A
LP:      CLR P1.0
         SETB P1.0
  CLR C
  MOV A,R7
  RLC A
  MOV R7,A
  MOV A,R6
  RLC A
  MOV R6,A
  MOV A,R4
  ADDC A,R4
  DA A
  MOV R4,A
  MOV A,R3
  ADDC A,R3
  DA A
  MOV R3,A
  MOV A,R2
  ADDC A,R2
  DA A
  MOV R2,A
  DJNZ R5,LP
         NOP
  NOP
  NOP
  NOP
  RET
LOOPAD:  CLR P1.0
  SETB P1.0
  CLR P1.7
  CLR P1.6
LPAD:    MOV DPTR,#3FFFH
  MOVX @DPTR,A
  LCALL DELAYAD
  MOV DPTR,#0DFFEH
  MOVX A,@DPTR
  JB ACC.6,LPAD
  SETB P1.6
  MOV DPTR,#3FFFH
  MOVX A,@DPTR
  MOV DPTR,#0DFFCH
  MOVX A,@DPTR
  MOV R6,A
  SETB P1.7
  MOV DPTR,#3FFFH
  MOVX A,@DPTR
  MOV DPTR,#0DFFCH
  MOVX A,@DPTR
  MOV R7,A
  MOV A,R7
  SWAP A
  MOV R7,A
  MOV A,R6
  SWAP A
  ANL A,#0F0H
  MOV B,R7
  ADD A,B
  MOV R7,A
  MOV A,R6
  SWAP A
  ANL A,#0FH
  MOV R6,A
  MOV 35H,R6
  MOV 36H,R7
  MOV A,36H
  CJNE A,#00H,TE01LP
  MOV A,35H
  CJNE A,#00H,TE01LP
  MOV R0,#00H
  LCALL ERLP00
TE01LP:
  MOV A,36H
  CJNE A,#0FFH,TE02LP
  MOV A,35H
  CJNE A,#0FH,TE02LP
  MOV R0,#01H
  LCALL ERLP00
TE02LP:  MOV R3,33H
  MOV R4,34H
  MOV R6,35H
  MOV R7,36H
  LCALL BSUB
  MOV 43H,R6
  MOV 44H,R7
      LCALL DBMUI
      MOV 4AH,R6
      MOV 4BH,R7
      ACALL BCDT
      MOV A,R3
      ANL A,#0F0H
      JNZ DISAD
      MOV A,R3
      ORL A,#0A0H
      MOV R3,A
      ANL A,#0FH
      JNZ DISAD
      MOV R3,#0AAH
      MOV A,R4
      ANL A,#0F0H
      JNZ DISAD
      MOV A,R4
      ORL A,#0A0H
      MOV R4,A
DISAD:JB 05H,RET00
      ACALL DISBCD
      JNB 04H,RET00
      MOV R0,#0DH
      MOV R1,#83H
      LCALL DIS
      CLR 04H
RET00:NOP
      NOP
      NOP
      NOP
      RET
ERLP00:MOV R1,#83H
       LCALL DIS
       MOV R0,#12H
       MOV R1,#84H
       LCALL DIS
       MOV R0,#0AH
       MOV R1,#82H
       LCALL DIS
       MOV R0,#0AH
       MOV R1,#81H
       LCALL DIS
       LCALL NOTDO
       MOV R1,#0FFH
GSLP:  MOV R0,#0FFH
       CLR P1.0
       SETB P1.0
       DJNZ R0,$
       DJNZ R1,GSLP
       MOV R0,4CH
       MOV R1,#84H
       LCALL DIS
       NOP
      NOP
      NOP
      NOP
       RET

BSUB:        CLR CY
      MOV A,R7
      SUBB A,R4
      MOV R7,A
      MOV A,R6
      SUBB A,R3
      JNC  NH
      CPL A
      MOV R6,A
      MOV A,R7
      CPL A
      INC A
      MOV R7,A
      SETB 04H
             LJMP BSUBNH1
      MOV R7,A
NH:          MOV R6,A
BSUBNH1:     NOP
      NOP
      NOP
      NOP
      RET
DELAYAD: NOP
  NOP
  RET

INKEY:   MOV 56H,#00H
  MOV R6,54H
  MOV R7,55H
  ACALL BCDT
  ACALL DISBCD
  MOV A,57H
  CJNE A,#03H,LCZ
  MOV R0,#0BH
  MOV R1,#83H
  ACALL DIS
         LJMP INREKEY
LCZ:     CJNE A,#02H,INREKEY
         MOV R0,#0CH
  MOV R1,#83H
  ACALL DIS
  MOV R0,#0AH
  MOV R1,#82H
  ACALL DIS
INREKEY: ACALL DELAYKEY0
  ACALL DCBT
  MOV 54H,R6
  MOV 55H,R7
  LCALL KEY
  JZ INREKEY
  DEC A
  CJNE A,#00H,INK1
  SETB 07H
  LCALL ADDKEY
         LJMP INREKEY
INK1:  CJNE A,#01H,INK2
  SETB 07H
  INC 56H
  MOV A,56H
  CJNE A,57H,INREKEY
  MOV 56H,#00H
         LJMP INREKEY
INK2:    CJNE A,7AH,INREKEY
  MOV 58H,54H
  MOV 59H,55H
INKRET:  NOP
      NOP
      NOP
      NOP
  RET

ADDKEY:  MOV A,#50H
  ADD A,56H
  MOV R0,A
  MOV A,@R0
  INC A
  CJNE A,#0AH,ADD1
  MOV A,#00H
ADD1:  MOV @R0,A
         NOP
      NOP
      NOP
      NOP
  RET
DELAYKEY0:
  CLR P1.0
         SETB P1.0
  MOV A,56H
  ADD A,#80H
  MOV R1,A
  MOV A,#50H
  ADD A,56H
  MOV R0,A
  MOV A,@R0
  MOV R0,A
  PUSH ACC
  LCALL DIS
  LCALL DELAYK
  MOV R0,#0AH
  LCALL DIS
  LCALL DELAYK
  POP ACC
  MOV R0,A
  LCALL DIS
         NOP
      NOP
      NOP
      NOP
  RET
DELAYK:  MOV R7,#02H
DE1:     CLR TR1
  CLR TF1
  MOV TL1,#0FFH
  MOV TH1,#50H
  SETB TR1
DE:
  CLR P1.0
  SETB P1.0
         LCALL KEY1
  JZ DE00
         NOP
      NOP
      NOP
      NOP
  RET
DE00:  JNB TF1,DE
  DJNZ R7,DE1
         NOP
      NOP
      NOP
      NOP
  RET
DELAYK1: MOV R7,#04H
DE11:    CLR TR1
  CLR TF1
  MOV TL1,#0F0H
  MOV TH1,#3FH
  SETB TR1
DE10:    CLR P1.0
  SETB P1.0
  JNB TF1,DE10
  DJNZ R7,DE11
         NOP
      NOP
      NOP
      NOP
  RET
DCBT:

  MOV R0,#53H
  MOV R1,#03H
  MOV R6,#00
  MOV A,@R0
  MOV R7, A
LOP1:    CLR P1.0
         SETB P1.0
  MOV A, R7
  MOV B, #10
  MUL AB
  MOV R7, A
  MOV A,B
  XCH A, R6
  MOV B, #10
  MUL AB
  ADD A, R6
  MOV R6, A
  DEC R0
  MOV A, R7
  ADD A, @R0
  MOV R7, A
  MOV A, R6
  ADDC A, #0
  MOV R6, A
  DJNZ R1, LOP1
         NOP
      NOP
      NOP
      NOP
  RET
DBMUI:     CLR P1.0
           SETB P1.0
    MOV R2,47H
    MOV R3,48H
    MOV A,R3
    MOV B,R7
    MUL AB
    XCH A,R7
    MOV R5,B
    MOV B,R2
    MUL AB
    ADD A,R5
    MOV R4,A
    CLR A
    ADDC A,B
    MOV R5,A
    MOV A,R6
    MOV B,R3
    MUL AB
    ADD A,R4
    XCH A,R6
    XCH A,B
    ADDC A,R5
    MOV R5,A
    MOV F0,C
    MOV A,R2
    MUL AB
    ADD A,R5
    MOV R5,A
    CLR A
    MOV ACC.0,C
    ADDC A,B
    MOV R4,A
    ACALL BDIV
           NOP
      NOP
      NOP
      NOP
    RET
BDIV:    MOV R2,45H
    MOV R3,46H
    MOV A,R5
    CLR C
    SUBB A,R3
    MOV A,R4
    SUBB A,R2
    JNC DIV1
    MOV B,#16
DIV2:    CLR C
    MOV A,R7
    RLC A
    MOV R7,A
    MOV A,R6
    RLC A
    MOV R6,A
    MOV A,R5
    RLC A
    MOV R5,A
    XCH A,R4
    RLC A
    XCH A,R4
    MOV F0,C
    CLR C
    SUBB A,R3
    MOV R1,A
    MOV A,R4
    SUBB A,R2
    JB F0,DV2
    JC DV3
DV2:       CLR P1.0
           SETB P1.0
    MOV R4,A
    MOV A,R1
    MOV R5,A
    INC R7
DV3:    DJNZ B,DIV2
    CLR F0
           NOP
      NOP
      NOP
      NOP
    RET
DIV1:    SETB F0
           NOP
      NOP
      NOP
      NOP
    RET


HEADER:    MOV DPTR,#0BFF1H
    MOVX A,@DPTR
           NOP
      NOP
      NOP
      NOP
    RET
CALLHEAD:  MOV DPTR,#0BFF2H
    MOV A,#0BFH
    PUSH PSW
    MOV C,09H
    MOV ACC.5,C
    MOVX @DPTR,A
    POP PSW
    LCALL DELAYKNO
    LCALL HEADER
    MOV 2AH,A
    MOV DPTR,#0BFF3H
    MOVX @DPTR,A
    PUSH PSW
    MOV C,09H
    MOV ACC.5,C
    MOV DPTR,#0BFF2H
    MOVX @DPTR,A
    POP PSW
    MOV 2BH,35H
    MOV 2CH,36H
           NOP
      NOP
      NOP
      NOP
    RET
JLING:     MOV A,2AH
    CPL A
    CJNE A,#01H,CA00
    LCALL CLIAO
           LJMP JLANGRET
CA00:    CJNE A,#02H,CA01
    LCALL JL1
           LJMP JLANGRET
CA01:    CJNE A,#04H,CA02
    LCALL JL2
           LJMP JLANGRET
CA02:    CJNE A,#08H,CA03
    LCALL JL3
           LJMP JLANGRET
CA03:    CJNE A,#10H,CA04
    LCALL JL4
           LJMP JLANGRET
CA04:    CJNE A,#20H,CA05
    LCALL JL5
           LJMP JLANGRET
CA05:    CJNE A,#40H,CA06
    LCALL AUTOJL
           LJMP JLANGRET
CA06:    CJNE A,#80H,JLANGRET
    LCALL STOP
JLANGRET:  NOP
      NOP
      NOP
      NOP
    RET
STOP:     LCALL NOTDO
   MOV DPTR,#0BFF3H
   MOV A,#0FFH
   MOVX @DPTR,A
   MOV R0,#11H
   MOV R1,#80H
   LCALL DIS
   MOV R0,#10H
   MOV R1,#81H
   LCALL DIS
   MOV R0,#0FH
   MOV R1,#82H
   LCALL DIS
   MOV R0,#0EH
   MOV R1,#83H
   LCALL DIS
   LCALL DELAYK
   LCALL DELAYK
   MOV R0,#0AH
   MOV R1,#80H
   LCALL DIS
          MOV R0,#0AH
   MOV R1,#81H
   LCALL DIS
          MOV R0,#0AH
   MOV R1,#82H
   LCALL DIS
          MOV R0,#0AH
   MOV R1,#83H
   LCALL DIS
   LCALL DELAYK
   LCALL DELAYK
          NOP
   NOP
   NOP
   NOP
   RET
CLIAO:    RET
AUTOJL:   LCALL KEY4
   MOV 26H,75H
   MOV A,26H
   JNZ AUTOJL1
   NOP
   NOP
   NOP
   NOP
   RET
AUTOJL1:  LCALL TEPRI
   JNZ AUTOJLJL
   LCALL INIPRI
   MOV R0,#0DH
   LCALL PRINT
AUTOJLJL: MOV 7DH,#06H
   MOV 7EH,#0FFH
   MOV 7FH,#60H
   MOV 23H,#00H
   MOV 24H,#00H
   MOV 25H,#0FEH
REAUTO1A: MOV A,7EH
   SETB C
   RR A
   CLR C
   MOV 7EH,A
REAUTO:   DEC 7DH
   MOV A,7DH
   JNZ RECL010
   LJMP RECL
RECL010:  MOV A,25H
   RL A
   MOV 25H,A
   CLR 04H
   MOV R0,7FH
   MOV A,@R0
   MOV R6,A
   PUSH ACC
   INC R0
          MOV A,@R0
   MOV R7,A
   PUSH ACC
   INC R0
          MOV A,@R0
   MOV R3,A
   MOV 27H,A
   INC R0
          MOV A,@R0
   MOV R4,A
   MOV 28H,A
   INC R0
   MOV 7FH,R0
   LCALL BADD
   POP ACC
   MOV R7,A
   POP ACC
   MOV R6,ACC
   MOV A,R7
   ADD A,R6
   JZ REAUTO1A
   LCALL BSUB
   JB 04H,REAUTO1A
   MOV A,25H
   MOV DPTR,#0BFF3H
   MOVX @DPTR,A
   LCALL NOTDO1
   PUSH PSW
   MOV A,25H
          MOV C,09H
   MOV ACC.5,C
   MOV DPTR,#0BFF2H
   MOVX @DPTR,A
   POP PSW
LPAUTOJL: LCALL HEADER
   CPL A
   ANL A,#80H
   JZ LLPAU
   LCALL STOP
          NOP
   NOP
   NOP
   NOP
   RET
LLPAU:   LCALL LOOPAD
   MOV R6,23H
   MOV R7,24H
   MOV R3,27H
   MOV R4,28H
   LCALL BSUB
   MOV R3,4AH
   MOV R4,4BH
   LCALL BSUB
   JNC LPAUTOJL
   MOV A,7EH
   CLR ACC.6
   SETB C
   RRC A
   CLR C
   MOV 7EH,A
   LCALL DELAYK1
   LCALL LOOPAD
   LCALL DELAYK1
          LCALL LOOPAD
   LCALL DELAYK1
          MOV R6,23H
   MOV R7,24H
   MOV R3,4AH
   MOV R4,4BH
   LCALL BSUB
   CLR 04H
   CLR C
   MOV 27H,R6
   MOV 28H,R7
   MOV R0,7FH
   DEC R0
   DEC R0
   DEC R0
   MOV A,@R0
   ADD A,28H
   MOV 28H,A
   DEC R0
   MOV A,@R0
   ADDC A,27H
   MOV 27H,A
   CLR C
   PUSH 27H
   PUSH 28H
   MOV A,#05H
   SUBB A,7DH
   MOV B,#02H
   MUL AB
   ADD A,#20H
   MOV DPL,A
   PUSH DPL
   MOV DPH,#0BEH
   MOVX A,@DPTR
   MOV R6,A
   INC DPTR
   MOVX A,@DPTR
   MOV R7,A
   CLR C
   MOV A,R7
   ADD A,28H
   MOV R7,A
   MOV A,R6
   ADDC A,27H
   MOV R6,A
   MOV DPH,#0BEH
   POP DPL
   MOV A,R6
   MOVX @DPTR,A
   MOV A,R7
   INC DPTR
   MOVX @DPTR,A
   MOV R1,#235
   MOV DPTR,#0BE20H
   MOV R2,#10
   LCALL WEN
   LCALL NORET
LPWRITE00:LCALL WEN
   LCALL WRITE1
   INC DPTR
   INC R1
   DJNZ R2,LPWRITE00
   POP 28H
   POP 27H
   LCALL TEPRI
   JNZ JPLCZ
   LCALL INIPRI
          LCALL AUTOPRI
   CLR C
   LCALL LOOPAD
   CLR C
   MOV A,#06H
   SUBB A,7DH
   CLR C
   ADD A,#30H
   MOV R0,A
   LCALL PRINT
   MOV R0,#3DH
   LCALL PRINT
   MOV A,#27H
   LCALL OUTPRN
   MOV R0,#0DH
   LCALL PRINT
JPLCZ:   JNB 08H,REAUTO010
   LCALL AUTOLC
REAUTO010:
   LJMP REAUTO
RECL:     MOV A,7EH
   ORL A,#0C0H
   CPL A
   JZ AA1
   LCALL LOOPAD
   LCALL DISCL
   LCALL HEADER
   CPL A
   JZ RECL
   CJNE A,#80H,RECL00
   LCALL STOP
   NOP
   NOP
   NOP
   RET
RECL00:   CJNE A,#01,RECL0100
   LCALL CL
   DEC 26H
   MOV A,26H
   JZ AA1
   LJMP AUTOJLJL
RECL0100: LCALL NOTDO
   LJMP RECL
AA1:
   LCALL TEPRI
   JNZ AAAA
   LCALL INIPRI
   MOV R0,#0DH
   LCALL PRINT
AAAA:     NOP
   NOP
   NOP
   RET
AUTOLC:   LCALL LOOPAD
   MOV R6,4AH
   MOV R7,4BH
   MOV R3,23H
   MOV R4,24H
   LCALL BSUB
   MOV 4AH,R6
   MOV 4BH,R7
   JNB 04H,LCAUTO
   MOV 4AH,#00H
   MOV 4BH,#00H
LCAUTO:   JNB 08H,RETAUTOLC
   CLR C
   MOV A,4AH
   RRC A
   MOV 4AH,A
   MOV A,4BH
   RRC A
   CLR C
   MOV 4BH,A
   MOV A,28H
   ADD A,4BH
   DEC 7FH
   MOV R0,7FH
   MOV @R0,A
   INC 7FH
RETAUTOLC:NOP
   NOP
   NOP
   RET
DISCL:    MOV DPTR,#0BFF3H
   MOV A,7EH
   MOVX @DPTR,A
   LCALL LOOPAD
   LCALL DELAYK
          LCALL LOOPAD
   MOV DPTR,#0BFF3H
   MOV A,#0FFH
   MOVX @DPTR,A
   LCALL DELAYK
   LCALL LOOPAD
          NOP
   NOP
   NOP
   RET
JL1:      PUSH 33H
   PUSH 34H
   MOV 33H,2BH
   MOV 34H,2CH
   SETB 05H
   LCALL LOOPAD
   CLR 05H
   POP 34H
   POP 33H
   MOV R6,60H
   MOV R7,61H
   MOV R3,62H
   MOV R4,63H
   LCALL BSUB
   CLR 04H
   JNC DOJL1
   LCALL NOTDO
          LJMP JL1RET
DOJL1:   MOV R3,4AH
   MOV R4,4BH
   LCALL BSUB
   CLR 04H
   JNC JL1RET
   LCALL NOTDO
JL1RET:   NOP
   NOP
   NOP
   RET
JL2:      PUSH 33H
   PUSH 34H
   MOV 33H,2BH
   MOV 34H,2CH
   SETB 05H
   LCALL LOOPAD
   CLR 05H
   POP 34H
   POP 33H
   MOV R6,64H
   MOV R7,65H
   MOV R3,66H
   MOV R4,67H
   LCALL BSUB
   CLR 04H
   JNC DOJL2
   LCALL NOTDO
   LJMP JL2RET
DOJL2:   MOV R3,4AH
   MOV R4,4BH
   LCALL BSUB
   CLR 04H
   JNC JL2RET
   LCALL NOTDO
JL2RET:   NOP
   NOP
   NOP
   RET
JL3:      PUSH 33H
   PUSH 34H
   MOV 33H,2BH
   MOV 34H,2CH
   SETB 05H
   LCALL LOOPAD
   CLR 05H
   POP 34H
   POP 33H
   MOV R6,68H
   MOV R7,69H
   MOV R3,6AH
   MOV R4,6BH
   LCALL BSUB
   CLR 04H
   JNC DOJL3
   LCALL NOTDO
   LJMP JL3RET
DOJL3:   MOV R3,4AH
   MOV R4,4BH
   LCALL BSUB
   CLR 04H
   JNC JL3RET
   LCALL NOTDO
JL3RET:   NOP
   NOP
   NOP
   RET
JL4:      PUSH 33H
   PUSH 34H
   MOV 33H,2BH
   MOV 34H,2CH
   SETB 05H
   LCALL LOOPAD
   CLR 05H
   POP 34H
   POP 33H
   MOV R6,6CH
   MOV R7,6DH
   MOV R3,6EH
   MOV R4,6FH
   LCALL BSUB
   CLR 04H
   JNC DOJL4
   LCALL NOTDO
   LJMP JL4RET
DOJL4:   MOV R3,4AH
   MOV R4,4BH
   LCALL BSUB
   CLR 04H
   JNC JL4RET
   LCALL NOTDO
JL4RET:   NOP
   NOP
   NOP
   RET
JL5:      PUSH 33H
   PUSH 34H
   MOV 33H,2BH
   MOV 34H,2CH
   SETB 05H
   LCALL LOOPAD
   CLR 05H
   POP 34H
   POP 33H
   MOV R6,70H
   MOV R7,71H
   MOV R3,72H
   MOV R4,73H
   LCALL BSUB
   CLR 04H
   JNC DOJL5
  LCALL NOTDO
  LJMP JL5RET
DOJL5:  MOV R3,4AH
  MOV R4,4BH
  LCALL BSUB
  CLR 04H
  JNC JL5RET
  LCALL NOTDO
JL5RET:   NOP
   NOP
   NOP
  RET
DELAYKNO:CLR TR1
  CLR TF1
  MOV TL1,#0F0H
  MOV TH1,#0F9H
  SETB TR1
  JNB TF1,$
  CLR TF1
  RET
NOTDO:   PUSH PSW
  MOV DPTR,#0BFF2H
  MOV A,#0BFH
  MOV C,09H
  MOV ACC.5,C
  MOVX @DPTR,A
  LCALL DELAYKNO
  POP PSW
          NOP
   NOP
   NOP
  RET
NOTDO1:  MOV DPTR,#0BFF2H
  MOV A,#0BFH
  MOV C,09H
  MOV ACC.5,C
  MOVX @DPTR,A
  LCALL DELAYK
          NOP
   NOP
   NOP
  RET
BADD:    CLR CY
  MOV A,24H
  ADDC A,R7
  MOV 24H,A
  MOV A,23H
  ADDC A,R6
  MOV 23H,A
  CLR CY
          NOP
   NOP
   NOP
  RET
CL:      PUSH PSW
  MOV DPTR,#0BFF2H
  MOV A,#0FEH
  MOV C,09H
  MOV ACC.5,C
  MOVX @DPTR,A
  POP PSW
  MOV A,#0FEH
  MOV DPTR,#0BFF3H
  MOVX @DPTR,A
LPCL:    LCALL HEADER
  CPL A
  ANL A,#80H
  JZ  LPLPCL
  LCALL STOP
          NOP
   NOP
   NOP
  RET
LPLPCL:  LCALL LOOPAD
  MOV R3,33H
  MOV R4,34H
  MOV R6,35H
  MOV R7,36H
  LCALL BSUB
  JNC LPCL
  MOV R5,#07H
WAITCL:  LCALL DELAYK1
  DJNZ R5,WAITCL
  LCALL NOTDO
         CLR C
   INC 3FH
   MOV A,3EH
   ADDC A,#00H
   MOV 3EH,A
   CLR C
          LCALL WEN
   LCALL NORET
   LCALL WEN
   MOV R1,#253
   MOV R0,#3EH
   LCALL WRITE
          LCALL WEN
   MOV R1,#254
   MOV R0,#3FH
   LCALL WRITE
   NOP
   NOP
   NOP
   RET
WEN:    CLR     P1.2
        CLR     P1.0
        MOV     A,#06H
        LCALL   OUTB
 CLR     P1.2
        SETB    P1.0
        RET
NORET:  CLR     P1.2
        CLR     P1.0
        MOV     A,#01H
        LCALL   OUTB
        MOV     A,#32H
        LCALL   OUTB
        CLR     P1.2
        SETB    P1.0
        LCALL   IFWEND
         NOP
   NOP
   NOP
 RET
READCOM:  CLR     P1.2
        CLR     P1.0
        MOV     A,#05H
        LCALL   OUTB
        LCALL   INB
        CLR     P1.2
        SETB    P1.0
         NOP
   NOP
   NOP
 RET
WRITE:  CLR     P1.2
        CLR     P1.0
        MOV     A,#02H
        LCALL   OUTB
        MOV     A,R1
        LCALL   OUTB
        MOV     A,@R0
        LCALL   OUTB
        CLR     P1.2
        SETB    P1.0
        LCALL   IFWEND
         NOP
   NOP
   NOP
 RET
WRITE1:  CLR     P1.2
        CLR     P1.0
        MOV     A,#02H
        LCALL   OUTB
        MOV     A,R1
        LCALL   OUTB
 MOVX     A,@DPTR
        LCALL   OUTB
        CLR     P1.2
        SETB    P1.0
        LCALL   IFWEND
 RET
READ:   CLR     P1.2
        CLR     P1.0
        MOV     A,#03H
        LCALL   OUTB
        MOV     A,R1
        LCALL   OUTB
        LCALL   INB
        CLR     P1.2
        SETB    P1.0
         NOP
   NOP
   NOP
 RET
IFWEND: MOV     R7,#99H
WAIT:   LCALL   READCOM
 JNB     ACC.0,RETIFW
 DJNZ    R7,WAIT
RETIFW: RET

OUTB:  MOV     R7,#08H
OUTB1:  CLR     P1.2
        RLC     A
        MOV     P1.3,C
        SETB    P1.2
        DJNZ    R7,OUTB1
        CLR     P1.3
        RET
INB:    MOV     R7,#08H
INB1:   SETB    P1.2
        CLR     P1.2
        MOV     C,P1.1
        RLC     A
        DJNZ    R7,INB1
         NOP
   NOP
   NOP
 RET
NWRITE: CLR     P1.2
        CLR     P1.0
        MOV     A,#01H
        LCALL   OUTB
        MOV     A,#2CH
        LCALL   OUTB
        CLR     P1.2
        SETB    P1.0
        LCALL   IFWEND
 RET
PRIPB:  MOV A,#00H
RETPB:  MOV DPTR,#TAB1
 PUSH ACC
 MOVC A,@A+DPTR
 JZ PRIPB222
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
        LJMP RETPB
PRIPB222:POP ACC
 MOV R0,#0DH
 LCALL  PRINT
 MOV 4FH,#05H
 MOV R1,60H
PRIPB12:MOV A,#00H
PRIPB1: MOV DPTR,#TAB2
 PUSH ACC
 MOVC A,@A+DPTR
 JZ PRIPB2
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
        LJMP PRIPB1
PRIPB2: POP ACC
 MOV DPTR,#TAB5
 MOV A,4FH
 MOVC A,@A+DPTR
 MOV R0,A
 LCALL PRINT
 MOV R0,#3DH
 LCALL PRINT
 MOV A,4FH
 DEC A
 MOV B,#04H
 CLR C
 MUL AB
 CLR C
 ADD A,#60H
 LCALL OUTPRN
 MOV A,#00H
PRIPB11:MOV DPTR,#TAB3
 PUSH ACC
 MOVC A,@A+DPTR
 JZ PRIPB22
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
        LJMP PRIPB11
PRIPB22:POP ACC
 MOV DPTR,#TAB5
 MOV A,4FH
 MOVC A,@A+DPTR
 MOV R0,A
 LCALL PRINT
 MOV R0,#3DH
 LCALL PRINT
 MOV A,4FH
 DEC A
 MOV B,#04H
 CLR C
 MUL AB
 CLR C
 ADD A,#60H
 INC A
 INC A
 LCALL OUTPRN
 MOV R0,#0DH
 LCALL PRINT
 DEC 4FH
 MOV A,4FH
 JZ RETPB00
 LJMP PRIPB12
RETPB00:
 MOV R0,#20H
 LCALL PRINT
        MOV R0,#20H
 LCALL PRINT
        MOV R0,#20H
 LCALL PRINT
        MOV R0,#20H
 LCALL PRINT
        MOV R0,#20H
 LCALL PRINT
        MOV R0,#20H
 LCALL PRINT
 MOV R0,#4EH
 LCALL PRINT
 MOV R0,#4FH
 LCALL PRINT
 MOV R0,#3AH
 LCALL PRINT
 MOV A,4CH
 ADD A,#30H
 MOV R0,A
 LCALL PRINT
 MOV R0,#0DH
 LCALL  PRINT
         NOP
   NOP
   NOP
 RET


TEPRI: MOV     DPTR,#0DFFEH
        MOVX    A,@DPTR
 ANL     A,#01H
 RET
OUTPRN: MOV R0,A
 MOV A,@R0
 MOV R6,A
 INC R0
 MOV A,@R0
 MOV R7,A
 LCALL BCDT
 MOV A,R3
 ANL A,#0F0H
 SWAP A
 LCALL PRI55
        MOV A,R3
 ANL A,#0FH
        LCALL PRI55
 MOV A,R4
 ANL A,#0F0H
 SWAP A
        LCALL PRI55
 MOV A,R4
 ANL A,#0FH
 LCALL PRI55

 RET
PRI55: MOV DPTR,#TAB5
 MOVC A,@A+DPTR
 MOV R0,A
 LCALL PRINT
 RET

AUTOPRI:MOV A,#00H
AUTOPR1:MOV DPTR,#TAB2
 PUSH ACC
 MOVC A,@A+DPTR
 JZ AUTOPB
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
        LJMP AUTOPR1
AUTOPB: POP ACC
 RET

T0INT:  PUSH ACC
 PUSH B
 PUSH PSW
 PUSH DPH
 PUSH DPL
 MOV IE,#00H
 CLR TR0
 CLR TF0
 INC 40H
 MOV A,40H
 CJNE A,#0F9H,RETIT0
 INC 41H
 MOV 40H,#00H
 MOV A,41H
 CJNE A,3CH,RETIT0
 MOV 40H,#00H
 MOV 41H,#00H
 CPL 09H
        MOV C,09H
 MOV A,#0FFH
 MOV ACC.5,C
 MOV DPTR,#0BFF2H
 MOVX @DPTR,A
 JB 09H,RETIT1
 MOV 3CH,3AH
 AJMP RETIT0
RETIT1: MOV 3CH,3BH
RETIT0:
 MOV TH0,#00H
 MOV TL0,#00H
 MOV IE,#82H
 SETB TR0
 SETB  IE0
 POP DPL
 POP DPH
 POP PSW
 POP B
 POP ACC
 RETI
AUTOZY:  MOV 57H,#04H
  MOV 54H,#00H
  MOV 55H,3AH
  LCALL INKEY
  MOV 3AH,59H
         LCALL WEN
  LCALL NORET
  LCALL WEN
  MOV R1,#250
  MOV R0,#3AH
  LCALL WRITE
  MOV 57H,#03H
  MOV 54H,#00H
  MOV 55H,3BH
  LCALL INKEY
  MOV 3BH,59H
         LCALL WEN
  LCALL NORET
  LCALL WEN
  MOV R1,#251
  MOV R0,#3BH
  LCALL WRITE
  JB 11H,RETZY
  MOV IE,#00H
         MOV A,#0FFH
  MOV DPTR,#0BFF2H
  MOVX @DPTR,A
  SETB 09H
  RET
RETZY:  MOV IE,#82H
  MOV 3CH,#01H
         MOV TL0,#00H
  MOV TH0,#00H
  MOV 41H,#00H
  SETB TR0
  RET
OUTTAL: MOVX A,@DPTR
 MOV R6,A
 INC DPTR
 MOVX A,@DPTR
 MOV R7,A
 LCALL BCDT
 MOV A,R2
 ANL A,#0F0H
 SWAP A
 LCALL PRI55
 MOV A,R2
 ANL A,#0FH
 LCALL PRI55
        MOV A,R3
 ANL A,#0F0H
 SWAP A
 LCALL PRI55
        MOV A,R3
 ANL A,#0FH
 LCALL PRI55
 MOV A,R4
 ANL A,#0F0H
 SWAP A
 LCALL PRI55
 MOV A,R4
 ANL A,#0FH
 LCALL PRI55
 RET
TOTAL:  MOV A,#00H
 MOV 49H,#05H
 MOV DPTR,#0BE1EH
TOTA:   PUSH DPH
 PUSH DPL
TOTA001:MOV DPTR,#TAB6
 PUSH ACC
 MOVC A,@A+DPTR
 JZ TOTARET
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
 LJMP TOTA001
TOTARET:POP ACC
 MOV A,#06H
 SUBB A,49H
 ADD A,#30H
 MOV R0,A
  LCALL PRINT
  MOV R0,#3AH
  LCALL PRINT
LPTOTA:  POP DPL
  POP DPH
  INC DPTR
  INC DPTR
  PUSH DPH
  PUSH DPL
  LCALL OUTTAL
  POP DPL
  POP DPH
  DJNZ 49H,TOTA
  MOV A,#00H
TTA:     MOV DPTR,#TAB9
  PUSH ACC
  MOVC A,@A+DPTR
 JZ T1OTA01
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
 LJMP TTA
T1OTA01:POP ACC
 MOV A,#3EH
 LCALL OUTPRN
 MOV A,#00H
T1OTA:  MOV DPTR,#TAB7
 PUSH ACC
 MOVC A,@A+DPTR
 JZ DEL1
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
 LJMP T1OTA
DEL1:   POP ACC
 MOV A,#00H
T2OTA:  MOV DPTR,#TAB8
 PUSH ACC
 MOVC A,@A+DPTR
 JZ RETDE2
 MOV R0,A
 LCALL PRINT
 POP ACC
 INC A
 LJMP T2OTA
RETDE2:  POP ACC
  MOV R0,#0DH
  LCALL PRINT
LPRETD2: LCALL KEY
  JZ LPRETD2
  DEC A
  CJNE A,#01H,RETDE222
         MOV DPTR,#0BE20H
  MOV R2,#10
  MOV A,#00H
LPTO:  MOVX @DPTR,A
  INC DPTR
  DJNZ R2,LPTO
  MOV R2,#10
  MOV DPTR,#0BE20H
  MOV R1,#235
  LCALL WEN
  LCALL NORET
LPTO01:  LCALL WEN
  LCALL WRITE1
  INC DPTR
  INC R1
  DJNZ R2,LPTO01
RETDE222:RET

PRINT:  CLR P1.0
 SETB P1.0
 MOV     DPTR,#0DFFEH
        MOVX    A,@DPTR
        ANL     A,#01H
 JNZ     PRINT
        MOV     DPTR,#0DFFDH
 MOV     A,R0
        MOVX    @DPTR,A
        MOV     DPTR,#5FFFH
 MOV     DPTR,#5FFFH
 MOV     DPTR, #5FFFH
 CLR     A
 CLR     A
 CLR     A
 CLR     A
 MOVX @DPTR,A
 MOVX @DPTR,A
 MOVX @DPTR,A

 LCALL    PRWT
        LCALL  INIT79
        MOV     R7,#04H
        CLR     A
PRILOP: MOVX    @DPTR,A
        DJNZ    R7,PRILOP
        RET
PRNO:   LCALL  INIT79
        MOV     A,#6EH
        MOVX    @DPTR,A
        MOV     A,#6DH
        MOVX    @DPTR,A
        MOV     A,#3EH
        MOVX    @DPTR,A
        MOV     A,#7CH
        MOVX    @DPTR,A
PRWT:   LCALL  INIT79
        MOV     A,#48H
        MOVX    @DPTR,A
        MOV     A,#48H
        MOVX    @DPTR,A
        MOV     A,#77H
        MOVX    @DPTR,A
        MOV     A,#73H
        MOVX    @DPTR,A
 RET
INIT79: MOV     DPTR,#1FFFH
        MOV     A,#90H
        MOVX    @DPTR,A
        MOV     DPTR,#1F7FH
 RET
INIPRI: MOV     R0,#1BH
 LCALL PRINT
 MOV     R0,#40H
 LCALL PRINT
        MOV     R0,#1BH
 LCALL PRINT
 MOV     R0,#40H
 LCALL PRINT
        MOV     R0,#1BH
 LCALL PRINT
 MOV     R0,#40H
 LCALL PRINT
        MOV     R0,#1BH
 LCALL PRINT
 MOV     R0,#40H
 LCALL PRINT
        MOV     R0,#1BH
        LCALL PRINT
 MOV     R0,#63H
 LCALL PRINT
 MOV     R0,#01H
        LCALL PRINT
 MOV     R0,#1BH
        LCALL PRINT
 MOV     R0,#4FH
 LCALL PRINT
        MOV     R0,#1BH
 LCALL PRINT
 MOV     R0,#36H
 LCALL PRINT
        RET

ORG     1A00H
;TAB   Copyright Lnhn 1995,2000
TAB1:DB 20H,20H,20H,43H,6FH,70H,79H,72H,69H,67H,68H,74H,20H
     DB 4CH,6EH,68H,6EH,20H,56H,31H,39H,39H,35H,2CH,32H,30H,30H,30H,00H
;     M:XXX
;     M1=XXXX   DP1=XXX
;     M2=XXXX   DP2=XXX
;     M3=XXXX   DP3=XXX
;     M4=XXXX   DP4=XXX
;     M5=XXXX   DP5=XXX
;     Copyright Lnhn 1995,2000
TAB2: DB 20H,20H,20H,20H,20H,20H,00H
TAB3: DB 20H,20H,20H,20H,44H,50H,00H
TAB4: DB 20H,20H,20H,20H,20H,20H,20H,20H,4DH,3AH,00H
TAB5: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,20H,0DH,0AH
;ASCII    0   1    2   3   4   5   6   7   8   9     CR  LF
;         0    1    2    3    4    5    6    7    8   9   A   B   C   D   E   F  10H  11H 12H
;         0    1    2    3    4    5    6    7    8   9   A   B   C   D   E   F  10H  11H 12H
TAB:  DB 3FH,06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH,6FH,00H,54H,58H,40H, 73H,77H,3EH,6DH,79H
    ;                         n   c   -       P    A   U   S   E
TAB6: DB 0AH,20H,20H,20H,20H,54H,4FH,54H,41H,4CH,00H
TAB7: DB 0AH,20H,50H,72H,65H,73H,73H,20H,61H,6EH,79H,20H,6FH,74H,68H,65H,72H
      DB 20H,6BH,65H,79H,20H,72H,65H,74H,75H,72H,6EH,00H
TAB8: DB 0AH,20H,50H,72H,65H,73H,73H,20H,22H,0EEH,22H,20H,6BH,65H,79H,20H
      DB 63H,6CH,65H,61H,72H,20H,54H,4FH,54H,41H,4CH,20H,74H,6FH,20H,30H,30H,30H,30H,30H,30,0AH,0AH,00H
TAB9: DB 0AH,20H,20H,20H,20H,54H,4FH,54H,41H,4CH,20H,4EH,4FH,3AH,00H
END

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    配料机控制系统源程序讲解(1
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    1
    408412242(点击交谈)340154483(点击交谈)  
    电话热线:0759-2882725、3615028  手机专线:13019609249、13729119943
    Copyright ® 2006-2008 YourCon.com All Rights Reserved
    中华人民共和国信息产业部备案编号:鲁ICP备06031325号