Red de conocimiento informático - Material del sitio web - Principio de semáforo basado en 51 microcontroladores

Principio de semáforo basado en 51 microcontroladores

Tenga en cuenta que el puerto p0 es la luz roja este-oeste

; el puerto p1 es la luz amarilla este-oeste

; luz verde

;p3 luces rojas norte y sur

; p4 luces amarillas norte y sur

; p5 luces verdes norte y sur

>; la luz verde permanece durante 3 segundos; la luz amarilla parpadea 5 veces, 0,2 segundos cada vez, la roja permanece 4 segundos

ORG 0000H

LJMP MAIN

ORG 0030H

PRINCIPAL:MOV DPTR,#B1

MOV R2,#4

MOV A,#0H

F3:MOV R1,A

MOVC A,@A+DPTR

JNB ACC.4,SS1; Determine si la luz amarilla en dirección este-oeste está encendida. Si está encendida, transfiera al. programa de luz amarilla intermitente

JNB ACC.1,SS2; determine si la luz amarilla en la dirección norte-sur está encendida. Si está encendida, luego transfiérala al programa de luz amarilla intermitente.

MOV P1,A

LCALL DY1S

SS:MOV A,R1

INC A

DJNZ R2,F3

SJMP PRINCIPAL

SS1:MOV R0,#10

XH1:CPL ACC.4

MOV P1,A

LCALL DYS

DJNZ R0,XH1

SJMP SS

SS2:MOV R0,#10

XH2:CPL ACC. 1

MOV P1,A

LCALL DYS

DJNZ R0,XH2

SJMP SS

DY1S: MOV R5,#30

DLP0:MOV R6,#100

DLP1:MOV R7,#250 ;F=6MHZ

DLP2:DJNZ R7,DLP2 ;2X250X2uS=1ms

DJNZ R6,DLP1 ;1x100=0.1S

DJNZ R5,DLP0 ;0.1X30=3s

p>

RET

DYS:MOV R6,#200

DLP3:MOV R7,#250 ;F=6MHZ

DLP4:DJNZ R7, DLP4 ;2X250X1uS=500us=1ms

DJNZ R6,DLP3 ;1x200=0.2S

RET

B1: DB 11011110B,11101110B,11110011B,11110101B

p>

FIN