matriz de leds con pic16f84a

 

Buenas amigos, este proyecto se los dejo a quienes quieran crear matrices graficas usando pic's. El proyecto esta hecho a diseño mio, talvez hallan diseños mejores. Lo mejor es que uno puede ir practicando y aprendiendo el uso de los microcontroladores.
Esta vez usare el pic16f84a como inicio despues se ira ascendiendo de micro de acuerdo al software que ira mejorando y con el aporte de todos uds.



El circuito

 

Para empezar necesitamos un circuito en donde se basaran nuestras practicas, aqui les dejo el esquema que utilizaremos.



Deacuerdo al circuito mostrado, tenemos a los integrados 74HC164 que son registros de desplazamiento. Solo un pulso de subida de reloj en el pin 8 para que secuencie el valor de entrada en sus pines 1 y 2. Despues le siguen los integrados ULN2803.



El programa

 

Para la programacion, usamos el Mplab que se puede descargar de la pagina
de Microchip: www.microchip.com
Empecemos primero con un poco de codigo, (para quienes tengan
conocimiento en la programacion de pic's en asembler, tenganme paciencia) para ir armando el proyecto.


CABECERA

list P=PIC16F84 ;nombramos el pic que usaremos
#include "C:\Archivos de programa\Microchip\MPASM Suite\P16F648A.INC"
;el lugar donde se instalo el mplab, en este sitio en mi caso .

; Fusibles de programacion:

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

;Definimos puertos:

05h equ porta
06h equ portb

;definimos funciones de los pines del pic:

00h equ datos ;los datos q viajaran a traves de las salidas
;del 74hc164
01h equ reloj ;reloj del 74hc164

;definicion de registros:
;aqui empezamos a nombrar cada etiqueta.

contador equ 20h
tiempo equ 21h
ciclo equ 22h
delay equ 23h
temp1 equ 24h
temp2 equ 25h

;aqui nombrados las columnas que tendremos conectadas,
;son 16 columnas:

columna1 equ 30h
columna2 equ 31h
columna3 equ 32h
columna4 equ 33h
columna5 equ 34h
columna6 equ 35h
columna7 equ 36h
columna8 equ 37h
columna9 equ 38h
columna10 equ 39h
columna11 equ 3Ah
columna12 equ 3Bh
columna13 equ 3Ch
columna14 equ 3Dh
columna15 equ 3Eh
columna16 equ 3Fh

Bueno pues necesitamos empezar con esto para ir armando el proyecto,
luego se los aseguro sabremos q estamos haciendo.

Programa en la que activaremos la primera columna.

 


Primer paso: Ponemos en alto las entrada de datos
del IC 74hc164:


bsf porta,datos

Segundo paso: Mandamos un pulso de reloj en la entrada 8 del IC.
Y lo llamaremos DELD:

DELD bsf porta,reloj
nop
nop
bcf porta,reloj

Tercer paso: Ponemos en alto las entradas de datos 1 y 2.

bcf porta,datos

Listo, con esto hemos activado la primera columna y deacuerdo al
valor que le enviemos por el puerto B se visualizaran en ella.