WEB开发网
开发学院软件开发VC 用VC实现PC并行端口数字信息的输入/输出 阅读

用VC实现PC并行端口数字信息的输入/输出

 2010-06-27 20:41:59 来源:WEB开发网   
核心提示:控制寄存器控制端口或称控制寄存器保存了C0~C3的4位的控制信息,C4~C7不出现在并口连接器中,用VC实现PC并行端口数字信息的输入/输出(3),一般来说,这些位被用来输出,控制端口共4位,两个端口可以组成1~9位的任意数字输入端口,然而大多数SPP中,控制位为集电极开路/漏极开路模式

控制寄存器

控制端口或称控制寄存器保存了C0~C3的4位的控制信息。C4~C7不出现在并口连接器中。一般来说,这些位被用来输出,然而大多数SPP中,控制位为集电极开路/漏极开路模式,也就是说,它们同样可以用作输入。要从控制位上读取外部逻辑信号,首先将向相应的输出写入“1”,然后读取控制寄存器的值即可。但是,为了提高交换速度,大多数支持EPP和ECP接口中,控制位工作在不能用作输入的推拉模式下。在一些多模式接口中,控制位采用的是改进型的推拉模式,可以用作输入。控制端口引脚是Pin1、Pin14、Pin16和Pin17,其定义如下:

控制寄存器(即控制输出端口) 基地址+2
bit 引脚:D-sub 信号名 信号源 是否在连接器处倒相
0 Pin1 nStrobe PC
1 Pin14 nAutoLF PC
2 Pin16 nInit PC
3 Pin17 nSelectIn PC
4   IRQ    
5   未使用    
6   未使用    
7   未使用    

上表中所谓的(基地址+2)指的是:如果我们的LPT地址是378H,在加上1就是37AH;这个地址是专门用来控制打印机动作的。

如同数据的送出,我们的程序只要将我们的信息送往(基地址+2)的地址去,就可以实现数据输出,接受端在相应引脚就可以接受到相应的逻辑电位状态。当控制端口的信号源为高电平时,这些引脚可以作为输入引脚,如同状态端口引脚一样。

在上述定义表格中,所谓“是否在连接器处倒相”是指并口硬件将连接器与相应寄存器位之间的4个信号进行了倒相处理。具体说来,S7、C0、C1、C3信号的逻辑状态在连接器处是与相应寄存器位反相的。当你对这些位进行写操作时,必须牢记写入的值应该与你想在连接器处设置的值相反;当要对这些位进行读操作时,也必须记住所读取的值与连接器处的值相反。

计算机的标准配备并行端口除以上介绍的数据端口引脚Pin2~Pin9、状态端口引脚Pin15、Pin10~Pin13、控制端口引脚Pin1、Pin14、pin16、Pin17外,连接器上的 其它引脚Pin18~Pin25是归地引脚GND。

三、PC并行口数字输入/输出

所谓的数字输出就是在程序要求某一个设备的某一开关点开或关,产生高电位或低电位。从计算机的观点来说,低电位就是0.7V以下(逻辑0),而高电位是2.1V以上(逻辑1),若电位处在0.7~2.1V时,电位的逻辑状态是不确定的。想要通过计算机去控制外部设备,最简单的方法就是控制数字输出。

所谓的数字输入,也就是外界的状况被计算机用0或1的数值予以记录下来而储存,此0与1就代表了外界某一个设备的某一开关点开或关的两种情形。

PC并行口即可以作数字输出口,也可以作数字输入口。其中的数据端口、控制端口都可以作为数字输出端口,数据端口共8位,控制端口共4位,两个端口可以组成1~12位的任意数字输出端口;其中的状态端口、控制端口都可以作为数字输入端口,状态端口共5位,控制端口共4位,两个端口可以组成1~9位的任意数字输入端口。本文给出了并行端口3种寄存器的读写方法,如下图所示:

上一页  1 2 3 4 5 6 7  下一页

Tags:VC 实现 PC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接