Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

29/03/2013 #41

Avatar de tecniloco80

xavierymiriam dijo: Ver Mensaje
hola amigo tecniloco te agradezco de todo corazón la gran aportación que has hecho, realmente me ha servido muchísimo el diagrama de conexión, tengo una duda el pic16f716 lo colocaste solo para utilizar la memoria que posee para almacenar los mensajes o también tiene su programación aparte al igual que el pic18f452 no había notado el pic16f716 en la simulación, gracias amigo te mando un gran abrazo
No es para la memoria es para manejar el teclado ps2 aqui esta el hex

Código:
:1000000000308A00542A0000831A0A28A500030E33
:10001000A6000F288312A500030EA600A6140A0846
:10002000AD008A018313A50E0408A7002008A800CC
:100030002108A9002208AA002308AB002408AC006C
:1000400083120B1E25288B18B02927088400280846
:10005000A0002908A1002A08A2002B08A3002C0850
:10006000A4002D088A00260E83008312250EA618F0
:10007000831609000A108A100A1182070D34093408
:100080000E34BA3415347134163431341A347A34A7
:100090001B3473341C3461341D3477341E343234D1
:1000A0002134633422347834233464342434653482
:1000B0002534343426343334293420342A34763405
:1000C0002B3466342C3474342D3472342E3435345D
:1000D00031346E3432346234333468343434673417
:1000E000353479343634363439342C343A346D344A
:1000F0003B346A343C3475343D3437343E34383420
:1001000041342C3442346B344334693444346F34D6
:10011000453430344634393449342E344A342D345D
:100120004B346C344C34F1344D3470344E3422340E
:100130005234B434543460345534A1345A340D3408
:100140005B342B345D34E73461343C34663408343A
:10015000693431346B3434346C3437347034303483
:100160007134E634723432347334353474343634A2
:100170007534383479342B347A3433347B342D3439
:100180007C342A347D34393476341B3405340534D8
:1001900006340634043404340C340C34033403348D
:1001A0000B340B34833483340A340A34013401347D
:1001B00009340934783402340734073411344034B4
:1001C000003400340A108A100A11E93E03188A0A22
:1001D00082000D3409340E34AA34153451341634E7
:1001E00021341A345A341B3453341C3441341D34F2
:1001F00057341E34223421344334223458342334C7
:10020000443424344534253424342634B734293452
:1002100020342A3456342B3446342C3454342D3480
:1002200052342E34253431344E3432344234333463
:100230004834343447343534593436342634393438
:100240004C343A344D343B344A343C3455343D34E8
:100250002F343E34283441343B3442344B3443341D
:10026000493444344F3445343D34463429344934D8
:100270003A344A345F344B344C344C34D1344D34FA
:1002800050344E343F345234A83454345E345534F0
:10029000BF345A340D345B342A345D34C73461348E
:1002A0003E3466340834693431346B3434346C345D
:1002B0003734703430347134E63472343234733459
:1002C0003534743436347534383479342B347A34E4
:1002D00033347B342D347C342A347D3439347634D1
:1002E0001B340534053406340634043404340C3429
:1002F0000C34033403340B340B34833483340A3426
:100300000A340134013409340934783402340734AE
:10031000073411344034003400348316061183123C
:1003200006110830A10094290000A117A529A113E6
:10033000BE0C03180615031C06112117A52921134D
:10034000A10B9829A329000006158C308400840B8A
:10035000A729AA290000A11B9729211B9F29003446
:1003600030080A3C031CC3293008023C0318C32987
:100370000310B90C831686158312B3018619B30ACC
:10038000330BC329B917B00B352A3908BA00B408A2
:10039000031D232A3A08F03A0319D829E23A03192F
:1003A000DB294B3A0319DE29033A0319E129E32932
:1003B0000130B400222A0130B500222A0130B500F4
:1003C000222AB501222AB508031D042ABB01031005
:1003D0003B0D3A203A020319F62903103B0D3A204F
:1003E000A100A1080319F629BB0AE72903103B0D58
:1003F0003A203A02031D032A03103B0D013E3A2026
:10040000BD00BE008D21212ABB0103103B0DE2205F
:100410003A020319142A03103B0DE220A100A1089F
:100420000319142ABB0A052A03103B0DE2203A02E5
:10043000031D212A03103B0D013EE220BD00BE003A
:100440008D21222A302AB4013A08123A03192C2AA3
:100450004B3A03192E2A302AB501302AB501302A29
:10046000B9010B30B0000130B1000130B100B20A67
:100470000B128B108A112528383084008313000852
:100480000319502A0530A100A001A00B452AA10B99
:10049000442A7C30A000A00B4B2A4E2A800B422A13
:1004A00000340B30B0007F2A03081F3983005F300F
:1004B000A0002130840083138001840AA00B5C2AF1
:1004C0002030A000A030840083138001840AA00B98
:1004D000652AA001840183131F308305831606114A
:1004E0008312061583161F149F141F158312B4015F
:1004F000B501B601B7016430B8003C22512A831619
:10050000061486151F308500811306308312A00063
:10051000A00B882A8B2AB201B101B3018316011303
:1005200083128B100B16C0308B04310B9A2AB10149
:100530008B100B168316851483128518D72A37085B
:10054000FC3E0318D42A043ED92AAE018B1BAE17F9
:100550008B130330BE008D21AE1B8B170130B70704
:10056000D42AAE018B1BAE178B130B30BE008D212E
:10057000AE1B8B170130B707D42AAE018B1BAE1709
:100580008B138330BE008D21AE1B8B170130B70754
:10059000D42AAE018B1BAE178B130A30BE008D21FF
:1005A000AE1B8B17B701D42AFA30B8003C22952A2B
:1005B00063000A108A140A118207A52AB12ABD2AEB
:0205C000C92A46
:02400E00BA3FB7
:00000001FF
;PIC16F716
no esta en la simulacion porque el proteus no simula teclado este es el hex para el 16f716 use ese pic porque era el unico que tenia cerca con un cristal de 16,9344 reciclado de un toca cd
31/03/2013 #42


