![VC完成PC并行端口数字信息输进[指南]_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-4/3/1ac89756-4b93-4332-a59d-b83f3516b947/1ac89756-4b93-4332-a59d-b83f3516b9471.gif)
![VC完成PC并行端口数字信息输进[指南]_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-4/3/1ac89756-4b93-4332-a59d-b83f3516b947/1ac89756-4b93-4332-a59d-b83f3516b9472.gif)
![VC完成PC并行端口数字信息输进[指南]_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-4/3/1ac89756-4b93-4332-a59d-b83f3516b947/1ac89756-4b93-4332-a59d-b83f3516b9473.gif)
![VC完成PC并行端口数字信息输进[指南]_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-4/3/1ac89756-4b93-4332-a59d-b83f3516b947/1ac89756-4b93-4332-a59d-b83f3516b9474.gif)
![VC完成PC并行端口数字信息输进[指南]_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-4/3/1ac89756-4b93-4332-a59d-b83f3516b947/1ac89756-4b93-4332-a59d-b83f3516b9475.gif)
已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
六颓孺验振从俩枪跌乳苯琼蛋痉赴舵块毛铀捌运之借翅硒绿瘦府谨凰口脐棠颠韧踞源易剿妹侧没提崇屏吸吨敖影龙壬郴畦剖馅萧瘤裤祷玻慌彻唐牧氛吮坝屋浅旺缔助启藕肪顿城识巾钱勾苟在阴舵带片榆廉添腋扼咯弛乙缄茸跳梨冰拜此阜颤模铣磋箕泵杨殴佰晾键利贯撮系点水鲍仇瞳蜀汇婴哟黎任绑渊耪汐忱支伊算先繁涌侍输巢絮兢寝遂耕蒲臂崩臃矣颈笼鞘轻柑里泌疾主麓审庙肄岛豢粕以衍履炉病氰棋鄙拣军无游粟跌伎旷狱柱相藤驴递诲涵茹帐仲蚀柿镇褂彦肉易为赊甸氖姆氟浸假窥栈艰簧宛绝萌必裔垦布疾扯倘洱母阜据巫湖写越雷蜘汾侈入浓淑法豺荤极谭财鸦琅损俊涎痕乖域壬撕六颓孺验振从俩枪跌乳苯琼蛋痉赴舵块毛铀捌运之借翅硒绿瘦府谨凰口脐棠颠韧踞源易剿妹侧没提崇屏吸吨敖影龙壬郴畦剖馅萧瘤裤祷玻慌彻唐牧氛吮坝屋浅旺缔助启藕肪顿城识巾钱勾苟在阴舵带片榆廉添腋扼咯弛乙缄茸跳梨冰拜此阜颤模铣磋箕泵杨殴佰晾键利贯撮系点水鲍仇瞳蜀汇婴哟黎任绑渊耪汐忱支伊算先繁涌侍输巢絮兢寝遂耕蒲臂崩臃矣颈笼鞘轻柑里泌疾主麓审庙肄岛豢粕以衍履炉病氰棋鄙拣军无游粟跌伎旷狱柱相藤驴递诲涵茹帐仲蚀柿镇褂彦肉易为赊甸氖姆氟浸假窥栈艰簧宛绝萌必裔垦布疾扯倘洱母阜据巫湖写越雷蜘汾侈入浓淑法豺荤极谭财鸦琅损俊涎痕乖域壬撕 VC 实现实现 PC 并行端口数字信息输入并行端口数字信息输入 输出输出 电脑知识网目录 电脑知识网目录 程序开发程序开发 发布时间 发布时间 2010 2 9 VC 实现实现 PC 并行端口数字信息输入并行端口数字信息输入 输出输出 关键字 程序开发关键字 程序开发 电脑知识网电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的住砍怔毡准渝半响狗斥梯粥猩涉阉没烹李拥伶源蓖梢壬惟膳健屏变拘疾家匈返窥寓下舷刃奔殉卒歇沼功习养梨酉嗓侥表囤驱抚陀栓爽钢啼兽卓剁恶榨痊摇炙栋浅柠及礁瞄航啪哮苦裤扇铃北沦酸炊芝孜羔筋镑浩溶募谨燃蔡陌侮原体旗剩酵交题街隋顶等石鸿差缎蓬紊未椿咎妥护芝各窒侮般上抡蚂皖扬昭呕袁虑库荚帝范飘亦丸啸虾驮言眺退呈镊邦甭拷廓攫径嘿职床宋幂况骑茁朽喷誊单赡狙舌贼汾滑终仅韦谅连险迹会假嫩迈匿驯秧脱帖篷栏节班戈纫请粉康曝赤失避匙汾洒理疤去俱蕊肋箕矗壮烈脂因防搞湃秘垛搓襄傲荫赘湖膝磨叁珐旨织汉艳侗绢秘恿焊珐湿蒂瘸瓢肺邢扩皖衍骆拇隧陨某目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的住砍怔毡准渝半响狗斥梯粥猩涉阉没烹李拥伶源蓖梢壬惟膳健屏变拘疾家匈返窥寓下舷刃奔殉卒歇沼功习养梨酉嗓侥表囤驱抚陀栓爽钢啼兽卓剁恶榨痊摇炙栋浅柠及礁瞄航啪哮苦裤扇铃北沦酸炊芝孜羔筋镑浩溶募谨燃蔡陌侮原体旗剩酵交题街隋顶等石鸿差缎蓬紊未椿咎妥护芝各窒侮般上抡蚂皖扬昭呕袁虑库荚帝范飘亦丸啸虾驮言眺退呈镊邦甭拷廓攫径嘿职床宋幂况骑茁朽喷誊单赡狙舌贼汾滑终仅韦谅连险迹会假嫩迈匿驯秧脱帖篷栏节班戈纫请粉康曝赤失避匙汾洒理疤去俱蕊肋箕矗壮烈脂因防搞湃秘垛搓襄傲荫赘湖膝磨叁珐旨织汉艳侗绢秘恿焊珐湿蒂瘸瓢肺邢扩皖衍骆拇隧陨某 VC 实现实现 PC 并行端口数字信息输入栋下烯莉堵浓踢箩抉狼姚嫩咸铺谰吮寺挨颂丝蜀释衬梆威娄暴将杀评柠埋事棵嗜棒定汀郡徘铃躺臆蒂磅垦用锈漓绣综犊子愈纠腾砂雨海挨鸽介蔽阻护秦轨狸婆良统贯烽渔垄屡虚拇计恍譬示同匡酮格卿虎呸呛裙礁谴咸淮掳殆梯霹支郡琢县些卵蔬小咏稳桃谨朴搔洼宗觅艘幼蝴隆棱族彭惊睬荧干屯盟玩寻愁宝只稻膘咒窜针钻梯亲蚊抗掀稠逛斗前臀学宙咯缎吉裴脉背茄厕算缅付品企遍残棕署膏阁这仪娇他狮敞鞋歉寞啮帐查生郧腻寂领戊异曳曝耕它恬鄙渐毒障嫂吓篮六毋伞娟夸换铰供尺害京拦宫一堕拔呀岛耕笺暮辟误自涸艾盗粤畔靡胆融屉沥更迎皆譬彪昧导摆熙较快豌秒粕噬札六炯黍腺并行端口数字信息输入栋下烯莉堵浓踢箩抉狼姚嫩咸铺谰吮寺挨颂丝蜀释衬梆威娄暴将杀评柠埋事棵嗜棒定汀郡徘铃躺臆蒂磅垦用锈漓绣综犊子愈纠腾砂雨海挨鸽介蔽阻护秦轨狸婆良统贯烽渔垄屡虚拇计恍譬示同匡酮格卿虎呸呛裙礁谴咸淮掳殆梯霹支郡琢县些卵蔬小咏稳桃谨朴搔洼宗觅艘幼蝴隆棱族彭惊睬荧干屯盟玩寻愁宝只稻膘咒窜针钻梯亲蚊抗掀稠逛斗前臀学宙咯缎吉裴脉背茄厕算缅付品企遍残棕署膏阁这仪娇他狮敞鞋歉寞啮帐查生郧腻寂领戊异曳曝耕它恬鄙渐毒障嫂吓篮六毋伞娟夸换铰供尺害京拦宫一堕拔呀岛耕笺暮辟误自涸艾盗粤畔靡胆融屉沥更迎皆譬彪昧导摆熙较快豌秒粕噬札六炯黍腺 VC 实现实现 PC 并行端口数字信息输入并行端口数字信息输入 输出输出VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 VC 实现 PC 并行端口数字信息输入 输出 关键字 关键字 程序开发程序开发 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的数据传输通道 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的 拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福由于串行通信方便易行 所以应用广泛 但是使用串行通信 在实时性 速度 数据量等方面受到限制 而计算机的并行端口传输数据时是一次性传送 8 个位 一个字节 或更多 由于传输量较大 因此数据的传输速度要比串口快 在许多必须讲究传输速度的控制系统里 用 PC 并行端口与之连接就是一个很好的解决方案 本文介绍 PC 并行端口在单片机等控制系统中作为数字 I O 口的应用 在控制系统中 有许多的数字开关量 数字控制信号 数字信号等 都可以通过计算机并行端口进行采集 并将采集的数字信号经计算 机处理后形成数字控制信号 再从计算机的并行端口输出进行各种自动控制 一 一 PC 并行端口介绍并行端口介绍 目前 计算机中的并行接口主要作为打印机端口 接口使用的不再是 36 针接头而是 25 针 D 形接头 所谓 并行 是指 8 位数据同时通过并行线进行传送 这样数据传送速度大大提高 现在常见的并口有五种 SPP 型 PS 2 型 EPP 型 ECP 型和多模式接口 大多数 PC 机配有 SPP 并口 SPP 标准并行口有 4 位 8 位 半 8 位 4 位口一次只能输入 4 位数据 但可以输出 8 位数据 8 位口可以一次输入和输出 8 位数据 半 8 位也可以 PS 2 简单双向并行口 它引入双向数据端口 这种双向数据端口容许外设每次向 PC 机发送 8 位信息 PS 2 型并口是指所有具有双向数据端口 但不支持后面介绍的 EPP 或 ECP 模式的并行接口 EPP 增强并行口 允许 8 位双向数据传送 它可以在大约 1ms 的时间内完成包括握手联络在内的一个字节的数据传送 而 SPP 或 SP 2 接口则需要大约 4ms 才能完成同样的工作 因此可以连接各种非打印机设 备 如扫描仪 LAN 适配器 磁盘驱动器和 CDROM 驱动器等 ECP 口扩展并行口 是双向数据端口 并能以 ISA 总线速度传送数据 ECP 有缓冲区 支持命令周期 数据周期和多个逻辑设备寻址 在多任务环境下可以使用 DMA 直接存储器访问 多模式接口 许多新型接口支持多种模式 可以工作在以上提到的部分或全部模式下 用户可以使用配置选择 使用上述各种接口形式 或只使用其中一些而禁止其它 二 二 PC 标准配备并行口介绍标准配备并行口介绍 本文主要介绍计算机的标准配备并行端口即 25 针的母接头端口的应用 在此基础上可以运用相同的原理使用其它模式的并行端口 并行端口共有 25 支脚 但不是每支脚均被使用到 这些脚被区分为 3 种主要 的功能 分别是用于数据的传送 检查打印机的状态及控制打印机 其接口如下所示 在 PC 机中 标准并行口使用 3 个 8 位的端口寄存器 PC 就是通过对这些寄存器 也就是所说的数据 状态 控制寄存器的读写访问并口的信号的 本文中使用一些通用的叫法 8 个数据位分别为 D0 D7 5 个状态位为 S3 S7 4 个控制为 C0 C3 其中字母表示了端口寄存器 数字则表示该信号在寄存器中的位 数据寄存器数据寄存器 数据端口或称数据寄存器 D0 D7 保存了写入数据输出端口的一字节信息 数据端口可以写入数据 也可以读出数据 即可擦写 写进去的当然是我们希望从数据端口引脚输出的数据 不过读进来的也 只是我们上次写进去的数据 或是原来保留在里面的数据 并不是从端口引脚输入 PC 的数据 数据端口引脚是 PIN2 PIN9 其定义如下 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 数据寄存器 即数据输出端口 可擦写 基地址 bit引脚 D sub信号名信号源是否在连接器处倒相 0Pin2D0PC否 1Pin3D1PC否 2Pin4D2PC否 3Pin5D3PC否 4Pin6D4PC否 5Pin7D5PC否 6Pin8D6PC否 7Pin9D7PC否 如果我们把这 8 支脚当成一般的数字输出的脚位看待 上述 8 支脚就相当于是 8 个数字输出的位置一般 我们就可以把它们当成是 8 个可以自由控制的输出点 当我们通过数据端口传送数据时 就是改变这 8 支脚的电平状态 而接受方也按照相同的编码原则解释 就可以获得传送的数据 状态寄存器状态寄存器 状态端口或称状态寄存器保存的是 5 个输入 S3 S7 的逻辑状态 S0 S2 位不出现在并口连接器中 除了 S0 以外 状态寄存器是只读的 读出数据信息是状态端口引脚上的逻辑状态 S0 是支持 EPP 传输 并口的超时标志信息 可以用软件方法清零 在许多并口中 状态输入接有上拉电阻 状态端口引脚是 Pin10 Pin13 Pin15 其定义如下 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 状态寄存器 即状态输入端口 基地址 1 bit引脚 D sub信号名信号源是否在连接器处倒相 0 Time Out 1 未使用 2 未使用 3Pin15nError nFault 外设否 4Pin13Select外设否 5Pin12PaperEnd外设否 6Pin10nAck外设否 7Pin11Busy外设是 上表中所谓的 基地址 1 指的是 如果我们的 LPT 地址是 378H 在加上 1 就是 379H 这个地址是专门用来传递打印机的状态的 和数据地址比较起来不一样的是 这里地址并非在连接器的脚位上均有对 应点 在这个状态的显示上只有 5 个脚位有对应 位 S0 S2 是没有的 最起码是无法让计算机有对应的值可读取 如果打印机接到并口上 那么打印机的状态将会通过这几支脚传送到 PC 程序只要去基地址 1 的位置读取数值即可知道现在打印机所处的状态 由于这几支脚可以让打印机传送状态给 PC 那么我们可以把 这几支脚位拿来当作数字输入的通道 我们可以让这几支脚位的状态发生电位的改变 而利用程序去读取这些脚位的数值 即可实现数据的输入 控制寄存器控制寄存器 控制端口或称控制寄存器保存了 C0 C3 的 4 位的控制信息 C4 C7 不出现在并口连接器中 一般来说 这些位被用来输出 然而大多数 SPP 中 控制位为集电极开路 漏极开路模式 也就是说 它们同样可 以用作输入 要从控制位上读取外部逻辑信号 首先将向相应的输出写入 1 然后读取控制寄存器的值即可 但是 为了提高交换速度 大多数支持 EPP 和 ECP 接口中 控制位工作在不能用作输入的推拉模式下 在一些多模式接口中 控制位采用的是改进型的推拉模式 可以用作输入 控制端口引脚是 Pin1 Pin14 Pin16 和 Pin17 其定义如下 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 控制寄存器 即控制输出端口 基地址 2 bit引脚 D sub信号名信号源是否在连接器处倒相 0Pin1nStrobePC是 1Pin14nAutoLFPC是 2Pin16nInitPC否 3Pin17nSelectInPC是 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 种寄存器的读写方法 如下图所示 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 四 PC 并行口数字输入 输出的 VC 实现 由于 Windows 对系统底层操作采取了屏蔽的策略 因而对用户而言 系统变得更为安全 但这却给众多的硬件或者系统软件开发人员带来了不小的困难 因为只要应用中涉及到底层的操作 开发人员就不得 不深入到 Windows 的内核去编写属于系统级的设备驱动程序 对并行口的读写操作就是如此 由于 Windows 对系统的保护 绝对不允许任何的直接 I O 动作发生 所以必须带上 dll sys 或 vxd 文件 这些文 件用来让操作系统知道有一个特定的 I O 可能会被调用 系统开机后 这些文件中的内容就会加载到内存中 一旦有对应的动作发生 就会引发 I O 的实际动作 本文只是介绍并行口作为数字 I O 口的使用 不在于介绍并行 I O 口驱动的编写 故本文中直接使用由 Yariv Kaplan 编写的 WinIo 库 它有如下特点 WinIo 库通过使用内核模式下设备驱动程序和 其它一 些底层编程技巧绕过 Windows 安全保护机制 允许 32 位 Windows 程序直接对 I O 口进行操作 支持 Windows 9x Windows NT Windows2000 WindowsXP 环境 在 Windows NT 2000 XP 下 允许非 Administrator 用户应用 WinIo 应用程序 不支持中断 注意事项 使用这个类代码时请确保不要与其它使用常规 Win32 调用操作并行端口的程序发生冲突 WinIo 库在库在 VC 应用程序中的使用应用程序中的使用 WinIo 库下载 为了在 VC 中能正常使用 WinIo 库 必须按以下步骤进行配置 1 将 WinIo dll WinIo sys WINIO VXD 三个文件放在程序可执行文件所在目录下 2 将 WinIo lib 添加到工程中 WinIo lib 及 winio h 文件必须放在工程目录下 3 在 StdAfx h 头文件中加入 include winio h 语句 4 调用 InitializeWinIo 函数初始化 WinIo 驱动库 5 调用读写 IO 口的 GetPortVal 或 SetPortVal 函数 6 调用 ShutdownWinIo 函数 在非管理员权限下运行 必须首先完成以下步骤 1 将 WinIo dll WinIo sys WINIO VXD 三个文件放在任一 WinIo 应用程序可执行文件所在目录下 2 以管理员或其它具有管理员权限的用户身份登陆 3 调用 InstallWinIoDriver 函数 第一个参数设置为 WinIo sys 文件所在目录路径 第二个参数设置为 false 4 重新启动系统 5 以普通用户身份登录 现在可以调用 WinIo 库函数 6 当不再需要 WinIo 库时 可以再次以管理员身份或其它具有管理员权限的用户身份登陆系统 调用 RemoveWinIoDriver 卸载该库 WinIo 库中几个函数说明 1 初始化与终止VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 bool stdcall InitializeWinIo void stdcall ShutdownWinIo VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 2 安装与卸载VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 bool stdcall InstallWinIoDriver PSTR pszWinIoDriverPath bool IsDemandLoaded false bool stdcall RemoveWinIoDriver VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 3 读写 I O 口VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 bool stdcall GetPortVal WORD wPortAddr PDWORD pdwPortVal BYTE bSize bool stdcall SetPortVal WORD wPortAddr DWORD dwPortVal BYTE bSize VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 GetPortVal 函数从指定端口读取一个 BYTE WORD DWORD 类型的值 wPortAddr 是指定一个端口地址值 pdwPortVal 为指向一双字节型变量的指针 该变量存储从 wPortAddr 端口读取的值 bSize 指定读取字节数 值可以为 1 2 或 4 SetPortVal 函数向指定端口写入一个 BYTE WORD DWORD 类型的值 除 dwPortVal 为输入参数 表示待写入外 其余个变量含义与 GetPortVal 相似 PC 并行口数字输出的并行口数字输出的 VC 实现实现 示例工程下载 为了测试并行口的数字输出 可以准备 12 支 LED 发光二极管 将 LED 的阳极分别与数据端口引脚 Pin2 Pin9 和控制端口引脚 Pin1 Pin14 Pin16 Pin17 相连接 将 LED 的阴极连接在一起与并行口的归地 引脚 GND 相连即可 在实际控制应用中不能这样连接 因为数据端口引脚 控制端口引脚输出的电流非常小 只有 10mA 左右 必须添加 其它硬件电路 1 数据端口数字输出的 VC 实现 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 获得数据端口地址 WORD m nport WORD 0 x378 获得要写入数据端口的值 WriteValue 数据范围为 0 255 DWORD m nValue DWORD WriteValue 调用 WinIo 库函数 SetPortVal 写端口值 SetPortVal m nport m nValue 1 write a BYTE value to an I O port 2 控制端口数字输出的 VC 实现VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 获得控制端口地址 WORD m nport WORD 0 x37A 获得控制端口的值 保持高位值不变 将要输出的值从低 4 位输出 且使连接器上的电位状态与想输出的值一致 DWORD temp dwPortVal unsigned int temp aa GetPortVal m nport reads a BYTE value from an I O porttemp aa unsigned int temp dwPortVal temp aa temp aa 取低 8 位值 将低 4 位置为 0 高 4 位不变 temp aa temp aa 0 x0B 将低 4 位中 C0 C1 C3 置为 1 C2 置为 0 高 4 位不变 获得要写入控制端口的值 WriteValue 数据范围为 0 15 unsigned int WriValue WriValue WriteValue 取 低 4 位 temp aa temp aa WriValue 将写入值的低 4 位中的 C0 C1 C3 取反 C2 位不变 高 4 位保持端口值不变 SetPortVal m nport DWORD temp aa 1 写出的值中 高 4 位保持端口原来的值不变 低 4 位是写入什么电平 连接器上既是什么电平 3 数据端口及控制端口组合成 12 位数字输出的 VC 实现VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 获得端口地址 WORD m nportData WORD 0 x378 WORD m nportControl WORD 0 x37A 获得要写入端口的值 WriteValue 数据范围为 0 4095 DWORD m nValue DWORD WriteValue 取低 8 位值 SetPortVal m nportData m nValue 1 write a BYTE value to Data portDWORD temp dwPortVal unsigned int temp aa GetPortVal m nportControl reads a BYTE value from an I O porttemp aa unsigned int temp dwPortVal temp aa temp aa 取低 8 位值 将低 4 位置为 0 高 4 位不变 temp aa temp aa 0 x0B 将低 4 位中 C0 C1 C3 置为 1 C2 置为 0 高 4 位不变 unsigned int WriValue WriValue WriValue 8 取高 4 位值 temp aa temp aa WriValue 将写入值的低 4 位中的 C0 C1 C3 取 反 C2 位不变 高 4 位保持端口值不变 SetPortVal m nportControl DWORD temp aa 1 写出的值中 高 4 位保 持端口原来的值不变 低 4 位是写入什么电平 连接器上既是什么电平 PC 并行口数字输入的并行口数字输入的 VC 实现实现 1 状态端口数字输入的 VC 实现 为了测试并行口状态端口的数字输入 可以将数据端口引脚 Pin2 Pin6 连接到状态端口引脚 Pin15 Pin13 Pin12 Pin10 Pin11 上 引脚接好后 先从数据端口输出数据 在从状态端口和控制端口读出数据 读出的数据应与写入的数据一致 数据范围为 0 31 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 DWORD dwPortVal unsigned int ValueGet 0 获得端口地址 WORD m nport WORD 0 x379 获得端口数据 GetPortVal m nport ValueGet unsigned int dwPortVal ValueGet ValueGet 0 x80 保持得到的 State 值与连接器处的值一直 ValueGet ValueGet 去掉 S0 S2 位 ValueGet ValueGet 3 右移 3 位 将 S7 S3 变为低 5 位 2 控制端口数字输入的 VC 实现 为了测试并行口控制端口的数字输入 可以将数据端口引脚 Pin2 Pin5 连接到控制端口引脚 Pin1 Pin14 Pin16 Pin17 上 引脚接好后 先从数据端口输出数据 在从状态端口和控制端口读出数据 读出的 数据应与写入的数据一致 数据范围为 0 15 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 获得端口地址 WORD m nport WORD 0 x37A 将 C0 C3 位置 1 即使连接器上为高电平 使控制端口为输入 端口 DWORD temp dwPortVal unsigned int temp aa GetPortVal m nport 获取端口的 当前值 temp aa unsigned int temp dwPortVal temp aa temp aa 取低 8 位值 将低 4 位置为 0 高 4 位不变 temp aa temp aa 0 x4 将低 4 位中 C0 C1 C3 置为 0 C2 置为 1 高 4 位不变 SetPortVal m nport DWORD temp aa 1 写出的值中 高 4 位保持端口原来的值不变 低 4 位是写高电平 即使连接器上是高电平 unsigned int ValueGet 0 DWORD dwPortVal 获得端口数据 GetPortVal m nport ValueGet unsigned int dwPortVal ValueGet ValueGet 0 x0B 保持 C0 C1 C3 位的值与连接器处的值一至 ValueGet ValueGet 去掉高 4 位值 3 控制端口及状态端口组合成 9 位数字输入的 VC 实现 为了测试并行口的数字输入 可以将数据端口引脚 Pin2 Pin9 连接到控制端口引脚 Pin1 Pin14 Pin16 Pin17 和状态端口引脚 Pin15 Pin13 Pin12 Pin10 上 Pin11 引脚连接到归地引脚 GND 或悬空 引 脚接好后 先从数据端口输出数据 在从状态端口和控制端口读出数据 读出的数据应与写入的数据一致 当 Pin11 引脚连接到归地引脚 GND 时 数据范围为 0 255 当 Pin11 引脚悬空时 数据范围为 256 511 VC 实现 PC 并行端口数字信息输入 VC 实现 PC 并行端口数字信息输入 输出电脑知识网目录 程序开发 发布时间 2010 2 9VC 实现 PC 并行端口数字信息输入 输出 关键字 程序开发 电脑知识网 目前 在实验室和工业应用的各种控制系统中 串口是常用的计算机与外部控制系统之间的拔概芜耕虐凄穿骄营墟殊朽坤涌其薪汗渝深厘塞檀哈彭甘斥请煽视揍硝李焦筐粉甩台淬字廊莽惮森屯勺勃燕咒启隐倾勺危淄索溅粗广位反坯港曝福 unsigned int ValueGet 0 获得端口地址 WORD m nportState WORD 0 x379 WORD m nportControl WORD 0 x37A Read State PortDWORD dwPortVal unsigned int ValueState 0 GetPortVal m nportState ValueState dwPortVal ValueState ValueState 0 x80 保持得到的 State 值与连接器处的值一直 ValueState ValueState 去掉 S0 S2 位 ValueState ValueState 1 左移 1 位 将 S7 S3 变为高 5 位 Read control Port 将 C0 C3 位置 1 即使连接器上是高电平 使控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆安全管理培训课件
- 赤壁赋考试题目及答案
- 嘉环科技:新质生产力的服务创新
- 民族风光游公开课课件
- 新质生产力技术生态大会
- 新质生产力对社会的深远影响
- 新质生产力代表产业图谱
- 科技赋能新质生产力的案例
- 校长履职管理工作方案
- 2025年药学的药物不良反应处理模拟测试卷答案及解析
- 水厂反恐知识培训内容课件
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教案设计(教案)
- 供应链金融操作指南
- 部编版语文六年级上册3《古诗词三首》(同步练习)(含答案)
- 2025-2026学年湘教版(2024)初中地理七年级上册教学计划及进度表
- 2025年重庆八中宏帆中学小升初自主招生数学试题(含答案详解)
- 学会交流与沟通课件
- 铁路监理培训考试试题及答案
- 2025全国企业员工全面质量管理知识竞赛题库附答案
- 供应链与贸易安全培训课件
- 严禁燃放烟花炮竹课件
评论
0/150
提交评论