|
发表于 2015-11-18 08:56:17
|
显示全部楼层
PC并行口各阵脚定义:
1.选通,PC->Printer
2-9 数据(D0-D7)
10.应答(ACK),Printer->PC
11.忙(BUSY),Printer->PC
12.无纸(PE),Printer->PC
13.联机(SLCT),Printer->PC
14.自动换行(AUTO FD),PC->Printer
15.错误(ERROR),Printer->PC
16.初始化(INIT),PC->Printer
17.选择输出(SELECT IN),PC->Printer
18.-25.地(GND)
并口针脚定义
并口开机时默认状态:
除了C3(17)针及地线外,全部为高;
并口输出输入规则:
DataPort 地址0x378 8个针脚(D0-D7) 正常,写入0输出低电平,写入1则输出高电平;
ContorlPort 地址0x37A 4个针脚(C0-C3) C2正常,C0、C1、C3取反-----写入0输出高,写入1则输出低;读取同理;
StatePort 地址0x379 5个针脚(S3-S7) S7取反,其他正常;
PC并口的8位DataPort 、4位ContorlPort都可以作为数字输出端口,两个端口可以组成1~12位的任意数字输出端口;而这4位StatePort、5位ContorlPort 都可以作为数字输入端口,状态端口共5位,控制端口共4位,两个端口可以组成1~9位的任意数字输入端口。
using System;
using System.Runtime.InteropServices;
public class PortAccess
{
[DllImport("inpout32.dll", EntryPoint="Out32")]
public static extern void Output(int adress, int value);
[DllImport("inpout32.dll", EntryPoint="Inp32")]
public static extern int Input(int adress);
}
//Output函数为给端口传送数据,Input是从端口读取数据 如:
PortAccess.Input( 888 );//从888(即0x378)端口读取数据
PortAccess.Output( 888, 4 )//把4从888端口输出
|
|