Picsimlab es una serie de entrenadores para simular los microcontroladores de la familia Microchip y en concreto el 16F628, 16F877 y el 18F452.
Es muy intersante este programa y por eso lo quiero poner aqui.
Esta pet la cree hace poco y la aloje en el servidor.
picsimlab0.5.0.pet
Vamos a trabajar car con el y con Gputil, y vamos hacer varias simulaciones.
Tendremos que tener en cuenta los esquemas que como dije estan alojados en
/usr/share/picsim/lab/doc
Vamos a trabajar con el entranador o Board 1 a 4 Mhz segun vemos en en la imagen.
Bueno el esquema correspondiente a esta placa como vemos en en el directorio que esta mas arriba es el siguiente:
Tambien podemos ver que el pulsador S3 esta conectado a la patita RA4, con todo esto hacemos el siguiente codigo.
Tener en cuenta dejar un espacio al principio de __CONFIG por que si no da un error.
Aconsejo bajarselo el archivo como esta tal cual en el enlace mas abajo.
primero.asm
processor pic16f628a
include "p16f628a.inc"
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
org 0x00 ;
goto Inicio
org 0x05 ; Origen del codigo
Inicio
bsf STATUS,RP0 ; Pasamos a Banco 1
movlw b'11111110'
movwf TRISB ; Hacemos todo el puerto A entradas menos la patita RB0 salida
movlw b'11111' ; Se hace todo el puerto A entradas
movwf TRISA ; Se carga W en TRISA
bcf STATUS,RP0 ; Se pasa del Banco 1 al Banco 0
bcf PORTB,0 ; Volvemosa al Baanco 0
Bucle
btfss PORTA,4 ; Mira a ver si hemos pulsado S3 pulsador y si es asi apaga led
goto Apagar ; Si esta en 1 logico, se apaga el led
bsf PORTB,0 ; Si esta en 0 logico, se enciende el led
goto Bucle ; se verifica la condicion del Pulsador.-
Apagar
bcf PORTB,0 ; Se apagar el led
goto Bucle
end
Tenemos que tener instaldo Gputils que esta en este mismo blob.
Una vez bajado el archivo " primero.asm " yo lo que hize es colocarlo en el directorio de examples de picsim en : /usr/share/picsim/examples
y aqui creo un directorio /EJERCICIOS queando /usr/share/picsim/examples/EJERCICIOS.
Bueno una vez colocado este archivo ahi lo compilo de la siguiente forma:
gpasm -c primero.asm
Y entre los archivos que me salen sale uno del objeto primero.o y lo enlazo de la siguiente forma para crear el hexadecimal.
gplink -o primero.hex primero.o
Con esto ya hemos creado nuestro fichero Hex primero.hex
Nos saldra un mensaje parecido a este:
message: using default linker script: /usr/local/share/gputils/lkr/16f628_g.lkr
pero esto es normal.
Ahora solo lo que tenemos que cargar este hexadecimal en el simulador que estamos trabajando y en el directorio donde este nuestro archivo hex y apretamos en la placa del simulador el encendido mientras el interruptor PWR y veremos que se nos enciende el Led de RB0 segun el programa que le metimos y si apretamos el pusador RA4 pues el Led se nos apagara tal como lo habia programado .
Bueno pues aqui tenemos el entrenador funcionado y todo bajo Linux.
Teneis un monton de ejemplos en el entrenador pero yo ire poniendo mas.
Espero que os guste y si es asi dejeis vuestra opinion..... Nos vemos.

No hay comentarios:
Publicar un comentario