
The
case used by the original embedded controller was used as the case for
this project. It was adapted to contain the computer board, floppy
drive and hard drive. To adapt case to include the 3.5 inch floppy
drive and hard drive, two pairs of regular PC drive mounting brackets were
adapted to mount the drives in the case and a hole was cut in the sheet
metal case for the floppy drive.
A
PC's Parallel Printer Port had a total of 12 digital outputs and 5 digital
inputs accessed via 3 consecutive 8-bit ports in the processor's I/O space.
8 output pins accessed via the DATA Port
5 input pins (one inverted) accessed via the
STATUS Port
4 output pins (three inverted) accessed via
the CONTROL Port
The remaining 8 pins are grounded
These addresses are in sequential order. For this computer board, the data port is at address 0x0278, the corresponding status port is at 0x0279 and the control port is at 0x027a.
Parallel port programming in Linux adds an additional twist to the parallel port programming examples available on internet. The best place to start is a basic Linux HOWTO. Here is a simple parallel port example from it.
Each hardware conponent has a related C parallel port program.
Ademco Passive Infarared Motion Detector
model 1852
Switch box for remote control
Anderson's Parallel Port Test circuit was used
to verify the parallel port programming.