hola amigo tecniloco perdona por no responderte, nueva mente te agradezco por esta gran aportación espero que a todos los demás miembros del foro les sea útil esta gran aportación y resuelvan todas sus dudas respecto a la matriz de led al igual que ami me fue de gran ayuda, sinceramente te felicito por tu proyecto es excelente. de todo corazón gracias te mando un gran abrazo y un te lo mereces.
01/05/2013 #43


amigo tecniloco80 me podrias decir algun reemplazo del pic 16f716?
03/05/2013 #44


Buenos dias amigo tecniloco80, en la matrix de 7x40, la memoria i2c que maneja en el proyecto? es para almacenamiento de mensajes o tiene programación aparte?
02/08/2013 #45


hola amigo tecniloco perdona la molestia, me ha surgido una duda del diagrama de conexión que nos compartiste, los 6 circuitos integrados horizontales son registros de desplazamiento cd4094 sino me equivoco por ser de 8 pines, pero mi duda es los 5 circuitos integrados verticales que están justo alado de los transistores de que tipo son? no logro descifrar su tipo por que son de 9 pines hehe, te agradezco de todo corazón la ayuda amigo muchas gracias.
07/08/2013 #46


programa
tecniloco80 dijo: Ver Mensaje
Esta es la matrix con teclado esta si la arme diganme que tal
http://www.youtube.com/watch?v=_uZCoS9WH9w&
Tal vez la semana proxima si me da el tiempo arme la de vbnet yo les aviso como queda
Amigo podrías subir el código en picc ??? por_favor
13/08/2013 #47

Avatar de tecniloco80

xavierymiriam dijo: Ver Mensaje
hola amigo tecniloco perdona la molestia, me ha surgido una duda del diagrama de conexión que nos compartiste, los 6 circuitos integrados horizontales son registros de desplazamiento cd4094 sino me equivoco por ser de 8 pines, pero mi duda es los 5 circuitos ............
Esos son transistores darlington en arrays es el ULN2803an

---------- Actualizado después de 9 minutos ----------

