Te voy a enseñar como iniciar un programa nuevo en esta plataforma. Primero debes cerrar proyecto, no importa si es la primera vez que lo abres, siempre es necesario hacer esto para que luego no tengas problemas con la ubicación de los archivos que genera el programa.
Ahora puedes crear un nuevo proyecto en la misma pestaña de proyect
A continuación debes llenar la información que te pide, el nombre del proyecto, la ubicación donde quieres guardarlo, seleccionas el PIC que quieres utilizar (en mi caso es el PIC16F628A). Y la velocidad del oscilador que utilizarás, yo utilizaré el oscilador interno del PIC que me permite un máximo de 4MHz.
Partiendo de "main:" lo primero que necesitas hacer es declarar los puertos el PIC que utilizarás como entradas o salidas. En el caso del PIC 16F628A, tenemos 2 puertos disponibles, el puerto A y B. El puerto A tiene unos detalles que hacen que sea mas sencillo trabajar con el puerto B como salidas.
El % sirve para expresar valores binarios en el programa, también se pueden escribir valores hexadecimales con el $, o simplemente escribir un número decimal para expresar el valor decimal.
El código TrisB = 0 ; TrisB = #00000000 significa que se están poniendo los 8 pines del puerto B como salidas. Si te sirve como truco, el 0 sería una O de Output y el 1 sería una I de Input.
Lo siguiente que se tiene que hacer antes de escribir lo que deseamos que haga el programa es dejar predeterminadamente el puerto B mandando un cero lógico o 0Volts.
El código PortB no se refiere a las entradas o salidas, sino a el estado del puerto B, en este caso lo hemos declarado como 0 para que todas las salidas estén en 0 volts y no vaya interferir con que nuestro programa empiece volviéndose loco (en este caso no es completamente necesario pero con otro tipo de programa mas complejo si es muy necesario).
Después de tener estos preparativos listos, ya podemos empezar con el programa. ¿Qué vamos a hacer? Un sencillo circuito de "blink" o dicho de otra forma, encender y apagar un led.
Hay que crear primero una nueva etiqueta que te funcione para identificar donde empieza lo mero bueno del programa.
Para encender nuestro led, lo que vamos a hacer es mandar un uno lógico por el pin 0 del puerto B. Esto se puede hacer de diferentes maneras, el código PortB.0 actúa solamente en el pin 0 o bien puedes escribir PortB = 000001 o también la combinación en decimal PortB = 1. Todo depende de como te sientas mas cómodo trabajando.
Ahora, el propósito del programa es prender y apagar el led, ya que está encendido ahora tenemos que apagarlo usando el mísmo código pero poniendo el pin 0 del puerto B en 0.
Ya está el código listo para prender y apagar el led pero aun hay que afinar algunos detalles. La velocidad con la que trabaja el oscilador interno del microcontrolador es de 4MHz, eso significa que cada línea se ejecuta a una velocidad de 0.25 microsegundos y no alcanzaremos nada. Por eso hay que poner un retardo que permita hacer que el pin dure un segundo (o el tiempo que tu desees o necesites) encendido y otro segundo apagado.
El código Delay_ms() te permite hacer un retardo de determinado tiempo en milisegundos (1000ms = 1seg). Lo que hace este código es literalmente nada durante un segundo.
Algo le falta a este programa... Es verdad, este programa solo se ejecutará una vez y terminará, eso significa que solo verás que el led se enciende y se apaga.
El código GOTO te permite ir hacia la posición de una etiqueta. Lo que hace nuestro programa ahora es mandar 5Volts por el pin 0, no hacer nada mas durante un segundo, mandar 0Volts por el pin 0, no hacer nada durante un segundo, volver a la etiqueta Programa y por lo tanto repetir el proceso durante un tiempo indefinido.
Si has trabajado alguna vez con el lenguaje ensamblador sabrás que calcular un retardo genera algunas líneas de código, suponiendo que hacemos un programa mas largo que requiere usar varias veces el mismo retardo, llenaría la memoria del PIC. Para evitar esto y ahorrar memoria puedes hacer un sub programa que contenga el retardo y después llamarlo cuando lo necesites.
Para iniciar un sub programa solo hay que teclear el código "Sub Procedure NOMBREDESUBPROCESO", escribir el código y no olvidar poner End Sub. Para mandar a llamar este sub proceso solo hay que escribir su nombre y listo. Analiza un poco el código de la imagen de arriba verás lo sencillo que es.
Ya podemos compilar este programa para obtener el .hex que utilizan los PIC presionando en el botón de compilar o CTRL+F9.
Ahora viene lo interesante, ya que sabemos lo básico, podemos hacer el conteo del 0 a 9 en un display de 7 segmentos. Mikrobasic tiene una herramienta que se llama Seven Segment Editor, te permite dar clic en los diferentes leds del 7 segmentos y te arroja automaticamente la combinación decimal con la que prenderías ese display.
Vamos a hacer una pequeña modificación en el código para hacer este conteo del 0 al 9 con un display de 7 segmentos de cátodo común (tierra).
Como puedes ver, el numero 63 decimal es equivalente al 0 en el display. El 6 es equivalente a un 1 y así sucesivamente. Al contar hasta el 9 (PortB = 103), va a volver a comenzar desde cero. Nuevamente puedes compilar el programa para obtener el nuevo .hex y hacer la simulación en proteus. Si no tienes proteus aquí te va el link para que lo descargues e instales con un fácil vídeo tutorial DESCARGAR E INSTALAR PROTEUS 8.3 COMPLETO
Si quieres ver como queda la simulación en proteus y todo esto explicado con una melodiosa voz, te invito a ver el siguiente vídeo:
Ingenio Express: Mikrobasic Para Principiantes (Código Base + Ejemplo Contador De 0 A 9) >>>>> Download Now
ResponderBorrar>>>>> Download Full
Ingenio Express: Mikrobasic Para Principiantes (Código Base + Ejemplo Contador De 0 A 9) >>>>> Download LINK
>>>>> Download Now
Ingenio Express: Mikrobasic Para Principiantes (Código Base + Ejemplo Contador De 0 A 9) >>>>> Download Full
>>>>> Download LINK L9