Vous êtes sur la page 1sur 27

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DE PODER POPULAR PARA LA DEFENSA


UNIVERSIDAD EXPERIMENTAL DE LA FUERZA ARMADA
UNEFA EXCELENCIA EDUCATIVA ABIERTA AL PUEBLO
UNEFA-CHUAO-CARACAS
CARRERA: INGENIERIA ELECTRONICA
ASIGNATURA: MICROPROCESADORES
SEMESTRE: 6TO

MANUAL TCNICO DEL PROYECTO


SEMFORO

PROFESOR:

ALUMNOS:

ING. SISTEMA

MEDINA, EDWARD

C.I:19.226.046

RIGAL, FRANK

BARRIENTOS , TONY

C.I:18.244.398

CARACAS, 6 DE DICIEMBRE DE 2014.

Contenido
Introduccin .......................................................................................................................................2
Funcionamiento ..........................................................................................................................3
Microcontrolador ...............................................................................................................................4
Caractersticas ....................................................................................................................................5
Arquitectura Harvard .....................................................................................................................6
Comportamiento de los semforos sin que ocurran llamados peatonales. ...................................8
Comportamiento de los semforos cuando ocurran llamados peatonales. ...................................8
ccs compiler (microcontrolador pic en c) .....................................................................................11
Explicacin del cdigo ..................................................................................................................13
Explicacin de las instrucciones enumeradas ...............................................................................18

Introduccin
El presente manual tcnico tiene como finalidad explicar cmo se elabora o se disea
electrnicamente un semforo vehicular, como es su comportamiento sin llamados
peatonales, como es su comportamiento ante llamados peatonales, que tipo de integrado se
utiliza para la construccin electrnica del semforo. Es importante aclarar que en este
informe se explica el diseo de un semforo electrnico a escala, para una maqueta no para
implementarlo en la realidad del trnsito vehicular, ya que para implementarlo en la
realidad habra que acoplar otra circuitera electrnica para luego acoplarla con la etapa de
potencia. Este manual se enfocara ms en explicar la parte de programacin del integrado
especficamente llamado microcontrolador, se explicara el algoritmo utilizado y el cdigo
utilizado para elaborar el programa del semforo. Tambin se explicara que leguaje de
programacin se utiliz para la elaboracin de dicho programa y que tipo de hardware se
utiliz, en este caso se utiliz un microcontrolador, adems ase explicara qu tipo de
microcontrolador se utiliz, a que marca pertenece o que compaa lo elabora. Adems se
explicara la circuitera electrnica para su elaboracin, que componentes electrnicos se
utilizaron adems del microcontrolador.
Los semforos, tambin conocido tcnicamente como seales de control de trfico, son
dispositivos de seales que se sitan en intersecciones viales y otros lugares para regular el
trfico, y por ende, el trnsito peatonal.
El auge de las seales de trfico est ligado al rpido aumento del trfico automovilstico.
El trfico urbano brot enormemente despus de que Henry Ford introdujo el modelo T en
1908 y lo comenz a producir en masa a partir de 1913. Por primera vez, los coches eran
baratos y lo suficientemente confiable para los desplazamientos en masa.
Funcionamiento
El tipo ms frecuente tiene tres luces de colores:

Rojo (1), para detenerse inmediatamente. En algunos pases, si el rojo est


parpadeando, acta como una seal de Alto/Pare/Stop.
Verde (2), para avanzar, puesto que no hay obstculos.
Amarillo o mbar (3) precaucin/ceda el paso.

Cuando pasa de verde a rojo primero hay una transicin donde se enciende el amarillo,
cuando pasa de rojo a verde no hay una transicin pasa directo.

Microcontrolador
Un microcontrolador (abreviado C, UC o MCU) es un circuito integrado programable,
capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques
funcionales, los cuales cumplen una tarea especfica. Un microcontrolador incluye en su
interior las tres principales unidades funcionales de una computadora: unidad central de
procesamiento, memoria y perifricos de entrada/salida.
Es un dispositivo altamente integrado de arquitectura Harvard destinado la automatizacin
y microcontrol, el cual se distinguen tres tipos de memoria de memoria: RAM (voltil),
ROM, EEPROM Y FLASH.
Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad
de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o
microvatios). Por lo general, tendr la capacidad para mantener la funcionalidad a la espera
de un evento como pulsar un botn o de otra interrupcin, el consumo de energa durante el
estado de reposo (reloj de la CPU y los perifricos de la mayora) puede ser slo nano
vatios, lo que hace que muchos de ellos muy adecuados para aplicaciones con batera de
larga duracin. Otros microcontroladores pueden servir para roles de rendimiento crtico,
donde sea necesario actuar ms como un procesador digital de seal (DSP), con
velocidades de reloj y consumo de energa ms altos.
Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que
pueda controlar algn proceso es necesario generar o crear y luego grabar en la EEPROM o
equivalente del microcontrolador algn programa, el cual puede ser escrito en lenguaje
ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa
pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema
numrico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador
cuando ste es alimentado con el voltaje adecuado y asociado a dispositivos analgicos y
discretos para su funcionamiento.

