Autor Tema: Control de impresora matricial  (Leído 8042 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado santiago

  • PIC10
  • *
  • Mensajes: 5
Control de impresora matricial
« en: 27 de Diciembre de 2006, 13:56:35 »
como imprimir los datos que ingreso desde teclado a una impresora matricial con un pic 16f877a

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de impresora matricial
« Respuesta #1 en: 27 de Diciembre de 2006, 14:10:54 »
Hola!
Suponiendo que ya estas leyendo el teclado correctamente, solo tenes que enviar los 8 bits en paralelo a D0...D7 del puerto de la impresora, y leyendo los dos o tres bits de esta que te informan si te quedaste sin papel, si esta on-line, etc. Tambien podes enviar caracteres de control (el ASCII 12 por ejemplo, si la memoria no me falla, es el salto de pagina en varias impresoras), etc.

Cualquier pagina que podes encontrar en google sobre puerto paralelo e impresoras matriciales te va a brindar los codigos de que te hablo....

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado santiago

  • PIC10
  • *
  • Mensajes: 5
Re: Control de impresora matricial
« Respuesta #2 en: 27 de Diciembre de 2006, 14:59:01 »
hola AITOPES, gracias por la ayuda, la parte del teclado me funciona correctamente porque visualizo en una LCD. me parece que lo que me indicas es que unicamente debo utilizar los códigos ascii normalmente y leer las lineas de busy, strobe.....

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de impresora matricial
« Respuesta #3 en: 27 de Diciembre de 2006, 15:34:26 »
Exacto! Suerte, y comenta como te fue.

PD: Que lenguaje de programacion estas usando?
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado santiago

  • PIC10
  • *
  • Mensajes: 5
Re: Control de impresora matricial
« Respuesta #4 en: 27 de Diciembre de 2006, 18:33:03 »
lo voy a intentar, gracias!
Este proyecto lo comence a hacer en basic, pero de vez en cuando utilizo C o ensamblador.

La impresora que debo controlar también tiene puerto serie, que me resulta más facil, serie o paralelo???

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de impresora matricial
« Respuesta #5 en: 27 de Diciembre de 2006, 22:06:06 »
Nunca intente controlar una impresora, pero a priori, me parece mas simple el control via puerto paralelo. Al menos, no vas ha tener que hilar tan fino con los tiempos de la comunicacion, y el soft va a ser mas sencillo.

Saludos.
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Control de impresora matricial
« Respuesta #6 en: 28 de Diciembre de 2006, 02:50:30 »
A mi parecer, pienso que es más fácil utilizar la comunicación serie, porque podrás aprovechar la USART del PIC. Se trataría únicamente de configurar los parámetros de la conexión (velocidad, paridad, bit de stop...) y listo.
Por el contrario, si haces la comunicación por paralelo tendrás que implementar el protocolo vía software.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de impresora matricial
« Respuesta #7 en: 28 de Diciembre de 2006, 03:00:15 »
Citar
porque podrás aprovechar la USART del PIC

Estaba covencido que era un 16f84A.... , pero veo que es un 877!!

¿Sera la hora de la madrugada que es? O el circuito que tengo que entregar ,añana y no se si llego? ;)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Control de impresora matricial
« Respuesta #8 en: 28 de Diciembre de 2006, 03:10:52 »
Jjaja, no te preocupes Ariel, eso pasa en las mejores familias  :D

¿No tienen los 16F84 USART también?  :mrgreen:

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de impresora matricial
« Respuesta #9 en: 28 de Diciembre de 2006, 03:13:00 »
Nunca los use...pero tenia entendido de que no. Ya veo que hasta en eso estoy errado! :)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado santiago

  • PIC10
  • *
  • Mensajes: 5
Re: Control de impresora matricial
« Respuesta #10 en: 28 de Diciembre de 2006, 18:29:07 »
A mi parecer, pienso que es más fácil utilizar la comunicación serie, porque podrás aprovechar la USART del PIC. Se trataría únicamente de configurar los parámetros de la conexión (velocidad, paridad, bit de stop...) y listo.
Por el contrario, si haces la comunicación por paralelo tendrás que implementar el protocolo vía software.

