Professional Documents
Culture Documents
PRCTICA
1
Objetivo
En esta primera prctica se introduce el funcionamiento y estructura de los
microcontroladores, as como el entorno de desarrollo MPLAB IDE y la
estructura bsica de un programa en ensamblador del PIC16F876. Los objetivos
generales que se persiguen son:
PRCTICA 1
Teora
Introduccin a los microcontroladores
A mediados de 2002 se super la impresionante cifra de 1000 millones de
procesadores utilizados en la fabricacin de computadores. Pero esta
cantidad slo abarca entorno al 2% de los sistemas de computacin; el 98%
restantes son procesadores empotrados (entre los que se encuentran los
microcontroladores).
Un microcontrolador (conocido en ingls por las siglas MCU) es un sistema
electrnico que tiene como finalidad controlar el funcionamiento de ciertos
dispositivos externos, como sensores, teclados, pantallas, interruptores, etc. Est
compuesto por un procesador o ncleo de ejecucin, memoria para
almacenamiento de datos e instrucciones y otros mdulos que permiten la
comunicacin con los dispositivos que ha de controlar, todo ello integrado
dentro de un mismo circuito integrado. La capacidad de procesamiento de
estos sistemas es muy inferior a la de un procesador de propsito general; sin
embargo son muy baratos y tienen un tamao muy reducido, lo que los hace
ideales para ser insertados en multitud de mquinas y equipos, incrementando
sus prestaciones.
Los microcontroladores se programan, al igual que los procesadores de
propsito general, pero "una nica vez". Es decir, a diferencia de los
computadores, los microcontroladores ejecutan una nica aplicacin, que es
la que realiza las acciones necesarias para el control de la mquina donde ha
sido insertado.
Existen ms de medio centenar de prestigiosos fabricantes de
microcontroladores, y cada uno oferta una gran variedad de modelos
potenciando en algunos las capacidades de memoria, en otros la velocidad
de trabajo, en otros la potencia de los recursos auxiliares, etc.
Entre los campos de aplicacin se encuentran: electrodomsticos, electrnica
de consumo, automocin, maquinaria industrial, etc.
La empresa americana Arizona Microchip (www.microchip.com) fabrica los
microcontroladores PIC, que han tenido un extraordinario xito en todo el
mundo. Actualmente es una de las empresas con mayor volumen de venta de
microcontroladores.
Cada
fabricante
microcontroladores:
aporta
los
siguientes
documentos
para
sus
Arquitectura Harvard
Los PIC utilizan la arquitectura Harvard, segn muestra la siguiente figura:
Bus de
direcciones
Memoria
Bus de
de
instrucciones
instrucciones
Unidad de
control
Procesador
Bus de
direcciones
Bus de
datos
Memoria
de
datos
Unidad de
proceso
PRCTICA 1
Registro de estado (STATUS): de 8 bits, los ltimos tres almacenan los bits Z
(indica si el resultado es 0), DC (indican si ha habido un acarreo al operar
los 4 bits menos significativos de los datos), y C (indica un acarreo al operar
con los 8 bits del dato)
Lenguaje ensamblador
Entre las instrucciones (35 en total) del lenguaje ensamblador del PIC16F876
podemos encontrar:
PRCTICA 1
Inicio movf
addwf
movwf
goto
p=16F876
0x05
20h,0
21h,0
22h
Inicio
END
Constantes numricas
El ensamblador MPASM soporta los sistemas de numeracin decimal, binario,
octal y hexadecimal. La siguiente tabla muestra la forma de representar los
nmeros segn el sistema de numeracin utilizado.
TIPO
Decimal
Binario
Octal
Hexadecimal
SINTAXIS
D'<cantidad>'
d'<cantidad>'
. <cantidad>
B'<cantidad>'
b'<cantidad>'
O'<cantidad>'
o'<cantidad>'
H'<cantidad>'
h'<cantidad>'
0x<cantidad>
<cantidad>H
<cantidad>h
EJEMPLO
movlw D'109'
movlw d'109'
movlw .109
movlw B'11000101'
movlw b'11000101'
movlw O'155'
movlw o'155'
movlw H'6D'
movlw h'6D'
movlw 0x6D
movlw 6DH
movlw 6Dh
PRCTICA 1
CONSTANTE
Dato
Direccin de instruccin
Direccin de dato
N DE BITS
8
13
9
RANGO
[00h,FFh]
[0000h, 1FFFh]
[000h,1FFh]
PRCTICA 1. Ejercicios
E1: El microcontrolador PIC16F876
Responde las siguientes preguntas sobre las caractersticas bsicas del
PIC16F876
1) Por qu la memoria de instrucciones es de tipo Flash y no RAM?
2) Cul es el tamao de una instruccin?
3) Cul es el tamao del contador de programa?
4) Con qu nombre se conoce al registro acumulador?
5) Qu instrucciones del PIC16F876 no llevan argumentos?
6) Cules llevan slo uno? Qu representa ese argumento?
7) Cules llevan dos? Qu indica el segundo argumento en estos casos?
8) Qu hace la instruccin goto?
EJEMPLO
Var = 0
CDIGO ENSAMBLADOR
Var = Var + 1
Var = Var - 1
PRCTICA 1
p=16F876
0x05
movlw
subwf
movlw
movwf
goto
movf
movwf
goto
END
h'190'
h'021',0
.290
h'022'
0Ch
h'020',0
h'022'
b'0101'
10
p=16F876
0x05
h'022'
15h
h'021'
h'020'
Inicio