1.- Crear un nuevo proyecto en MPLAB.
2.- Sin olvidar guardarlo en una carpeta dentro de c:\, con un nombre lo mas corto posible para evitar errores de ensamble.
3.- Una vez creado el proyecto dar clic en la opción Project de la barra de menús : Project/Add files to project. Una vez allí se le da nombre al código fuente guardándolo dentro de la carpeta de proyecto recien creada con la extensión .asm. ok una vez hecho esto se guarda el siguiente código. Nota: no olvidar que para guardar un codigo.asm se debe escribir al menos un comentario para que el programa permita guardar el archivo.
4.- Estas líneas de código en ensamblador realizan una función muy sencilla, su propósito es la configuración del PIC estableciendo los puertos como digitales y no como analógicos, ademas de la selección de la fuente de reloj que puede ser tanto interna como externa, todas las palabras de configuración se encuentran en la parte final del archivo Include del archivo cabecera P18F2550.
;Programa en ensablador para 18f2550 con la funcion de relog
list p=18f2550
include "P18F2550.INC"
;Bits de configuracion
CONFIG FOSC = INTOSCIO_EC ; Selecciona el relog interno del PIC
CONFIG MCLRE = OFF ; Desactivamos Master Clear
CONFIG BOR = OFF ; Desactivamos Brown-out
CONFIG PWRT = OFF ; Desactivamos Power-up Timer
CONFIG LVP = OFF
CONFIG XINST = OFF
CONFIG PBADEN = OFF
CONFIG CP0 = OFF
CONFIG CP1 = OFF
CONFIG CP2 = OFF
CONFIG CP3 = OFF
CONFIG CPB = OFF
CONFIG CPD = OFF
ORG 0x00 ; Siempre empieza en la direccion cero
goto inicio ; Saltamos al inicio del programa
ORG 0x50 ; Dejamos espacio para las interrupciones
inicio
movlw 0x0F ;Con un 0x0F en ADCON1 se programan
movwf ADCON1,0 ;todos los bits de PORTA y PORTB como digitales.
clrf TRISB,0 ;Puerta B se configura como salida
movlw b'00011111' ;Solo cambiamos los bits presentes
movwf TRISA,0 ;Puerta A se configura como entrada
repite
movf PORTA,W,0 ; Lee el Puerto A y lo pone en W
andlw 0x0F ; W = W(AND)00001111, dejamos solo 4 bits mas bajos
movwf PORTB,0 ; Saca por el Puerto B el registro W
goto repite ; Se repite para siempre
end ; Fin del programa fuente
ignoren el primer comentario en el programa de ejemplo, fue un error, no tiene nada que ver con lo que se intenta demostrar.
ResponderEliminarHola, estoy muy interesado en la programacion de este microcontrolador en el legunaje de asembler, me gustaria saber de donde podria obtener mas imformacion acerca de su programacion en ese legunaje... gracias!
ResponderEliminarmira casi todo viene la hoja de datos, pero esto me base en lo k alguien mas publico. solo k ya no recuerdo de donde tendria k buscarlo pero como pense k nadie iba a leer mi blog pues no puse el enace y lo publike [para tener una es[pecie de antologia de lo que hago sin perderlo.
Eliminarpero con esto [puedes epezar
Hola, porfavor no se si podrias ayudarme, de verdad estoy interesado en el tema que comente anteriormente!!
ResponderEliminarah ok disculpame si ire publicando lo que he hecho ya eche a andar el 4550 lo publicare
EliminarHola, esta muy bueno me ayudo con un problema q tenia =) gracias.
ResponderEliminarEstoy probando el mplab X IDE y me esta dando unos doleres de cabeza con la configuracion del dispositivo, si podes poner algo de eso para este mismo PIC te lo agradeceria
saludos =)
Este comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarPerezoso jja mentiras mira XC8 Compiler de microchip, pero pues yo prefiero assembler la verdad
ResponderEliminarHola amiga gracias me salvaste de un error que me estaba matando por varios dias pero no se a que se deba para que se le agrega uncoma cero despues de cada instruccion en las configuraciones??
ResponderEliminarExcelente tutorial
ResponderEliminarTendrás alguna comunicación del puerto USB en ensamblador?
ResponderEliminarlo tenia en c con c#, tendría que investigar con ensamblador y desempolvar
Eliminar