Sunteți pe pagina 1din 4

INSTRUCCIONES BASICAS EN ENSAMBLADOR

El lenguaje ensamblador básicamente cuenta con 35 instrucciones o comandos, los


cuales es de vital importancia aprenderlos en detalle, con el fin de lograr una
programación fluida y que contenga el menor numero de errores o bugs posible.

Instrucciones de Operación,

ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
INCF
INCFSZ
IORWF
MOVF
MOVWF
NOP
RLF
RRF
SUBWF
SWAPF
XORWF

Operaciones orientadas a bits,

BCF
BSF
BTFSC
BTFSS

Operaciones literales y de control,

ADDLW
ANDLW
CALL
CLRWDT
GOTO
IORLW
MOVLW
RETFIE
RETLW
RETURN
SLEEP
SUBLW
XORLW

En el primer programa para encender y apagar un led, observamos en la parte


principal del programa instrucciones orientadas al manejo de bits, como las
instrucciones BSF y BCF, con estas dos instrucciones podemos modificar el estado
lógico de un puerto o pin del microcontrolador.

BSF, permite colocar un estado alto (5v) en el puerto del pic.


BCF, permite colocar un estado bajo (0v) en el puerto del pic.

Si observaron bien el circuito de prueba del pic, el led esta conectado con una
resistencia de 220 ohmios hacia positivo a través de su ánodo, y el cátodo esta
conectado al puerto del pic, con esta configuración el led se enciende cuando recibe
un estado bajo desde el pic (0), osea cuando el programa ejecuta la instrucción BCF,
y hará la operación contraria cuando el programa ejecute el comando BSF (5v).

Una vez seleccionado el pic con el que se va a trabaja aparecerá en la sección de Code Explorer la
carpeta con sus características de operación obteniendo información cuando se abre la carpeta del
pic seleccionado esto es aplicable para todos.

Device 16F877A
Device 16F84A
Device 18F2550


Configuración del oscilador: Para operar con un oscilador externo se utiliza el
comando XTAL=x, siendo x el rango de trabajo del oscilador por ejemplo:

XTAL=4 ; Oscilador de 4 MHZ


XTAL=8 ; Oscilador de 8 MHZ

Definición de salidas: Se utiliza el comando Symbol precedido del alias y del pin del
pic a utilizar por ejemplo:

Symbol LED=PORTD.0
Symbol SW1 = PORTB.4

Retardos: Esta función realiza retardos según el número de ciclos de instrucción especificado en
los valores posibles van desde 1 a 255. Un ciclo de instrucción es igual a cuatro periodos de reloj.

DelayMS time
Esta función realiza retardos del valor especificado en time. Dicho valor de tiempo es en
milisegundos y el rango es 0-65535 sirve para obtener retardos más largos así como retardos
‘variables’.

Ejemplos:

DelayMS 500 ' Esperar 500ms


DelayMS 1000 ' Esperar 1segundo

DelayUS time

Esta función realiza retardos del valor especificado en time. Dicho valor es en microsegundos y el
rango va desde 0 a 65535.

Ejemplos:

DelayUS 500 ' Esperar 500Us


DelayUS 1000 ' Esperar 1ms

High: Sirve para colocar el pin a uno lógico es decir en ON, ejemplo:

High LED
High PORTD.0

LOW: Sirve para colocar el pin a uno cero lógicos es decir en OFF, Ejemplo:

Low LED
Low PORTD.0

GoTo: comando para crear un bucle cerrado y continuación del programa

Nuestro primer programa quedaria asi:


titiliar un led por el puerto D del pic 16f877A cada 500 msg

Device 16F877A
XTAL=4 ; Oscilador de 4 MHZ
Symbol LED=PORTD.0
INICIO:
High LED
DelayMS 500
Low LED
DelayMS 500
GoTo INICIO

Dejo en archivo adjunto simulacion en proteus y codigo en proton para los que
trabajan con pic basic pro les quedara facil para entrarnos con los pic de la familia 18f

S-ar putea să vă placă și