Me parece que si, creo que es mas facil utilizar el usart pero alguien tiene idea de como hacerlo, como manejaría los datos provenientes desde la impresora

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de impresora matricial
« Respuesta #11 en: 28 de Diciembre de 2006, 20:02:24 »
¿Que impresora tenes?
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Control de impresora matricial
« Respuesta #12 en: 31 de Diciembre de 2006, 12:33:34 »
Hola, esto del control de impresora, me recuerda mis comienzos con las viejas matriciales, en DOS que no tenian modo grafico, y habia que programar "a mano" byte por byte para formar el caracter... se acuerdan los argentinos cuando teniamos por monedas los "australes"... ahora seria muy simple, en ese momento era un caracter generado, o escribir la "A" hacer un retroceso y sobreescribir "=" ;-)

bueno, eso me sirvio para implementar y entender como funcionan las impresoras seriales
lo que hice, fue controlarla en Visual Basic, por el puerto, luego lo adapte a Picbasic, que es casi directo (las tramas a enviar, no los codigos ;-))
como ejemplo'*****************************************************************
ENCABEZADO:
 gosub linea ' imprime un renglon de asteriscos
 
    serout portb.0,6,[13,10,27,121,1,27,119,1,27,122,1,"  LAVADERO  ",13,10," * Solis  * ",13,10]
   
     
        ' LETRAS DOBLE LARGO     LETRAS DOBLE ancho   LETRAS sombreadas
 
   serout portb.0,6,[27,122,0,27,119,0,27,121,0,"* Cel. 03465  15593145 *",13,10]    ' cierre  LETRAS sombreadas
    ' cierre LETRAS DOBLE ancho  cierre  LETRAS DOBLE LARGO

      gosub linea  ' imprime un renglon de asteriscos
    RETURN   
'*******************************************************************************         
 
      
        'transmite a 9600 sin max 232        'WRITE Address,Value
'leer    'leer el estado del contador en eeprom, incrementar en uno y grabar


TICKET:        '6 ES EL MODE, SERIA N9600

    READ 1,UNIDAD   ;CARGO EL ESTADO DEL CONTADOR
 
 
    serout portb.0,6,[13,10,13,10,27,121,1," Ticket Nro. ",27,119,1]' dos renglones en blanco
       

    for T=4 to 0 step -1                ' toma cada digito del contador,lo pasa a ASCII y lo imprime
    serout portb.0,6,[UNIDAD DIG T + 48] ' para colocar tambien los ceros a la izquierda
    next T
   
   serout portb.0,6,[13,10,27,119,0,27,121,0,13,10]

       ' cierre LETRAS DOBLE ancho cierre  LETRAS DOBLE LARGO
 
    gosub linea ' imprime un renglon de asteriscos
   
    serout portb.0,6,[13,10,"  Conserve este ticket",13,10,"   sera  requerido en",13,10,"        Porteria",13,10]
   
      serout portb.0,6,[27,122,1,"  GRACIAS!  ",13,10,27,122,0]    ' LETRAS sombreadas
    gosub linea  ' imprime un renglon de asteriscos
   
        serout portb.0,6,[13,10,"COMPROBANTE  DE LAVADO",13,10,"  PARA  SU   CONTROL  ",13,10,"  VALOR 8 PESOS",13,10]
   
        GOSUB ENCABEZADO
        gosub linea  ' imprime un renglon de asteriscos
   
RENGLON:
    FOR T=0 TO 8            '12  4 RENGLONES EN BLANCO
      serout portb.0,6,[13,10]    ' un renglon en blanco
    NEXT T
    T=0


es a modo de ejemplo, y lo copy/paste de un programa mas extenso... y generaba un ticket
los numeros, corresponden al tipo de impresora, mirar en su manual, hay codigos que estan estandarizados...  10,13, 27 y otros pueden o no ser iguales....


espero les sirva

Un abrazo!

Feliz año

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado SandiBoy

  • PIC10
  • *
  • Mensajes: 4
Re: Control de impresora matricial
« Respuesta #13 en: 16 de Junio de 2011, 10:50:44 »
Se que este tema lleva tiempo y que nos han mostrado un ejemplo de codigos para controlar una impresora matricial.

ftp://ftp.cise.ufl.edu/pub/mirrors/LPRng/RESOURCES/PPD/epson.htm

Estaba imprimiendo basandome en el ejemplo que muestra todopic pero creo que hace falta que todos entendamos el porque? y como hacer cambios en relación a ello por eso pongo este enlace.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Control de impresora matricial
« Respuesta #14 en: 16 de Junio de 2011, 15:00:04 »
ja ja, gracias Sandi, es que lo he dado por sabido....  :D tienes razón, buen aporte, voy a tratar de colocarlo aquí en la pagina...
y me hiciste recordar nuevamente viejos tiempos...  :mrgreen:
Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...


 

anything