Sei sulla pagina 1di 20

Ejemplos de programacin en

ensamblador para el PIC16F628A


PARTE 1
PROCEDIMIENTO PARA USAR
MPLAB X IDE
1.- CREAR UNA CARPETA DE TRABAJO EN
CUALQUIER UNIDAD, DONDE LA CARPETA
NO DEBE ESTAR MUY ENRAIZADA.
2.- INGRESAR AL PROGRAMA MPLAB X IDE.
3.- CREAR UN PROYECTO.
4.- CREAR UN ARCHIVO TEXTO EN EL EDITOR.
5.- COMPILAR Y REVISAR LA SINTAXIS.
6.- REVISAR LA LGICA DEL CDIGO USANDO
EL
MODO DE SIMULACIN EN MPLAB X IDE.
7.- SIMULAR EL CIRCUITO LGICO EN PROTEUS.
Manejo de Puertos
Ejemplo 1: Escriba un programa en lenguaje ensamblador
para el PIC16F628A que realice la tarea de transferir
informacin del puerto A (5 bits: RA0,RA1,..,RA4 al puerto B.
Usar el bucle infinito con la instruccin GOTO.

Registro de Estado (STATUS):


Manejo de Puertos
Ejemplo 2: Escriba un programa en lenguaje
ensamblador para el PIC16F628A que realice la
tarea de transferir informacin del puerto B de los 4
bits de mas significancia, al puerto A de menos
significancia.
Manejo de Puertos
Ejemplo 3: Escriba un programa en lenguaje
ensamblador para el PIC16F628A que realice la
copia de un nmero binario ledo del puerto A (4
bits LSB) al puerto B (4 bits LSB, y 4 bits MSB).
Manejo de Puertos
Ejemplo 3a: Escriba el cdigo en ensamblador para el
PIC16F628A de manera que realice la suma de dos nmeros
de 4 bits cada uno, donde el primero ser definido en
programa y el segundo nmero ser ledo del puerto B, el
resultado de la suma ser enviado al puerto A. El primer
nmero tendr un valor constante igual a 16 decimal y el
segundo nmero ledo del puerto B podr ser programado
desde fuera del PIC.
Manejo de Puertos
Ejemplo 3b: Escriba un programa en lenguaje ensamblador
para el PIC16F628A que realice la tarea de transferir
informacin del puerto A (8 bits: RA0,RA1,..,RA7 al puerto B.
Configure el reloj interno de 4 MHz y el control de Master Clear
interno.
Manejo de Puertos
Ejercicio 1: Escriba el cdigo en ensamblador para el
PIC16F628A de manera que realice la suma de dos nmeros
de 4 bits contenidos y ledos del puerto B, para luego
mostrar su resultado en el puerto A.
Sugerencia: Utilice la funcin ANDLW para restringir el
nmero de 8
bits del Puerto B a 4 bits y realice el
intercambio de NIBBLES
(grupos de 4 bits) con la instruccin SWAPF
para luego
ordenarlos y efectuar posteriormente la
suma

NOTA: Elabore el diagrama de flujo para cada


ejercicio
REGISTRO F REGISTRO W -
ALU
Estructuras de Control
Condicionales
Estructuras de Control

Condicionales
Ejemplo 4: Escriba un programa en lenguaje ensamblador
para el PIC16F628A que realice la tarea de leer la
informacin del puerto B (4 bits LSB) configurado como
entrada digital. Si el bit 4 del puerto A es igual a 1,
entonces los 4 bits LSB del puerto B sern complementados
a 1 y el resultado ser enviado al puerto A de salida (4
LSB), caso contrario los 4 bits LSB del puerto B sern
transferidos tal cual al puerto A (4 LSB).
Estructuras de Control
Condicionales
Estructuras de Control
Las preguntasCondicionales
o condicionales en un
programa se realizas a nivel de bits con las
instrucciones BTFSC, BTFSS y con el apoyo del
registro STATUS.
Estructuras de Control
Condicionales
Estructuras de Control
Condicionales
Estructuras de Control

Condicionales
Ejemplo 5: Escriba un programa en lenguaje ensamblador
para el PIC16F628A que realice la tarea de leer
informacin del puerto B (5 bits: RB0-RB4) y comparar con
un nmero constante 9. Si el resultado de la comparacin
es mayor a 9, el led conectado al PIN RB5 se encender,
caso contrario el led conectado al PIN RB6 se encender. En
cualquiera de los casos uno de los dos leds quedar
encendido.
Estructuras de Control
Condicionales
Ejemplo 6: Escriba un programa en lenguaje ensamblador para el
PIC16F628A que realice la tarea de leer informacin del puerto A (5 bits: RA0-
RA4) y comparar con un nmero constante 15. Si el resultado de la
comparacin es igual a 15, el led conectado al PIN RB0 se encender, caso
contrario si el resultado de la comparacin es distinto de 15, el led conectado al
PIN RB1 se encender.

NOTA: En cualquiera de los casos uno de los dos leds quedar encendido .
Estructuras de Control
Condicionales
Ejercicio 2: Escriba el cdigo en ensamblador para el
PIC16F628A de manera que realice la comparacin de dos
nmeros de 5 bits ledos de los puertos A y B (5 bits de
menor significancia: 0 a 4). Si el nmero A (puerto A) es
mayor al nmero B (puerto B), el LED conectado al PIN RB7
deber encenderse, caso contrario deber apagarse.
Ejercicio 3: Escriba el cdigo en ensamblador para el
PIC16F628A de manera que seleccione entre dos nmeros
de 4 bits cada uno. La informacin de entrada de datos (4
bits por nmero) ser leda mediante el puerto B y la salida
de 4 bits ser devuelta mediante el puerto A (4 bits de
menos significancia: RA0-RA3). La lnea de control de
seleccin del selector ser el PIN RA4.

NOTA: Elabore el diagrama de flujo para cada


ejercicio
Fin de la presentacin

Potrebbero piacerti anche