Caractersticas
Esquema de un microcontrolador. En esta figura, se ve el microcontrolador metido dentro
de un encapsulado de circuito integrado, con su procesador (CPU), Buses, Memoria,
perifricos, y puertos de entrada /salida. Fuera del encapsulado se ubican otros circuitos
para completar perifricos internos y dispositivos que pueden conectarse a los pines de
entrada/salida. Tambin se conectaran a los pines del encapsulado la alimentacin, masa,
circuito de completamiento del oscilador y otros circuitos necesarios para que el
microcontrolador pueda trabajar.
Los microcontroladores estn diseados para reducir el costo econmico y el consumo de energa
de un sistema en particular. Por eso el tamao de la unidad central de procesamiento, la cantidad de
memoria y los perifricos incluidos dependern de la aplicacin. El control de un electrodomstico
sencillo como una batidora utilizar un procesador muy pequeo (4 u 8 bits) porque sustituir a un
autmata finito. En cambio, un reproductor de msica y/o vdeo digital (MP3 o MP4) requerir de
un procesador de 32 bits o de 64 bits y de uno o ms cdecs de seal digital (audio y/o vdeo). El
control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un
microcontrolador de 16 bits, al igual que el sistema de control electrnico del motor en un
automvil.
Los microcontroladores representan la inmensa mayora de los chips de computadoras vendidos,
sobre un 50% son controladores "simples" y el restante corresponde a DSP ms especializados.
Mientras se pueden tener uno o dos microprocesadores de propsito general en casa (Ud. est
usando uno para esto), usted tiene distribuidos seguramente entre los electrodomsticos de su hogar
una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo
electrnico como automviles, lavadoras, hornos microondas, telfonos, etc.

Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que


es ms fcil convertirla en una computadora en funcionamiento, con un mnimo de circuitos
5

integrados externos de apoyo. La idea es que el circuito integrado se coloque en el


dispositivo, enganchado a la fuente de energa y de informacin que necesite, y eso es todo.
Un microprocesador tradicional no le permitir hacer esto, ya que espera que todas estas
tareas sean manejadas por otros chips. Hay que agregarle los mdulos de entrada y salida
(puertos) y la memoria para almacenamiento de informacin.
Un microcontrolador tpico tendr un generador de reloj integrado y una pequea cantidad
de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo
funcionar todo lo que se necesita son unos pocos programas de control y un cristal de
sincronizacin. Los microcontroladores disponen generalmente tambin de una gran
variedad de dispositivos de entrada/salida, como convertidor analgico digital,
temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN.
Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de
procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un
lenguaje de programacin integrado, como el lenguaje de programacin BASIC que se
utiliza bastante con este propsito.
Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido
a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de
entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de
cualquier otra circuitera.
Microcontrolador PIC
Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la divisin de
microelectrnica de General Instrument.
El nombre actual no es un acrnimo. En realidad, el nombre completo es PICmicro,
aunque generalmente se utiliza como Peripheral Interface Controller (controlador de
interfaz perifrico).

Arquitectura Harvard
La otra variante es la arquitectura Harvard, y por excelencia la utilizada en
supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este
caso, adems de la memoria, el procesador tiene los buses segregados, de modo que cada
tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.
La ventaja fundamental de esta arquitectura es que permite adecuar el tamao de los buses
a las caractersticas de cada tipo de memoria; adems, el procesador puede acceder a cada
una de ellas de forma simultnea, lo que se traduce en un aumento significativo de la
velocidad de procesamiento. Tpicamente los sistemas con esta arquitectura pueden ser dos
veces ms rpidos que sistemas similares con arquitectura Von Neumann.

