VB编程直接控制IO口.doc

VB编程直接控制IO口.doc

ID:48386225

大小:31.50 KB

页数:3页

时间:2019-08-04

VB编程直接控制IO口.doc_第1页
VB编程直接控制IO口.doc_第2页
VB编程直接控制IO口.doc_第3页
资源描述:

《VB编程直接控制IO口.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、I/O端口介绍   信号采集与控制是工业控制的最重要组成部分。在工业控制中,通常采集到的信号有两类:    一类是电压或电流模拟信号;另一类是开关量或数字脉冲量(开关量、脉冲量都属于数字信号)。通常检测出的信号如果是模拟量的话,必须经过放大、变换变为电压0~10伏或电流0~10mA,这些模拟量必须经过模/数转换器(ADC:Analog-DigitalCnverter)转换成数字量,才能被计算机所接受。同样输出控制量信号也必须是数字信号,得经过数/模转换器(DAC:Digital-AnalogCnverter),将数字

2、信号转换成模拟信号0~10伏(或0~+5伏)或变为电流0~10mA,再送入到控制器去控制生产设备的运行。   而在计算机中,CPU通过总线与输入输出设备相连。系统中的很多其他设备都要通过总线,按照CPU规定的时序分时地与CPU进行指令或数据的传输。因此输入输出设备不能直接与总线相连并占用总线,I/O端口就是在总线和输入输出设备之间进行数据交换的数据中转站,我们与输入输出设备的对话实际上是与I/O端口的对话,下面就详细讲述在VisualBASIC环境下如何进行输出和输入操作。   二、编写操作I/O端口的动态链接库函数  

3、 VisualBASIC没有提供直接读写I/O端口的方法,所以只能借助其他语言来编写动态链接库DLL(DynamicLinkLibrary)或VXD,然后再在VisualBASIC中调用。因此我们不得不先了解如何编写操作I/O端口的动态链接库函数。   1.在汇编语言中,可以用in、out指令操作I/O端口,具体示例如下:   输入操作:   MOVDX,Port;Port为端口号   INAL,DX;读入端口数据到AL寄存器   输出操作:   MOVDX,Port;Port为端口号   MOVAL,ConByte;C

4、onByte为控制字,将控制字送到AL寄存器   OUTDX,AL;送出控制字到端口   2.在C/C++中,通常用inp和_outp函数操作I/O端口,编写动态链接库我们可以编写如下两个函数,并把它编译生成DLL:   /*作用:从指定端口读入一个字节,参数:portid端口号,返回值:读入的字节*/   int_stdcallInport(shortportid)   {    returninp(portid);   }   /*作用:向指定端口写入一个字节,参数:portid端口号*/   void_stdcal

5、lOutport(shortportid,shortvalue)   {    outp(portid,value);   }   当需要一次操作两个字节时,我们就必须用到inpw和outpw两个函数,具体用法同inp和outp。   同时需要说明的是,_inp和_outp函数和inp和outp函数用法基本上相同,只是在使用时需要头文件,而且本人推荐使用_inp和_outp,而不是使用inp和outp。因为_inp和_outp在Debug和Release都可以使用,而inp和outp只能用于Release设置。如果在De

6、bug设置时使用inp和outp,编译时不会错,但会产生链接错误。   三、VisualBASIC中操作I/O端口   到此我们就可以在VisualBASIC中通过动态链接库技术间接操作I/O端口了。在VisualBasic中动态链接库必须提前申明,其缺省为公有过程或函数。其格式为:   “DeclareSub过程名Lib‘库名’[Alias‘别名’][(参数表)]”,或者“DeclareFunction过程名Lib‘库名’[Alias‘别名’][(参数表)]As类型”。例如:   PublicDeclareFuncti

7、onOutportLib"vcDll.dll"(ByValportidAsInteger,ByValvalueAsInteger)AsInteger//IO输出函数   PublicDeclareFunctionInportLib"vcDll.dll"(ByValportidAsInteger)AsInteger//IO输入函数   这样定义后在程序中就可以直接使用上面定义的函数或过程来操作I/O端口了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。