📄 第8次小车寻迹.asm
字号:
SI BIT P2.4
SO BIT P2.5
SCK BIT P2.3
CLK BIT P2.3
DAT BIT P2.4
KEY BIT P3.2
CLK2543 BIT P2.3
DIN BIT P2.4
DOUT BIT P2.5
CS2543 BIT P2.2
PSB BIT P3.4
RES BIT P3.5
CS BIT P1.7
STD BIT P2.4
SCLK BIT P2.3
CS_12887 BIT P2.0
CS_7279 BIT P2.1
DATA_IN EQU 020H
DATA_OUT EQU 021H
DATA_OUT1 EQU 022H
PINGS EQU 3AH
MIAO EQU 25H
FEN EQU 26H
MIAO1 EQU 24H
FEN1 EQU 23H
DO EQU 28H
DO_IN EQU 27H
HDATA EQU 28H
LDATA EQU 29H
LQ EQU 2AH ;前角度
HQ EQU 2BH
LH EQU 2CH ;后角度
HH EQU 2DH
LQ1 EQU 2EH ;前角度
HQ1 EQU 2FH
LH1 EQU 3AH ;后角度
HH1 EQU 3BH
START EQU 30H
COM EQU 31H
L12 EQU 32H
DS_ADDR EQU 33H
L13 EQU 34H
DJS EQU 35H
L11 EQU 36H
L14 EQU 37H
DJS1 EQU 38H
DJS2 EQU 39H
ADDR EQU 3CH
ORG 0000H
NOP
NOP
NOP
LJMP MAIN
ORG 000BH
LJMP ITOP
ORG 001BH
LJMP IT1P
ORG 0300H
MAIN: MOV SP,#59H
MOV LQ,#6AH ;前角度
MOV HQ,#01H
MOV LH,#0DAH ;后角度
MOV HH,#02H
MOV LQ1,#72H ;前角度
MOV HQ1,#01H
MOV LH1,#0DbH ;后角度
MOV HH1,#02H
CLR CS_12887
CLR CS_7279
CLR RES
SETB RES ; 可以直接接电源VDD
SETB CS ; 可以直接接电源VDD
CLR PSB
MOV L13,#32
MOV L12,#90
MOV L14,#1
MOV L11,#5
MOV DJS,#30H
MOV DJS1,#30H
MOV DJS2,#30H
MOV TMOD,#11H
MOV TL0,#0B0H
MOV TH0,#3CH
MOV TL1,#0B0H
MOV TH1,#3CH
CALL LCDRESET
MAIN1: MOV START,#0F8H ;写入命令(11111000)
MOV COM,#80H ;设定显示位置
LCALL LCDWRITE
MOV START,#0FAH
LCALL CHUXIAN
LCALL WAIT
KEYGET:MOV A,DATA_IN ;判断按键并赋值
KEY1: CJNE A,#27,KEY2
SETB CS_7279
LJMP JINGTAI
KEY2: CJNE A,#28,KEY3
SETB CS_7279
LJMP XUNJI
KEY3: CJNE A,#29,KEY4
SETB CS_7279
LJMP DONGTAI
KEY4: CJNE A,#30,KEY5
SETB CS_7279
LJMP DONG
KEY5: SJMP MAIN1
JINGTAI:LCALL LCDRESET
LCALL WRITE_TIME
LCALL QJ
LCALL S60
;LCALL ZZ_60M
LCALL ZZ10
LCALL PDD
LCALL FZ30
LCALL LCDRESET
SETB TR0
SETB ET0
SETB EA
SETB ET1
CLR TR1
LCALL READ_TIME
ZI1: ;CALL LCDRESET
CALL AD_DATA
LCALL ZH
LCALL PDZ
LCALL PDZ1
JMP ZI1
S60: PUSH ACC
MOV A,DJS2
MOV COM,A
LCALL LCDWRITE
MOV A,DJS1
MOV COM,A
LCALL LCDWRITE
POP ACC
RET
DONGTAI:LCALL LCDRESET
LCALL WRITE_TIME
;LCALL ZZ_60M
LCALL QJ
LCALL ZZ10
LCALL PDDD
LCALL FZ40
LCALL LCDRESET
SETB EA
SETB ET1
ZI2: ;CALL LCDRESET
CALL AD_DATA
LCALL ZH
LCALL PDZZ
LCALL PDZ11
JMP ZI2
DONG :LCALL LCDRESET
LCALL WRITE_TIME
;LCALL ZZ_60M
LCALL QJ
LCALL ZZ10
LCALL PDD
LCALL FZ40
LCALL LCDRESET
SETB EA
SETB ET1
ZI22: ;CALL LCDRESET
CALL AD_DATA
LCALL ZH
LCALL PDZZ
LCALL PDZ11
JMP ZI22
XUNJI: LCALL JIANCE2
SJMP XUNJI
DELAY1:MOV R5,#1
D1: MOV R6,#10
D2: MOV R7,#100
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
DELAY5:MOV R5,#1
D1111: MOV R6,#80
D2111: MOV R7,#100
DJNZ R7,$
DJNZ R6,D2111
DJNZ R5,D1111
RET
PDD: ;CALL AD_DATA
;LCALL DELAY05S
CALL AD_DATA
LCALL ZH
CLR C
MOV A,#0FAH
XCH A,R3
SUBB A,R3
MOV A,#01H
XCH A,R2
SUBB A,R2
JC FFF
LCALL ZZ5
SJMP PDD
FFF: LCALL SHORT_DELAY
CALL AD_DATA
LCALL ZH
CLR C
MOV A,#0FAH
XCH A,R3
SUBB A,R3
MOV A,#01H
XCH A,R2
SUBB A,R2
JC FFFB
LCALL ZZ5
SJMP PDD
FFFB:RET
PDDD: ;CALL AD_DATA
;LCALL DELAY05S
CALL AD_DATA
LCALL ZH
CLR C
MOV A,#70H
XCH A,R3
SUBB A,R3
MOV A,#01H
XCH A,R2
SUBB A,R2
JC FFFT
LCALL JIANCE3
SJMP PDDD
FFFT: LCALL SHORT_DELAY
CALL AD_DATA
LCALL ZH
CLR C
MOV A,#70H
XCH A,R3
SUBB A,R3
MOV A,#01H
XCH A,R2
SUBB A,R2
JC FFFBT
LCALL JIANCE3
SJMP PDDD
FFFBT:RET
;*************检测**********************
JIANCE:JNB P1.2,JC1
JNB P1.3,JCC1
JNB P1.6,JCC1
JNB P1.5,JCC1
SJMP JC4
JCC1: LCALL YZBT
RET
JC1: JNB P1.3,JC2
JB P1.6,JC4
JCC2: LCALL YZBT1
RET
JC2: JNB P1.6,JC3
LCALL ZZBT
RET
JC3: JNB P1.5,JC4
LCALL ZZBT1
RET
JC4: LCALL ZZ5
RET
;**************A检测方式3***************
JIANCE3:JNB P1.2,JCD1
LCALL YZBT1
RET
JCD1: JNB P1.6,JCD2
LCALL ZZBT1
RET
JCD2: LCALL ZZ5
RET
;**************A检测方式2***************
JIANCE2:JNB P1.3,JCDD1
JB P1.5,JCDD4
JB P1.6,JCDD4
LCALL YZBT
RET
JCDD1: JNB P1.2,JCDD2
JB P1.5,JCDD4
JB P1.6,JCDD4
LCALL YZBT
RET
JCDD2: JNB P1.6,JCDD3
JB P1.3,JCDD4
JB P1.2,JCDD4
LCALL ZZBT
RET
JCDD3: JNB P1.5,JCDD4
JB P1.2,JCDD4
JB P1.3,JCDD4
LCALL ZZBT
RET
JCDD4: LCALL ZZ5
RET
;*************判断角度*******************
PDZ:
MOV A,R3
MOV R4,A
MOV A,R2
MOV R5,A
CLR C
MOV A,LQ
XCH A,R3
SUBB A,R3
MOV A,HQ
XCH A,R2
SUBB A,R2
JNC PDF
RET
PDF: CLR C
MOV A,R4
MOV R3,A
MOV A,LH
XCH A,R3
SUBB A,R3
MOV A,R5
MOV R2,A
MOV A,HH
XCH A,R2
SUBB A,R2
JC PINGHENG
RET
PDZ1:MOV A,R4
MOV R3,A
MOV A,R5
MOV R2,A
CLR C
MOV A,LQ
XCH A,R3
SUBB A,R3
MOV A,HQ
XCH A,R2
SUBB A,R2
JNC PDF1
LCALL FZ1
LCALL LCDRESET
LCALL HT
LCALL S60
MOV L14,#1
MOV L11,#5
MOV DJS,#30H
CLR TR1
LCALL TING5S
RET
PDF1:CLR C
MOV A,R4
MOV R3,A
MOV A,LH
XCH A,R3
SUBB A,R3
MOV A,R5
MOV R2,A
MOV A,HH
XCH A,R2
SUBB A,R2
JC PINGHENG
LCALL LCDRESET
LCALL QJ
LCALL S60
LCALL ZZ1
MOV L14,#1
MOV L11,#6
MOV DJS,#30H
CLR TR1
LCALL TING5S
RET
PINGHENG:
LCALL AD_DATA
LCALL ZH
MOV START,#0F8H ;写入命令(11111000)
MOV COM,#80H ;设定显示位置
LCALL LCDWRITE
MOV START,#0FAH
LCALL PING
LCALL S60
PDZ2:MOV A,R3
MOV R4,A
MOV A,R2
MOV R5,A
CLR C
MOV A,LQ
XCH A,R3
SUBB A,R3
MOV A,HQ
XCH A,R2
SUBB A,R2
JNC PDF2
RET
PDF2:CLR C
MOV A,R4
MOV R3,A
MOV A,LH
XCH A,R3
SUBB A,R3
MOV A,R5
MOV R2,A
MOV A,HH
XCH A,R2
SUBB A,R2
JC PINGHENG1
RET
PINGHENG1:
MOV START,#0F8H ;写入命令(11111000)
MOV COM,#88H ;设定显示位置
LCALL LCDWRITE
MOV START,#0FAH
MOV A,DJS
MOV COM,A
LCALL LCDWRITE
SETB ET1
SETB TR1
LCALL AD_DATA
LCALL ZH
RET
;***********DONG TAI
PDZZ: MOV A,R3
MOV R4,A
MOV A,R2
MOV R5,A
CLR C
MOV A,LQ1
XCH A,R3
SUBB A,R3
MOV A,HQ1
XCH A,R2
SUBB A,R2
JNC PDFF
RET
PDFF: CLR C
MOV A,R4
MOV R3,A
MOV A,LH1
XCH A,R3
SUBB A,R3
MOV A,R5
MOV R2,A
MOV A,HH1
XCH A,R2
SUBB A,R2
JC PINGHENG11
RET
PDZ11:MOV A,R4
MOV R3,A
MOV A,R5
MOV R2,A
CLR C
MOV A,LQ1
XCH A,R3
SUBB A,R3
MOV A,HQ1
XCH A,R2
SUBB A,R2
JNC PDF11
LCALL FZ1
LCALL LCDRESET
MOV START,#0F8H ;写入命令(11111000)
MOV COM,#80H ;设定显示位置
LCALL LCDWRITE
MOV START,#0FAH
LCALL HT
MOV L14,#1
MOV L11,#6
MOV DJS,#30H
CLR TR1
LCALL TING5S
RET
PDF11:CLR C
MOV A,R4
MOV R3,A
MOV A,LH1
XCH A,R3
SUBB A,R3
MOV A,R5
MOV R2,A
MOV A,HH1
XCH A,R2
SUBB A,R2
JC PINGHENG11
MOV START,#0F8H ;写入命令(11111000)
MOV COM,#80H ;设定显示位置
LCALL LCDWRITE
MOV START,#0FAH
LCALL QJ
LCALL ZZ1
MOV L14,#1
MOV L11,#6
MOV DJS,#30H
CLR TR1
LCALL TING5S
RET
PINGHENG11:
LCALL AD_DATA
LCALL ZH
MOV START,#0F8H ;写入命令(11111000)
MOV COM,#80H ;设定显示位置
LCALL LCDWRITE
MOV START,#0FAH
LCALL PING
PDZ22:MOV A,R3
MOV R4,A
MOV A,R2
MOV R5,A
CLR C
MOV A,LQ1
XCH A,R3
SUBB A,R3
MOV A,HQ1
XCH A,R2
SUBB A,R2
JNC PDF22
RET
PDF22:CLR C
MOV A,R4
MOV R3,A
MOV A,LH1
XCH A,R3
SUBB A,R3
MOV A,R5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -