Vous êtes sur la page 1sur 3

UNIVERSIDA NACIONAL DEL CALLAO

FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA


DEPARTAMENTO DE INGENIERÍA ELECTRONICA

LABORATORIO DE MICROCONTROLADORES
LABORATORIO NRO.02
TITULO: CONTROL DE PUERTOS Y DESARROLLO DE RETARDOS

OBJETIVOS
En este laboratorio tal como se ha comentado en el apartado anterior (manejo de los puertos) , se centrará en la
recopilación de las configuraciones esenciales para el control óptimo del motor, con los componentes que
existen hoy en día y con una configuración fácil de ajustar, incluyendo la regulación del sentido de giro del
motor , posteriormente se realizara el control de velocidad

INTRODUCCION

La tarea más básica que podemos hacer con un microprocesador es sustituir a un circuito combinacional o
secuencial.
Podemos encender una luz para cierta combinación de entradas, conectar un bomba cuando el nivel de un
depósito sea menor de cierto umbral y pararla cuando supere otro umbral, activar una alarma cuando se active
algún sensor y la alarma esté armada, etc.
Para poder hacer estas cosas, el microprocesador necesitará tener entradas y salidas digitales, igual que las de
cualquier puerta lógica.
El microprocesador dsPIC30F4013 tiene 30 patillas que pueden ser, a voluntad nuestra, entradas o salidas, de
forma que podemos hacer, por ejemplo, un circuito secuencial con 10 funciones y15 entradas. De todos
modos, el tiempo de respuesta de esas funciones es mucho mayor que el de las funciones realizadas con
puertas lógicas, aunque en la mayoría de los casos ese tiempo no es demasiado importante; que la alarma
suene 1 milisegundo después de abrir la puerta no parece grave.
Ahora bien, estas entradas y salidas digitales tienen niveles pequeños, típicamente de 0 a 3,3 V o de 0 a 5 V,
por lo que necesitaremos unos circuitos que harán de interface entre estos niveles (0 a 3,3 V o DE 0 A 5v) y
los niveles con los que estemos trabajando, 220 VAC, 24 VDC o cualquier otra tensión

Entradas/salidas digitales en el dsPIC30F4013


A partir de la configuración de pines vamos a ver los puertos de que dispone este microcontrolador.

PORTA 1 pin. RA11


PORTB 13 pines. RB0 a RB12
PORTC 3 pines. RC13, RC14 y RC15
PORTD 6 pines. RD0, RD1, RD2, RD3, RD8, RD9
PORTE Ningún pin.

JACOB ASTOCONDOR VILLAR 1


PORTF 7 pines. RF0 aRF6

ENUNCIADO DEL PROBLEMA

Este LABORATORIO presenta el diseño de un prototipo que permitirá el control total de la transmisión de
potencia en un motor DC (corriente continua), de tal manera, que se pueda ajustar el sentido de giro del motor
mediante un interruptor, ajustándose a las necesidades del usuario
La transmisión de potencia al motor, se realizará utilizando una etapa de potencia controlada por el
microcontrolador dsPIC30F4013

OBJETIVOS
En este laboratorio tal como se ha comentado en el apartado anterior (manejo de los puertos) , se centrará en la
recopilación de las configuraciones esenciales para el control óptimo del motor, con los componentes que
existen hoy en día y con una configuración fácil de ajustar, incluyendo la regulación del sentido de giro del
motor , posteriormente se realizara el control de velocidad

CIRCUITO EXPERIMENTAL

dsPIC30f4013

PROGRAMACION
Desarrollo del programa en asembler

Escribir el programa en el MPLAB

.equ __30f4013,1
.include "p30f4013.inc"
; Configuration bits:
;..............................................................................
config __FOSC,CSW_FSCM_OFF&XT_PLL4 ;use cristal oscilador con el 4x PLL
config __FWDT,WDT_OFF ;Desabilitado Watchdog Timer
config __FBORPOR,PBOR_ON&MCLR_EN
;Set Brown-out Reset voltage and
;and set Power-up Timer to 16msecs
config __FGS,CODE_PROT_OFF ;Desabilitado protecion de codigo
; Declaración de variables y subprocesos
.equ cont,#0x0810

JACOB ASTOCONDOR VILLAR 2


.equ cont1,#0x0812
.global xx
.global yy
.global __reset
.text
;*************Programa principal *****************
__reset:
goto main
.org 100
main:
; mov #_SP_init,W15 ;inicializa el SP
; mov #_SPLIM_init,W0
; mov W0,SPLIM
nop
;*******************************configuration de puertos**************
mov #0x0080,W0
mov W0,TRISB
;***********************************************
bucle: ; verifica el estado del interruptor abierto o cerrado?
BTSC PORTB,#07 ; El BIT 7 chequear interruptor salta si es cero o cerrado
bra bucle
;*********************************************
call xx
call yy
bra bucle
;************************************************
xx:
mov #0x0001,W1
mov W1,PORTB
call delay
return
yy:
mov #0x0002,W1
mov W1,PORTB
call delay
return
;*************************************************************
delay: ;Subrutina de Retardo en dos lazos
mov # 0xffff ,W2
mov W2,cont
YY: mov # 0x00ff, W1
mov W1,cont1
XX: dec cont1
bra NZ,XX
dec cont
bra NZ,YY
return
;****************************************************
.end
Para el informe final
Se pide
1. Implementar el sistema
2. Desarrollar el programa
3. Generar el archivo *.hex
4. Simular el sistema
5. Grabar el programa en el dsPIC
6. Realizar pruebas

JACOB ASTOCONDOR VILLAR 3

Vous aimerez peut-être aussi