



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、I/O端口介绍 信号采集与控制是工业控制的最重要组成部分。在工业控制中,通常采集到的信号有两类: 一类是电压或电流模拟信号;另一类是开关量或数字脉冲量(开关量、脉冲量都属于数字信号)。通常检测出的信号如果是模拟量的话,必须经过放大、变换变为电压010伏或电流010mA,这些模拟量必须经过模/数转换器(ADC:Analog-Digital Cnverter)转换成数字量, 才能被计算机所接受。同样输出控制量信号也必须是数字信号,得经过数/模转换器(DAC:Digital-Analog Cnverter),将数字信号转换成模拟信号010伏 (或0+5伏)或变为电流010mA, 再送入到控制器去控制生产设备的运行。 而在计算机中,CPU通过总线与输入输出设备相连。系统中的很多其他设备都要通过总线,按照CPU规定的时序分时地与CPU进行指令或数据的传输。因此输入输出设备不能直接与总线相连并占用总线,I/O端口就是在总线和输入输出设备之间进行数据交换的数据中转站,我们与输入输出设备的对话实际上是与I/O端口的对话,下面就详细讲述在Visual BASIC环境下如何进行输出和输入操作。 二、编写操作I/O端口的动态链接库函数 Visual BASIC没有提供直接读写I/O端口的方法,所以只能借助其他语言来编写动态链接库DLL(Dynamic Link Library)或VXD,然后再在Visual BASIC中调用。因此我们不得不先了解如何编写操作I/O端口的动态链接库函数。 1在汇编语言中,可以用 in、out 指令操作I/O端口,具体示例如下: 输入操作: MOV DX, Port;Port为端口号 IN AL, DX;读入端口数据到AL寄存器 输出操作: MOV DX, Port;Port为端口号 MOV AL, ConByte;ConByte为控制字,将控制字送到AL寄存器 OUT DX, AL;送出控制字到端口 2在C/C+中,通常用inp和_outp函数操作I/O端口,编写动态链接库我们可以编写如下两个函数,并把它编译生成DLL: /*作用:从指定端口读入一个字节,参数:portid端口号,返回值:读入的字节*/ int _stdcall Inport(short portid) return inp(portid); /*作用:向指定端口写入一个字节,参数:portid端口号*/ void _stdcall Outport(short portid,short value) outp(portid, value); 当需要一次操作两个字节时,我们就必须用到inpw和outpw两个函数,具体用法同inp和outp。 同时需要说明的是,_inp和_outp函数和inp和outp函数用法基本上相同,只是在使用时需要头文件,而且本人推荐使用_inp和_outp,而不是使用inp和outp。因为_inp和_outp在Debug和Release都可以使用,而inp和outp只能用于Release设置。如果在Debug设置时使用inp和outp,编译时不会错,但会产生链接错误。 三、Visual BASIC中操作I/O端口 到此我们就可以在Visual BASIC中通过动态链接库技术间接操作I/O端口了。在Visual Basic中动态链接库必须提前申明,其缺省为公有过程或函数。其格式为: “Declare Sub 过程名 Lib 库名 Alias 别名 (参数表)”,或者“Declare Function 过程名 Lib 库名 Alias 别名 (参数表) As 类型”。例如: Public Declare Function Outport Lib vcDll.dll (ByVal portid As Integer, ByVal value As Integer) As Integer /IO输出函数 Public Declare Function Inport Lib vcDl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国数学一卷数学试卷
- 青岛版学霸数学试卷
- 宁都县中考数学试卷
- 2024年承德市教育局选调教师真题
- 七年级苏教版下数学试卷
- 2024年淄博市中心医院专业技术人员招聘笔试真题
- 内蒙古中考数学试卷
- 红细胞膜缺陷检验课件
- 2025年甘肃电气装备集团有限公司招聘11人考试模拟试题及答案解析
- 2025年度湖南衡阳市市直机关公开遴选65名公务员考试模拟试题及答案解析
- 综合设计我的书包课件
- 《海洋遥感技术》课件
- 企业人力资源管理师三级历年真题及答案(2024年11月-2025年5月)版
- 2024年度德国企业博士实习生招聘与雇佣合同3篇
- 华为-供应链管理课件
- 企业环保组织机构情况及管理制度模版(3篇)
- 【培训课件】商务礼仪培训
- 【课件】第六章+几何图形初步++综合与实践+设计学校田径运动会比赛场地课件人教版数学七年级上册
- 政府机关员工宿舍管理条例
- 难治性尿路感染中医治疗
- 幼升小语文拼音测试卷
评论
0/150
提交评论