Documente Academic
Documente Profesional
Documente Cultură
Los semáforos son señales de control de tráfico que se sitúan en intersecciones viales y
otros lugares para regular el tráfico vehicular y, por ende, el tránsito peatonal.
Se debe Diseñar y desarrollar un programa utilizando el dsPIC30F4013 que emule el
funcionamiento de los semáforos del crucero vial que se muestra en la Figura.
En este crucero vial se tienen cuatro semáforos, dos para la avenida principal y dos para
la avenida secundaria. Ambas avenidas son de doble sentido, las vueltas son prohibidas
por lo que el recorrido solo puede ser recto.
Las siguientes condiciones describen el funcionamiento de los semáforos:
Mientras los semáforos S1 y S3 de la avenida principal, se encuentran en “siga” (verde),
los semáforos S2 y S4 de la avenida secundaria, se encontrarán en “alto” (rojo). Los
semáforos S2 y S4 se mantienen en rojo aun cuando los semáforos S1 y S3 cambien a
“preventivo” (amarillo). Cuando cambien a “alto” los semáforos S1 y S3, los semáforos
S2 y S4 estarán en “siga”, manteniéndose así mientras S1 y S3 pasen a “preventivo”.
Finalmente se repite el ciclo indefinidamente.
Asumiendo que el flujo vehicular de la avenida principal es mayor que el de la avenida
secundaria, se establece que el tiempo en verde de los semáforos S1 y S3 (de la avenida
principal) debe ser mayor al tiempo en verde de los semáforos S2 y S4 (de la avenida
secundaria).
Del análisis del funcionamiento de los semáforos de un crucero se obtiene la Tabla
Diagrama de flujo.
El diagrama de flujo es una representación gráfica de un proceso. Ofrece una descripción
visual de las actividades implicadas en un proceso, mostrando la relación secuencial
ente ellas.
Programación:
.equ __33fj12G202,1
.include "p33fj12MC202.inc"
;******************************************************
;..............................................................................
.equ cont,#0x0810
.equ cont1,#0x0812
.global aa
.global bb
.global __reset
.global _main
.global _tiempo
.section .text
;-------------Programa principal--------------
__reset:
goto _main
.org 100
_main:
mov #0x0000,W0
mov W0,TRISB
CLR PORTB
MOV #0xffff,W0
;--------------------comienzo----------------
bucle:
MOV #0x0861,W1
MOV W1,LATB ; N1
MOV #0x08a2,W1
MOV #0x030c,W1
MOV #0x0514,W1
;subrutina de tiempo
_retardo1:
MOV #0x07ff,W6
MOV W6,cont
MOV W5,cont1
BRA NZ,AA
DEC cont
BRA NZ,BB
return
_retardo2:
MOV #0x03ff,W6
MOV W6,cont
MOV W5,cont1
BRA NZ,AAA
DEC cont
BRA NZ,BBB
return
.end
Simulación:
D1
+5v R2
100
LED-GREEN
D2
R3
R1 100
10k LED-YELLOW
D3
R4
100
LED-RED
D4
R5
100
LED-GREEN
D5
U1 R6
1 4
MCLR RB0/CN4/RP0/AN2/EMUD1/PGD1
20 5
VDDCORE RB1/CN5/RP1/AN3/EMUC1/PGC1 100
6 LED-YELLOW
RB2/CN6/RP2/AN4
7 D6
RB3/CN7/RP3/AN5
11
R7
RB4/CN1/RP4/SOSCI/EMUD3/PGD3
14
RB5/CN27/RP5/ASDA1 100
28 15 LED-RED
AVDD RB6/CN24/RP6/ASCL1
27 16
AVSS RB7/CN23/RP7/INT0
17
2
RB8/CN22/RP8/SCL1/PWM2H1/TCK
18
RB9/CN21/RP9/SDA1/PWM2L1/TDO D7
X1 RB10/CN16/RP10/PWM1H3/TDI
21 R8
CRYSTAL 2 22
RA0/CN2/VREF+/AN0/EMUD2/PGD2 RB11/CN15/RP11/PWM1L3/TMS
3 23 100
RA1/CN3/VREF-/AN1/EMUC2/PGC2 RB12/CN14/RP12/PWM1H2
1
9 24 LED-GREEN
10
RA2/CN30/CLKI/OSCI RB13/CN13/RP13/PWM1L2
25 D8
12
RA3/CN29/CLKO/OSCO RB14/CN12/RP14/PWM1H1
26
R9
RA4/CN0/T1CK/SOSCO/EMUC3/PGC3 RB15/CN11/RP15/PWM1L1
100
DSPIC33FJ12MC202 LED-YELLOW
D9
R10
100
LED-RED
D10
R11
100
LED-GREEN
D11
R12
100
LED-YELLOW
D12
R13
100
LED-RED