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.

imgname

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.-

ejemplouno

Powered by

1 Comentario...
Dejar un comentario

cykavivimyv…

Eatable Arrangements Fruit In Orange County ...



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="">

(requerido)

(requerido)