Está en la página 1de 15

Universidad Politecnica Salesiana

Trabajo de sistemas microprocesados I

Pedro Fonseca
Edison Ortega
Cristian Simbaña
EJERCICIO 1
Ejercicio 2
Mediante un pulsante generar la aparición en dos displays de 7 segmentos la suma de 4 en 4
si no se pulsa se debe tener mostrado en los displays el numero anterior.

Programa:

Circuito armado y funcionando:


Ejercicio 3

Generar mostrador de números aleatorios de 0 a 99

$regfile "m16def.dat"
$crystal = 8000000
Ddrc = 255
Ddrd = 255
Config Portc = Output
Config Portd = Output
Dim I As Byte , H As Byte , Menor As Byte , Mayor As Byte
Do
H = Rnd(99)
H = Makebcd(h)
Menor = H And &B0000_1111
Mayor = H And &B1111_0000
Shift Mayor , Right , 4
For I = 1 To 10
Portd = Menor
Portc = 1
Waitms 10
Portd = Mayor
Portc = 2
Waitms 10
Next
Loop
End
Fotos:

4.

Problema
Diseñar un programa que al presionar un pulsante incrementar el valor de 8 leds conectados a
un puerto del microcontrolador, a la vez debe observarse el valor en un display LCD, no debe
titilar la pantalla del LCD, utilizar la interrupción externa

Algoritmo

Entrada:

Ingresar la señal de cero o uno lógico a través del pulsador para incrementar el contador

Proceso:

Configurar la salida del LCD en el Puerto C

Configurar la salida de los 8 leds en el Puerto B

Configurar la entrada de la señal del pulsador

Habilitar las interrupciones por flanco descendente

Habilitar la interrupción externa

Incrementar en uno el número cada vez que el pulsador se presionado

Escribir en el LCD el número en decimal y en el puerto B en código binario1

Salida:

Visualizar en un LCD el número en decimal y en los leds en Binario y cada vez que se pulse
incrementar en 1

Diagrama de Flujo
INICIO

Configurar Puerto C LCD

Puerto B salidas (8 Leds)

Habilitar las interrupciones

Habilitar interrupción externa

Bandera = 0

Incrementar el
contador en 1

Visualizo el dato en
el LCD y en los Leds

Código:
Esquemático
5.

Problema

Diseñar un programa para encender un led 2 segundos y apagarlo durante un segundo y a la


vez en el LCD mostrar el mensaje Universidad Politécnica Salesiana

Algoritmo

Proceso:

Configurar la salida del LCD en el Puerto C

Configurar la salida del led en el Puerto B

Habilitar las interrupciones por flanco descendente

Realizar la secuencia de encendido y apagado del led

Escribir en el LCD el mensaje Universidad Politécnica Salesiana

Salida:

Visualizar el led encendido durante 2 segundos y apagado durante un segundo

Visualizar en un LCD el mensaje Universidad Politécnica Salesiana


Diagrama de Flujo

INICIO

Configurar Puerto C LCD

Puerto B salida

Habilitar las interrupciones

TMR0 modo contador

Bandera = 0

Retardo 1 (encendido led)


Retardo2 (apagado led)

Subrutina Interrupt
(secuencia del led)

Main programa del LCD

Visualizar la
secuencia de led y
el LCD

Código:
Esquemático

Conclusiones

 Se debe tener en muy en cuenta la configuración del registro option_ reg para poder
configurar al TMR0 tanto como temporizador como modo contador
 El uso de las interrupciones es de suma importancia y muy práctico porque casi
siempre se debe realizar dos programas que funcionen al mismo tiempo
 Fue de mucha importancia el conocimiento de todos los comandos para el uso de
distintos elementos electrónicos como son teclados, lcd, leds para poder realizar los
programas correctamente
Bibliografía

 Datasheet PIC16F877A

 Sistemasmicroprocesadosi.nin.com

 Angulo Usategui José María, Microcontroladores PIC. Diseño práctico de


aplicaciones. Segunda Parte: PIC16F87x,PIC18F7x

 Hojas guías de Prácticas de Laboratorio, Ing. Luis Oñate, UPS 2010

También podría gustarte