ledfly dijo: Ver Mensaje
Amigo podrías subir el código en picc ??? por_favor
este el codigo del pic 16f716 solo cambie el include y el use delay por uno que pueda conseguir como el 16f628
Código:
#include "16F716.h"
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT
#use Delay(Clock=16934400)
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)
#zero_ram
unsigned char edge, bitcount;
char got_interrupt;
char interrupt_count;
char status_b3;
#bit INTF_BIT = 0x0B.1 
unsigned char const unshifted[82][2] = { 
0x0d,9, 
0x0e,'º', 
0x15,'q', 
0x16,'1', 
0x1a,'z', 
0x1b,'s', 
0x1c,'a', 
0x1d,'w', 
0x1e,'2', 
0x21,'c', 
0x22,'x', 
0x23,'d', 
0x24,'e', 
0x25,'4', 
0x26,'3', 
0x29,' ', 
0x2a,'v', 
0x2b,'f', 
0x2c,'t', 
0x2d,'r', 
0x2e,'5', 
0x31,'n', 
0x32,'b', 
0x33,'h', 
0x34,'g', 
0x35,'y', 
0x36,'6', 
0x39,',', 
0x3a,'m', 
0x3b,'j', 
0x3c,'u', 
0x3d,'7', 
0x3e,'8', 
0x41,',', 
0x42,'k', 
0x43,'i', 
0x44,'o', 
0x45,'0', 
0x46,'9', 
0x49,'.', 
0x4a,'-', 
0x4b,'l', 
0x4c,'ñ', 
0x4d,'p', 
0x4e,'"', 
0x52,'´', 
0x54,'`', 
0x55,'¡', 
0x5a,13, 
0x5b,'+', 
0x5d,'ç', 
0x61,'<', 
0x66,8, 
0x69,'1', 
0x6b,'4', 
0x6c,'7', 
0x70,'0', 
0x71,'æ', 
0x72,'2', 
0x73,'5', 
0x74,'6', 
0x75,'8', 
0x79,'+', 
0x7a,'3', 
0x7b,'-', 
0x7c,'*', 
0x7d,'9',
0x76,0x1b,//esc
0x05,0x05,//f1
0x06,0x06,//f2
0x04,0x04,//f3
0x0c,0x0c,//f4
0x03,0x03,//f5
0x0b,0x0b,//f6
0x83,0x83,//f7
0x0a,0x0a,//f8
0x01,0x01,//f9
0x09,0x09,//f10
0x78,0x02,//f11
0x07,0x07,//f12
0x11,'@',
0,0 
}; 

unsigned char const shifted[82][2] = { 
0x0d,9, 
0x0e,'ª', 
0x15,'Q', 
0x16,'!', 
0x1a,'Z', 
0x1b,'S', 
0x1c,'A', 
0x1d,'W', 
0x1e,'"', 
0x21,'C', 
0x22,'X', 
0x23,'D', 
0x24,'E', 
0x25,'$', 
0x26,'·', 
0x29,' ', 
0x2a,'V', 
0x2b,'F', 
0x2c,'T', 
0x2d,'R', 
0x2e,'%', 
0x31,'N', 
0x32,'B', 
0x33,'H', 
0x34,'G', 
0x35,'Y', 
0x36,'&', 
0x39,'L', 
0x3a,'M', 
0x3b,'J', 
0x3c,'U', 
0x3d,'/', 
0x3e,'(', 
0x41,';', 
0x42,'K', 
0x43,'I', 
0x44,'O', 
0x45,'=', 
0x46,')', 
0x49,':', 
0x4a,'_', 
0x4b,'L', 
0x4c,'Ñ', 
0x4d,'P', 
0x4e,'?', 
0x52,'¨', 
0x54,'^', 
0x55,'¿', 
0x5a,13, 
0x5b,'*', 
0x5d,'Ç', 
0x61,'>', 
0x66,8, 
0x69,'1', 
0x6b,'4', 
0x6c,'7', 
0x70,'0', 
0x71,'æ', 
0x72,'2', 
0x73,'5', 
0x74,'6', 
0x75,'8', 
0x79,'+', 
0x7a,'3', 
0x7b,'-', 
0x7c,'*', 
0x7d,'9',
0x76,0x1b,
0x05,0x05,
0x06,0x06,
0x04,0x04,
0x0c,0x0c,
0x03,0x03,
0x0b,0x0b,
0x83,0x83,
0x0a,0x0a,
0x01,0x01,
0x09,0x09,
0x78,0x02,
0x07,0x07,
0x11,'@',
0,0 
}; 
void init_kb(void);
void decode(unsigned char sc);
#int_ext
void int_ext_isr(void){
unsigned char data;
   if(bitcount < 11 && bitcount > 2){
      data = (data >> 1);
      status_b3 = input(PIN_B3);
      if((status_b3) == 1){
          data = data | 0x80;
      }
   }
   if(--bitcount == 0){
      decode(data);
      data = 0;
      bitcount = 11;
      got_interrupt = TRUE;
   }
   got_interrupt = TRUE;
   interrupt_count++;
   disable_interrupts(INT_EXT);
}

