MCU --- Matrisprinter
MCU --- Matrisprinter
Hej vilka signaler är viktigast för att kunna skriva ut text från en MCU på en matrisprinter som har LPT interface?
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Det var nog 15 år sedan jag använde en skrivare ifrån något annat än en PC. Men de viktigaste signalerna in till skrivaren är ju självklart D0-D7 och STROBE, från skrivaren är den definitivt viktigaste pinnen ACK.
Jag har för mig att man klarar sig utan signalen BUSY från skrivaren eftersom man inte får ACK förrän skrivaren har tagit emot och processat föregående tecken, men jag är inte till 100% övertygad om det.
Jag har för mig att man klarar sig utan signalen BUSY från skrivaren eftersom man inte får ACK förrän skrivaren har tagit emot och processat föregående tecken, men jag är inte till 100% övertygad om det.
> Kan man koppla 16F88 direkt till en 25 Dsub och sedan till skrivaren eller måsta man ha något typ av mellan steg som skydd?
Jag har för mig att Centronics använder 5V's nivåer, så det borde väll gå direkt. Eller finns det senare varianter ("E-" någonting...) som kör med andra nivåer ?
Kanske att man skulle sätta in någon slags "drivers" för att skydda PIC portarna/pinnarna. Jag har inte kollat, men det skulle inte förvåna om det finns speciella Centronics drivers som ger rätt nivår, impedans o.s.v.
Sen är det en annan sak att ganska många pinnar "går åt" till skrivaren. Om inte F88'an skall göra så mycket mer är det väll OK, men annars skulle kanske en 28-pinnare passa bättre.
> 16F88 har ju I2C har suttit och skummat PDF:en, men borde kanse göra ett djupdyk. Provar ändå, vilka pinnar används för I2C?
Vilka pinnar av vadå ? Av pinnarna på F88'an ? Jag är helt övertygad om att det står i det I2C kapitel som du just har läst. Hur hänger I2C ihop med skrivaren förresten ?
Jag har för mig att Centronics använder 5V's nivåer, så det borde väll gå direkt. Eller finns det senare varianter ("E-" någonting...) som kör med andra nivåer ?
Kanske att man skulle sätta in någon slags "drivers" för att skydda PIC portarna/pinnarna. Jag har inte kollat, men det skulle inte förvåna om det finns speciella Centronics drivers som ger rätt nivår, impedans o.s.v.
Sen är det en annan sak att ganska många pinnar "går åt" till skrivaren. Om inte F88'an skall göra så mycket mer är det väll OK, men annars skulle kanske en 28-pinnare passa bättre.
> 16F88 har ju I2C har suttit och skummat PDF:en, men borde kanse göra ett djupdyk. Provar ändå, vilka pinnar används för I2C?
Vilka pinnar av vadå ? Av pinnarna på F88'an ? Jag är helt övertygad om att det står i det I2C kapitel som du just har läst. Hur hänger I2C ihop med skrivaren förresten ?
Ops, glömde att skriva det.
Jo den (16F88 eller en med flera ben) ska vara cenralen i en mottagare.
Mottagaren får kördata via 433Mhz och ska bearbetar och skriver ut kör kurvor i A4 eller A3 format,
så för att ställa in olika inställningar ska jag använda I2C LCD jag köpte från dig för ett tag sedan
på tradera. (3St ligger på hyllan)
Jo den (16F88 eller en med flera ben) ska vara cenralen i en mottagare.
Mottagaren får kördata via 433Mhz och ska bearbetar och skriver ut kör kurvor i A4 eller A3 format,
så för att ställa in olika inställningar ska jag använda I2C LCD jag köpte från dig för ett tag sedan
på tradera. (3St ligger på hyllan)
OK. Verkar vara ett trevligt projekt !
Ett annat sätt att utöka pinnarna på en processor skulle kunna vara
att använda ett enkelt serie-in/parr-ut register. Det finns ett par trevliga
74HC som jag aldrig minns numret på...
Eller (om man vill ha lite mer flexibilitet) något av de speciella "port-extenders" som t.ex Microchip tillverkar. Då kan man programmera varje pinna som in eller ut och får interrupt styrning m.m.
Kolla efter MCP23016, MCP23017, MCP23S17, MCP23008 och/eller MCP23S08.
Båda dessa alternativ kan vara bra om man redan är "inkörd" på en processor eller har en mängd färdig kod och det bara är pinnarna som har "tagit slut".
Ett annat sätt att utöka pinnarna på en processor skulle kunna vara
att använda ett enkelt serie-in/parr-ut register. Det finns ett par trevliga
74HC som jag aldrig minns numret på...

Eller (om man vill ha lite mer flexibilitet) något av de speciella "port-extenders" som t.ex Microchip tillverkar. Då kan man programmera varje pinna som in eller ut och får interrupt styrning m.m.
Kolla efter MCP23016, MCP23017, MCP23S17, MCP23008 och/eller MCP23S08.
Båda dessa alternativ kan vara bra om man redan är "inkörd" på en processor eller har en mängd färdig kod och det bara är pinnarna som har "tagit slut".
Som jag ser det:
A, Det skulle vara trvligt att få prova på att bygga en parallen port för att så många projekt på nätet redan använder seriellt.
B, Skulle de bli brist på portar få jag byta till större MCU
C, Låta en extra MCU ta hand om utskrifterna
D, Köra med serie-in/parr-ut register som sodjan föreslog
E, Överge min utgångs idé och bygga för seriellt gränsnitt, dock har jag ingen matris skrivare med sådan port.
A, Det skulle vara trvligt att få prova på att bygga en parallen port för att så många projekt på nätet redan använder seriellt.
B, Skulle de bli brist på portar få jag byta till större MCU
C, Låta en extra MCU ta hand om utskrifterna
D, Köra med serie-in/parr-ut register som sodjan föreslog
E, Överge min utgångs idé och bygga för seriellt gränsnitt, dock har jag ingen matris skrivare med sådan port.

Du, det är bara att koppla ihop skrivare och PIC!
Förutom de 8 databit behöver du stroben som utgång från PIC'en och ACK som ingång.
Om du vill skydda lite i alla fall tar du de vanliga dioder vid ingången och sätter en 27 ohm i alla ledningar.
Jag antar att du bara ska skriva ut text och inte behöver fibbla med grafik för det klarar knappast någon PIC, det kräver för mycket minne.
Förutom de 8 databit behöver du stroben som utgång från PIC'en och ACK som ingång.
Om du vill skydda lite i alla fall tar du de vanliga dioder vid ingången och sätter en 27 ohm i alla ledningar.
Jag antar att du bara ska skriva ut text och inte behöver fibbla med grafik för det klarar knappast någon PIC, det kräver för mycket minne.