La desventaja est en que consume muchas lneas de E/S del procesador; por lo que en
sistemas donde el procesador est ubicado en su propio encapsulado, solo se utiliza en
supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados,
donde usualmente la memoria de datos y programas comparten el mismo encapsulado que
el procesador, este inconveniente deja de ser un problema serio y es por ello que
encontramos la arquitectura Harvard en la mayora de los microcontroladores.
Por eso es importante recordar que un microcontrolador se puede configurar de diferentes
maneras, siempre y cuando se respete el tamao de memoria que este requiera para su
correcto funcionamiento.

Comportamiento de los semforos sin que ocurran llamados peatonales.

1
2

Peat
on 1

Peat
on 2

0
0
0
0

0
0
0
0

Semaforo 1
Luz
Luz
derech Cruc
a
e
0
0
0
0
1
0
1
1

Rojo

Verde

Sem
aforo
1
Sem
aforo
2
Sem
aforo
3
Sem
aforo
4

Semaforo 2
Luz
Luz
derec Cru
ha
ce
1
0
1
1
0
0
0
0

PIN_ PIN_B
B0
2

Amar Verde Cruce


illo
PIN_ PIN_
B1
B3

PIN_ PIN_B
B4
6

PIN_
B5

PIN_
B7

PIN_ PIN_B
B0
2

PIN_
B1

PIN_
B3

PIN_ PIN_B
B4
6

PIN_
B5

PIN_
B7

Semaforo 3
Luz
Luz
derec Cru
ha
ce
0
0
0
0
1
0
1
1

Semaforo 4
Luz
Luz
derec Cru
ha
ce
1
0
1
1
0
0
0
0

Tiem
po

45
45
45
45

Esta tabla realmente no es una tabla de la verdad, es importante mencionar que sirve de
gua para la secuencia de encendido de luces, el encendido de la luz roja representa el 0 y el
7

encendido de la luz verde representa el 1, no se tom en cuenta la luz amarilla porque


representa una transicin entre el cambio de la luz verde a la luz roja.

Comportamiento de los semforos sin que ocurran llamados peatonales.


En los primeros 45 segundos antes de ser apretado cualquiera de los dos botones de
llamado peatonal del lado horizontal, el semforo 1 que pertenece al lado vertical en
sentido norte a sur se encuentra en rojo y el semforo 3 que pertenece al lado vertical
sentido sur a norte se encuentra en rojo, en ese mismo instante de tiempo el semforo 2
que pertenece al lado horizontal sentido este a oeste y el semforo 4 que pertenece al lado
horizontal sentido oeste a este que estn en verde derecho. En los segundos 45 segundos
semforo 1 y semforo 3 estn en rojo, se mantiene encendido el verde derecho del
semforo 2 y 4 , adems se encienden el verde de cruce del semforo 2 y 4. Luego vienen
en 5 segundos donde el verde derecho y el verde de cruce del semforo 2 y semforo 4 se
apagan, en ese mismo instante se apagan las luces rojas del semforo 1 y 3, adems en ese
mismo instante se enciende la luz amarilla del semforo 2 y 4, y se enciende la luz verde
derecho del semforo1 y semforo 3. En los terceros 45 segundos se mantiene encendido el
verde derecho del semforo 1 y semforo3, se apaga la luz amarilla del semforo 2 y 4, en
ese mismo instante se enciende la luz roja del semforo 2 y 4. En los cuartos 45 segundos
se mantiene el verde derecho encendido del semforo 1 y semforo 3, adems se enciende
el verde de cruce del semforo 1 y 3, adems se mantiene encendida la luz roja del
semforo 2 y 4. Luego vienen 5 segundos donde la luz verde de derecha y la luz verde de
cruce del semforo 1 y 3 se apagan, para que en ese mismo instante se enciendan la luz
amarilla del semforo 1 y 3, en ese mismo instante se enciende la luz verde derecha del
semforo 2 y semforo 4. Despus se retorna a los primeros 45 segundos donde el semforo
1 y el semforo 3, se encuentran encendida la luz roja y en se mismo instante se mantiene
encendida la luz verde derecha del semforo 2 y semforo 4.

Comportamiento de los semforos cuando ocurran llamados peatonales.


