Contador Con Pic16f84a
-
Upload
ovanio-molina -
Category
Documents
-
view
71 -
download
0
Transcript of Contador Con Pic16f84a
Electrónica & Robótica
Blog personal con temas de: Electrónica, Robótica,Microcontroladores, Programación con sus Ejemplos,Circuitos, Tutoriales, Vídeos, Simulaciones, Archivos dedescarga y Mucho Mas.
CONTADOR DE 0 A 9 CON PIC16F84AY PULSADORES
Siguiendo con las prácticas en Pic Basic Pro y utilizando el MicroCode Studio para nuestros
Microcontroladores PIC, en esta ocasión utilizaremos un Display de 7 Segmentos y pulsadores para
visualizar los números del 0 al 9. Además es una pequeña demostración de la gran cantidad de formasen las cuales podemos utilizar el ya conocido PIC16F84A.
Algo que tenemos que tener en cuenta es que el código cambia dependiendo si usamos un display deánodo común o de cátodo común. En este caso lo veremos con un display de cátodo común, lo que nos
dice que para que algún segmento encienda el pin tiene que recibir un 1 lógico. Por lo tanto para saberqué es lo que deseamos ver en el display necesitamos que el puerto B del PIC o salidas (RB0-RB7)tengan 1 lógicos ó 0 lógicos.
Como lo que queremos ver en el display con los números del 0 al 9 tenemos la siguiente tabla que nosmostrara mejor lo antes mencionado. También se muestra los números en decimal, hexadecimal ybinario esto nos será útil al momento de realizar la programación, que son las tres formas de mandar
datos al puerto B de nuestro PIC.
(http://electronicayrobotica.files.wordpress.com/2013/01/tabla-de-verdad-display-de-7-segmentos-con-pic.jpg)
Figura 1. Tabla de verdad del display de 7 segmentos con PIC
El circuito es sencillo consta de un display de 7 segmentos de cátodo común conectado al puerto B delPIC16F84A con sus debidas resistencias y también su oscilador a 4MHz con sus respectivos capacitoresde 22pF, además se tienen 2 pulsadores conectados al puerto A del PIC, el primero conectado a RA0 yes el que se utiliza para incrementar el conteo, el segundo conectado a RA1 y se utiliza paradecrementar, para el Reset se tiene conectado otro pulsador en el pin Master Clear con su resistencia aVcc para que el PIC trabaje adecuadamente. Recordar que los pines de alimentación del PIC son: 5
para GND y 14 para Vcc=5 Volts.
El circuito se muestra a continuación:
(http://electronicayrobotica.files.wordpress.com/2013/02/contador-con-pic-y-pulsadores.jpg)
El comando que se utilizara para mostrar el valor en el puerto B es LOOKUP el cual puede ser usadopara obtener valores de una tabla de constantes de 8 bits en este caso utilizaremos la variable DIGITO.Los valores que irán dentro de LOOKUP en este ejemplo serán en forma hexadecimal para ello el
compilador requiere que se utilice el símbolo “$”, si se quisiera utilizar los números en binario se debede agregar el “%” y para los decimales solo basta escribir el numero tal y como es, estas tresposibilidades deben de ir separadas por comas.
El código en Basic para este circuito es el siguiente:
123456789101112131415
AllDigitalTRISA = %11111111'Puerto A como entradaTRISB = %00000000'Puerto B como salidaDIGITO var Byte'declaramos la variable digitoPORTB = 63 'Muestra el numero cero en el displaydigito = 0'Inicializamos digito en ceroMAIN: If PORTA.0 = 1 Then'Si RA.0=1 hacemos lo siguiente pause 100 If digito = 10 Then digito = 0 Endif If digito <= 10 Then pause 100 digito = digito + 1
Se declara el puerto A como entrada y B como salida, se declara la variable DIGITO, se inicializaPORTB=63 para que en el display se visualice un cero, se inicializa la variable DIGITO=0. Se tienen dos
condicionales, la primera revisa el estado de RA0 si este es pulsado aumenta el conteo, el segundo revisa
a RA1 y si es pulsado decrementa el conteo. La instrucción LOOKUP va mostrar una variable DIGITOen el puerto B y se tiene la siguiente sintaxis:
LOOKUP digito, [$3F, $06, $5B, $4F, $66, $6D, $7D, $07, $7F, $6F, $3F], PORTB
Se utiliza la variable DIGITO para saber que dato es que se va a mostrar recordar que esta variable.
Cada que se presiona un botón se tiene un retardo para evitar el antirrebote que pueda tener el botón.
Dejo la lista de material para poder realizar este ejemplo y seguir aprendiendo de la programación.
MATERIAL:
1 PIC16F84A1 Display de 7 segmentos de cátodo común
1 Cristal de cuarzo de 4MHz
2 Condensadores de 22pF10 Resistores de 330Ω
3 Pulsadores
Les dejo un vídeo del circuito en acción.
16171819202122232425262728293031
LookUp digito, [$3f, $06, $5b, $4f, $66, $6d, $7d, $07, $7f, $6f, $3f], PORTB Endif Endif If PORTA.1 = 1 Then'Si RA.1=1 hacemos lo siguiente pause 100 If digito = 0 Then digito = 10 Endif If digito >= 0 Then pause 100 digito = digito - 1 LookUp digito, [$3f, $06, $5b, $4f, $66, $6d, $7d, $07, $7f, $6f], PORTB Endif EndifGoto MAIN
Si gustas descargar el archivo .HEX y el código fuente puedes hacerlo desde aquí:
(https://mega.co.nz/#!bFoFSYwY!ZYT-qoH0JHTxNdXYkpuiGAllbcjTPqO4K-1GnqCJ6E8)
Posted in Microchip, Microcontroladores PIC, PICs en Basic and tagged 0-9 counter with PIC16F84A,contador de 0 a 9, contador de 0 a 9 con pic y pulsadores, Contador de 0 a 9 con PIC16F84A, Counterwith PIC16F84A, counter with PIC16F84A and buttons, Electrónica y Robótica, MrChunckuee,pic16f84a, pics en basic on 09/02/2013 by MrChunckuee. 2 comentarios
2 comments
1. Carlos dijo:24/05/2014 a las 11:59 PM
0
0 iCalificar
HOla, he tratado de descargar el programa y sale errores me lo podrían mandar o resubir?
RESPONDER1. MrChunckuee dijo:
25/05/2014 a las 12:25 AM
0
About these ads (http://en.wordpress.com/about-these-ads/)
0
i
Calificar
Ya envié el material a tu correo y también ya he corregido el enlace
RESPONDER
BLOG DE WORDPRESS.COM. EL TEMA SUITS.