SEMÁFORO CON PIC16F84A – TRES Revista ELEKTRONIKA Revista ELEKTRONIKA
English French German Italian Dutch Russian Portuguese Japanese Korean

Breaking

Revista ELEKTRONIKA

Post Top Ad

SEMÁFORO CON PIC16F84A – TRES


Buen en esta ocasión comenzaremos con algunas prácticas utilizando el MicroCode Studio esto para programación en BASIC para nuestros Microcontroladores PIC, en esta ocasión utilizando el ya conocido PIC16F84A.
El circuito realiza la simulación de un semáforo, con pocas instrucciones y pocos elementos.
A continuación se muestra el diagrama correspondiente al semáforo, el cual tiene su oscilador externo y es un cristal de cuarzo con sus debidos capacitores, una resistencia a Vcc de 10KΩ y los LEDs (2 Rojos, 2 Verdes y 2 Amarillos) con sus debidas resistencias de 330Ω. El circuito se alimenta a 5 volts.

A continuación muestro el código para un semáforo sencillo con muy pocos elementos y muy fácil de armar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
define OSC 4
TRISB=0
PORTB=0
VECES var Byte
LED_VERDE_1      var PORTB.0
LED_AMARILLO_1   var PORTB.1
LED_ROJO_1       var PORTB.2
LED_VERDE_2      var PORTB.3
LED_AMARILLO_2   var PORTB.4
LED_ROJO_2       var PORTB.5
SEMAFORO:
high LED_ROJO_2: high LED_VERDE_1
pause 9000
low LED_VERDE_1
GOSUB BLINK_LED_AMARILLO_1
low LED_ROJO_2: high LED_VERDE_2: high LED_ROJO_1
pause 9000
low LED_VERDE_2
GOSUB BLINK_LED_AMARILLO_2
low LED_ROJO_1
goto semaforo
BLINK_LED_AMARILLO_1:
FOR VECES = 0 TO 10
high LED_AMARILLO_1
pause 300
low LED_AMARILLO_1
pause 300
NEXT VECES
RETURN
BLINK_LED_AMARILLO_2:
FOR VECES = 0 TO 10
high LED_AMARILLO_2
pause 300
low LED_AMARILLO_2
pause 300
NEXT VECES
RETURN
end
Ahora la explicación del código:
En esta publicación se trato de mejorar la presentación de firmware uso de nombres más específicos, nuevas instrucciones de código, uso de subrutinas, entre otros puntos que veremos a continuación.
  • Las primeras líneas de código se utiliza lo que ya se venía manejando el oscilador, puertos de salida, los nombres a cada pin del puerto B de nuestro PIC.
  • Ahora se cuenta con una variable tipo BYTE llamada VECES que más adelante se utilizara para establecer la cantidad de ocasiones que encenderán y apagan los LEDs amarillos.
  • Se tiene la etiqueta SEMAFORO que indica el inicio nuestra rutina principal y en el cual se encuentra que pines se deben de activar con su debido tiempo para que se tenga visualmente en los LEDs una simulación de un par de semáforos. Básicamente se inicia encendiendo el LED verde del primer semáforo y el LED rojo del segundo, mientras el LED rojo permanece activo el otro semáforo enciende y apaga el LED amarillo, después enciende el LED verde del segundo semáforo y el primero pasa rojo y se repite bueno ya sabrán ustedes el comportamiento de los semáforos. Dentro de esta rutina nos encontramos con las siguientes instrucciones GOSUB BLINK_LED_AMARILLO1 y GOSUB BLINK_LED_AMARILLO2 que no son más que saltos a otras subrutinas.
  • Después se tienes dos subrutinas que son casi iguales, la diferencia entre ellos es el nombre de cada una y el pin o LED que activan, en el primer caso activa el LED correspondiente a un primer semáforo y por supuesto la otra activa el LED del segundo semáforo. Dentro de estas se encuentra unos ciclos FOR que son los encargados de indicar cuantas veces se repetirá el encendido y apagado de los LEDs amarillos, al terminar dicha cantidad se utiliza la instrucción RETURN para regresar al lugar de donde se ha llamado la subrutina.
  • Por último tenemos el fin de nuestro programa.
  • http://electronicayrobotica.wordpress.com/2012/12/29/semaforo-con-pic16f84a-tres/
ESTE ARTICULO ES SOLO INFORMATIVO Y TIENEN QUE CONSULTARLO Y VERLO EN SU WEB ORIGINAL.
© RESERVADOS TODOS LOS DERECHOS DEL AUTOR
Revista ELEKTRONIKA le informa que los datos de carácter personal que nos proporcionen rellenando el presente formulario serán tratados por G&C.Publicaciones como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que se solicita es para gestionar solo los comentarios que se realizan en este blog únicamente. Legitimación: Consentimiento del interesado. El hecho de que no introduzca los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no se pueda atender su solicitud. Como usuario e interesado le informamos que los datos que nos facilita estarán ubicados en los servidores de Google (proveedor de hosting de G&C.Publicaciones) dentro de la UE. Podrá ejercer sus derechos de acceso, rectificación, limitación y suprimir los datos en gyc.publicaciones@gmail.com así como el derecho a presentar una reclamación, la cual daremos tramite para ejercer derecho. Puede consultar la información adicional y detallada sobre Protección de Datos en nuestra página web: http://politicayterminoslegales.blogspot.com/p/reglamento-general-de-proteccion-de.html, así como consultar nuestra política de privacidad.

Post Top Ad

¡QUE NO SE PIERDAN TUS AMIGOS NINGUNA PUBLICACION!

MANDALES POR CORREO EL LINK DE ESTE BLOG PARA QUE NOS CONOZCAN

Share to Facebook Share to Twitter Email This Pin This Share on Google Plus Más...



POR FAVOR,
Acción "NO" permitida...

Copyright ©