Está en la página 1de 25

UNIVERSIDAD POLITECNICA SALESIANA

INTEGRANTES

OSCAR AYALA
CHRISTIAN IBARRA
ANDRES VALDIVIESO

1
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 software
Microbasic 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.

2
 CÓDIGO
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

3
 ESQUEMÁTICO:

 GRAFICO ANEXO

4
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.

 CÓDIGO
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

5
 ESQUEMÁTICO:

 GRAFICO ANEXO

6
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.

 CÓDIGO
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

7
 ESQUEMÁTICO:

 GRAFICO ANEXO

8
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.

 CÓDIGO
program practica1_4

dim valor as byte


main:
lazo:
trisf = $ff 'entrada
trisb = 0 'salida
valor = portf
portb = valor
goto lazo
end.

9
 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

ESQUEMÁTICO: Simulación en proteus utilizando dspic30f4013

10
 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.

11
 CÓDIGO
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

INICIO

Habilitar el puerto D
como entrada

Habilitar el puerto F como


salida

Definir la variable valor


para guardar datos

Salida en el puerto F los


datos de entrada del
puerto D

12
ESQUEMÁTICO: Simulación en proteus utilizando dspic30f4013

 GRAFICO ANEXO

13
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 irán al puerto con un retardo para visualizar el cambio
ascendente
Salida: Salida en el display los valores de 0 a F

 CÓDIGO
program practica1_6
main:
trisb = $0
'conectar a=portb0................e=portb.4.....
lazo:
portb = %00111111 ' formato para binario 0
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)

14
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ó

15
Visualización en Display

ESQUEMÁTICO: En Proteus utilizamos en DSPIC30F4013

 GRAFICO ANEXO

16
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 código binario para cada letra del alfabeto y declarar el respectivo
retardo para cada letra.
Salida: Visualizar en el display alfa numérico las letras de la Z a la A en código binario de
los puertos B y F.
 CÓDIGO
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

17
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)

18
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

19
delay_ms(3000)
goto lazo
end.

 DIAGRAMA DE FLUJOS

INICIO

Habilitar el puerto B y F
como salida

Enviar los datos para las


letras al puerto B y F

Retardo respectivo para cada


dato

Visualizar

20
 ESQUEMÁTICO: En Proteus utilizamos el DSPIC30F4013

 GRAFICO ANEXO

21
EJERCICIO 8
 PROBLEMA
Utilizar el microcontrolador en la lógica boleana.
 ALGORITMO
Entrada: Habilitar el puerto F como entrad y el puerto B como salida.
Proceso: Realizar las operaciones lógicas con AND (multiplicación) entre el puerto FO y
puerto F1.
El escribir el resultado de en el puerto BO la operación lógica OR (suma) entre el
puerto F2 y F3 y escribo el resultado en el puerto B1 y la operación XOR entre el puerto F4
y F5 y escribo en el puerto B2.

Salida: Visualizo en el puerto B0 el resultado de las entradas del puerto F0 y F1.


Visualizo en el puerto B1 el resultado de las entradas del puerto F2 y F3.
Visualizo en el puerto B2 el resultado de las entradas del puerto F4 y F5.
 CÓDIGO
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.

22
 DIAGRAMA DE FLUJOS

INICIO

Habilitar el puerto F como


entrada

Habilitar el puerto B como


salida

Realizar la operación AND


entre PF0 y PF1

Realizar la operación OR
entre PF2 y PF3

Realizar la operación XOR


entre PF4 y PF5

Visualizar en el puerto PB0,


PB1, PB2

23
ESQUEMÁTICO: En Proteus utilizamos el DSPIC30F4013

 GRAFICO ANEXO

24
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 práctica de laboratorio fue realizada con mucho éxito
aprendimos un poco más sobre el mundo de la familia de los PICs y de su programación.

Bibliografía
- Hojas de prácticas 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
- Microcontroladores PIC - Angulo Usategui Jose Maria

25

También podría gustarte