Esta práctica consiste en formar un hombrecito saludando, una vez familiarizado será muy sencillo ir implementando más displays del mismo tipo,emplearemos una matriz de 7x5 que significa que tendremos 7 filas ABCDEFG y 5 columnas 1,2,3,4,5 . Si nos fijamos en la matriz de leds de 7x5 vemos que las columnas controlan o activan las filas,esto quiere decir que para encender un led de las filas primero tiene que estar activada la columna correspondiente, cada columna controla 7 leds correspondientes al puerto B de los cuales nosotros decidimos que leds se prenden o que leds esten apagados.
Por ejemplo para activar o encender el led central (D3) de la matriz tengo primero que activar la columna 3 mediante el pic por el puerto A lo siguiente (00100) y luego mandar por las filas del puerto B lo siguiente (0001000). Los bits que no se usan (B7) no interesan en este caso esten en 1 o 0.
La idea para usar una matriz es la multiplexacion, para esto activamos una columna de la matriz por ejemplo la columna 1 que esta controlado,mediante un transistor conectado en el puerto A pin A6 y enviamos los leds que se quieran visualizar o encender del puerto B desde B0 hasta B6.
Luego activamos la columna2 mediante el pic por el puerto A pin A3, y enviamos los leds que se quieran visualizar o encender del puerto B desde B0 hasta B6, y asi sucesivamente. El programa a realizar, debe multiplexar los leds de forma que se encienda como la secuencia 1, permanece 100 milisegundos y cambia a la secuencia 2, luego a la secuencia 3, y finalmente a la secuencia 4, para luego volver a repetir toda la secuencia desde el principio. Como resultado observaremos un hombrecito que agita los brazos.
Es muy importante considerar el tiempo de multiplexaje, ya que no se debe sobrepasar un total de 20 mls, por ejemplo si utilizamos 2 displays 7x5, debemos bajar el tiempo de pauses a 2 milisegundos para también tener un total de 20 mls. El enlace del archivo Hex. click aqui:
http://www.4shared.com/file/t0lsTNil/matrizhombrecito.html
El codigo fuente esta en picbasicpro y lo publico en mi pagina: http://www.proyectoselectronicoos.blogspot.com/
Por ejemplo para activar o encender el led central (D3) de la matriz tengo primero que activar la columna 3 mediante el pic por el puerto A lo siguiente (00100) y luego mandar por las filas del puerto B lo siguiente (0001000). Los bits que no se usan (B7) no interesan en este caso esten en 1 o 0.
La idea para usar una matriz es la multiplexacion, para esto activamos una columna de la matriz por ejemplo la columna 1 que esta controlado,mediante un transistor conectado en el puerto A pin A6 y enviamos los leds que se quieran visualizar o encender del puerto B desde B0 hasta B6.
Luego activamos la columna2 mediante el pic por el puerto A pin A3, y enviamos los leds que se quieran visualizar o encender del puerto B desde B0 hasta B6, y asi sucesivamente. El programa a realizar, debe multiplexar los leds de forma que se encienda como la secuencia 1, permanece 100 milisegundos y cambia a la secuencia 2, luego a la secuencia 3, y finalmente a la secuencia 4, para luego volver a repetir toda la secuencia desde el principio. Como resultado observaremos un hombrecito que agita los brazos.
Es muy importante considerar el tiempo de multiplexaje, ya que no se debe sobrepasar un total de 20 mls, por ejemplo si utilizamos 2 displays 7x5, debemos bajar el tiempo de pauses a 2 milisegundos para también tener un total de 20 mls. El enlace del archivo Hex. click aqui:
http://www.4shared.com/file/t0lsTNil/matrizhombrecito.html
El codigo fuente esta en picbasicpro y lo publico en mi pagina: http://www.proyectoselectronicoos.blogspot.com/
muy buen proyecto del cual hay que citar su procedencia, que yo no consigo ver en el post:
ResponderEliminar"microcontroladores PIC programación en basic 3º edicion de Carlos a. reyes."
muy buena practica para comenzar con las matrizes saludos
Hermano muchas gracias, tengo el libro que comentas y cierratmente esta muy bien explicado, saludos desde Vnzla!
EliminarExactamente este ejemplo pertenece al amigo citado, los graficos y programa estan bien explicados en su publicacion del libro, se tomo este ejemplo debido al poco tiempo y tambien a la pereza :) de hacer graficos.
ResponderEliminaramigo, y si le quiero agregar mas displays?
ResponderEliminarhola que tal una pregunta no lleva reistencia de master clean y el oscilador ??
ResponderEliminarEn el pic16f628a personalmente solo alimento pin14 (Vdd) con 5 voltios y pin5 (Gnd) a tierra y Pin4 (master clear) directo a 5 voltios.
ResponderEliminary uso el oscilador interno del pic, en Winpic buscar CONFIG. marcar opcion INTRC I/O al momento de grabar un pic.