Sunteți pe pagina 1din 3

MICROCONTROLADORES.

Ing. Guillermo Eduardo Méndez Zamora.

Práctica 1. Entradas y salidas digitales: Manejo de leds, Buzzer,


display de 7 segmentos y teclado matricial.
Objetivo. Aprender cómo utilizar y desempeñar entradas y salidas digitales en
lenguaje C para manipular elementos como leds, buzzer, display de 7 segmentos
y teclado matricial.

Material y Equipo.

 1 Protoboard.
 1 Microcontrolador PIC18F4550.
 1 Led verde
 1 Led amarillo
 1 Led rojo
 1 piezo-eléctrico (Buzzer a 5v)
 1 Display de 7 segmentos (ánodo común o cátodo común)
 Resistencias (Varios valores)
 1 Teclado matricial (3x4 o 4x4)
 1 Computadora para simulación de programas
 1 Osciloscopio
 1 Fuente de alimentación fija (5V) (en caso de trabajr en protoboard)
 1 Multímetro digital

Parte 1.- Manejo de Leds y Buzzer.

Escribir un programa que repita las siguientes acciones:

a) Encender el led verde para indicar disponibilidad de activar secuencia


y esperar para que un botón (push-button con pull-up externo) sea
presionado.
b) Después solo el led rojo encienda y apague 10 veces durante 5 segundos
(0.5 s apagado y 0.5 s encendido en cada repetición)
c) Por último con todos los leds apagados activar el buzzer con un tono de
500KHz por dos segundos use el pin RC2 del puerto C.

Para realizar un tono debes generar una onda cuadrada de 0 a 5v en el


microcontrolador a la frecuencia deseada.

Tome fotografía del circuito real para evidencia de práctica. Simular el programa
desarrollado en proteus.
Consejos.

 Considere lo que se debe hacer con respecto al rebote del interruptor.


 Hacer seguro que el tono es en 500Hz, utilice el osciloscopio para
corroborar que se generara una señal cuadrada con la frecuencia correcta.

Parte 2.- Display de 7 segmentos.

Conectar el display de 7 segmentos (caso cátodo común) como en la figura 1, los


resistores pueden ser de 560Ω o 680Ω (procurar todas las resistencias iguales para
misma iluminación).

Figura 1. Configuración de display de 7 segmentos (cátodo – común).

Diseñe un programa para que cuente desde 0 a 7 y se repita cíclicamente. Cada


digito debe ser desplegado cada segundo y la cuenta reinicia con la indicación de
tres entradas digitales para el número máximo en la cuenta.

Los segmentos en el display de 7 segmentos son etiquetados como a,b,c,d,e,f, y g


y el punto decimal es DP. Cada segmento es un Led separado con los catodos
unidos.

Consejos.

 Conectar todos los leds a un solo puerto y usar la función output_x(value),


para ajustar los 8 pines de los leds en el patrón deseado. Esto significa que
debes encontrar un puerto que tenga 8 pines disponibles en el bloque de
terminales.
 Construir una tabla lookup constante (arreglo constante) con los patrones
de bits correctos para formar cada digito. Por ejemplo, NUMS[3] debería
tener los valores correctos para mostrar un 3 (página 116 del libro de la
bibliografía).

Tome fotografía del circuito real para evidencia de práctica. Simular el


programa desarrollado en proteus.
Parte 3.- Manejo de teclado matricial y display de 7 segmentos.

Realizar la conexión de un teclado matricial (de 3x4 o 4x4) figura 2 para conectar
al PIC18f4550, y escribir un programa para mostrar en el display de 7 segmentos
cada tecla numérica que es presionada en el teclado.

Figura 2. Configuracion de teclado 3x4

Cuando una tecla es presionada la conexión es realizada desde uno de los pines
de las filas hasta uno de los pines de las columnas. Por ejemplo cuando el botón 4
es presionado el pin 5 es conectado al pin2.

Habilite los pull-ups internos en el puerto B, para ajustar cada bit individualmente.

Consejos.

 El PIC es mucho más rápido que la mano del ser humano, por lo que la
técnica a usar es escanear el teclado por ajuste en bajo de uno de los pines
de las columnas (salidas del microcontrolador), las otras columnas en alto y
entonces revisar cada pin de fila (entradas en el microcontrolador) si es que
está en bajo, si ningún botón es presionado ir a otra columna y así repetir el
proceso.
 Para este trabajo cada fila debe tener un pull-up. Hacer seguro que los
pines conectados a las filas en el puerto de tu microcontrolador pueden
habilitar el pull-up internamente.
 Una vez que es encontrado un bajo sobre una fila, entonces usar el número
de la fila y el número de la columna actual para indexar un arreglo
bidimensional constante que traduce el renglón y la columna a un número
entero (0 a 9 índice del arreglo NUMS de la parte 2).

Tome fotografía del circuito real para evidencia de práctica. Simular el programa
desarrollado en proteus.

Bibliografía.

 Siegesmund, M. (2014). Embedded C Programming: Techniques and Applications of C and


PIC MCUS. Newnes.

S-ar putea să vă placă și