UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
LABORATORIO Nº1
TEMA: CONTROL DE PUERTOS
ASIGNATURA: MICROCONTROLADORES Y SISTEMAS EMBEBIDOS
PROFESOR: Astocondor Villar Jacob
INTEGRANTES:
Vargas Borda Allison Fiorella 1613215167
Zuazo Cuenca Luis Felipe 1613225535
CICLO: 6
GRUPO: 92G
“2019”
CONTROL DE PUERTOS
OBJETIVO
Configuración de los puertos entrada/salida digital en el microcontrolador
dsPIC30F4013.
INTRODUCCIÓN
Diferencias entre dsPIC30F y dsPIC33F A pesar de ser muy similares, existen algunas
diferencias apreciables entre ambos DSC. El rango de voltaje soportado por cada uno es
diferente, así como el voltaje óptimo para su mejor rendimiento. Los dsPIC30F tienen
como tensión nominal 5VDC y los dsPIC33F 3,3VDC. También difieren en las patas de
E/S y la memoria FLASH que alcanza 144KB en los 30F y 256KB en los 33F. Los 33F
carecen de EEPROM, pero su SRAM puede llegar a 30KB, mientras que los 30F no
superan los 8KB. Finalmente, los dsPIC33F disponen del doble de interruptores y un
controlador de DMA
MATERIALES
1 PC con software MPLAB Y PICKIT V3.0
1 CHIP dsPIC30F4013
1 programador Pickit v3.0
Protoboard
Fuente de 5 VDC
Cables de conexión
Otros: 1 resistencia de 10k, un cristal de 4 MHZ
CARACTERÍSTICAS
Código: dsPIC30F4013-20I/P
Procesador: 16 bits
Velocidad: 20MHz
Tipo de Memoria: FLASH
Memoria de Programa: 48k
EEPROM: 1024 Bytes
RAM: 2048 bytes
Entradas/Salidas: 30
Características del sistema: PBOR, LVD
Oscilador interno: 7.37Mhz, 512Khz
A/D: 13 canales de 10 bits
Timers: 5x16bits, 2x32bits
Varias características DSP
Protocolos de comunicación: 2 UART/ 1 SPI / 1 I2C / 1 CAN
Voltaje de operación: 2.5V a 5.5V
ENTRADAS/SALIDAS DIGITALES EN EL DSPIC30F4013
PORTA 1pin.RA11
PORTB 13 pines.RB0 A RB12
PORTC 3 pines.RC13, RC14 Y RC15
PORTD 6 pines.RD0, RD1, RD2, RD3, RD8, RD9
PORTF 7 pine.RF0 a RF6
FIGURA 1. Configuración de puertos
REGISTRO: Es una posición de memoria de 16bits.
Los DSPIC30F4013 tienen 16 registros de trabajo.
REGISTRO DE FUNCIONES ESPECIALES (SFR)
Son posiciones de memoria que tienen nombre y cada bit, que cumple la función de
desarrollo de los DSPIC.
CASO DE LA CONFIGURACIÓN DE PUERTOS DE CADA PUERTO TIENE
TRES REGISTROS
Puertos: Son vías de comunicación del microcontrolador con el usuario.
TrisX: Configurar el modo de funcionamiento de los pines de un puerto (si un
pin va a ser salida o no).
PortX: Con este registro nos comunicamos con el exterior.
LatX: Se usa para escribir sobre el latch asociado a los pines digitales en un
puerto.
FIGURA 2. Diagrama de conexiones
SIMULACIÓN EN PROTEUS
FIGURA 3. Simulación en Proteus cuando los leds están apagados
FIGURA 4. Simulación en Proteus cuando funciona el circuito al presionar el switch
DIAGRAMA DE FLUJO
PROGRAMACIÓN
El encendido y apagado de un led ubicado en el puerto B (Rb0)
.include "[Link]"
; 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 ;Deshabilitado protección de código
;***************** Declaración de variables y subprocesos ****************
.equ cont,#0x0810
.equ cont1,#0x0812
.global xx
.global yy
.global __reset
.text
;*************Programa principal *****************
__reset:
goto main
.org 100
main:
nop
;*******************************Configuración de puertos**************
mov #0x0080,W0
mov W0,TRISB
mov #0xFFFF,W0
mov W0,ADPCFGd
mov #0x0000,WO
mov W0,PORTB
;***********************************************
bucle: 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 alto
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