You are on page 1of 13

UNIVERSIDAD POLITECNICA SALESIANA

INTEGRANTES

OSCAR AYALA
CHRISTIAN IBARRA
ANDRES VALDIVIESO

1
TEMA: UTILIZACION DE DECLARACIONES CON EL MICROCONTROLADOR PIC 16F877A Y EN
dsPIC 30F4013

OBJETIVO: Utilizar Las declaraciones if, select case, do, for, whilw con el
microcontrolador PIC y dsPIC

DESARROLLO
Para la practica utilizamos la placa programadora “PICTrainer” de dsPIC y el software
Microbasic ds.

2
PROCEDIMIENTO

EJERCICIO 1
 PROBLEMA
Si se presiona el botón el foco se enciende por 3 segundos, luego se apaga 1
segundo y se vuelve a encender el foco por 3 segundos. Caso contrario el foco
permanece prendido.
 ALGORITMO

Entrada: Por medio del pulsador ingresamos el valor FFh por el Puerto C.
Proceso: Si presionamos el pulsador el foco se encenderá por 3 segundos,
después se apaga por 1 segundo y se vuelve a encender el foco por 3 segundos
más. Si no presionamos el pulsador el foco permanecerá prendido.
Salida: Visualizamos si el encendido y apagado del foco funciona correctamente
por la salida del puerto B.

 CÓDIGO
program practica2
trisc=$ff
trisb=$0

main:
if portc.0=1 then
portb.0=1
delay_ms(3000)
portb.0=0
delay_ms(1000)
portb.0=1
delay_ms(3000)
portb.0=0
else
portb.0=1
end if
goto main
end.

3
 DIAGRAMA DE FLUJOS

INICIO

Definimos
las variables

Leer Puerto B

Leer Puerto C

No
Puerto
C=1

Si

Puerto B=1

Retardo 3 seg.

Puerto B=0

Retardo 1 seg.

4
 ESQUEMÁTICO:

 GRAFICO ANEXO

5
EJERCICIO 2
 PROBLEMA
Utilizando la sentencia For-nex, elaborar un contador ascendente de 0 a 9, que sea
repetitivo.
 ALGORITMO
Entrada: No hay.
Proceso: Contador del 0 al 9 que sea repetitivo.
Salida: Por el Puerto B mandamos la señal al display de 7 segmentos.
 CÓDIGO
program practica2_2
main:
dim i,a as byte
trisb=0
i=1
a=0
for i=1 to 10
portb=a
a=a+1
delay_ms(500)
next i
if a=10 then
a=0
else
end if
delay_ms(500)
goto main
end.

 DIAGRAMA DE FLUJOS

INICIO

Definimos
las variables

PuertoB=a
a=a+1

Retardo de 500 ms

6
 ESQUEMÁTICO:

 GRAFICO ANEXO

7
EJERCICIO 3
 PROBLEMA
Mediante la secuencia For-nex, elaborar un contador descendente entre 0 y 9.
 ALGORITMO
 Entrada: No hay.
 Proceso: Contador del 9 al 0 que sea repetitivo.
 Salida: Por el Puerto B mandamos la señal al display de 7 segmentos.

 CÓDIGO
program practica2_3
main:
dim i,a as byte
trisb=0
i=1
a=9
for i=0 to 9
portb=a
a=a-1
delay_ms(500)
next i
if a=0 then
a=9
else
end if
delay_ms(500)
goto main
end.

 DIAGRAMA DE FLUJOS

INICIO

Definimos
las variables

PuertoB=a
a=a-1

Retardo de 500 ms

8
 ESQUEMÁTICO:

 GRAFICO ANEXO

9
EJERCICIO 4
 PROBLEMA
Utilizar la secuencia While-wend, para elaborar un contador ascendente de dos dígitos.
 ALGORITMO
Entrada: No hay.
Proceso: Realizamos un contador ascendente utilizando la secuencia While-wend.
Salida: Por el Puerto B y el Puerto F mandamos la señales a los 2 display de 7 segmentos
respectivamente.

 CÓDIGO
program practica2_4
main:
Dim A,B As Byte
dim I As word
A=0
B=0
I=0
TRISB=0
TRISF=0
while true
portf=1
portb=A
delay_us(1)
portf=2
portb=B
delay_us(1)
inc(I)
if I=2000 then
Inc(B)
if B=10 then
B=0
Inc(A)
else
if A=10 then
A=0
End if
End if
I=0
else
end if
wend
end.

10
 DIAGRAMA DE FLUJOS

INICIO

Definimos
las variables

Escribimos en el Puerto B
Puerto F control de Unidades.

Escribimos en el Puerto B los


Datos.

Retardo de 100 us.

Puerto F control
Decenas

Escribimos en el Puerto B los


Datos.

Retardo de 100 us.

Los acumuladores inician el conteo

11
 ESQUEMÁTICO: Simulación en proteus utilizando dspic30f4013

 GRAFICO ANEXO

12
CONCLUCIONES
 Como nos pudimos dar cuenta en la práctica, el PIC también nos sirve para el control alto
voltaje.
 Podemos concluir que para realizar contadores ya sea ascendentes o descendentes, el uso
de las sentencias For-nex y While-wend nos sirvió de mucha ayuda ya que pudimos
realizar dichos contadores con mucho éxito y además el uso de estas sentencias hicieron
que la programación sea corta.

Bibliografía
- Hojas de prácticas para Laboratorio Sistemas Microprocesados I. Microcontroladores PIC -
Angulo Usategui Jose Maria.
- http://ww1.microchip.com/downloads/en/devicedoc/70138c.pdf
- http://www.mikroe.com/en/books/dspicbook/mikropascal/ch9/images/fig9-13a.gif

13

You might also like