Академический Документы
Профессиональный Документы
Культура Документы
MCU
.END
J1:
SETB P2.1
AJMP J2
;DEACTIVATE BUZZER
J3:
J4:
CLR P3.0
POINT 1
CLR P1.0
AJMP J5
J6:
CLR P2.1
CLR P2.2
AJMP J5
J7:
J8:
CLR P3.1
POINT 2
CLR P1.1
AJMP J9
J10:
CLR P2.1
CLR P2.3
AJMP J9
J11:
J14:
CLR P2.1
CLR P2.4
AJMP J13
J15:
J18:
CLR P2.1
CLR P2.5
AJMP J17
POINT 1
2
3
4
.END
J1:
LCALL JJ1
;JNB DOESN'T HAVE A LONG RANGE, USING LCALL INSTEAD
AJMP CHECK1
J2:
LCALL JJ2
AJMP CHECK1
J3:
LCALL JJ3
AJMP CHECK1
J4:
LCALL JJ4
AJMP CHECK1
JJ1:
MOV A,#38H
ACALL COMMAND
ACALL DELAY
MOV A,#0EH
ACALL COMMAND
ACALL DELAY
MOV A,#01H
ACALL COMMAND
ACALL DELAY
MOV A,#81H ;80H...FORCE CURSOR TO THE BEGINNING OF FIRST LINE
ACALL COMMAND
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'B'
ACALL DATA
ACALL DELAY
MOV A,#'R'
ACALL DATA
ACALL DELAY
MOV A,#'E'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'C'
ACALL DATA
ACALL DELAY
MOV A,#'H'
ACALL DATA
ACALL DELAY
MOV A,#38H
ACALL COMMAND
ACALL DELAY
MOV A,#0EH
ACALL COMMAND
ACALL DELAY
MOV A,#01H
ACALL COMMAND
ACALL DELAY
MOV A,#81H
ACALL COMMAND
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'B'
ACALL DATA
ACALL DELAY
MOV A,#'R'
ACALL DATA
ACALL DELAY
MOV A,#'E'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'C'
ACALL DATA
ACALL DELAY
MOV A,#'H'
ACALL DATA
ACALL DELAY
MOV A,#0C1H
ACALL DATA
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'P'
ACALL DATA
ACALL DELAY
MOV A,#'O'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'T'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'2'
ACALL DATA
ACALL DELAY
RET
JJ3:
MOV A,#38H
ACALL COMMAND
ACALL DELAY
MOV A,#0EH
ACALL COMMAND
ACALL DELAY
MOV A,#01H
ACALL COMMAND
ACALL DELAY
MOV A,#81H
ACALL COMMAND
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'B'
ACALL DATA
ACALL DELAY
MOV A,#'R'
ACALL DATA
ACALL DELAY
MOV A,#'E'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'C'
ACALL DATA
ACALL DELAY
MOV A,#'H'
ACALL DATA
ACALL DELAY
MOV A,#0C1H
ACALL DATA
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'P'
ACALL DATA
ACALL DELAY
MOV A,#'O'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'T'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'3'
ACALL DATA
ACALL DELAY
RET
JJ4:
MOV A,#38H
ACALL COMMAND
ACALL DELAY
MOV A,#0EH
ACALL COMMAND
ACALL DELAY
MOV A,#01H
ACALL COMMAND
ACALL DELAY
MOV A,#81H
ACALL COMMAND
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'B'
ACALL DATA
ACALL DELAY
MOV A,#'R'
ACALL DATA
ACALL DELAY
MOV A,#'E'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'C'
ACALL DATA
ACALL DELAY
MOV A,#'H'
ACALL DATA
ACALL DELAY
MOV A,#0C1H
ACALL DATA
ACALL DELAY
MOV A,#'S'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'G'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'A'
ACALL DATA
ACALL DELAY
MOV A,#'L'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'P'
ACALL DATA
ACALL DELAY
MOV A,#'O'
ACALL DATA
ACALL DELAY
MOV A,#'I'
ACALL DATA
ACALL DELAY
MOV A,#'N'
ACALL DATA
ACALL DELAY
MOV A,#'T'
ACALL DATA
ACALL DELAY
MOV A,#' '
ACALL DATA
ACALL DELAY
MOV A,#'4'
ACALL DATA
ACALL DELAY
RET
COMMAND:MOV P1,A
CLR P2.5
CLR P2.6
SETB P2.7
CLR P2.7
RET
DATA: MOV P1,A
SETB P2.5
CLR P2.6
SETB P2.7
CLR P2.7
RET
DELAY:
MOV R1,#50H
L1:
MOV R2,#0FFH
L2:
DJNZ R2,L2
DJNZ R1,L1
RET
COLLISION AVOIDANCE PART 1(EXTERNAL MCU)
POINT 1-8 P1.0-P1.7
POINT A-D P2.0-P2.3
POINT A1-D1 P2.4-P2.7
RESET P3.0
BUZZER P3.1
.ORG 0000H
START:
MOV A,#0FFH ;SETTING ALL PORTS HIGH
MOV P1,A
MOV P2,A
MOV P3,A
RC:
J2:
J4:
J8:
J11:
J15:
J20:
J26:
J29:
J31:
J36:
J41:
.END
J1:
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
;DEACTIVATE BUZZER
1
2
3
4
5
6
8
7
A
B
C
HAS
HAS
HAS
HAS
HAS
HAS
HAS
HAS
HAS
HAS
HAS
BEEN
BEEN
BEEN
BEEN
BEEN
BEEN
BEEN
BEEN
BEEN
BEEN
BEEN
TRIGGERED
TRIGGERED
TRIGGERED
TRIGGERED
TRIGGERED
TRIGGERED
TRIGGERED
TRIGGERED
ACTIVATED
ACTIVATED
ACTIVATED
JH3:
JH5:
JH9:
JH13:
JH17:
JH24:
JH28:
JH30:
JH32:
JH37:
JH42:
AJMP
AJMP
AJMP
AJMP
AJMP
AJMP
AJMP
AJMP
AJMP
AJMP
AJMP
J3:
CLR P1.0
CLR P2.0
AJMP J4
J5:
CLR P1.1
;ACTIVATE POINT 2
CLR P2.0
;ACTIVATE POINT A
JNB P1.2,J6 ;CHECK IF POINT 3 HAS BEEN TRIGGERED
AJMP J8
J6:
CLR P1.2
;ACTIVATE POINT 3
JNB P1.3,J7 ;CHECK IF POINT 4 HAS BEEN TRIGGERED
AJMP J8
J7:
SETB
SETB
SETB
AJMP
J9:
CLR P1.2
;ACTIVATE POINT 3
CLR P2.1
;ACTIVATE POINT B
JNB P1.1,J10
;CHECK IF POINT 2 HAS BEEN TRIGGERED
AJMP J11
J10:
CLR P1.1
;ACTIVATE POINT 2
JNB P1.0,J12
;CHECK IF POINT 1 HAS BEEN TRIGGERED
AJMP J11
J12:
SETB
SETB
SETB
AJMP
J13:
CLR P1.3
;ACTIVATE POINT 4
CLR P2.1
;ACTIVATE POINT B
JNB P1.4,J14
;CHECK IF POINT 5 HAS BEEN TRIGGERED
AJMP J15
J14:
CLR P1.4
:ACTIVATE POINT 5
JNB P1.5,J16
;CHECK IF POINT 6 HAS BEEN TRIGGERED
AJMP J15
J16:
SETB
SETB
SETB
AJMP
J17:
CLR P1.4
;ACTIVATE POINT
CLR P2.2
;ACTIVATE POINT
JNB P1.3,J18
;CHECK IF
JNB P1.5,J19
;CHECK IF
AJMP J20
J22:
J3
J5
J9
J13
J17
J24
J28
J30
J32
J37
J42
P2.1
P1.2
P1.3
J8
P1.0
P1.1
P2.0
J11
P1.4
P1.5
P2.2
J15
;ACTIVATE POINT 1
;ACTIVATE POINT A
;DEACTIVATE POINT B
;DEACTIVATE POINT 3
;DEACTIVATE POINT 4
;DEACTIVATE POINT 2
;DEACTIVATE POINT 1
;DEACTIVATE POINT A
;DEACTIVATE POINT 5
;DEACTIVATE POINT 6
;DEACTIVATE POINT C
5
C
POINT 4 HAS BEEN TRIGGERED
POINT 6 HAS BEEN TRIGGERED
J18:
CLR P1.3
;ACTIVATE POINT 4
JNB P1.2,J21
;CHECK IF POINT 3 HAS BEEN ACTIVATED
AJMP J22
J19:
CLR P1.5
;ACTIVATE POINT 6
JNB P1.6,J23
;CHECK IF POINT 7 HAS BEEN TRIGGERED
AJMP J20
J21:
SETB
SETB
SETB
AJMP
J23:
CLR P1.6
SETB P2.2
SETB P1.4
SETB P1.5
SETB P2.3
AJMP 20
J24:
CLR P1.5
:ACTIVATE POINT 6
CLR P2.2
;ACTIVATE POINT C
JNB P1.6,J25
;CHECK IF POINT 7 HAS BEEN TRIGGERED
AJMP J26
J25:
CLR P1.6
;ACTIVATE POINT 7
JNB P1.7,J27
;CHECK IF POINT 8 HAS BEEN TRIGGERED
AJMP 26
J27:
SETB
SETB
SETB
AJMP
J28:
CLR P1.7
CLR P2.3
AJMP J29
;ACTIVATE POINT 8
;ACTIVATE POINT D
J30:
CLR P1.6
CLR P2.3
AJMP J31
;ACTIVATE POINT 7
;ACTIVATE POINT D
J32:
J34:
JNB P2.1,J33
JNB P2.2,J35
AJMP J36
J33:
CLR P3.1
CLR P2.4
CLR P2.5
AJMP J34
;ACTIVATE BUZZER
;ACTIVATE ELECTROMAGNETS A1 AND BI
J35:
CLR P3.1
CLR P2.4
CLR P2.5
CLR P2.6
AJMP J36
;ACTIVATE BUZZER
;ACTIVATE ELECTROMAGNETS A1, BI AND C1
J37:
J40:
JNB P2.2,J38
JNB P2.3,J39
AJMP J41
J38:
CLR P3.1
CLR P2.5
CLR P2.6
AJMP J40
P1.3
P1.2
P2.1
J22
;DEACTIVATE POINT 4
;DEACTIVATE POINT 3
;DEACTIVATE POINT B
P1.6
P1.7
P2.3
J26
;ACTIVATE POINT 7
;DEACTIVATE POINT
;DEACTIVATE POINT
;DEACTIVATE POINT
:DEACTIVATE POINT
C
5
6
D
;DEACTIVATE POINT 7
;DEACTIVATE POINT 8
;DEACTIVATE POINT D
J39:
CLR P3.1
CLR P2.5
CLR P2.6
CLR P2.7
AJMP J41
J42:
JNB P2.3,J43
AJMP RC
J43:
CLR P3.1
CLR P2.6
CLR P2.7
AJMP RC
;ACTIVATE BUZZER
;ACTIVATE ELECTROMAGNETS B1, C1 AND D1
SETB P1.1
SETB P1.2
AJMP J2
J3:
CLR P1.1
CLR P1.2
AJMP RC