Programar en Proton Compiler (3º parte)
Ya copiaron el código en el compilador? muy bien entonces vamos a ver que significa cada linea de este pequeño programa.
Como primera observación vamos a notar que al copiar nuestro código vemos lo siguiente en el Code Explorer, esta es una barra de exploración donde podemos ver el árbol de nuestro código, es muy útil ya que el nombre del pic que aparece arriba como nombre de carpeta es el que nosotros hemos indicado en el código y si presionamos el “+” de esta carpeta podemos ver los registros de este micro.-
además vemos que se han agregado otros nombres al code explorer como son XTAL, LED y main que justamente son directivas que ha enviado nuestro código al compilador para saber que cosas y nombres vamos a usar.
Pues bien lo primero que tenemos es:
Device = 16F84A ’ para decirle al compilador que pic usaremos
XTAL 4 ’ vamos a usar un cristal de 4 MHZ y vamos a lo siguiente:
Aqui usamos Symbol para ponerle un alias al bit 1 del puerto B entonces la sintaxis sería:
Syntax
SYMBOL nombre { = } valor
En nuestro caso queda como sigue
Symbol LED = PORTB.1 Que significa esto? ahora nuestro PORTB.1 pasa a llamarse LED con esto logramos mejor entendimiento para nuestro programa ya que cuando tengamos que activar PORTB.1 (osea el bit 1 del PORTB) de ahora en mas nos referimos a LED
vamos con lo que sigue
TRISB.1 = 0 ‘puerto B.1 como salida
PORTB = 0 ’ iniciamos todo el puerto B apagado TRISB es un registro de dirección de datos de nuestro pic, con esto indicamos que pines tienen que ser de salida y que pines serán de entrada, en nuestro caso vamos a encender un LED por eso debemos configurar el pin donde se conecte el LED como salida para que encienda.
Para eso hemos puesto TRISB.1 que quiere decir que el bit 1 del PORTB será salida, osea el pin 7 de nuestro microcontrolador.-
PORTB=0 le está indicando al compilador que todo el PORTB arrancará en “0” osea apagado.-
Lo siguiente que podemos ver es:
DelayMS 30 como su nombre lo indica es un DELAY osea una pausa en MS (milisegundos) que en este caso es 30milisegundos
Seguimos y nos encontramos con la etiqueta main:
main:
High LED ’ encendemos el LED
DelayMS 500 ‘esperamos 1/2 segundo
Low LED ’ apagamos el Led
DelayMS 500 ‘esperamos 1/2 segundo
GoTo main ‘volvemos a la etiqueta main
End Aqui tenemos nuestro programa, que hace que se active el LED conectado a la patita 7 de nuestro pic
High LED decimos que ponga en alto (1) a LED, que como dijimos mas arriba es el bit 1 del PORTB
luego tenemos la pausa
DelayMS 500 aqui hacemos un delayms de 500 milisegundos que es 1/2 segundo, hasta aqui mantenemos el LED encendido por 1/2 segundo
luego viene
Low LED con Low enviamos un “0” a LED, por lo tanto el PORTB1 se apaga
luego otro
DelayMS 500 hacemos una pequeña pausa nuevamente de 1/2 con lo que mantenemos apagado el LED por este tiempo
y finalmente encontramos
GoTo main donde le decimos que vuelva a la etiqueta main:
que a pasado hasta aqui? podemos decir que el led se encendio por 1/2 segundo y luego se apago por 1/2 segundo al encontrarse con GoTo comenzó de nuevo en main y así sucesivamente en un loop infinito por lo que si armamos el circuito logramos ver que enciende cada 1/2 segundo.-
Este programita es por demás sencillo, pero es el comienzo.-
en el próximo post otro ejemplo agregando mas cosas, pueden ver el circuito que se utiliza para este ejemplo en la siguiente imagen.-
Powered by MightyAdsense
1 Comentario...
Dejar un comentario
cykavivimyv…
Eatable Arrangements Fruit In Orange County ...
Por cykavivimyv el 21/08/2009 7:40 pm
Dejar un comentario
Los saltos de linea son automaticos, las direcciones de e-mail nunca seran mostradas, HTML esta permitido:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">