void main(void)
{
int value = 0;
   delay_ms(100);
   init_kb();
   output_float(PIN_B0);
   output_float(PIN_B3);
   set_tris_a (0x1f);
   port_b_pullups(TRUE);
   delay_us(5);
   interrupt_count = 0;
   got_interrupt = FALSE;
   status_b3 = 0;
   ext_int_edge(H_TO_L);
   INTF_BIT = 0;
   enable_interrupts(INT_EXT);
   enable_interrupts(GLOBAL);
   while(1){
      if(got_interrupt == TRUE){
            got_interrupt = FALSE;
            INTF_BIT = 0;
            enable_interrupts(INT_EXT);
         } 
        if( input(PIN_A1)==0 ){
       
        
        switch( value ){
        case 0:printf("%c",0x03);
        value=value+1;
        break;
        case 1:printf("%c",0x0b);
        value=value+1;
        break;
        case 2:printf("%c",0x83);
        value=value+1;
        break;
        case 3:printf("%c",0x0a);
        value=0;
        break;
        }
        delay_ms (250);
        }
      } 
} 

void init_kb(void){
   bitcount = 11;
   printf("" );
}

void decode(unsigned char sc){
   static unsigned char is_up=0, shift = 0, mode = 0;
   unsigned char i;

   if (!is_up){
         switch (sc){
               case 0xF0 :
                  is_up = 1;
                  break;
               case 0x12 :
                  shift = 1;
                  break;
               case 0x59 :
                  shift = 1;
                  break;
               case 0x5A :
                  shift = 0;
                  printf ("");
                  break;
               default:
                  if(!shift)
                     {
                        for(i = 0; unshifted[ i ][ 0 ]!=sc && unshifted[ i ][ 0 ]; i++);
                        if (unshifted[ i ][ 0 ] == sc)
                           {
                              printf("%c", unshifted[ i ][ 1 ]);
                           }
                     }
                  else
                     {
                        for(i = 0; shifted[ i ][ 0 ]!=sc && shifted[ i ][ 0 ]; i++);
                        if (shifted[ i ][ 0 ] == sc)
                           {
                              printf("%c", shifted[ i ][ 1 ]);
                           }
                     }
                     break;
               } 
         }
      else
         {
         
         is_up = 0;
         switch (sc)
            {
               case 0x12 :
                  shift = 0;
                  break;
               case 0x59 :
                  shift = 0;
                  break;
            } 
         }
}
15/08/2013 #48


buenas tardes amigo tecniloco80, el codigo que tenes para el pic 18f452 en la simulacion no tiene transistores ni los uln 2803 , al montar el circuito ya con los transistores funciona igual o tenes otro para ello
de antemano muchas gracias por tu respuesta
juanc08
cali colombia
19/08/2013 #49

Avatar de tecniloco80

Hola aqui les subo todos los archivos que encontre de esta matrix para que puedan hacerla funcionar disculpen por no subirlos antes es que me dio flojera reunir todos los archivos
son libres de modificar lo que quieran del codigo por que creo que se puede hacer mejor
yo lo hice asi por limite de tiempo
matrix.part01.rar

matrix.part02.rar

matrix.part03.rar

matrix.part04.rar

matrix.part05.rar

matrix.part06.rar

matrix.part07.rar

matrix.part08.rar
04/10/2013 #50


Saludos
Muchas gracias amigo por tu aportacion en verdad voy a descargar tus archivos subidos los para poder simularlos y armarlo muchas gracias amigo

