I/O Expansion - Parallel Port & 82C55's

Tips, Tricks and methods for programming, learn ways of making your programming life easier, and share your knowledge with others.

Moderators: Benj, Mods

Post Reply
Woode
Posts: 10
Joined: Fri Dec 26, 2008 4:11 pm
Been thanked: 2 times
Contact:

ο»ΏI/O Expansion - Parallel Port & 82C55's

Post by Woode »

Have you got an old Parallel Port project that uses 8255 chips for Input/Output that is not used because you have no
Parallel Port? :cry:

Then read on, a 28 pin ECIO interfaces the computer USB port to the projects Parallel Port. It uses Port B & C so Port A is
still free for other applications. :lol:

The flowcode program uses 4 commands:-
0. Initiate and set up Ports as Input/Output
1. Scan all Inputs and return values
2. Set all Outputs
3. Reset PIO’s
Initialise is set up for 2x 8255's, increase the value for ‘n’ in the ‘While Loop’ for more chips.

Note:- Send all Output Data in one transmit and receive all Input Data in a another. (Scan inputs every 20ms)
No need for address!

My old Parallel Port project and the ECIO use the following settings. (ALE = Address Latch Enable)
C0 Read
C1 Write
C2 Reset
C3/6 ALE - (3 on Par. Port, 6 on ECIO)
8255 Mode 0, Port C set as all inputs or all outputs.

Of course the 8255's could be driven directly but it would probably be better to use MCP23017's or MCP 235S17's as
suggested elsewhere. (These are a 28p 0.3" DIP package) All these Chips and data sheets are available from Farnell
(Orders under Β£30, Β£5.95 handling charge + VAT - April 09)

Speed of operation

The old Parallel Port would write an address and send/receive data in 108us so 8 bytes would take 864us etc

The USB Slave can send at least 32 bytes in less than 1ms.

The ECIO Read/Write pulse is about 400ns. A non CMOS chip needs a minium read/write pulse of 300/400ns, and a CMOS chip 200ns. I have tried 2 non CMOS chips and they worked OK.

Delphi Demo

Non Delphi users can run the EXE file to see the form layout and use the Word version of the Delphi form to help
translation to another language. (No complex programming included!)

For details see Files at:- http://www.matrixmultimedia.com/softwar ... l_Port.zip

Post Reply