PC并口的寄存器
PC并口的寄存器本文摘自王洪辉老师的《嵌入式系统Linux内核开发实战指南(ARM平台)》一书 PC上的程序通过访问并口的I/O端口寄存器来访问、控制并口的管脚信号,这些端口包括数据端口、状态端口和控制端口,其中每个端口都有自己的端口号,相当于它们的地址。程序通过端口号来访问端口寄存器。PC并口1的数据端口号为3BCH,状态端口号为3BDH,控制端口号为3BEH;PC并口2的
PC并口的寄存器
本文摘自王洪辉老师的《嵌入式系统Linux内核开发实战指南(ARM平台)》一书
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所示。
2)状态寄存器
状态寄存器(S0~S7)又叫状态端口,它保存的是5个输入(S3~S7)管脚的逻辑状态,S0~S2位不与管脚对应。除了S0以外,状态寄存器是只读的,读出数据信息是状态端口管脚上的逻辑状态。S0是支持EPP传输并口的超时标志信息,可以用软件方法清零。在许多并口中,状态输入接有上拉电阻。状态端口对应的管脚是Pin10~Pin13、Pin15。状态寄存器定义如表10-3所示。
3)控制寄存器
控制寄存器(C0~C8)又叫控制端口,它保存了C0~C3的4位的控制信息,C4~C7不与管脚对应,这些位一般被用来输出;但在大多数SPP并口中,控制位为集电极开路/漏极开路模式,也就是说,它们同样可以用作输入。要从控制位上读取外部逻辑信号,首先将相应的输出写入“1”,然后读取控制寄存器的值即可。但是,为了提高交换速度,大多数支持EPP和ECP模式的并口,控制位工作在不能用作输入的推拉模式下。在一些多模式接口中,控制位采用的是改进型的推拉模式,可以用作输入。控制端口对应的管脚是Pin1、Pin14、Pin16和Pin17。控制寄存器定义如表10-4所示。
更多推荐
所有评论(0)