Vous êtes sur la page 1sur 4

UNIVERSIDA NACIONAL DEL CALLAO

FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA


DEPARTAMENTO DE INGENIERÍA ELECTRONICA

LABORATORIO DE MICOCONTROLADORES
INTRODUCCIÓN
Los DSC (Controladores Digitales de Señales) son dispositivos dotados de recursos
físicos y lógicos necesarios para el tratamiento digital de señales.
La empresa Microchip ha unido las características esenciales de un microcontrolador y
un procesador digital de señales (DSP, por sus siglas en inglés) en un dispositivo
llamado dsPIC, el cual combina las funciones típicas de los microcontroladores con las
del procesamiento digital de señales.
Los DSC se utilizan en una amplia gama de aplicaciones, en las cuales podemos
encontrar:
Telecomunicaciones, procesamiento de señales, control de motores, convertidores de
energía, instrumentación biomédica, etc.
Existen dos familias de DSC por parte de Microchip, las series dsPIC30F y dsPIC33F.
En las secciones subsecuentes se listarán sus características generales, y el esquema
mínimo de conexión.
Las prácticas siguientes se componen de dos partes:
(i) la construcción del hardware,
(ii) la implementación del software.
Para el hardware, se describe el material a utilizar y los esquemas de conexión en cada
práctica, y para el desarrollo del software, se implementan los programas que están
codificados en lenguaje C.
Con este fin, se emplean los programas MPLAB IDE v8.89, Compilador c30 y PICkit2,
todas estas herramientas de software necesarias para la programación del dsPIC33F y
dsPIC30F.
Todos estos programas los facilita libremente el fabricante, las cuales aparecen en la
bibliografía para ser descargados desde la página de Microchip.
En la siguiente sección se describe la creación, compilación y programación del dsPIC.
Dada la similitud entre los microcontroladores PIC y los Controladores digitales de
señales dsPIC, en cuanto a arquitectura y conjunto de instrucciones, los estudiantes que
hayan tenido algún acercamiento con los PIC, se les facilitará la programación de estos
nuevos dispositivos.

MSc. Jacob Astocondor villar 1


CREAR NUEVO PROYECTO
EN MPLAB IDE MPLAB IDE es un software propio de Microchip, el cual permite
seleccionar los distintos DSC soportados para su programación.
Una vez instalados el software MPLAB IDE, Compilador C30 y PICkit 2, se listan a
continuación los pasos para la creación de un nuevo proyecto, compilación del proyecto
(creación del archivo .HEX) y programación del dsPIC.
Programa ejemplo
TITULO: CONTROL DE LEDS
Objetivo: Realizar el encendido y apagados de leds en lenguaje ensamblador
Procedimiento

Creación del proyecto en assembler


Crear el proyecto mediante menu
1. Proyect>proyect Wizard  pulsar Siguiente
2. Seleccionar el modelo Dspic30F4013 pulsar siguiente
3. Seleccionar Microchip ASM30Tpplsuit de la lista desplegable Active Toolsuit
a) Para el ASM30Assembler seleccionar
C:\Archivo de programas |microchip|MplabASM30Suite|bin|pic30-as.exe
b) Para el MpllabLIK30 Object Link seleccionar
C:\archivos de programa\Microchip\Mplab ASM30Suite\bin\pic30-ld.exe
c) Para el LIB30 Archiver seleccionar
C:\archivos de programa\Microchip\Mplab ASM30Suite\bin|\pic30-ar.exe
4. Nombrar el Proyecto Nombre y elegir ubicación
5. Añadir los siguientes ficheros a la lista de ficheros del proyecto
C:\Archivo de programas \microchip\MplabASM30Suite\lib\ctr0.s
C:\Archivo de programas \microchip\MplabASM30Suite\lib\ctr1.s
C:\Archivo de programas \microchip\MplabASM30Suite\support\gld\p30f4013.gld
C:\Archivo de programas \microchip\MplabASM30Suite\support\inc\p30f4013.inc
Marcar estos ficheros para que se copien en la carpeta del proyecto
6. Finalizar el asistente
7. Modificar los ficheros crt0.s y Crt1.s con el modelo del Dspic elegido
8. Indicar al entorno el directorio de los ficheros include .
Para ello en el menú
Proyect >Build opciones Proyect y dentro de la pestaña general en el cuadro
include Path
C:\Archivo de programas \microchip\MplabASM30Suite\lsupport\inc\
9. Crear un fichero desde el menú File new y guardarlo en la carpeta del proyecto con
el nombre.s
10. Añadir el archivo nombre.s al proyecto con la opción Proyectadd to proyect to
files
11. Escribir el programa y compilarlo con Proyect  Build All

SISTEMA MINIMO

Para trabajar con el dsPIC30f4013, se requiere una conexión mínima antes de iniciar
cualquier proyecto. En la figura 1, se muestra el esquema de conexión de cada uno de los
pines necesarios para la programación del dispositivo.
La mayoría de los pines son multiplexados, por lo que durante la programación los pines se
emplean para la descarga del programa. Una vez que se realizó la programación, éstos
pines tendrán la función que se les asignó en el programa

MSc. Jacob Astocondor villar 2


+5V
R1
10k

reset

RB0
D1
LED-YELLOW
11
12
R2
100
X1
4Mhz

dsPIC30F4013

Fig. Esquema mínimo de conexión

PROGRAMACIÓN DE dsPIC

Una vez realizado el esquema mínimo de conexión, se procederá a grabar el dispositivo,


lo cual se realiza a través de la conexión entre el software PICkit 2 y el programador
Pickit , ya que a través de estas herramientas se grabará en el dsPIC el programa
realizado (archivo .HEX).

El dsPIC30F4013, tiene 3 canales para ser programado, por lo que se deben


identificar los pines correspondientes para realizar la conexión adecuada con el
programador.

En la figura se muestra el esquema de conexión utilizando el canal 1 (PGEDx,


PGECx).

d
s
P
I
C
3
0
F

DESARROLLO DEL PROGRAMA EN ASSEMBLER PARA CONTROLAR EL


ENCNDIDO Y APAGADO DE LED

.include “ p30f4013.inc”
;Declaración de variables y subprocesos
.global __reset
.global _main

MSc. Jacob Astocondor villar 3


.global _delay
.global _delay1
.section
.text
;*************Programa principal *****************
_main:
;Almacenamiento de valores de inicialización en W0,W1,W2,W3
mov #0x0000,W0;
mov #0x0001,W1;
mov #0x0000,W2;
;Repeticiones x1000 para la creación de los retardos
;0x0032h = 52d
mov #0x0032,W3;
mov W0,TRISB ;Configuración el puerto B como salida
mov W1,LATB ; Encendido del puerto RB0

_delay: ;Subrutina de Retardo en alto


dec W3,W4
mov W4,W3
repeat #0x03E8 ;Repetición mil veces
nop
CP0 W4
bra NZ, _delay ;Bucle en alto
mov #0x0032,W3 ;Recarga del número de repeticiones x1000
mov W2,LATB ; Apagado RB0

;Subrutina de Retardo en bajo


_delay1:
dec W3,W4
mov w4,w3
repeat #0x3E8 ;Repetición mil veces
nop
CP0 W4
bra NZ, _delay1 ;Bucle principal
bra _main ;Bucle lazo repetitivo principal
;EOF
.end

Se pide
a) Realizar el programa en el editor de texto de MPLAB y guardar con nombre
LABP1.s
b) Generar el archivo LABP1.hex
c) Realizar simulación en el proteus
d) Grabar el programa *.hex en el dsPIC30F
e) Realizar Pruebas

MSc. Jacob Astocondor villar 4