TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: risanti13 en 05 de Diciembre de 2003, 08:14:00
-
He realizado un circuitos que consiste en 4 display anodo comu conectados en cascada a un 7447 ( Decodificador BDC) cada terminal de aplinetacion de los 4 display esta conectado a un 2n3904 para activar cada display pero el dilema es que no se me ocurre como realizar el programa de control a traves de un
Pic 16f84 usando el portb el portb.0 al portb.3 para enviar el BCd y portb.4 al Portb.7 para Controlar los Transisitores
si alguien tiene algo que me sirva una idea no el el programa completo sino una ayuda
servira usar interrupciones 


risanti13







-
Hola, te contesto desde mi poca experiencia, realmente no se si hay otra manera pero hice algo parecido de esta forma.
Uso un arreglo por cada display donde cada posision esta dividida de la siguiente manera.
Ejemplo Display1 pos 0 = 00010000 donde los primeros cuatro son el display que prende y los untimos cuatro el numero.
Ejemplo Display2 pos 0 = 00100000 donde los primeros cuatro son el display que prende y los untimos cuatro el numero.
Espero se entienda y te sirva.
Saludos.
Pablo
byte CONST Display1[] =
{0b00010000,0b00010001,0b00010010,0b00010011,0b00010100,0b00010101,0b00010110,0b00010111,0b00011000,0b00011001};
byte CONST Display2[] = {0b00100000,0b00100001,0b00100010,0b00100011,0b00100100,0b00100101,0b00100110,0b00100111,0b00101000,0b00101001};
byte CONST Display3[] = {0b01000000,0b01000001,0b01000010,0b01000011,0b01000100,0b01000101,0b01000110,0b01000111,0b01001000,0b01001001};
byte CONST Display4[] = {0b10000000,0b10000001,0b10000010,0b10000011,0b10000100,0b10000101,0b10000110,0b10000111,0b10001000,0b10001001};
-
Con un 16f84 solo necesitan los display, el portb con 7 resistencias a la salida 7 segmentos y cuatro transistores pnp para alimentar el ànodo por medio de RA0...RA3. se genera un barrido para los 4 display.
La precisiòn la obtiene atravès de interrupciòn por lìmite de contèo del tmro, la subrutina de interrupciòn la puede ajustar con precisiòn de 1 useg usando instrucciones que no alteran el funcionamiento del programa tales como nop, clrwdt, osea que cualquier valor de cristal le sirve, el lìmite en tiempo del tmro en el
16f84 es muy corto, en la rutina de interrupciòn se debe adicionar un contador que nos lleve a contar las interruciones hasta 1 segundo.
El resto es hacer contador para segundos, minutos, horas, dìas, meses, años, centurias, milenios, eras geològicas y hasta màs.
-
Pero como uso la Interrupciones ,acaso hay que poner en alto o bajo algun pin el Pic ´.
estuve trabajando y diseñe el`pograma y resulta pero use solamente for next y pause hasta que por lo menos cuenta pero no con mucha presicion ...
-
Te dejo un posible ejemplo con lcd usando interrupciones escritas en asm
http://miarroba.com/foros/ver.php?foroid=132136&temaid=1288650
suerte.