Академический Документы
Профессиональный Документы
Культура Документы
Microcontroladores y DSPs
Prctica 1
Equipo 8
Microcontroladores PIC18
Profesor: M. C. Nicols Quiroz Hernndez
Materia: Microcontroladores y DSPs
Alumnos:
Septiembre 2015
Prctica 1
Microcontroladores y DSPs
Objetivos
Identificar las caractersticas de los microcontroladores (uC) PIC de la familia
PIC18.
Identificar los pines del PIC18F4550.
Analizar el funcionamiento de los puertos, oscilador y reset.
Conectar el circuito de reset (MClr) del PIC.
Identificar el software MPLAB, para realizar un programa en lenguaje ensamblador.
Realizar un programa en lenguaje ensamblador para sumar dos datos de 4 bits
(Puerto B) y mostrar el resultado en 5 leds conectados en puerto D.
Realizar el algoritmo del punto anterior.
Realizar la simulacin del cdigo en ensamblador.
Simular en el software Proteus el circuito completo.
Programar el microcontrolador (Pickit2, ICD2, Master-Pro, etc.).
Probar el programa para obtener los resultados.
Introduccin
Como primera prctica se dio la tarea de hacer un sumador de 4 bits, en un
microcontrolador, especficamente el PIC18F4550. Las entradas provienen de un Deep
switch, es decir los nmeros a ser sumados y las salidas que representan la suma, sern
leds que encendern cuando su valor sea uno y estn apagadas en cero.
Por lo que lo primero que se tuvo que hacer fue conocer de forma general la estructura
interna del microcontrolador seleccionado, sus pines, osciladores y memoria.
Llevar a cabo el sumador ser posible mediante el desarrollo de un cdigo en lenguaje
ensamblador, desarrollado en el software MPLAB v8.92, el cual luego de comprobarlo en
el mismo programa, se obtendr su archivo hexadecimal, para implementarlo en Proteus
para as tener una simulacin ms completa ya a nivel componentes, en cuestin de la
conexin del micro con los leds y sus resistencias y as poder llevarlo despus al modelo
real. Ah el PIC y el resto de los elementos sern conectados en una tablilla de
experimentos, para despus pasar a probar cada uno de los casos posibles, es decir cada
suma de 4 bits, con dos entradas, sea posible. Una vez que obtuvimos los resultados que
de cada suma mediante el encendido y apagado de leds, el sumador estar listo.
Marco terico
Cdigo Ensamblador
Es un cdigo mnemnico de fcil comprensin para representar las secuencias de 0 y 1.
Escribir un programa en mnemnicos es ms sencillo, porque son una versin abreviada de
la operacin que realiza una instruccin. Adems de que es una alternativa de escribir
instrucciones en cdigo binario tambin conocido como cdigo mquina.
Prctica 1
Microcontroladores y DSPs
Microcontroladores
Un microcontrolador es aquel que integra en un chip de microprocesador con memoria,
interfaces de entrada/salida y otros dispositivos perifricos como temporizadores. Un
microcontrolador comn tiene terminales para la conexin externa de entradas salidas,
alimentacin elctrica y seales de reloj y de control.
PIC18F4550
1. Caractersticas generales
Caractersticas del puerto USB:
Modos de manejo de potencia:
Corrientes modo inactivo Abajo para corriente tpica de 5.8 uA
Corrientes Modo Sleep hasta 0,1 uA Tpica
Timer1 Oscilador: 1.1 uA Tpica, 32 kHz, 2V
Temporizador de vigilancia: 2,1 uA Tpica
Dos velocidades Oscilador de puesta en marcha
Caractersticas generales del oscilador:
Cuatro modos de cristal, incluyendo alta precisin PLL para USB
Dos modos de reloj externos, de hasta 48 MHz
Bloque Interno del Oscilador:
- 8 frecuencias seleccionables por el usuario, desde 31 kHz a 8 MHz
- Usuario-ajustable para compensar Frequency Drift
Oscilador Secundario usando Timer1 a 32kHz
Opciones de doble oscilador permiten microcontroladores y Mdulo USB para funcionar
a diferentes velocidades de reloj
Fail-Safe Monitor de reloj:
- Permite la parada segura si alguna reloj se detiene
Perifricos Destacados:
De alta corriente para Lavabo / Fuente: 25 mA / 25 mA
Tres interrupciones externas
Cuatro mdulos de tiempo(Timer 0 a Timer 3)
Hasta 2 Capture/ Compare/ PWM mdulos (CCP):
- Capture es de 16 bits, mx. Resolucin 5.2 ns (TCY / 16)
- Compare es de 16 bits, mx. Resolucin 83.3 ns (TCY)
- Salida PWM: resolucin PWM es de 1 a 10 bits
Mejorada Capture / Compare / PWM (PECC) mdulos:
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Frecuencias de reloj. Esta opcin libera un pasador de oscilador para utilizar como un
propsito general adicional de E / S.
Fase Lock Loop (PLL) multiplicador de frecuencia, disponible tanto a la alta velocidad de
Cristal y modos de oscilador externo, lo que permite una amplia gama de velocidades de
reloj de 4 MHz a 48 MHz.
La operacin asncrona reloj dual, permite que el mdulo USB se ejecute desde una alta
frecuencia del oscilador mientras que el resto del microcontrolador tiene una velocidad de
reloj de un oscilador de baja potencia interna. Adems de su disponibilidad como fuente de
reloj, el bloque interno de oscilador proporciona una fuente de referencia estable que da
caractersticas de la familia adicionales para operaciones pesadas:
Fail-Safe Monitor de reloj: Esta opcin constantemente supervisa la principal fuente de
reloj contra una seal de referencia proporcionada por el interior oscilador. Si se produce
un error de reloj, el controlador es conmutado al bloque oscilador interno, lo que permite
para la operacin de baja velocidad continua o una caja fuerte apagado de la aplicacin.
Dos velocidades de puesta en marcha: Esta opcin permite al oscilador interno servir
como fuente de reloj de Power-on Reset, o activar del modo Sleep, hasta que la fuente de
reloj primaria est disponible.
Tabla 1.1 Caractersticas de los dispositivos de la familia F18
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Tabla 1.2 Descripcin de los pines I/O del PIC18F4550 de 40 pines
Nombre del
Nmero de Pin
Tipo de
Tipo de
Pin
Pin
Buffer
PDIP QFN TQFP
I
MCLR/VPP/RE3 1
MCLR VPP RE3
18
18
ST
P
I
ST
OSC1/CLKI
OSC1 CLKI
13
32
30
I
I
Analgico
Analgico
OSC2/CLKO/RA
6 OSC2
CLKO
RA6
14
33
31
O
O
I/O
TTL
Descripcin
Prctica 1
Microcontroladores y DSPs
Tabla 1.2 Descripcin de los pines I/O del PIC18F4550 de 40 pines (continuacin)
Nombre del Pin
Nmero de Pin
Tipo de
Tipo de
Descripcin
Pin
Buffer
PDIP QFN TQFP
El Puerto A es bidireccional I/O
RA0/AN0
RA0
AN0
RA1/AN1
RA1
AN1
RA2/AN2/VREF-/
CVREF
RA2
AN2
VREFCVREF
RA3/AN3/VREF+
RA3
AN3
VREF+
RA4/T0CKI/C1OU
T/ RCV
RA4
T0CKI
C1OUT
RCV
RA5/AN4/SS/
HLVDIN/C2OUT
RA5
AN4
SS
HLVDIN
C2OUT
RA6
19
20
21
22
23
19
I/O
I
TTL
Analgico
Digital I/O
Entrada Analgica 0
I/O
I
TTL
Analgico
Digital I/O
Entrada Analgica 1
I/O
I
I
O
TTL
Analgico
Analgico
Analgico
I/ O digital.
Entrada analgica 2.
Una referencia de tensin / D (bajo)
de entrada.
Salida de referencia comparador
analgico
I/O
I
I
TTL
Analgico
Analgico
EI/O digital.
Entrada analgica 3.
Una referencia de tensin / D (alto)
de entrada
I/O
I
O
I
ST
ST
TTL
I / O digital.
Timer0 entrada de reloj externo.
Comparador 1 salida.
Entrada VN transceptor USB
externa.
I/O
I
I
I
O
TTL
Analgico
TTL
Analgico
20
21
22
23
I/O digital.
Entrada analgica 4.
SPI esclavo de seleccin de entrada.
Alta / baja tensin Deteccin de
entrada.
Comparador 2 de salida.
Ver el OSC2 / CLKO / pin RA6
Prctica 1
Microcontroladores y DSPs
Tabla 1.2 Descripcin de los pines I/O del PIC18F4550 de 40 pines (continuacin)
Nombre del Pin
Nmero de Pin
PDIP
QFN
TQFP
RB0/AN12/INT0/
FLT0/SDI/SDA
RB0
AN12
INT0
FLT0
SDI
SDA
33
20
20
RB1/AN10/INT1/
SCK/ SCL
RB1
AN10
INT1
SCK
SCL
34
10
RB2/AN8/INT2/V
MO
RB2
AN8
INT2
VMO
RB3/AN9/CCP2/V
PO
RB3
AN9
CCP2(1)
VPO
RB4/AN11/KBI0/
CSSPP
RB4
AN11
KBI0
CSSPP
RB5/KBI1/PGM
RB5
KBI1
35
36
37
38
11
12
14
15
Tipo de
Pin
Tipo de
Buffer
Descripcin
PORT B es un puerto I / O
bidireccional.
I/O digital.
Entrada analgica 12.
Interrupcin externa 0.
Entrada mejorada PWM Falla
(mdulo ECCP1).
Datos SPI en.
I ,Datos I 2C / S.
I/O
I
I
I
I
I/O
TTL
Analgico
ST
ST
ST
ST
I/O
I
I
I/O
I/O
TTL
Analgico
ST
ST
ST
I/O
I
I
O
TTL
Analgico
ST
I/O digital.
Entrada analgica 8.
Interrupcin externa 2.
Salida VMO transceptor USB
externa.
I/O
I
I/O
O
TTL
Analgico
TTL
I/O digital.
Entrada analgica 9.
Captura 2 de entrada / salida de
comparacin 2 / salida PWM2.
Salida de VPO transceptor USB
externa
I/O
I
I
O
TTL
Analgico
TTL
I/O digital.
Entrada analgica 11.
Interrumpir-al-cambiar pin.
SPP seleccin de chip de salida de
control.
I/O
I
TTL
TTL
I/Odigital.
Interrumpir-al-cambiar pin.
I/O digital.
Entrada analgica 10.
Interrupcin externa 1.
Entrada sncrona en serie de reloj /
salida para el modo SPI/salida para
el modo I2C.
10
11
14
15
Prctica 1
Microcontroladores y DSPs
PGM
RB6/KBI2/PGC
RB6
KBI2
PGC
39
RB7/KBI3/PGD
RB7
KBI3
PGD
40
RC0/T1OSO/T13C
KI
RC0
T1OSO
T13CKI
15
RC1/T1OSI/CCP2/
UOE
RC1
T1OSI
CCP2(2)
UOE
16
RC2/CCP1/P1A
RC2
CCP1
P1A
17
RC4/D-/VM
RC4
DVM
23
RC5/D+/VP
RC5
D+
VP
24
16
17
34
35
36
42
43
I/O
ST
I/O
I
I/O
TTL
TTL
ST
I/O digital.
Interrumpir-al-cambiar pin.
Depurador en circuito y
programacin ICSP pin de reloj
I/O
I
I/O
TTL
TTL
ST
16
17
EI/O digital.
Interrumpir-al-cambiar pin.
Depurador en circuito y el pin de
datos de programacin ICSP
PORTC es un puerto I / O
bidireccional.
32
I/O
O
I
ST
ST
I/O digital.
Salida del oscilador Timer1.
Timer1 / Temporizador 3 entrada
de reloj externo.
I/O
I
I/O
O
ST
CMOS
ST
I/O
I/O
O
ST
ST
TTL
I/O digital.
Captura 1 entrada / 1 salida de
comparacin / salida PWM1.
Salida PWM CCP1, canal A.
I
I/O
I
TTL
TTL
Entrada digital.
Lnea diferencial negativo USB
(entrada / salida).
Transmisor-receptor USB externo
de entrada VM.
I
I/O
I
TTL
TTL
Entrada digital.
Diferencial USB plus lnea (entrada /
salida).
Entrada VP transceptor USB
externa.
35
I/O digital.
Entrada del oscilador Timer1.
Captura 2 de entrada / salida de
comparacin 2 / salida PWM2.
Salida OE transceptor USB externa
36
42
43
Prctica 1
Microcontroladores y DSPs
RC6/TX/CK
RC6
TX
CK
25
RC7/RX/DT/SDO
RC7
RX
DT
SDO
26
44
44
I/O
O
I/O
ST
ST
I/O digital.
EUSART de transmisin asncrona.
EUSART reloj sncrono (ver RX / DT).
I/O
I
I/O
O
ST
ST
ST
I/O digital.
Asncrono EUSART reciben.
EUSART datos sncronos (ver TX /
CK).
Datos de salida SPI .
19
RD1/SPP1
RD1
SPP1
20
RD2/SPP2
RD2
SPP2
21
RD3/SPP3
RD3
SPP3
22
RD4/SPP4
RD4
SPP4
27
RD5/SPP5/P1B
RD5
SPP5
P1B
28
29
38
39
40
41
38
I/O
I/O
ST
TTL
I/O digital.
Streaming datos del puerto paralelo
I/O
I/O
ST
TTL
I/O digital.
Streaming datos del puerto paralelo
I/O
I/O
ST
TTL
I/O digital.
Streaming datos del puerto paralelo
I/O
I/O
ST
TTL
I/O digital.
Streaming datos del puerto paralelo
I/O
I/O
ST
TTL
I/O digital.
Streaming datos del puerto paralelo
I/O
I/O
O
ST
TTL
I/O digital.
Streaming datos del puerto
paralelo.
Salida PWM CCP1 mejorado, el
canal B.
39
40
41
Prctica 1
Microcontroladores y DSPs
RD6/SPP6/P1C
RD6
SPP6
P1C
RD7/SPP7/P17
RD7
SPP7
P1D
30
I/O
I/O
O
ST
TTL
I/O digital.
Streaming datos del puerto
paralelo.
Salida PWM CCP1 mejorado, el
canal C.
I/O
I/O
O
ST
TTL
I/O digital.
Streaming datos del puerto
paralelo.
Salida PWM CCP1 mejorado, el
canal C.
Prctica 1
Microcontroladores y DSPs
Tabla 1.2 Descripcin de los pines I/O del PIC18F4550 de 40 pines (continuacin)
Nombre del Pin
Nmero de Pin
PDIP
QFN
TQFP
RE0/AN5/CK1SPP
RE0
AN5
CK1SPP
25
25
RE1/AN6/CK2SPP
RE1
AN6
CK2SPP
RE2/AN7/OESPP
RE2
AN7
OESPP
RE3
10
VSS
12,31
VDD
11, 32
VUSB
NC/ICCK/ICPGC(3
)
ICCK
ICPGC
NC/ICDT/ICPGD(3
)
ICDT
ICPGD
NC/ICRST/ICVPP(
3)
ICRST
ICVPP
NC/ICPORTS(3)
ICPORTS
Tipo
de Pin
Tipo de
Buffer
Descripcin
I/O
I
O
ST
Analgico
I/O
I
O
ST
Analgico
I/O digital.
Entrada analgica 6.
SPP reloj 2 salida.
I/O
I
O
ST
Analgico
RE3
I/O digital.
Entrada analgica .
Salida SPP salida de habilitacin
Ver el pin MCLR/VPP/RE3
5,29
7, 28
18
6,30,
31
7,8,
28,
29
37
37
12
12
I/O
I/O
ST
ST
I/O
I/O
ST
ST
I
P
26
27
26
27
13
33
34
Prctica 1
Microcontroladores y DSPs
NC
13
1.2 Oscilador
Control del oscilador
El funcionamiento del oscilador en el PIC18F4550 que se controla a travs de dos registros
de configuracin y dos registros de control. Los registros de configuracin, CONFIG1L y
CONFIG1H, selecciona el modo de oscilador y opciones prescaler / postscaler USB.
Como los bits de configuracin, stos se establecen cuando el dispositivo est programado
y se deja en esa configuracin hasta que el dispositivo se reprograma.
El registro OSCCON (Registro 2-2) selecciona el Modo Activo del reloj; que se utiliza
principalmente en el control de reloj, el cambio en los modos logra potencia.
El registro OSCTUNE (Register 2-1) se utiliza para recortar la fuente de frecuencia
INTRC, as como seleccionar el fuente de reloj de baja frecuencia que impulsa varias
caractersticas especiales.
Tipos de oscilador
El PIC18F455 ofrece doce modos de oscilador distintos. Cuatro de ellos implican el uso de
dos tipos de oscilador a la vez.
Los usuarios pueden programar el FOSC3: Configuracin FOSC0
bits para seleccionar uno de estos modos:
1. XT Crystal / Resonador
2. HS de alta velocidad Crystal / Resonador
3. HSPLL alta velocidad Crystal / Resonador con PLL Activado
4. CE reloj externo con FOSC / 4 de salida
5. ECIO reloj externo con E / S en RA6
6. ECPLL reloj externo con PLL Activado y FOSC / 4 de salida en RA6
7. ECPIO reloj externo con PLL Habilitado,
E / S en RA6
Prctica 1
Microcontroladores y DSPs
8. INTHS oscilador interno utilizado como fuente de reloj, SA Oscilador utilizado como
Fuente de Reloj USB
9. intio oscilador interno utilizado como fuente de reloj, EC Oscilador utilizado como USB
fuente de reloj, E / S digital en RA6
10. INTCKO oscilador interno utilizado como fuente de reloj, EC Oscilador utilizado como
USB fuente de reloj, FOSC / 4 de salida en RA6.
Figura 1.1.1 Diagrama del Clock
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Figura 1.3.2 Uso del registro del banco de memoria (direccionamiento
directo)
Access Bank
Un Banco de Access, permite a los usuarios acceder a un bloque de memoria asignado sin
especificar un BSR. El Banco de acceso consta de los primeros 96 bytes de memoria (00h5Fh) en el banco 0 y los ltimos 160 bytes de memoria (60h-FFh) en el Bloque 15. La
mitad inferior es conocida como la "memoria RAM de acceso" y se compone de GPRS. El
medio superior es donde se asignan SFRs del dispositivo. Estas dos reas se asignan de
forma contigua en el Banco del acceso y se puede abordar de forma lineal por una direccin
de 8 bits (Figura 5-5). El Banco de acceso es utilizado por instrucciones PIC18 centrales
que incluyen el bit de acceso RAM (la 'a' parmetro la instruccin). Cuando 'a' es igual a '1',
la instruccin utiliza el BSR y la direccin de 8 bits incluido en el cdigo de operacin para
la direccin de memoria de datos. Cuando 'a' es '0', Sin embargo, la instruccin se ve
obligada a utilizar el mapa de direcciones del Banco de Acceso; el valor actual de la BSR
es ignorado por completo. Para las direcciones de 8 bits de 60h y anteriormente, esto
significa que los usuarios pueden evaluar y operar en SFRs ms eficiente. La memoria
RAM de acceso a continuacin 60h es un buen lugar para los valores de datos que pueda
necesitar el usuario para acceder rpidamente, como computacional inmediata resultados o
variables del programa comunes. Acceso RAM tambin permite contexto eficiente cdigo
ms rpido y ms el ahorro y el cambio de variables. El mapeo del Banco El acceso es
ligeramente diferente cuando el conjunto de instrucciones extendido est activado (XINST
Bit de configuracin = 1). Esto se discute en ms detalle en la Seccin 5.6.3 "Mapeando el
Banco de acceso en Indexado Literal modo Offset.
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
2. Manejo de MPLAB
Barra de Herramientas y Mens:
MPLAB contiene 4 barras de herramientas personalizables segn la tarea que se est
realizando. La primera es la barra USER, que por defecto es la nica que utilizo, bueno tu
elegirs la que ms te agrade. La segunda es la barra EDIT, todo lo relacionado a la Edicin
de texto. La tercera es la barra DEBUG, con todo lo necesario para simular nuestro
programa, depurarlo, etc. Finalmente la barra PROJECT, todo lo referido al proyecto que
ests realizando.
Men de Archivo (file men):
Prctica 1
Microcontroladores y DSPs
generado (es decir, archivo .ASM ms viejo que el .HEX) este no har
nada.(extrado textualmente de no recuerdo donde, pero igual, yo jams lo utilic)
BUILD ALL: Le importa nada la fecha y ensambla todo.
BUIL NODE: Ensamblar un nodo que hayamos asociado al proyecto.
INSTALL LANGUAGE TOOL: Es para configurar el lenguaje a utilizar, que en
nuestro caso es el ASM de Microchip.
Prctica 1
Microcontroladores y DSPs
ANIMATE: Es igual que RUN pero lo hace ms lento, para que vayas siguiendo la
ejecucin, mostrndote lnea por lnea todo lo que se est ejecutando.
STEP: Paso, es decir, un paso por cada vez que lo presionas (en la barra de
herramientas vers dos huellas de zapato, pues es eso, paso a paso). Simplemente
ejecuta una a una cada lnea de cdigo por cada vez que lo presionas.
STEP OVER: Igual que el anterior pero con un pequeo detalle, cada vez que se
encuentre con un call lo ejecuta de modo tan rpido que ni t te enteras de que ya
pas, es decir, utilzalo si no quieres perder tiempo con el call.
UPDATE ALL REGISTER: Actualiza el valor de todos los registros.
CHANGE PROGRAM COUNTER: Cambia el valor del PC y te ubica en la
etiqueta del cdigo a la que quieres ir.
EXECUTE AN OPCODE: Te permite ejecutar un cdigo cualquiera desde
cualquier sitio en el que te encuentras, por ejemplo ingresas un goto inicio y hacia
all ir. independiente a la secuencia del programa.
CONDITIONAL BREAK: Para ejecutar un breakpoint en forma condicional, Por
ejemplo por que cambi el valor de un registro, o porque quieres ver que paso hasta
ese punto.
SIMULATOR STIMULUS: Desde aqu se puede simular que le envas seales al micro
por uno de sus pines, este submen tiene 4 opciones
Si presionas con el botn derecho del mouse en uno de esos botones veras las opciones de
configuracin de estos estmulos desde donde los puedes configurar.
Prctica 1
Microcontroladores y DSPs
o ASSIGN PIN: Muestra los pines del puerto para que selecciones aquel que
llevar un estmulo.
o PULSE: un pulso
o LOW: Le asigna un nivel bajo permanente
o HIGH: Lo contrario, nivel alto permanente
o TOGGLE: Cada vez que lo pulses cambiar de nivel de alto a bajo o de bajo
a alto.
PIN STIMULUS: Es para cuando creas un archivo de texto con extensin .sti,
desde aqu lo cargas o lo quitas, se trata de utilizar un archivo que creaste con esta
extensin y que contiene los estmulos ya asignados para cada uno de los pines.
CLOCK STIMULUS: Desde aqu puedes enviarle pulsos de reloj a un
determinado pin, indicando el tiempo que se mantendr en nivel alto y el tiempo en
nivel bajo, tipo (timer).
Tiene un par de opciones como ser; Guardarlo como un archivo .sti, Abrir alguno si es que
ya lo tienes creado, Aplicar los cambios, agregarle ms impulsos a otros pines, y el help
(por supuesto, la ayuda).
Prctica 1
Microcontroladores y DSPs
REGISTER STIMULUS: Es exactamente lo mismo que con los pines, solo que
lleva la extensin .reg y sirve para que en una determinada posicin del programa se
cargue un registro con el valor que t le quieras dar.
Slo le das a Power On Reset y habrs ocasionado un reset en el pin4 del micro (MCLR),
luego le das a "cancel" y continuas con la ejecucin para saber qu hace el PIC, y as
asegurarte de que todo est en orden.
Opciones del Men:
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
FILE REGISTER: Para que veas como se modifican los registros mientras el
programa se est ejecutando, solo en modo "Step" o "Animate".
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Para saber ms sobre cmo realizar la simulacin consulte el video tutorial disponible en
https://youtu.be/VkH4344lgIE
Algoritmo
1. Inicio
2. Determinar el PIC con el que se trabaja
3. Configurarlo
4. Utilizar un oscilador externo de 4 MHz
5. Establecer los puertos de E/S
6. Definir las variables (operandos)
7. Leer los datos de entrada (Puerto B)
8. Asignar los datos de entrada a las variables
9. Sumar los datos
10. Mostrarlos a travs del puerto D
11. Volver a leer datos en B y repetir el ciclo completo
12. Fin
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Si el cdigo no tiene errores de sintaxis aparece la siguiente ventana donde nos dice
que se ha ensamblado correctamente; esto no necesariamente significa que el
programa realizar lo que queremos pero nos indica que a menos est bien escrito.
Prctica 1
Microcontroladores y DSPs
Luego se simula el cdigo en el mismo software. Esta simulacin nos sirve para probar el
manejo de puertos.
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Prctica 1
Microcontroladores y DSPs
Implementacin
Una vez simulado el cdigo en ensamblador se prosigui a armar el circuito fsicamente en
la placa de experimentos a fin de comprobar la operacin del microcontrolador y
experimentar las diferencias contra los resultados obtenidos por el software de simulacin.
Los dispositivos debern de conectarse como se muestra en la figura siguiente
Prctica 1
Microcontroladores y DSPs
La ventana que mostramos aparece al realizar doble clic sobre el microcontrolador buscar y
elegir nuestro archivo .HEX. Finalmente hacemos clic en OK, que nos regresa a la pantalla
donde tenemos el circuito electrnico.
Prctica 1
Microcontroladores y DSPs
Resultados
Pasos previos.
Una vez que ya se ha verificado el funcionamiento y lgica del circuito por medio de la
simulacin se procedi al armado y experimentacin del circuito en la tablilla de
experimentos.
Prctica 1
Microcontroladores y DSPs
Como primer paso para llegar a los resultados deseados se procedi a programar el
PIC con ayuda de un programador proporcionado por el maestro. La programacin
se realiz a travs del programa MPLAB.
Una vez programado el PIC, se realiz el armado del circuito ya mencionado, el
circuito se arm en una tablilla de experimentos que fue alimentada con una fuente
de alimentacin regulada proporcionada por el laboratorio.
Pruebas y errores.
Para explicar la fase de pruebas debemos aclarar el orden del circuito:
Hacia arriba es 0 y
hacia abajo es 1
Algunos problemas que surgieron al probar el circuito fueron solo tcnicos, ya que el
dipswitch dio problemas por falso contacto, pero eso se arregl buscando un dipswitch
apropiado.
Ahora, se hicieron pruebas con diferentes combinaciones entre la suma de 1 y 15:
Tabla 3.1 Suma, ilustracin de los resultados obtenidos en la tablilla de experimentos y esquema en Proteus
Suma
1+0
Resultado
Prctica 1
Microcontroladores y DSPs
1+1
3+1
Prctica 1
Microcontroladores y DSPs
3+2
3+3
3+4
Prctica 1
Microcontroladores y DSPs
4+4
5+4
Prctica 1
Microcontroladores y DSPs
5+5
6+5
6+6
Prctica 1
Microcontroladores y DSPs
7+6
7+7
Prctica 1
Microcontroladores y DSPs
7+8
Como se puede apreciar, los resultados experimentales concuerdan con los de la simulacin
perfectamente, en ninguna combinacin hubo discrepancias ni ninguna desviacin
importante, adems como extra tambin se prob la combinacin de 8+8 y probamos que
solo prende el bit de acarreo como indicaba la simulacin. Imagen 3.18 a) y b)
Prctica 1
Microcontroladores y DSPs
4. Conclusiones
Guiados por el profesor, se llev a cabo el cdigo en lenguaje ensamblador de un
sumador de cuatro bits donde tuvimos que identificar los pines del microcontrolador
involucrado, as como en algunos casos su correspondiente configuracin , para as
poder mandar a llamarlos y llevar las entradas a la memoria, por ejemplo. Por lo que
tuvimos que elegir que oscilador utilizar segn nuestras necesidades, ya que el PIC nos
permite escoger uno de sus osciladores internos o tambin alguno externo. Para poder
llevar acabo el cdigo empleamos el software MPLAB, el cual no todos estbamos
familiarizados con l, lo que nos permiti no solo conocerlo sino comenzar a manejarlo.
En adicin, contamos con la ayuda del profesor al mostrarnos las herramientas y el
proceso para simular nuestro contador, ya con el cdigo elaborado, en el programa
Proteus, lo cual nos permiti no solo saber en primera instancia mediante la
compilacin exitosa del MPLAB que nuestro cdigo funcionaba, sino tambin mediante
la simulacin, vista con los componentes del circuito, en la que veramos si funcionaba
como queramos.
Una vez hecho esto, mediante un archivo .HEX fue programado el PIC18F4550 y dado
que el codigo fue proporcionado por el profesor y fue verificado, no hubo problemas
para despus solo mandarlo a programar, finalmente se arm el circuito implementando
el PIC y los resultados fueron completamente exitosos. Esta prctica cumpli con su
objetivo que era ensearnos lo bsico para programar un PIC, desarrollando su cdigo
para despus pasarlo a lenguaje ensamblador e implementarlo en un software de
simulacin, una vez obtenidos los resultados esperados, poder llevarlo al fsico.
Prctica 1
Microcontroladores y DSPs
5. Bibliografa y referencias
[1] Simulacin en MPLAB. Disponible en
https://www.youtube.com/watch?v=VkH4344lgIE. Consultado el 19 de septiembre de
2015
[2]MANUAL PIC 18F4550. Disponible en
http://rapidshare.com/files/268879576/PIC18F4550.pdf
Universidad de Valencia. Consultado el 10 de septiembre de 2015
[3]MPLAB IDE Quick Start Guide - Microchip
Disponible en http://ww1.microchip.com/downloads/en/DeviceDoc/51281d.pdf
Consultado el 19 de septiembre de 2015
[4] William Bolton. (2012.) Mecatrnica. (4a edicin).Mxico D.F: Alfaomega.