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

📄 第8次小车寻迹.asm

📁 小车程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:
     MOV R2,A
     MOV A,HH1
     XCH A,R2
     SUBB A,R2
     JC PINGHENG12
     RET
PINGHENG12:
       MOV    START,#0F8H     ;写入命令(11111000)
       MOV    COM,#88H    ;设定显示位置
       LCALL  LCDWRITE
       MOV    START,#0FAH
       MOV    A,DJS
       MOV    COM,A
       LCALL  LCDWRITE
       MOV    A,DJS
       CJNE A,#35H,GOON
       MOV    START,#0F8H     ;写入命令(11111000)
       MOV    COM,#88H    ;设定显示位置
       LCALL  LCDWRITE
       CLR EA
       MOV    START,#0FAH
       MOV    COM,#35H
       LCALL  LCDWRITE
       MOV   DJS,#30H
       MOV    START,#0F8H     ;写入命令(11111000)
       MOV    COM,#80H    ;设定显示位置
       LCALL  LCDWRITE
       MOV    START,#0FAH
       MOV    DPTR,#TAB9
       MOV    R3,#8
ABC:   LCALL  DIS8
       DJNZ R3,ABC
       MOV    START,#0F8H     ;写入命令(11111000)
       MOV    COM,#90H    ;设定显示位置
       LCALL  LCDWRITE
       MOV    START,#0FAH
       MOV    DPTR,#TAB10
       MOV    R3,#8
ABCD:  LCALL  DIS8
       DJNZ R3,ABCD
ZD:    CALL   AD_DATA
       LCALL  ZH
       CLR C
       MOV A,#0F0H
       XCH A,R3
       SUBB A,R3
       MOV A,#02H
       XCH A,R2
       SUBB A,R2
       JC CXT
       SJMP ZD
       ;LCALL  WAIT
       ;LCALL  LCDRESET
       ;LCALL  ZZ10
CXT:   LCALL  PDD
       LCALL  FZ40
       LCALL  LCDRESET
       MOV TL1,#0B0H
       MOV TH1,#3CH
       MOV L14,#1
       MOV L11,#6
       SETB EA
GOON:  SETB   ET1
       SETB   TR1
       LCALL AD_DATA
       LCALL ZH
       RET
ITOP:PUSH PSW
     PUSH 00H
     PUSH 01H
     MOV TL0,#0B0H
     MOV TH0,#3CH
     MOV  R1,L13
     MOV  R0,L12
     DJNZ R1,LOOP
     MOV  R1,#20
     MOV  A,DJS1
     INC  A
     MOV  DJS1,A
     CJNE A,#3AH,LLLL
     MOV  DJS1,#30H
     MOV  A,DJS2
     INC  A
     MOV  DJS2,A
LLLL:
     DJNZ R0,LOOP
     LCALL WRITE_TIME
     LCALL LCDRESET
     LCALL QJ
     LCALL ZZ50M
     LCALL DELAY05S
     LCALL WRITE_TIME
     LCALL HT
     LCALL FZ_160M
     LCALL JS
     SJMP $
LOOP:MOV L12,R0
     MOV L13,R1
     POP 01H
     POP 00H
     POP PSW
     RETI
IT1P:PUSH PSW
     PUSH 00H
     PUSH 01H
     PUSH ACC
     MOV TL0,#0B0H
     MOV TH0,#3CH
     MOV  R0,L14
     MOV  R1,L11
     DJNZ R0,LOOP11
     MOV  R0,#20
     MOV  A,DJS
     INC  A
     MOV  DJS,A
     DJNZ R1,LOOP11
     CLR TR0
     LCALL WRITE_TIME
     LCALL LCDRESET
     LCALL QJ
     LCALL ZZ50M
     LCALL DELAY05S
     LCALL WRITE_TIME
     LCALL HT
     LCALL FZ_160M
     LCALL JS
     SJMP $
LOOP11:MOV L14,R0
     MOV L11,R1
     POP ACC
     POP 01H
     POP 00H
     POP PSW
     RETI
ZH:  MOV R7,#4
     MOV A,R3
     SWAP A
KKK: MOV R3,A
     MOV A,R2
     RRC A
     MOV R2,A
     MOV A,R3
     RRC A
     MOV R3,A
     DJNZ R7,KKK
     RET
BCDT:              ;BCD码转换
     MOV R7,#16
     CLR A
     MOV R4,A
     MOV R5,A
     MOV R6,A
BCDTT:
     CLR C
     MOV A,R3
     RLC A
     MOV R3,A
     MOV A,R2
     RLC A
     MOV R2,A
     MOV A,R6
     ADDC A,R6
     DA   A
     MOV R6,A
     MOV A,R5
     ADDC A,R5
     DA A
     MOV R5,A
     MOV A,R4
     ADDC A,R4
     DA A
     MOV R4,A
     DJNZ R7,BCDTT
     RET
ZZ1  :SETB P1.0
      CLR P1.1
      ACALL DELAY5S
      SETB P0.0
      SETB P0.1
      ACALL DELAY5S
      CLR P0.0
      CLR P0.1
      ACALL DELAY5S
      RET