Código:
#include "16F716.h"
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT
#use Delay(Clock=16934400)
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)
#zero_ram
unsigned char edge, bitcount;
char got_interrupt;
char interrupt_count;
char status_b3;
#bit INTF_BIT = 0x0B.1 
unsigned char const unshifted[82][2] = { 
0x0d,9, 
0x0e,'º', 
0x15,'q', 
0x16,'1', 
0x1a,'z', 
0x1b,'s',
si quisiera compilarlo para el pic16F628A como lo modificaria en los fuses amigo ya que es mas comercial y mas barato creo yo. ups creo que tbm necesito el programa C para poder modificarlo y compilarlo

---------- Actualizado después de 2 horas ----------

No la programacion esta hecha con el PIC C Compiler , lo que subi es solo la parte de la matrix el teclado funciona con otro pic un 16fxxx ,lo hice primero con un solo pic pero no quedaba mucho espacio paro los mensajes ahora puedo usar las Fx del teclado para grabar en memoria interena del pic 4 mensajes con F1 F2 F3 F4 graba y con F5 F6 F7 F8 reproduce F9 es un efx f10 negativo
f11 velocidad - f12 velocidad + esc borra msj 0
Amigo TECNILOCO80 gracias por tu aporte de los archivos que has subido, en verdad esta muy bueno. me hubiera gustado que la programación sea en pic basic ya que ese es el que practico quisiera saber como se programa esta matriz a través del teclado ps2 o se necesita algo mas te agradecería mucho puedas darnos esa ultima pausa. Yo tengo un circuito que estuve haciendo con un amigo del foro, pero el ya no se conecta y en verdad me agradaría postearlo. no se logro terminar el proyecto, pero lo que falta del programa es muy poco esta en picbasic y Vb para la creación de nuevas letras dibujos o imágenes espero subirlo pronto y si mi amigo quien junto a el hicimos este proyecto no se enoja o se enfada pues no veo motivos de no adjuntarlo y poder terminarlo espero puedan ayudarme a terminarlo amigos
04/10/2013 #51


Buen trabajo

Una duda, sabéis si el cristal de 16.93 MHz hay que ponerlo si o si, o se puede poner uno de 16.000 MHz o cual, por que no lo encuentro por ningún lado
05/10/2013 #52


Hola, me he dado cuenta que es cerámico, es esto cierto, existen cristales cerámicos?

Un saludo
05/10/2013 #53
Moderador

Avatar de Chico3001

Si existen... se les conoce como resonadores ceramicos

http://es.edaboard.com/topic-3970539.0.html
05/10/2013 #54


Resonador ceramico
Ok gracias

Un saludo

---------- Actualizado después de 29 minutos ----------

Nada, no lo encuentro por ningún lado, sabéis donde puedo encontrar un resonador cerámico de 16.93 MHz online?

---------- Actualizado después de 3 minutos ----------





Un saludo

---------- Actualizado después de 4 minutos ----------
05/10/2013 #55


Hola compañero tecniloco80 agradesco tu gran aporte, leyendo tu mensaje para los cambios del pic del teclado estos serian los cambios #include "16F716.h" por #include "16F628.h" y #use Delay(Clock=16934400) por #use Delay(Clock=20000000) o abria otro cambio en el codigo, agradesco su respuesta de antemano.
05/10/2013 #56

Avatar de tecniloco80

CYCA dijo: Ver Mensaje
Hola compañero tecniloco80 agradesco tu gran aporte, leyendo tu mensaje para los cambios del pic del teclado estos serian los cambios #include "16F716.h" por #include "16F628.h" y #use Delay(Clock=16934400) por #use Delay(Clock=20000000).
Si esos serian los cambios para un cristal 20Mhz

---------- Actualizado después de 5 minutos ----------

decpiste dijo: Ver Mensaje
Nada, no lo encuentro por ningún lado, sabéis donde puedo encontrar un resonador cerámico de 16.93 MHz
yo lo saque de un toca cd danado
05/10/2013 #57


OK gracias



Seria este el resonador? http://www.sourcingmap.es/100-unidad...-p-147813.html
05/10/2013 #58


Gracias compañero tecniloco 80 ahora tengo que armar un grabador de pic para el pic 18f452 ya que solo poseo un jdm ya que solo he utilizado pic 16f628 , he estado probando un proyecto de matriz de leds con teclado de una pagina rusa pero no funciona , les adjunto el diagrama que estaba desarrolando.
Imágenes Adjuntas
Tipo de Archivo: jpg mc150-1.jpg (61,1 KB (Kilobytes), 272 visitas)
06/10/2013 #59


Sabéis si es el resonador que necesitamos este?http://www.sourcingmap.es/100-unidad...-p-147813.html

Un saludo
06/10/2013 #60


Hola ,por las imagenes y por lo dicho por el compañero tecniloco8o ese es el mismo ,estos los encuentras en aparatos reproductores de c.d.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.