TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: todopic en 03 de Febrero de 2004, 16:16:00

Título: IMPRESORA TERMICA - comunicacion serie
Publicado por: todopic en 03 de Febrero de 2004, 16:16:00
Hola Amig@s, en estos dias me llega una impresora termica, tengo que controlarla con un micro...., y necesito los codigos de caracteres para su control... quiero ir adelantando algo..
por ejemplo avance del papel, renglon etc... ¿son universales?
alguno ya realizo algo de esto?

gracias

Norberto
http://www.electrocomponentes.com.ar/impresoras_termicas/mobile_pro_basic.html


Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: todopic en 10 de Febrero de 2004, 21:46:00
Hola Amig@s, les comento que hoy me pase todo el dia con la impresorita termica... primero experimente en Visual Basic, para poder controlarla de manera serial...

luego, empece a jugar con los distintos comandos para cambios de tipografia....

por la tarde escribi el codig en PBP para un 16f84, y realmente salio funcionando perfecto!!!  

emplee sentencias como

 serout portb.0,6,[27,121,1]    " LETRAS DOBLE LARGO
   serout portb.0,6,[27,119,1]    " LETRAS DOBLE ancho
   serout portb.0,6,[27,122,1]    " LETRAS sombreadas

si alguien necesita info, ahora la dispongo


Norberto
Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: MGLSOFT en 11 de Febrero de 2004, 05:23:00
Que vas a hacer con la impresora, Norberto ??

Y por supuesto, maestro,  ponga la info !!
Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: todopic en 11 de Febrero de 2004, 07:16:00
Hola Gente!, me pidieron que fabricara un sistemita que genere un ticket por cada ficha que ingrese, a modo de comprobante...
y no querian emplear una PC.., asi que almaceno el total de ticket generados, subtotales, cantidad emitidos,y logicamente, nombre de la empresa, celular y datos de interes...
realmente fue muy facil empleando el PBP... pero como morfa memoria!!!!, asi que tenia que recurrir a optimizar el codigo para que entre en el f84...

por ejemplo

     FOR T =1 TO 24
    serout portb.0,6,["*"]
    NEXT T

consume menos memoria que enviar un string de 24 asteriscos...

el agrupar varios serout en uno solo, tambien es mas ECONOMICO...

y con 3 valores, se cambia el estilo de impresion

 serout portb.0,6,[27,121,1,27,119,1,27,122,1]
 " LETRAS DOBLE LARGO   LETRAS DOBLE ancho  LETRAS sombreadas

solo me quedaron 2 bytes libres je je je...

el PBP ¿maneja strings?, es decir, para colocar los ceros a la izquierda... yo lo solucione asi

   UNIDAD=UNIDAD + 1  
     WRITE 1,UNIDAD
 
     IF UNIDAD <10000 THEN N=1
     IF UNIDAD <1000 THEN N=2
     IF UNIDAD <100 THEN N=3
     IF UNIDAD <10 THEN N=4  "N ES LA CANTIDAD DE CEROS A LA IZQUIERDA


   serout portb.0,6,[27,121,1," Ticket Nro. ",27,119,1]    " LETRAS DOBLE LARGO  
    serout portb.0,6,[27,121,1]    " LETRAS DOBLE LARGO
 
  FOR T=1 TO N
       serout portb.0,6,["0"] " COLOCO TANTOS CEROS PARA LLEGAR A 5 DIGITOS EN LA IZQUIERDA
    NEXT T
   serout portb.0,6,[# UNIDAD,13,10]

¿existe otra forma?

Un gran abrazo

Norberto

 
Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: Sispic en 11 de Febrero de 2004, 09:19:00
Asi tambien tendria que funcionar .

Valor var word
X       var byte


for X=4 to 0 step -1
   serout portb.0,6,[Valor DIG X + 48]
next X

interesante laparatito este .
suerte
Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: todopic en 11 de Febrero de 2004, 14:38:00
Sispic, con la sentencia Dig, me ahorro 45 bytes!...  esta funcionando asi

Gracias!

Norberto

xootraoox, creo que tu impresora no dispone de placa controladora... la que yo tengo es justamente serial, y solo dispone de 4 cables, + , -  tx , rx, y yo estoy empleando solo 3
Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: Ivitavi en 12 de Marzo de 2004, 08:18:00
Norberto:
Te comento q tengo controlar una impresora térmica con un micro, y te agradecería la información q me puedas mandar sobre como imprimo los caracteres y todos los comandos q necesito para empezar a imprimir......
La impresora es una Epson TM-U950 y no tengo manual

Gracias......
Título: RE: IMPRESORA TERMICA - comunicacion serie
Publicado por: todopic en 12 de Marzo de 2004, 22:38:00
Hola, al no tener la info..mmmm

pero casi todas trabajan en 9600, sin paridad

asi que simplemente le envias caracteres ASCII

el cambio de renglon es el CHR$(13) chr$(10)

arriba hay datos... pero no se si serviran para tu impresora.....

Primero, prueba a enviarle los caracteres desde algun programa, por el puerto serie, por ejemplo el HIPERTERMINAL de windows...

OJO que tienes que completar un renglon para que avance, o terminarlo con 13,10...

suerte!

Norberto