Está en la página 1de 11

UNIVERSIDAD POLITECNICA SALESIANA

INFORME 3

LABORATORIO DE SISTEMAS MICROPROCESADOS I

EDISON RIOFRIO

FRANCISCO REYES

PRACTICA 3 MICROCHIP

1. Control de Relé.
a. Controlar un foco a 110v, mientras se de un pulso se prendera por 3 segundos, se
apagará 1 segundo y se volverá a prender por otros 3 segundos.

Entradas, Salidas, Procesos:

 Entradas
o Pulso para activación del foco.
 Salidas
o Arreglo de bytes en el puerto de salida.
 Procesos
o Establecer los pines de salida
o Establecer pines de entrada
o Si el puerto C es 1 se pondrá un 1 en la salida del portC.0 por 3 segundos
o Se pondrá el portC.0 en 0 por 1 segundo
o Se pondrá el portC.0 en 1 por 3 segundos
o Si el puerto C es 0 se pondrá un 0 en la salida del portC.0 y no se activará el relé.

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
Algoritmo.

INICIO

Especificar Puerto B
como salida y Puerto C
como entrada

Recibimos el dato por el


Puerto C

If Falso
portc.0=1

Portc.0=1 Portc.0=0

delay 3seg

Portc.0=0

delay 1seg

Portc.0=1

delay 3seg

Lenguaje de Programación.

program Pratica2_1
trisc=$ff
trisb=$0

lazo:
if portc.0=1 then
portb.0=1
delay_ms(3000)

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
portb.0=0
delay_ms(1000)
portb.0=1
delay_ms(3000)
else
portb.0=1
end if
goto lazo
end.
Diseño en Proteus.

Gráficas:

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
Conclusiones:

El manejo de 110 lo hemos hecho gracias al relé, pero se podría utilizar un moc3020 y un triac,
con un uC podemos manejar voltajes TTL pero gracias a etapas de aislamiento se podría manejar
voltajes como el de esta practica

2. Display de 7 segmentos
b. Escribir en un Display los números del 0 al 9 de manera ascendente

Entradas, Salidas, Procesos:

 Entradas:
o Secuencia desde el 0 al 9 en formato binario
 Salidas:
o Arreglo de bits en los pines del puerto B
 Procesos:
o Configuración del puerto B como puerto de salida de datos.
o Declaro una variable a incrementar.
o Usamos la sentencia for para realizar el incremento de nuestra variable desde 1 a 10.
o Comparamos si el incremento es igual a 10.
o Por verdad reiniciamos la cuenta.

Algoritmo:

INICIO

Configuración del Puerto


B como Puerto de salida

i=1; a=0

For i =1 to 10

a=a+1
portb=a

If a=10 falso

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
Lenguaje de Programación:

program Practica2_2
dim i,a as byte
main:

trisb=0
i=1
a=0
for i=1 to 10
portb=a
a = a+1
delay_ms(1000)
next i

if a=10 then
a=0
else
delay_ms(500)
end if
goto main
end.
Diseño en Proteus:

Graficas:

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
Conclusiones:

El uso de un for y un if combinados nos asegura de que la cuenta será consecutiva, es decir si llega al
límite fijado podremos tranquilamente volver a reiniciar la cuenta

3. Contador de 0 a 99

Entradas, Salidas, Procesos

 Entradas
o Datos del 0 al 99
 Salidas
o Arreglo de bytes en los pines del puerto B donde estará el arreglo del contador
o Arreglo de bytes en el puerto C que será utilizado como el puerto que realizara el
barrido.

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
 Procesos
o Configurar el puerto B como salidas.
o Configuración del puerto C como salidas.
o Hacemos uso de la instrucción INC() que incrementa en 1.
o Una variable para el conteo de unidades.
o Una variable para el conteo de decenas.
o Realizaremos un incremento desde 1 a 10 en la variable de unidades.
o Comparamos si el incremento es igual a 10
o Por falso seguimos incrementando
o Por verdad enceramos las unidades y empezamos a realizar los incrementos en la
variable de decenas.
o Comparamos si el incremento es igual a 10.
o Por verdad enceramos las decenas y reiniciamos el proceso
o lgoritmo: INICIO

Configuración del Puerto


B como salida, C como
salida

Var unidades = a
Var decenas = b

portC = 1
portB = a

Delay 20miliseg

portC=2
portB = b

Delay 20miliseg

Inc (i)

If i=10
Verdad

Inc (b)

If b=10 If a=10

Verdad

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
b=0 a=0

i=0

Lenguaje de programación:

program Pratica2_3
dim a,b as byte
dim i as word
main:
a=0
b=0
i=0

trisb=0
trisc=0

while true
portc=1
portb=a
delay_ms(20)
portc=2
portb=b
delay_ms(20)
inc(i)
if i = 1 then
inc(b)
if b = 10 then
b=0
inc(a)
else

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
if a =10 then
a=0
end if
end if
i=0
else
end if
wend
end.

Esquema en proteus:

Graficos:

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.
Conclusiones:

Para poder contar desde el 0 al 99 tenemos que realizar un barrido, el cual lo controlamos con el puerto
C, este activa los transistores que a la vez energizan al Display.

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint 5.0 now.

También podría gustarte