En los primeros t segundos cuando es apretado cualquiera de los dos botones de llamado
peatonal del lado horizontal se recorta el tiempo de encendido a la mitad tiempo que le
corresponda a las luces verdes tanto de derecha como de cruce que pertenecen al semforo
2 y semforo 4; es decir que si en el primer tiempo hubo un llamado peatonal la condicin
nmero 1 que duraba 45 segundos se recorta a 23 segundos, y a la vez tambin se recorta el
tiempo de la condicin nmero 2 que tambin durara 23 segundos ms , para que pase
rpidamente a la condicin nmero 3 y puedan cruzar la calle o avenida los peatones del
lado horizontal. En los segundos t segundos cuando es apretado cualquiera de los dos
botones de llamado peatonal del lado horizontal se recorta el tiempo solamente de la
condicin nmero 2, para que pase rpidamente a la condicin nmero 3 y puedan cruzar la
8

calle o avenida los peatones del lado horizontal. Es de suponer que en el cambio entre la
condicin 2 a la 3 va haber un intervalo de transicin de 5 segundos donde se van
encender las luces amarillas del semforo 2 y 4 para que posteriormente el semforo 2 y 4
pasen a rojo encendido. En los terceros t segundos cuando es apretado cualquiera de los
dos botones de llamado peatonal del lado vertical se recorta el tiempo de encendido a la
mitad tiempo que le corresponda a las luces verdes tanto de derecha como de cruce que
pertenecen al semforo 1 y semforo 3; es decir que si en el tercer tiempo hubo un llamado
peatonal la condicin nmero 3 que duraba 45 segundos se recorta a 23 segundos, y a la
vez tambin se recorta tiempo de la condicin nmero 4 que tambin durara 23 segundos
ms, para que pase rpidamente retorne a la condicin nmero 1 y puedan cruzar la calle o
avenida los peatones del lado vertical. En los cuartos t segundos cuando es apretado
cualquiera de los dos botones de llamado peatonal del lado vertical se recorta el tiempo
solamente de la condicin nmero 4, para que pase rpidamente retorne a la condicin
nmero 1 y puedan cruzar la calle o avenida los peatones del lado vertical. Es de suponer
que en el cambio entre la condicin nmero 4 a la numero 1 va haber un intervalo de
transicin de 5 segundos donde van encender las luces amarillas del semforo 1 y 3 para
que posteriormente el semforo 1 y semforo 3 pasen a rojo encendido.
Condicin nmero 1
Se encuentran la luz roja encendida del semforo 1 y 3. En el semforo 2 y 4 solamente
estn encendidas las luces de verde derecho.
Condicin nmero 2
Se encuentran la luz roja encendida del semforo 1 y 3. En el semforo 2 y 4, estn
encendidas las luces de verde derecho y verde de cruce.
Condicin nmero 3
Se encuentran la luz roja encendida del semforo 2 y 4. En el semforo 1 y 3 solamente
estn encendidas las luces de verde derecho.
Condicin nmero 4
Se encuentran la luz roja encendida del semforo 2 y 4. En el semforo 1 y 3, estn
encendidas las luces de verde derecho y verde de cruce.

1
2

Peat
on 1

Peat
on 2

0
0
1
1

1
1
0
0

Semaforo 1
Luz
Luz
derech Cruc
a
e
0
0
0
0
1
0
1
1

Semaforo 2
Luz
Luz
derec Cru
ha
ce
1
0
1
1
0
0
0
0

Semaforo 3
Luz
Luz
derec Cru
ha
ce
0
0
0
0
1
0
1
1

Semaforo 4
Luz
Luz
derec Cru
ha
ce
1
0
1
1
0
0
0
0

Tiem
po

23
23
23
23
9

Rojo
Sem
aforo
1
Sem
aforo
2
Sem
aforo
3
Sem
aforo
4

Verde

PIN_ PIN_B
B0
2

Amar Verde Cruce


illo
PIN_ PIN_
B1
B3

PIN_ PIN_B
B4
6

PIN_
B5

PIN_
B7

PIN_ PIN_B
B0
2

PIN_
B1

PIN_
B3

PIN_ PIN_B
B4
6

PIN_
B5

PIN_
B7

10

ccs compiler (microcontrolador pic en c)