ZZBT1:SETB P1.0
      CLR P1.1
      MOV R3,#1
PPP:  MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      DJNZ R3,PPP
      RET
ZZBT: SETB P1.0
      CLR P1.1
      MOV R3,#1
PPPD:  SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.1
      ACALL DELAY5
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      DJNZ R3,PPPD
      RET
YZBT1:SETB P1.0
      CLR  P1.1
      MOV R3,#1
PPG:  MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      LCALL  FENDIS
      LCALL  MIAODIS
      DJNZ R3,PPG
      RET
YZBT: SETB P1.0
      CLR  P1.1
      MOV R3,#1
PPGG:  SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      ACALL DELAY5
      SETB P0.0
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      DJNZ R3,PPGG
      RET
FZ1  :CLR P1.0
      SETB P1.1
      ACALL DELAY5S
      SETB P0.0
      SETB P0.1
      ACALL DELAY5S
      CLR P0.0
      CLR P0.1
      ACALL DELAY5S
      RET
FZ20  :CLR P1.0
      SETB P1.1
      MOV R3,#95
BBBC: LCALL  READ_TIME
      MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      LCALL  FENDIS
      LCALL  MIAODIS
      DJNZ R3,BBBC
      RET
DELAY5S:MOV R5,#2
DDDA1:    MOV R6,#20
DDDA2:    MOV R7,#100
       DJNZ R7,$
       DJNZ R6,DDDA2
       DJNZ R5,DDDA1
       RET
FZ30  :CLR P1.0
      SETB P1.1
      MOV R3,#120
BBBCC: LCALL  READ_TIME
      MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      LCALL  FENDIS
      LCALL  MIAODIS
      DJNZ R3,BBBCC
      RET
FZ40  :CLR P1.0
      SETB P1.1
      MOV R3,#145
BBBcCC: LCALL  READ_TIME
      MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      ACALL DELAY5
      CLR P0.0
      CLR P0.1
      ACALL DELAY5
      LCALL  FENDIS
      LCALL  MIAODIS
      DJNZ R3,BBBcCC
      RET
ZZ2  :SETB P1.0
      CLR P1.1
      MOV R3,#28
AAAB: SETB P0.0
      SETB P0.1
      ACALL DELAY5S
      CLR P0.0
      CLR P0.1
      ACALL DELAY5S
      DJNZ R3,AAAB
      RET
ZZ5:  SETB P1.0
      CLR P1.1
      MOV R3,#1
AAAR: LCALL  READ_TIME
      MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      LCALL DELAY1
      CLR P0.0
      CLR P0.1
      LCALL DELAY1
      LCALL  FENDIS
      LCALL  MIAODIS
      DJNZ R3,AAAR
      RET
ZZ10:  SETB P1.0
      CLR P1.1
      MOV R3,#30
AAARF:LCALL  AD_DATA
      LCALL  READ_TIME
      MOV    START,#0F8H     ;写入命令(11111000)
      MOV    COM,#88H    ;设定显示位置
      LCALL  LCDWRITE
      MOV    START,#0FAH
      LCALL  SJ
      SETB P0.0
      SETB P0.1
      LCALL DELAY1
      CLR P0.0
      CLR P0.1
      LCALL DELAY1
      LCALL  FENDIS
      LCALL  MIAODIS
      DJNZ R3,AAARF
      RET
ZZ55:  SETB P1.0
      CLR P1.1
      MOV R3,#00H
AAARR: SETB P0.0
      SETB P0.1
      LCALL DELAY5
      CLR P0.0
      CLR P0.1
      LCALL DELAY5
      DJNZ R3,AAARR
      RET
FZ2  :CLR P1.0
      SETB P1.1
      MOV R3,#28
BBBA: SETB P0.0
      SETB P0.1
      LCALL DELAY5S
      CLR P0.0
      CLR P0.1
      LCALL DELAY5S
      DJNZ R3,BBBA
      RET

ZZ_60M:
      SETB P1.0
      CLR P1.1
      MOV R3,#170
      MOV R4,#4
AAA1: LCALL  READ_TIME
      LCALL  QJ
      LCALL  SJ

      SETB P0.0
      SETB P0.1
      lCALL DELAY1
      CLR P0.0
      CLR P0.1
      LCALL  FENDIS
      LCALL  MIAODIS
      lCALL DELAY1
      DJNZ R3,AAA1
      DJNZ R4,AAA1
      RET
MIAODIS:
      MOV A,MIAO
      SWAP A
      ANL A,#0FH
      ORL A,#30H
      MOV COM,A
      LCALL LCDWRITE
      MOV A,MIAO
      ANL A,#0FH
      ORL A,#30H
      MOV COM,A
      LCALL LCDWRITE
      MOV COM,#0C3H
      LCALL LCDWRITE
      MOV COM,#0EBH
      LCALL LCDWRITE
      RET
FENDIS:
      MOV A,FEN
      SWAP A
      ANL A,#0FH
      ORL A,#30H
      MOV COM,A
      LCALL LCDWRITE
      MOV A,FEN
      ANL A,#0FH

⌨️ 快捷键说明

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