1. UNIVERSIDAD POLITECNICA SALESIANA
INTEGRANTES
OSCAR AYALA
CHRISTIAN IBARRA
ANDRES VALDIVIESO
Tema: PROGRAMACION EN dsPIC 30F4013
Objetivo: Aprender a utilizar correctamente los puertos del
microcontrolador dsPIC
Desarrollo
Para la practica utilizamos la placa programadora PICTrainer de
dsPIC y el softwareMicrobasic ds.
ProcedimientO
EJERCICIO 1
Problema
Escribir en el puerto B el valor 55h
Algoritmo
Entrada: Ingresar el valor 55h
Proceso: Habilitar en el puerto B
Salida: Visualizar en los pines del puerto B el valor 55h en su
equivalente binario.
Cdigo
program practica1
main:
trisb=0 'habilita el puerto B como salida
portb= $55 'escribe en el puerto B el valor 55h
delay_ms(1000) 'retardo de 1 seg
end.
Diagrama de Flujos
INICIO
Habilitar el puerto B como salida y escribir el valor 55h
Retardo de 1 seg
Salida de Datos en puerto B
Esquemtico:
GRAFICO ANEXO
EJERCICIO 2
Problema
Escribir en el puerto B el valor AAh
Algoritmo
Entrada: Habilito en el puerto B.
Proceso: Ingresar el valor AAh en binario
Salida: Visualizar en el puerto B el valor binario.
Cdigo
program practica1_2
main:
trisb=0
portb= $AA
delay_ms(100)
portb= $55
end.
Diagrama de Flujos
INICIO
Habilitar el puerto B como salida y escribir el valor AAh
Retardo de 1 seg
Salida de Datos en puerto B
Esquemtico:
GRAFICO ANEXO
EJERCICIO 3
Problema
Escribir en el puerto C el valor F0h
Algoritmo
Entrada: Habilitar en el puerto F
Proceso: Ingresar el valor F0h en binario.
Salida: Salida en el puerto F en valor binario.
Cdigo
program practica1_3
main:
trisf=0
portf= $F0
delay_ms(1000)
end.
Diagrama de Flujos
INICIO
Habilitar el puerto F como salida y escribir el valor F0h
Retardo de 1 seg
Salida de Datos en puerto F
Esquemtico:
GRAFICO ANEXO
EJERCICIO 4
Problema
Leer en el Puerto B y Escribir en el Puerto F
Algoritmo
Entrada: Habilitar el puerto F como entrada y el puerto b como
salida.
Proceso: Utilizar una variable valor para guardar los datos del
puerto F para luego escribir estos datos en el puerto B.
Salida: Salida en los pines del puerto B las entradas del puerto
F.
Cdigo
program practica1_4
dim valor as byte
main:
lazo:
trisf = $ff 'entrada
trisb = 0'salida
valor = portf
portb = valor
goto lazo
end.
Diagrama de Flujos
INICIO
Habilitar el puerto F como entrada
Habilitar el puerto B como salida
Definir la variable valor para guardar datos
Salida en el puerto B los datos de entrada del puerto F
Esquemtico: Simulacin en proteus utilizando dspic30f4013
GRAFICO ANEXO
EJERCICIO 5
Problema
Leer en el Puerto F y Escribir en el Puerto D
Algoritmo
Entrada: Habilitar el puerto D como entrada y el puerto F como
salida.
Proceso: Utilizar una variable valor para guardar los datos del
puerto D para luego escribir estos datos en el puerto F.
Salida: Visualizar en los pines del puerto F las entradas del
puerto D.
Cdigo
program practica1_5
dim valor as byte
main:
lazo:
trisd = $ff 'entrada
trisf = 0'salida
valor = portd
portf = valor
goto lazo
end.
Diagrama de Flujos
Definir la variable valor para guardar datosHabilitar el puerto F
como salidaHabilitar el puerto D como entradaINICIO
Salida en el puerto F los datos de entrada del puerto D
Esquemtico: Simulacin en proteus utilizando dspic30f4013
GRAFICO ANEXO
EJERCICIO 6
Problema
Escribir en un display de 7 segmentos sin utilizar decodificador,
un valor ascendente entre 0 y F.
Algoritmo
Entrada: Habilito en el puerto B.
Proceso: Ingresar los valores que irn al puerto con un retardo para
visualizar el cambio ascendente
Salida: Salida en el display los valores de 0 a F
Cdigo
program practica1_6
main:
trisb = $0
'conectar a=portb0................e=portb.4.....
lazo:
portb = %00111111 ' formato para binario0
delay_ms(1000)
portb = %00000110' 1
delay_ms(1000)
portb = %01011011'2
delay_ms(1000)
portb = %01001111'3
delay_ms(1000)
portb = %01100110'4
delay_ms(1000)
portb = %01101101'5
delay_ms(1000)
portb = %01111101'6
delay_ms(1000)
portb = %00000111'7
delay_ms(1000)
portb = %01111111'8
delay_ms(1000)
portb = %01100111'9
delay_ms(1000)
portb = %01110111'A
delay_ms(1000)
portb = %01111100'b
delay_ms(1000)
portb = %01011000'C
delay_ms(1000)
portb = %01011110'd
delay_ms(1000)
portb = %01111001'E
delay_ms(1000)
portb = %01110001 'F
delay_ms(1000)
goto lazo
end.
Diagrama de Flujos
INICIO
Habilitar el puerto B como salida
Enviar los datos correspondientes al puerto B
Retardo entre cada envi
Visualizacin en Display
Esquemtico: En Proteus utilizamos en DSPIC30F4013
GRAFICO ANEXO
EJERCICIO 7
Problema
Mediante un display visualizar mostrar en forma descendente todas
letras del alfabeto de la Z a la A.
Algoritmo
Entrada: Habilitar los puertos B y F como salidas.
Proceso: Escribir el cdigo binario para cada letra del alfabeto y
declarar el respectivo retardo para cada letra.
Salida: Visualizar en el display alfa numrico las letras de la Z a
la A en cdigo binario de los puertos B y F.
Cdigo
program practica1_7
main:
trisb = $0
trisf = $0
'conectar a=portb0................e=portb.4.....
lazo:
portb = %011001100' z
portf = %00100010
delay_ms(3000)
portb = %100000000'y
portf = %00100100
delay_ms(3000)
portb = %100000000
portf = %00101010 'x
delay_ms(3000)
portb = %000110011 'w
portf = %0001010
delay_ms(3000)
portb = %000000011 'v
portf = %00100010
delay_ms(3000)
portb = %000111111
portf = %00000000'u
delay_ms(3000)
portb = %011000000't
portf = %01000100
delay_ms(3000)
portb = %011011101's
portf = %00010001
delay_ms(3000)
portb = %011100011'r
portf = %00011000
delay_ms(3000)
portb = %011111111'q
portf = %00001000
delay_ms(3000)
portb = %011100011'p
portf = %00010001
delay_ms(3000)
portb = %011111111'0
portf = %00000000
delay_ms(3000)
portb = %100110011'n
portf = %00001000
delay_ms(3000)
portb = %100110011'm
portf = %00100000
delay_ms(3000)
portb = %000001111'l
portf = %00000000
delay_ms(3000)
portb = %000000011'k
portf = %00101001
delay_ms(3000)
portb = %011000100'j
portf = %01000100
delay_ms(3000)
portb = %000000000'i
portf = %01000100
delay_ms(3000)
portb = %000110011'h
portf = %00010001
delay_ms(3000)
portb = %011011111 'g
portf = %00010000
delay_ms(3000)
portb = %011000011 'f
portf = %00010001
delay_ms(3000)
portb = %011001111 'e
portf = %00010001
delay_ms(3000)
portb = %000111110 'd
portf = %00010001
delay_ms(3000)
portb = %011001111'c
portf = %0000000
delay_ms(3000)
portb = %000011111'b
portf = %00010001
delay_ms(3000)
portb = %011110011'a
portf = %00010001
delay_ms(3000)
goto lazo
end.
Diagrama de Flujos
Habilitar el puerto B y F como salida INICIO
Enviar los datos para las letras al puerto B y F
Retardo respectivo para cadadato
Visualizar
Esquemtico: En Proteus utilizamos el DSPIC30F4013
GRAFICO ANEXO
EJERCICIO 8
Problema
Utilizar el microcontrolador en lalgica boleana.
Algoritmo
Entrada: Habilitar el puerto F como entrad y el puerto B como
salida.
Proceso: Realizar las operaciones lgicas con AND (multiplicacin)
entre el puerto FO y puerto F1.
El escribir el resultado de en el puerto BOla operacin lgica OR
(suma) entre el puerto F2 y F3 y escribo el resultado en el puerto
B1 y la operacin XOR entre el puerto F4 y F5 y escribo en el puerto
B2.
Salida: Visualizo en el puerto B0el resultado de las entradas del
puerto F0 y F1.
Visualizo en el puerto B1el resultado de las entradas del puerto F2
y F3.
Visualizo en el puerto B2el resultado de las entradas del puerto F4
y F5.
Cdigo
program practica1_8
main:
trisf = $ff'f como entrada
trisb = $0 ' b como salida
portb.0= portf.0 and portf.1
portb.1= portf.2 or portf.3
portb.2= portf.4 xor portf.5
goto main
end.
Diagrama de Flujos
INICIO
Habilitar el puerto F como entrada
Habilitar el puerto B como salida
Realizarla operacin AND entre PF0 y PF1
Realizar la operacin OR entre PF2 y PF3
Realizar la operacin XOR entre PF4 y PF5
Visualizar en el puerto PB0, PB1, PB2
Esquemtico: En Proteus utilizamos el DSPIC30F4013
GRAFICO ANEXO
CONCLUCIONES
Los ejercicios realizados en el laboratorio fueron de mucha ayuda
porque nos permitieron tener conocimientos sobre el manejo de los
puertos del PIC.
El cambio del PIC16F877A al dsPIC30F4013 no nos produjo muchos
problemas al momento de utilizar los puertos para habilitar los
LEDs y los Display respectivamente.
Podemos concluir que la primera prctica de laboratorio fue
realizada con mucho xito aprendimos un poco ms sobre el mundo de la
familia de los PICs y de su programacin.
Bibliografa
Hojas de prcticas para Laboratorio Sistemas Microprocesados
I.
http://ww1.microchip.com/downloads/en/devicedoc/70138c.pdf
http://www.mikroe.com/en/books/dspicbook/mikropascal/ch9/images/fig9-13a.gif