java se api:10.2.2 PC并口的寄存器 - 51CTO.COM

来源:百度文库 编辑:中财网 时间:2024/05/12 05:04:03
10.2.2  PC并口的寄存器
PC上的程序通过访问并口的I/O端口寄存器来访问、控制并口的管脚信号,这些端口包括数据端口、状态端口和控制端口,其中每个端口都有自己的端口号,相当于它们的地址。程序通过端口号来访问端口寄存器。
PC并口1的数据端口号为3BCH,状态端口号为3BDH,控制端口号为3BEH;
PC并口2的数据端口号为378H,状态端口号为379H,控制端口号为37AH;
PC并口3的数据端口号为278H,状态端口号为279H,控制端口号为37AH;
1)数据寄存器
数据寄存器(D0~D7)也叫数据端口,它保存了写到数据端口管脚的一字节数据。数据端口可以写入数据(输出),也可以读出数据(输入)。写入的数据是从数据端口管脚输出的数据,读出来的数据是我们上次写入数据端口的数据或者原来保留在里面的数据,并不是从端口管脚输入PC的数据。数据端口对应的管脚是PIN2~PIN9,数据寄存器定义如表10-2所示。
表10-2  PC并口数据寄存器定义
bit
对应并口管脚
信 号 名
信 号 源
是否倒相
0
Pin2
D0
PC

1
Pin3
D1
PC

2
Pin4
D2
PC

3
Pin5
D3
PC

4
Pin6
D4
PC

5
Pin7
D5
PC

6
Pin8
D6
PC

7
Pin9
D7
PC

2)状态寄存器
状态寄存器(S0~S7)又叫状态端口,它保存的是5个输入(S3~S7)管脚的逻辑状态,S0~S2位不与管脚对应。除了S0以外,状态寄存器是只读的,读出数据信息是状态端口管脚上的逻辑状态。S0是支持EPP传输并口的超时标志信息,可以用软件方法清零。在许多并口中,状态输入接有上拉电阻。状态端口对应的管脚是Pin10~Pin13、Pin15。状态寄存器定义如表10-3所示。
表10-3  PC并口状态寄存器定义
bit
对应并口管脚
信 号 名
信 号 源
是否倒相
0
Time-Out
1
未使用
2
未使用
3
Pin15
nError(nFault)
外设

4
Pin13
Select
外设

5
Pin12
PaperEnd
外设

6
Pin10
nAck
外设

7
Pin11
Busy
外设

3)控制寄存器
控制寄存器(C0~C8)又叫控制端口,它保存了C0~C3的4位的控制信息,C4~C7不与管脚对应,这些位一般被用来输出;但在大多数SPP并口中,控制位为集电极开路/漏极开路模式,也就是说,它们同样可以用作输入。要从控制位上读取外部逻辑信号,首先将相应的输出写入"1",然后读取控制寄存器的值即可。但是,为了提高交换速度,大多数支持EPP和ECP模式的并口,控制位工作在不能用作输入的推拉模式下。在一些多模式接口中,控制位采用的是改进型的推拉模式,可以用作输入。控制端口对应的管脚是Pin1、Pin14、Pin16和Pin17。控制寄存器定义如表10-4所示。
表10-4  PC并口控制寄存器定义
bit
对应并口管脚
信 号 名
信 号 源
是否倒相
0
Pin1
nStrobe
PC

1
Pin14
nAutoLF
PC

2
Pin16
nInit
PC

3
Pin17
nSelectIn
PC

4
IRQ
5
未使用
6
未使用
7
未使用