El compilador C de CCS ha sido desarrollado especficamente para PIC MCU, obteniendo
la mxima optimizacin del compilador con estos dispositivos. Dispone de una amplia
librera de funciones predefinidas, comandos de pre procesado y ejemplos. Adems,
suministra los controladores (drivers) para diversos dispositivos como LCD, convertidores
AD, relojes en tiempo real, EEPROM serie, etc. Las caractersticas generales de este
compilador
y ms informacin adicional se pueden encontrar en la direccin
http://www.ccsinfo.com.
Un compilador convierte el lenguaje de alto nivel a instrucciones en cdigo mquina; un
cross-compiler es un compilador que funciona en un procesador (normalmente en un PC)
diferente al procesador objeto. El compilador CCS C es un cross-compiler. Los programas
son editados y compilados a instrucciones maquina en el entorno de trabajo del PC, el
cdigo maquina puede ser cargado del PC al sistema PIC mediante el ICD 2 (o mediante
cualquier programador) y puede ser depurado (puntos de ruptura, pasa a paso, etc.) desde el
entorno de trabajo del PC.
El CCS C es C estndar y, adems de las directivas estndar (#include, etc), suministra unas
directivas especficas para PIC (# device, etc.); adems incluye funciones
especficas(bit_set(), etc.). Se suministra con un editor que permite controlar la sintaxis del
programa.
Este es un compilador en lenguaje C, para programacin de microcontroladores pic de
microchip. Alguna de las caractersticas que tiene:
Al compilar genera un cdigo mquina muy compacto y eficiente.
Se integra perfectamente con MPLAB y otros simuladores/emuladores como
PROTEUS para el proceso de depuracin.
Incluye una biblioteca muy completa de funciones precompiladas para el acceso al
hardware de los dispositivos (entrada/salida, temporizaciones, conversor A/D,
transmisin RS-232,bus I2C. Incorpora drivers para dispositivos externos, tales
como pantallas LCD, teclados numricos, memorias EEPROM, conversores A/D,
relojes en tiempo real, etc.(los drivers son pequeos programas que sirven de
interfaz entre los dispositivos hardware y nuestro programa).
Permite insertar partes de cdigo directamente en Ensamblador, manteniendo otras
partes del programa en C.

11

12

Explicacin del cdigo


#include <16f84A.h>// se declara el tipo de microcontrolador pic a utilizar
#fuses HS,NOWDT,NOPROTECT,NOPUT//se declara el tipo de oscilador a utilizar
//"HS(High Speed)"
//high speed (oscilador de alta velocidad)
//NOWDT Con esta instruccin se declara sin WatchDog Timer el PIC
//NOPROTECT Con esta instruccin se declara sin proteccin de memoria de programa el
PIC
//NOPUT Con esta instruccin se declara sin PowerUp Timer el PIC
#use delay (clock=16M,crystal=4M )// con esta instruccin se le indica al compilador que
//la frecuencia que llega a la CPU es de 16 MHz y que tenemos un cristal externo de 4MHz,
//por lo tanto el compilador configurara correctamente el PLL de la CPU para alcanzar los
//32Mhz
#define FOSC_HS 0xFFEE// Con esta instruccin se declara el cristal resonador de alta
//velocidad en RA6 / OSC2 / CLKOUT y RA7 / OSC1 / CLKIN
#use fast_io(a)// con esta instruccin se declara que el puerto a funcione como entrada o
//salida es decir que funcione de forma bidireccional
#use fast_io(b)//con esta instruccin se declara que el puerto b funcione como entrada o
//salida es decir que funcione de forma bidireccional
#byte port_b=0x06// con esta instruccin se declara el espacio que voy a utilizar dentro de
//la memoria RAM para el puerto b
int bandera;//esta instruccin se utiliz para declarar una variable global tipo entero de un
//bit que va a servir como bandera a
int banderb;//esta instruccin se utiliz para declarar una variable global tipo entero de un
//bit que va a servir como bandera b
#byte port_a=0x05//con esta instruccin se declara el espacio que voy a utilizar dentro de
//la memoria RAM para el puerto a
int32 contador;// con esta instruccin se declara una variable global llamada contador tipo
//entero de 32 bit que va a funcionar como un contador
void main()//con esta instruccin se declara funcin principal dentro del programa
{// con esta llave se declara el principio de la funcin principal

13

set_tris_a(0x00);
set_tris_b(0x00)//con esta instruccin se declara como salida los pines B0 al B7 del registro
//B o puerto B
port_a=0;
port_b=0;//con esta instruccin se recalca como salida los pines B0 al B7 del registro B O
//puerto b en caso de que haya un reinicio en el microcontrolador PIC
bandera=0;//con esta instruccin se inicializa la bandera igual a cero
banderb=0;//con esta instruccin se inicializa la bandera igual a cero

// Principio del ciclo


while(true) //esta instruccin se utiliza como una declaracin de control, las declaraciones
//de control son usadas para controlar el proceso de ejecucin del programa, el
//WHILE(true) se utiliza para repetir sentencias, y significa "mientras sea verdad". En este
caso est repitiendo en un bucle infinito toda la funcin del semforo.
{//esta llave se utiliza para indicar el inicio del while(true)
output_low(PIN_B2);// esta instruccin se declara el pin B2 en bajo
output_low(PIN_B1);// esta instruccin se declara el pin B1 en bajo
output_low(PIN_B4);// esta instruccin se declara el pin B4 en bajo
output_high(PIN_B6);//esta instruccin se declara el pin B6 en alto
output_high(PIN_B0);//esta instruccin se declara el pin B0 en alto

while (contador<45){//esta instruccin se usa para que el delay dure 45 veces


//se va repetir la instruccin mientras contador llegue a 45 veces, luego le sigue una
//llave que va indicar el inicio de la declaracin de control while (contador<45)
contador=contador+1;//esta instruccin utiliza para fijar el contador

delay_ms(775);//

1)

if ( (input(pin_A2)==1 || input(pin_A3)==1) && (bandera==0) ) {//

2)

14

contador=contador+23;//

3)

bandera=1;//

4)

banderb=1;//

5)

};//

6)

};//

