Red de conocimiento informático - Material del sitio web - Diseño de sistema de control de simulación de semáforo basado en microcontrolador

Diseño de sistema de control de simulación de semáforo basado en microcontrolador

;Programa de visualización de tubo digital LED de 2 dígitos: el puerto P0 está conectado al segmento del tubo digital y el puerto P2 está conectado a la broca del tubo digital.

El puerto P3 está conectado al teclado, el puerto P1 está conectado al diodo emisor de luz

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INT0P

ORG 000BH

LJMP T0INT

ORG 0013H

LJMP INT1P

ORG 001BH

LJMP CTC1

ORG 0100H

PRINCIPAL: LCALL CSHIH; inicialización

BUCLE: LCALL TONGX; LCALL H_BCD2; cálculo (1 bit HEX convertido a código BCD de 2 dígitos)

LCALL YIMA;Decodificación

LCALL LED4W

CLR 00H

JNB 00H, $

DJNZ R6,LOOP

MOV R6,#100

JNB 10H,LOOP1 ; Activar función especial K0

JB 10H, $

LOOP1: JNB 11H,LOOP2 ; Iniciar función especial K1

JB 11H,$

NOP

LOOP2: JNB 12H, LOOP3; Activar función especial K2

JB 12H,$

NOP

LOOP3: DJNZ TIME,LOOP

SETB 02H

BUCLE SJMP

TONGX: JB 01H,DONGX

JB 02H,HUANG1

MOV P1,#21H

SJMP TX_OUT

HUANG1: MOV P1,#22H

MOV TIME,#1

DJNZ R5,TX_OUT

MOV R5,200

CLR 02H

CPL 01H

MOV TIME,#15

SJMP TX_OUT

DONGX: JB 02H, HUANG2

MOV P1,#0CH

SJMP TX_OUT

HUANG2: MOV P1,#14H

TIEMPO DE MOVIMIENTO,#1

DJNZ R5,TX_OUT

MOV R5,200

CLR 02H

CPL 01H

MOV TIME,#15

TX_OUT: RET

LED4W: MOV A,XWEI

MOV B,#3

MUL AB

MOV DPTR,# LED4T

JMP @A+DPTR

LED4T: LJMP LD4W1

LJMP LD4W2

LJMP LD4W3

LJMP LD4W4

LD4W1: MOV LEDD,MLED1

MOV LEDW,#1

INC XWEI

SJMP LED4WE

LD4W2: MOV LEDD,MLED2

MOV LEDW,#2

INC XWEI

SJMP LED4WE

LD4W3: MOV LEDD,MLED3

MOV LEDW,#4

INC XWEI

SJMP LED4WE

LD4W4: MOV LEDD,MLED4

MOV LEDW,#8

MOV XWEI,#0

LED4WE: RET

YIMA: MOV R0,#BLED1 ;LED de cuatro dígitos

MOV R1,#MLED1

MOV R7,#2

MOV DPTR,#YIMTAB

YIMA1: MOV A,@R0

MOVC A,@A+DPTR

MOV @R1,A

INC R0

INC R1

DJNZ R7, YIMA1

RET

YIMTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4

DB 6DH,7DH, 07H ,7FH,6FH ;5,6,7,8,9

CSHIH: TIEMPO DE MOVIMIENTO,#15

MOV XWEI,#0

LEDD DE MOVIMIENTO , #0

MOV LEDW,#0

MOV R6,#100 ;1 segundo de retraso

MOV R5,#200 ;2 segundos de retraso

MOV P1,#21H

MOV 20H,#0

MOV 22H,#0

MOV TMOD,#61H ;T0 modo 1

MOV TTH0,#0D8H ;10ms

MOV TTL0,#0F0H

MOV TL0,TTL0< / p>

MOV TH0,TTH0

MOV TL1,#0FFH

MOV TH1,#0FFH

MOV IE,#8FH

SETB TR0

SETB TR1

MOV BLED1,#0

MOV BLED2,#0

MOV MLED3,#0

MOV MLED4,#0

RET

H_BCD2: MOV A,TIME

MOV B,#10

DIV AB

MOV BLED2,A

MOV BLED1,B

MOV MLED3,#0

MOV MLED4,#0

RET

T0INT: MOV TL0,TTL0

MOV TH0,TTH0

SETB 00H

RETI

p>

INT0P: CPL 10H

SETB P1.2

CLR P1.1

CLR P1.0

SETB P1.5

CLR P1.4

CLR P1.3

RETI

INT1P: CPL 11H

CLR P1.2

CLR P1.1

SETB P1.0

SETB P1.5

CLR P1.4

CLR P1.3

RETI

CTC1: CPL 12H

MOV P1,#0CH

RETI

BIAOZ DATA 20H; Bandera: .0 está programado para llegar.

DATOS XWEI 60H; dígitos de visualización, 4 dígitos: 0~3

DATOS TTL0 61H

DATOS TTH0 62H

DATOS DE HORA 66H ;Tiempo de cuenta regresiva

DATOS BLED1 74H ;Datos en pantalla BCD

DATOS BLED2 75H

DATOS BLED3 76H

DATOS BLED4 77H

MLED1 DATA 78H; decodificación de datos en pantalla

MLED2 DATA 79H

MLED3 DATA 7AH

MLED4 DATA 7BH

LEDD EQU P0; segmento del tubo digital

LEDW EQU P2; posición del tubo digital

FIN