) ( 205 2003 4 ISA PCI Peripherals Connect Interface ISA Enhanced Parallel Port EPP IEEE 1284 1994 Intel Xircom Zenith 4-bit Nibble Mode EPP Enhanced Parallel Port ECP Extended Capabilities Parallel bi-direction 8 bits EPP ECP Standard Parallel Port SPP handshaking EPP Enhanced Parallel Port EPP 1.7 EPP 1.9 500KB/S 2MB/S 1. 2. I/O 3. SPP EPP 1 Strobe Write 2-9 Data 0-7 Data 0-7 / 10 Ack Interrupt 11 Busy Wait
12 Paper Out / End 13 Select 14 Auto Linefeed Data Strobe 15 Error / Fault 16 Initialize Reset 17 Select Printer Address Strobe 18-25 Ground Ground I/O I/O 1 278~ 27F 2 2E8~2EF 3 2F8~2FF 4 378~ 37F 5 3BC~ 3BF 6 3E8~ 3EF 7 3F8~ 3FF Bit Map of Parallel Port and EPP Registers Address Address Register BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 Base 0 Data Port (R/W) PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Base 1 Status Buffer (Read) BUSY ACK PE SLCT ERROR 1 1 TIME OUT Base 2 Control Swapper (Read) 1 1 1 IRQEN SLCT IN INIT Base 2 Control Latch (Write) 1 1 DIR IRQ SLCT IN INIT AUTO FEED AUTO FEED STROBE STROBE Base 3 EPP Address Port(R/W) PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Base 4 EPP Data Port0(R/W) PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Base 5 EPP Data Port1(R/W) PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Base 6 EPP Data Port2(R/W) PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Base 7 EPP Data Port3(R/W) PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Base Address 3F8h 278h 3BCh ISA PCI
74HC573 A0 ~ A7 74LS245 D0 ~ D7 PAL16V8 RD WR WATT 8255A
EPP Data Strobe Address Strobe Wait Data Strobe Address Strobe
Data Strobe Address Strobe Write Wait Data Strobe Address Strobe Write BIOS EPP ECP+EPP
Windows (Win9x/Me to WinNT/2000/Xp) Visual Basic I/O Windows Quick Basic I/O win95io.dll inpout32.dll port95nt.exe inpout32.dll (http://www.lvr.com/) Microsoft Visual Basic inpout32.dll INPOUTV4.BAS
8255A Option Explicit Dim Value As Integer Dim PortAddress As Integer Dim Offset As Integer Dim Port As String Private Sub Combo1_Click() Port = Combo1.Text If Port = "PA" Then Offset = 0 End If If Port = "PB" Then Offset = 1 End If If Port = "PC" Then Offset = 2 End If If Port = "Control" Then Offset = 3 End If 'Set Address Offset Private Sub Combo2_Click() PortAddress = Combo2.Text Out Val("&h" + Combo2.Text) + &H402, &H80 'Set ECR,Use EPP Mode
Out Val("&h" + Combo2.Text) + &H2, 0 'Control Port Output Pull High Out Val("&h" + Combo2.Text) + &H3, 3 'Output Address,Select Control Word Register Out Val("&h" + Combo2.Text) + &H4, &H80 'output Control Word Register Data Private Sub Command1_Click() Out Val("&h" + Combo2.Text) + &H3, Offset 'Use 8255 PortA Text2.Text = Hex$(Inp(Val("&H" + Combo2.Text) + &H4)) Private Sub Command2_Click() Out Val("&h" + Combo2.Text) + &H3, Offset 'Use 8255 PortA Out Val("&h" + Combo2.Text) + &H4, Val("&H" + Text2.Text) 'Output Data Private Sub Form_Load() Value = 0 Offset = 0 PortAddress = Combo2.Text Out Val("&h" + Combo2.Text) + &H402, &H80 'Set ECR,Use EPP Mode Out Val("&h" + Combo2.Text) + &H2, 0 'Control Port Output Pull High Out Val("&h" + Combo2.Text) + &H3, 3 'Output Address,Select Control Word Register Out Val("&h" + Combo2.Text) + &H4, &H82 'Output Control Word Register Data
Winbond W83877TF DataSheet http://www.winbond.com.tw/pdf/sheet/877tf.pdf Printer Port 8255 http://www.tacocity.com.tw/book8051/ Beyond Logic http://www.beyondlogic.org/ IEEE 1284 Parallel Port Information http://www.fapo.com/ieee1284.htm Parallel Port Complete http://www.lvr.com/parprtib.htm Parallel Port Central http://www.lvr.com/parport.htm VB driver http://www.driverlinx.com/download/dnload.htm VB driver port95nt.exe http://www.oopic.com/dloadp.html Windows 95 I/O DLL http://www.generation.net/~hleboeuf/port_i_o.htm http://www.doc.ic.ac.uk/~ih/doc/ http://www.epanorama.net/links/pc/interface.html http://www.epanorama.net/links/project_pc.html#pc_parallel I/O Visual Basic I/O Visual Basic Visual Basic