7)

contador=0;//

8)

bandera=0;//

9)

port_a=0;//

10)

////// Seccion luz verde de cruce Semaforo 2


output_high(PIN_B7);//

11)

while (contador<45){ //

12)

contador=contador+1;//

13)

delay_ms(775);//

If ((input (pin_A2)
(bandera==0)){//15)

14)

==1

||

input(pin_A3)==1

||

banderb==1

contador=contador+23;//
17)

banderb=1;//

18)

};//

&&

16)

bandera=1;//

};//

19)

20)

contador=0;//

21)

bandera=0;//

22)

banderb=0;//

23)

////// Seccion luz amarilla Semaforo 2


output_low(PIN_B6);//

24)
15

output_low(PIN_B7);//

25)

output_high(PIN_B5);//

26)

output_low(PIN_B1);//

27)

while (contador<5){//

28)

contador=contador+1;//

29)

delay_ms(775);//
};//

30)
31)

contador=0;//

32)

output_low(PIN_B5);//

33)

output_low(PIN_B0);//

34)

output_high(PIN_B2);//

35)

output_high(PIN_B4);//

36)

output_low(PIN_B7);//

37)

//;
while (contador<45){//

38)

contador=contador+1;//

39)

delay_ms(775);//

40)

if ((input(pin_A0)==1 || input(pin_A1)==1 ) && (bandera==0) ) {//


contador=contador+23;//

42)

bandera=1;//

43)

banderb=1;//

44)

};//
};//

41)

45)
46)
16

contador=0;//

47)

port_a=0;//

48)

bandera=0;//

49)

////// Seccion luz verde de cruce Semaforo 1


output_high(PIN_B3);//

50)

while (contador<45){//

51)

contador=contador+1;//

52)

delay_ms(775);//

53)

if ((input(pin_A0)==1 || input(pin_A1)==1 || banderb==1 ) && (bandera==0) ) {//


54)
contador=contador+23;//

55)

bandera=1;//

56)

banderb=1;//

57)

}//

58)

};//

59)

contador=0;//

60)

bandera=0;//

61)

banderb=0;//

62)

////// Seccion luz amarilla Semaforo 1


output_low(PIN_B2);//

63)

output_low(PIN_B3);//

64)

output_high(PIN_B1);//

65)
17

while (contador<5){//

66)

contador=contador+1;//

67)

delay_ms(775);//

68)

};//

69)

contador=0;//

70)

} // fin while

71)

72)

Explicacin de las instrucciones enumeradas


1) esta instruccin realiza retardos del valor especificado en time. Dicho valor de tiempo es
En milisegundos y el rango es 0-65535.
2) esta instruccin significa si el pin_a2 es igual 1 o pin_a3 es igual a 1 y bandera es igual
a 0 el contador se va ejecutar el contador =contador +23, la llave que est en la instruccin
enumerada como dos, indica el inicio de la declaracin de control if que significa un si
condicional. Esta parte del cdigo es cuando hacen un llamado peatonal del lado horizontal
de tanto el semforo2 o el semforo 4 para que recorte el tiempo de encendido tanto de la
luz verde derecho como del verde de cruce.
3) esta instruccin
contador=contador+23

se

declara

para

que

contador acumulativo

funcione

el

4) esta instruccin se utiliza para que se levante la bandera: bandera=1 para que junto con
banderb=1 que se ejecuta en la lnea enumerada como 5 en este informe, para que
posteriormente se ejecute una sola l vez contador=contador+23.
5) esta instruccin se utiliza que se levante la bandera llamada banderb=1 y que junto con
la anterior bandera impiden que se ejecute una segunda vez el contador=contador+23
6) la llave que est en la instruccin enumerada como 6, indica el cierre de la declaracin
de control if ((input (pin_A2) ==1||input (pin_A3)==1)&&(bandera=0)) {.

18

7) la llave que est en la instruccin enumerada como 7, indica el cierre de la declaracin


de control while (contador<45) {.
8) esta instruccin indica el reinicio del contador en 0
9) esta instruccin indica el reinicio de la bandera llamada bandera
10) esta instruccin indica el reinicio del registro o puerto a en 0
11) esta instruccin indica el pin_b7 est en alto o sea se encuentra en encendido el verde
de cruce del semforo 2 y semforo4, significa que se est entrando a los segundos 45
segundos.
12) Con esta instruccin se indica o se fija el lmite del contador a 45, con el while
significa mientras contador sea menor a 45 se va a repetir procedimiento hasta que llegue a
45 veces, luego viene una llave que va indicar el comienzo el comienzo de la declaracin
de control.
13) esta instruccin se usa para que el delay dure 45, la funcin que cumple esta instruccin
es hacer la de conteo, con esta instruccin no se fija lmite, sino simplemente hace el
conteo acumulativo.
14) esta instruccin realiza retardos del valor especificado en time. Dicho valor de tiempo
es En milisegundos y el rango es 0-65535.
15) esta instruccin significa si en el pin A2 que funciona como entrada hay un uno o en
el pin A3 que funciona como entrada hay un uno o tambin hay un uno en la bandera
llamada banderb y hay un cero en la bandera llamada bandera. La bandera llamada banderb
se utiliza para cuando exista un llamado peatonal en la lnea enumerada como 2 se recorte
el tiempo en tanto en la primera condicin nmero 1 y condicin nmero 2. En total toda la
instruccin If ((input (pin_A2) ==1 || input (pin_A3) ==1 || banderb==1) &&
(bandera==0)) recortar el contador a casi la mitad.
16) esta instruccin est puesta nicamente para sumarle una sola vez las 23 veces al
contador de la lnea enumerada como trece
17) esta bandera llamada bandera que se iguala a 1 para indicar que se ejecute una sola vez
la suma de 23 veces al contador de la lnea enumerada como 13 en este inform.
18) esta bandera llamada banderb que se iguala a 1 para indicar que si la persona presiono
el botn la primera vez en condicin nmero uno tambin se descuente el contador en la
segunda condicin.
19) esta llave esta para indicar el cierre del condicional if de la lnea 15.
20) esta llave esta para indicar el cierre de la declaracin de control While de la lnea 12
21) en esta parte se coloca el contador en cero para utilizar la variable contador como
contador de nuevo.
19

22) con esta instruccin se coloca o carga la bandera llamada bandera con cero para que
pueda ser utilizada ms adelant en el cdigo
23) con esta instruccin se coloca o carga la bandera llamada banderb con cero para que
pueda ser utilizada ms adelant en el cdigo

24) en esta lnea de cdigo se coloca el PIN_B6 en bajo, es decir se apaga el PIN_B6
porque el semforo 2 y 4, va entrar en transicin entre el cambio de la condicin numero 2
a la numero3; es decir se va encender prximamente el rojo del semforo 2 y 4. Se est
apagando el verde derecho del semforo 2 y 4.
25) en esta lnea de cdigo se coloca el PIN_B7 en bajo, es decir se apaga el PIN_B7
porque el semforo 2 y 4, va entrar en transicin entre el cambio de la condicin numero 2
a la numero3; es decir se va encender prximamente el rojo del semforo 2 y 4. Se est
apagando el verde de cruce del semforo 2 y 4.
26) en esta lnea de cdigo se coloca el pin_B5 en alto, es decir se enciende el pin_B5
porque el semforo 2 y 4, va entrar en transicin entre el cambio de la condicin numero 2
a la numero3; es decir se va encender prximamente el rojo del semforo 2 y 4. Se est
encendiendo el amarillo del semforo 2 y 4.
27) esta lnea de cdigo est manteniendo el pin b1 en bajo o en estado de apagado porque
representa el amarillo del semforo 1 y 3, al cual no le corresponde estar encendido
todava.
28) esta instruccin se coloc para fijar el contador en 5, y ejecute el delay 5 veces, ya que
representa la transicin entre el cambio de la condicin nmero 2 a la numero 3 del
semforo 2 y 4; es decir representa al cambio de encendido luz verde derecha y cruce al
encendido de la luz roja del semforo 2 y 4. Significa mientras contador sea menor a 5 se
van ejecutar todas la lneas que estn entre llaves.
29) esta lnea de cdigo representa el contador acumulativo de la transicin de la condicin
nmero 2 a la condicin nmero 3 del semforo 2 y 4.
30) este delay est puesto para hacer un detenido especificado de 775 ms
31) esta llave representa el cierre del while de la lnea 28
32) en esta lnea de cdigo se igualo variable contador a cero para que pueda ser utilizada
como contador otra vez.
33) esta instruccin pone al pin_B5 en estado de apagado o en bajo porque representa al
amarillo del semforo 2 y 4, ya que los semforos 2y 4 entraron a la condicin nmero 3
donde el rojo del semforo 2 y 4 deben estar encendidos.

20

34) esta instruccin pone en bajo o en estado de apagado el pin_B0 porque representa a la
luz roja del semforo 1y3, adems se est en la condicin numero 3 donde nicamente
debe estar encendidas la luz verde derecha del semforo 1 y 3.
35) en esta parte del cdigo se pone en alto o en estado de encendido el pin_B2 porque
representa la luz verde derecho del semforo 1 y 3.
36)
37)
38)
39)
40)
41)
42)
43)
44)
45)
46)
47)
48)
49)
51)
52)
53)
54)
55)
56)
57)
58)
59) esta llave se coloca par indicar el cierre de la declaracin de control while de la lnea
enumera como 51 en este cdigo.

21

60) en esta lnea de cdigo se igualo variable contador a cero para que pueda ser utilizada
como contador otra vez.
61) en esta lnea de cdigo se iguala a cero la bandera llamada bandera, ya que ser
utilizada otra vez en la primera condicin llamado peatonal y en la segunda condicin de
llamado peatonal.
62) en esta lnea de cdigo se iguala a cero la bandera llamada banderb, ya que ser
utilizada otra vez en la primera condicin llamado peatonal y en la segunda condicin de
llamado peatonal.

63) esta instruccin pone en bajo el pin_b2 o en estado de apagado el pin_b2, ya que el
semforo 1 y semforo 3 va entrar en la transicin entre el cambio de la condicin numero
4 a la condicin a la condicin nmero 1, por lo tanto se apaga el verde derecho del
semforo 1 como el 3.

64) esta instruccin pone en bajo el pin_b3 o en estado de apagado el pin_b3, ya que el
semforo 1 y semforo 3 va entrar en la transicin entre el cambio de la condicin numero
4 a la condicin a la condicin nmero 1, por lo tanto se apaga el verde de cruce del
semforo 1 como el 3.

65) esta instruccin esta puesta para que este en alto pin_B2; es decir en estado de
encendido, ya que en esta parte del cdigo el pin_B2 representa a el amarillo del semforo
1 y 3. Porque el semforo 1 y 3 va pasar de la condicin numero 4 a la numero 1.
66) esta instruccin se coloc para fijar el contador en 5, y ejecute el delay 5 veces, ya que
representa la transicin entre el cambio de la condicin nmero 4 a la numero 1 del
semforo 1 y 3; es decir representa al cambio de encendido luz verde derecha y cruce al
encendido de la luz roja del semforo 1 y 3. Significa mientras contador sea menor a 5 se
van ejecutar todas la lneas que estn entre llaves.
67) este contador esta puesto para hacer el conteo de 5 veces que va durar el delay
ejecutndose,
68) este delay est puesto para hacer un detenido especificado de 775 ms.
69) esta llave indica el cierre de la declaracin de control while puesta en la lnea 66.
70) en esta parte del cdigo se coloca el contador=0 para que cuando retorne de nuevo al
primer contador empiece en cero.
71) esta llave indica el fin de la declaracin de control while (true).
72) est llave indica el fin de la funcin void main.
22

23

PROCESO PARA REALIZAR EL CIRCUITO IMPRESO (PCB)


Haciendo el diseo en proteus Isis:

Teniendo el diseo listo, pasando de isis a ares:

24

Mascara de componentes:

Circuito impreso PCB:


25

Luego se realizo el mtodo de planchado y se obtuvieron estos resultados:

26

Montaje de los componentes:

27

Vous aimerez peut-être aussi