




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PC-6508光隔离脉冲计数接口卡技术说明书1. 概述: PC-6508光隔离脉冲计数接口卡适用于具有ISA 总线的PC系列微机,具有很好的兼容性,CPU从目前广泛使用的64位处理器直到早期的16位处理器均可适用,操作系统可选用经典的MS-DOS,目前流行的Windows 系列,高稳定性的Unix等多种操作系统以及专业数据采集分析系统 LabVIEW等软件环境。在硬件的安装上也非常简单,使用时只需将接口卡插入机内任何一个ISA总线插槽中,信号电缆从机箱外部直接接入。本卡也可插入我所研制的PC 扩展箱内使用。PC-6508 光隔离脉冲计数接口卡采用高速光隔离器件,最高计数频率可达2MHz。本接口卡可广泛应用于工业控制系统中以完成多通道外部事件的计数、连续脉冲量测量等多项功能。本接口卡具有适用范围广、功能强、性能价格比高的特点。卡上所有的输入输出通道均加有光电耦合器,以实现与被测对象和现场环境的电气隔离,使本卡具有较强的抗干扰能力和自我保护能力。同时本卡还提供了光电隔离的4路DI和4路DO信号。2. 主要技术参数:2.1 输入通道数:12路。(4片8253)2.2 工作模式: 事件计数;脉冲测量。2.3 计数器字长:16位。2.4 计数范围: 065535(任一通道)。2.5 最高计数频率: 2MHz 2.6 输入信号电平范围:5V48V。2.7 内部时钟:1MHz / 2MHz可选。2.8 可编程闸门宽度: 内部时钟选1MHz时:2S(最小) 4295秒(最大) 内部时钟选2MHz时:1S(最小) 2147秒(最大)2.9 数字量输入输出部分: DI:4路 光隔离共阴极 输入信号电平范围:5V48V。 工作频率25KHz。 DO:4路 光隔离 集电极开路方式,最大输出电流:150mA 。 工作频率25KHz。2.10 隔离方式:光电隔离(路与路之间,接口板与各路之间均隔离)。2.11 隔离电压:500V。2.12 电源功耗:5V(10)800mA。2.13 使用环境要求: 工作温度: 1040。 相对湿度: 4080。 存贮温度:5585。2.14 外型尺寸:(不含档板) 长高190mm109mm ( 7.5英寸4.3英寸)3. 工作原理: PC-6508光隔离脉冲计数接口卡主要由4个相同的光电隔离脉冲计数模块(每个光电隔离脉冲计数模块可对三路外部脉冲信号进行计数)及可编程闸门电路和数字量输入输出电路、接口控制逻辑电路组成。每个光电隔离脉冲计数模块由一片8253可编程计数定时器、输入光电隔离电路及输入信号去抖电路组成。3.1 可编程闸门电路工作原理: 本接口卡采用一片8253 可编程计数定时器及时钟电路来完成可编程闸门功能,该功能可以控制4个相同的光电隔离脉冲计数模块以同步方式完成对外部脉冲信号的计数。其闸门宽度可以通过对8253芯片进行编程来调整。闸门的开启和结束判断可以通过程序来完成。同时结束信号还可以通过中断方式通知CPU进行处理。3.2 脉冲计数功能的使用与管理: 本接口卡采用8253 可编程计数定时器芯片完成对外部脉冲信号的计数。每片8253可编程计数定时器芯片内部具有三个独立的16位减法计数器,它可用程序设置成多种工作方式,如按十进制或按二进制方式计数,其最高计数速率可达2MHz。8253可编程计数定时器能用于多种场合,例如外部事件计数器、可编程方波频率发生器、分频器、实时时钟以及程控单脉冲发生器等。本接口卡只使用其计数器功能。3.3 8253可编程计数定时器应用简介:3.3.1 8253芯片管脚图如图1。 图1 8253芯片管脚图3.3.2 8253 功能及框图:8253是INTEL 公司微型计算机系统中的一个部件,可以将8253作为一个具有四个输入输出接口的器件处理,其中三个是计数器,一个是可编程序工作方式的控制寄存器。其内部结构图如图2所示。 图2 8253内部结构图3.3.3 8253可编程计数定时器编程要点:8253的全部功能是由CPU编程设定的。CPU通过输出指令给8253装入控制字,从而设定其功能。8253控制字格式如下: D7 D6 D5 D4 D3 D2 D1 D0SC1SC0RL1RL0M2M1M0BCD 各位的功能见表1表4: 表1 SC1、SC0 计数器选择SC1 SC0选 择 计 数 器0 0选择0#0 1选择1#1 0选择2#1 1非 法 表2 RL1、RL0CPU读写操作RL1 RL0操 作 类 型0 0计数器封锁操作0 1读写计数器低8位1 0读写计数器高8位1 1先读写低8位,后读写高8位 表3 M2、M1、M0 工作方式选择M3 M2 M1计 数 工 作 方 式0 0 0方 式 00 0 1方 式 10 1 0方 式 20 1 1方 式 31 0 0方 式 41 0 1方 式 5 表4 BCD计数方式选择BCD数 码 形 式0十六位二进制计数1四位十进制 ( BCD ) 码计数8253 的三个计数器是独立的16位减法计数器。计数器的工作方式由工作方式寄存器确定。计数器在编程写入初始值后,在某些方式下计数到0后自动预置,计数器连续工作。CPU访问计数器时,必须先设定工作方式控制字中的RL1、RL0位。计数器对CLK计数输入端的输入信号进行递减计数。选通信号GATE控制计数工作的进行,其功能如表5所示。 表5 选通信号 GATE 的功能 低电平或进入低电平上 升 边 沿高 电 平方式0禁止计数-允许计数方式1-1.初始化和计数 2.下一个时钟后清除输出-方式21.禁止计数2.使输出立即 变为高电平1.重新装入计数器 2.启动计数允许计数方式31.禁止计数 2.使输出立即 变为高电平初始化和计数允许计数方式4禁止计数计数未结束时初始化和计数允许计数方式5-初始化和计数- 8253 的三个计数器按照各工作方式寄存器中控制字的设置进行工作。可以选择的工作方式有六种。这六种方式是: 方式0:计数结束时中断。编程后自动启动,计数器减1计数,计数到终点(减至0)后输出高电平,可用于中断请求信号,GATE为低电平时停止计数,回到高电平后继续往下计数。再次启动要重新装入计数值或重新编程。 方式1:可编程单脉冲输出。GATE上升沿进行初始化并开始计数。输出低电平的宽度等于计数时间。单脉冲输出可用 GATE 上升沿多次触发。 方式2:比率发生器。编程后重复地循环计数。计数到终点时输出一个时钟周期宽度的低电平脉冲,自动初始化后继续计数。用GATE的上升沿初始化,并开始计数。GATE为低电平时停止计数。方式3:方波发生器。这种方式是在编程后重复地循环计数,输出波形为方波。如果初始计数值为偶数,每个时钟输入脉冲使计数器减2,达到计数终点时输出电平改变。如果初始计数值为奇数,则输出高电平时第一个时钟输入脉冲使计数器减1,随后每个输入脉冲使计数器减2;输出为低电平时第一个时钟输入脉冲使计数器减3,随后每个输入脉冲使计数器减2,到达计数终点时输出电平改变,计数器自动初始化后继续计数。用GATE的上升沿初始化并开始计数,GATE为低电平时停止计数。 方式4:软件启动选通脉冲输出。编程后自动启动,计数到终点后输出一个时钟周期的低电平脉冲。用GATE的上升沿初始化并开始计数,GATE为低电平时停止计数。 方式5:硬件启动选通脉冲输出。编程后,等待 GATE 上升沿进行初始化并开始计数,计数到终点后输出一个时钟周期的低电平脉冲,计数器开始计数后不受 GATE 信号电平的影响,这种选通脉冲的输出可用GATE的上升沿多次触发。在工作方式控制字中,如果设置计数器锁存操作,则该控制字中工作方式选择位M1、M0 和计数方式选择位BCD 无效。即设置锁存操作时不影响计数器的工作方式,计数器锁存操作,是在计数器计数过程中,在不影响正在进行的计数操作的条件下,把当前的计数值锁存到寄存器,供 CPU 读取,这时在工作方式控制字中,SC1、SC0指定要锁存的计数器,RL1、RL000表示锁存操作,其余4位无效,计数器按原来设定的方式工作。本接口卡在使用中规定:事件计数和脉冲测量用方式0;可编程闸门计数器0通道用方式2;计数器1通道用方式0。4. 安装及使用注意:本卡的安装十分简便,只要在关电情况下将主机机壳打开,将本卡插入主机的任何一个空余扩展槽中,再将档板固定螺丝压紧即可。连接带缆从档板空隙处引至主机后面,再与现场引线连接。 禁止带电插拔本接口卡。设置接口卡开关和安装接口带缆均应在关电状态下进行。 为保证人身及设备安全,应确保系统地线(计算机及外接设备接地点)接地良好。为防止外部设备中较大的电磁干扰,应注意对信号线进行屏蔽处理。 本卡采用的输入输出光电耦合器均不能承受过高的电压,否则容易造成过压击穿损坏,一般情况下,输入信号电平最大不要超过48V。输出负载工作电压不要超过36V。 如果本卡连接的外部设备上加有较高的电压时,在安装或用手触摸本卡时,应先将外部设备的电源关闭并严禁触摸本卡。5. 使用与操作: 5.1 IO基地址的选择:IO基地址的选择是通过开关K1进行的,开关拨至“ON”处为0,反之为1。初始地址的选择范围一般为0100H036FH之间。用户应根据主机硬件手册给出的可用范围以及是否插入其它功能卡来决定本卡的IO基地址。出厂时本卡的基地址设为0300H,并从基地址开始占用连续 24 个地址。现举例说明见图3。 A5 A6 A7 A8 A9 NC A5 A6 A7 A8 A9 NC A5 A6 A7 A8 A9 NC a.0100H b.0280H c.0300H 图3 IO基地址选择举例5.2 输入输出插座CZ1的接口定义见表6: 表6 输入插座CZ1接口定义表插座引脚号信号定义插座引脚号信号定义1CTC120CTC12CTC221CTC23CTC322CTC34CTC423CTC45CTC524CTC56CTC625CTC67CTC726CTC78CTC827CTC89CTC928CTC910CTC1029CTC1011CTC1130CTC1112CTC1231CTC1213DO132DO114DO233DO215DO334DO316DO435DO417DI136DI218DI337DI419DI公共负端5.5 跨接插座的用法:5.5.1跨接插座KJ1的用法:跨接插座KJ1的作用是为可编程闸门电路选择不同的基准信号源。跨接插座KJ1放在1处时,基准时钟为1MHz。跨接插座KJ1放在2处时,基准时钟为2MHz。5.5.2 跨接插座KJ2的用法:跨接插座KJ2是中断申请选择插座,其作用是当用户决定采用中断方式工作时,由KJ2来选择中断申请号。本接口板上提供了IRQ3;5;7;10;11;12;15 共7个中断申请号供用户选择。可编程闸门电路在闸门结束时会发出一个中断请求。当不采用中断方式工作时,可将KJ2放至N处。5.6 本接口卡各控制端口地址及功能见表7: 表7 各端口地址及功能表端口操作地址操作命令功 能基地址0H写闸门启动命令,写任意数值基地址1H写清闸门状态标志及中断请求,写任意数值基地址1H读读闸门状态标志,D7=1闸门关闭基地址2H写写DO数值,低4位有效基地址3H读读DI数值,低4位有效基地址3H写人工装入计数器初始值(注)基地址4H读写读写闸门电路计数器0通道数据基地址5H读写读写闸门电路计数器1通道数据基地址6H计数器2通道没有使用基地址7H写写入闸门电路控制寄存器控制字基地址8H读写读写第一组计数器0通道数据基地址9H读写读写第一组计数器1通道数据基地址AH读写读写第一组计数器2通道数据基地址BH写写入第一组控制寄存器控制字基地址CH读写读写第二组计数器0通道数据基地址DH读写读写第二组计数器1通道数据基地址EH读写读写第二组计数器2通道数据基地址FH写写入第二组控制寄存器控制字基地址10H读写读写第三组计数器0通道数据基地址11H读写读写第三组计数器1通道数据基地址12H读写读写第三组计数器2通道数据基地址13H写写入第三组控制寄存器控制字基地址14H读写读写第四组计数器0通道数据基地址15H读写读写第四组计数器1通道数据基地址16H读写读写第四组计数器2通道数据基地址17H写写入第四组控制寄存器控制字注:8253可编程计数定时器在使用中有如下特点:当写入计数值后,该计数值并没有立即装入减法计数器,而是放在一个寄存器中,只有当出现一个外部脉冲信号后才将计数值装入并计数。这样如果没有外部脉冲信号出现则会产生一个错误的后果,即从计数器中读出的结果可能是上电时的随机数或上次计数的结果。为克服上述特点可能造成的错误,本接口卡设计了一个功能,可以通过程序给计数器强制输入脉冲信号将计数值装入。本功能一般并不影响计数结果,但如果外接的脉冲信号始终为高时,本功能无效。如果使用本功能,可对基地址3连续作两次写操作。5.7 可编程闸门宽度的设计:可编程闸门的宽度应根据外部脉冲信号的工作频率来决定。其选择的原则一是要考虑系统采样的频率要求,二是尽可能使计数结果接近16位字长,以提高计数精确度。可编程闸门宽度Q的计算公式如下:Q(Hz)= 1MHz / 计数器0通道分频值N / 计数器1通道分频值M其中N应尽量小,大了会影响闸门精度,但最小不能为1。下面将常用的一些闸门宽度和编程参数推荐如表8:(应用此表参数的前题是计数器0通道的控制字为34H,计数器1通道的控制字为70H,) 表8 闸门宽度和编程参数推荐表(括号内为十进制值)闸门宽度Q计数器0通道分频值N计数器1通道分频值M100S0002H(2)0032H(50)1mS0002H(2)01F4H(500)10mS0002H(2)1388H(5000)100mS0002H(2)C350H(50000)1S0014H(20)C350H(50000) 上表中参数使用时应注意按8253的使用规定向同一地址先送低字节,再送高字节。并注意数据的不同进制。5.8 输入输出端口的使用与配置:5.8.1输入端口的使用与配置:当一个足够大(TTL48V)的外部电压信号经过本卡上的电阻R限流后驱动光电耦合器的发光二极管发光,使光电三极管导通,并经整形后送入计数器。电阻R1R16(其中R13R16是DI的)是一个限流保护电阻,插在焊接排上,用户可以根据信号电压幅度自行更换( 出厂时为470)。R 的选用原则为:R (UIN UR I (K)其中 UIN 为现场信号高电平电压值。UR 是发光二极管的导通电压,一般取值为1V。I是流过发光二极管的电流,一般取5 20mA左右。根据上述选用原则和使用经验,我们推荐输入信号和R的选择值见表9: 表9 输入信号和R的选择值对应表输入高电平相应电阻R的匹配阻值3V6V470( 出厂状态 )6V12V1K12V24V2.4K24V48V4.7K 由于光电耦合器指标分散性较大,以上输入信号和R的选择值仅供参考。用户可以根据现场情况试验决定。5.8.2 输出端口的使用与配置:本卡上的输出部分与外部器件连接时可按图4进行。其中保护二极管在阻性负载时可不用,外接电源的使用范围在536V之间 。 图4 开关量输出部分使用方法 光电耦合器的输出允许耗散功率为150mW,饱合压降约为0.6V左右,耐压(VCE0)约为36V。输出口的外接线路应注意外加电压不要过高,负载电流不应过大,可根据以上参数估算。6. 驱动程序简介PC-6000 系列演示程序及驱动程序是为PC-6000 系列多功能工控采集板配制的工作在中西文Windows 95/ 98/ NT环境下的一组驱动程序以及使用该驱动程序组建的一个演示程序,可以方便地使用户在中西文 Windows 环境下检测硬件的工作状态以及帮助软件开发人员在常用的 CC+, Visual Basic, Delphi, Borland C+ Builder, Borland Pascal for windows 等开发环境中使用 PC-6000 系列工控采集板进行数据采集和过程控制等工作.驱动程序是一个标准动态链接库 (DLL文件)。它的输出函数可以被其它应用程序在运行时直接调用。用户的应用程序可以用任何一种可以使用 DLL 链接库的编程工具来编写。 每种板卡依据其自身功能的不同具有不同的输出函数和参数定义。 驱动程序输出函数定义所列函数的说明格式为 VC+6.0环境下PC6000.Dll库函数的原函数格式,无论使用哪一种开发工具,务必请注意数据格式的匹配及函数的返回类型,本说明中所使用的数据类型定义如下: short 16位带符号数 unsigned char - 8 位无符号数 long - 32 位带符号数 unsigned long - 32 位无符号数计数定时部分* 函数: unsigned long APIENTRY CT6508(short nAdd,short nChip,short nClock,long nPreLoad0,long nPreLoad1)功能: 通过对闸门的宽度设置来实现某一个通道的计数功能(适用于闸门较窄的情况)。参数: nAdd 基地址nChip 指定8253芯片: 0-3 nClock 指定定时计数通道: 0-2 nPreLoad0 闸门电路计数器0通道预装入值(0-65535)。 nPreLoad1 闸门电路计数器1通道预装入值(0-65535)。返回: 设定时间内(闸门宽度)的脉冲个数说明: 闸门宽度Q的计算公式:Q=1MHz / 计数器0通道分频值N / 计数器1通道分频值M(其中N尽量小,太大会影响闸门精度,但最小不能为1)。 闸门宽度和编程参数推荐表闸门宽度Q计数器0通道分频值N计数器1通道分频值M100uS0002H(2)0032H(50)1mS0002H(2)01F4H(500)10mS0002H(2)1388H(5000)100mS0002H(2)C350H(50000)1S0014H(20)C350H(50000)* 函数: void APIENTRY CT6508All(short nAdd,long nPreLoad0,long nPreLoad1, unsigned long *p)功能: 通过对闸门的宽度设置来实现全部12个通道的计数功能(适用于闸门较窄的情况)。参数: nAdd 基地址nPreLoad0 闸门电路计数器0通道预装入值(0-65535)。nPreLoad1 闸门电路计数器1通道预装入值(0-65535)。 p 指向4片8253的12个通道的采集结果的起始地址返回: 存放在指针*p所指向的地址中,*p对应数组元素的个数应大于等于计数通道个数12,假设*p对应数组为a(40),则:第一片8253返回的脉冲个数存放在a(0)-a(2)中;第二片8253返回的脉冲个数存放在a(3)-a(5)中;第三片8253返回的脉冲个数存放在a(6)-a(8)中;第四片8253返回的脉冲个数存放在a(9)-a(11)中;说明: 闸门宽度计算公式和编程参数推荐表如上所示。* 函数: void APIENTRY CT6508Start(short nAdd,short nChip,short nClock,long nPreLoad0,long nPreLoad1)功能: 设置闸门宽度,初始化某一个通道(适用于各种情况)。参数: nAdd 基地址 nChip 指定8253芯片: 0-3 nClock 指定定时计数通道: 0-2 nPreLoad0 闸门电路计数器0通道预装入值(0-65535)。 nPreLoad1 闸门电路计数器1通道预装入值(0-65535)。返回: 无返回值。说明: 闸门宽度计算公式和编程参数推荐表如上所示。 * 函数: long APIENTRY CT6508Read(short nAdd,short nChip,short nClock)功能: 读取某一个通道的脉冲个数。参数: nAdd 基地址 nChip 指定8253芯片: 0-3 nClock 指定定时计数通道: 0-2返回: 设定时间内(闸门宽度)的脉冲个数注意:在板卡设置及外部连接正确的情况下,返回值为65535时,表示设定的闸门仍处于打开状态(时间没到),还不能进行数据的读取;只有返回值不为65535时(闸门关闭),读出的值才是正确值。数字量输入输出部分 * 函数: unsigned char APIENTRY DI6508Bit(short nAdd,short nBit)功能: 采集某一位数字量输入信号的状态。参数: nAdd 基地址nBit 通道号:0-3 * 函数: unsigned char APIENTRY DI6508All(short nAdd)功能: 采集全部通道(4路) 数字量输入信号的状态。参数: nAdd 基地址返回: 返回值为4个输入信号的状态。 * 函数: void APIENTRY DO6508Bit(short nAdd,short nBit,unsigned char nState)功能: 进行某一个通道的数字量数据输出操作。参数: nAdd 基地址。nBit 通道号: 0-3nState 1 表示将输出高电平,0 表示将输出低电平。返回: 无返回值 * 函数: void APIENTRY DO6508All(short nAdd,unsigned char nGroup)功能: 同时进行所有4个通道的数字量数据输出操作。参数: nAdd 基地址nGroup 各位输出状态, nGroup的D0代表Bit0, D3代表Bit3。返回: 无返回值7. 编程举例:7.1 设本卡基地址为300H,设置12个计数器通道对外部脉冲(事件)进行连续计数并显示,以方式0工作,计数值的写入顺序为先低位后高位,计数操作采用二进制。闸门宽度为1S。(本程序用QBASIC编制);初始化程序 CLS ;清屏 add = &H300 ;设板基地址为300H OUT (add + 1), 0 ;清闸门状态标志及中断请求;主循环程序 10: OUT (add + 7), &H34 ;闸门电路计数器0通道用方式2 OUT (add + 4), &H14 ;写计数器0通道低字节数据 OUT (add + 4), &H0 ;写计数器0通道高字节数据 OUT (add + 7), &H70 ;闸门电路计数器1通道用方式0 OUT (add + 5), &h50 ;写计数器1通道低字节数据OUT (add + 5), &HC3 ;写计数器1通道高字节数据;对第一组计数器初始化编程,对应外部脉冲信号通道CTC1;2;3 OUT (add + 11), &H30 ;第一组计数器0通道用方式0 OUT (add + 8), &HFF ;写计数器0通道低字节数据 OUT (add + 8), &HFF ;写计数器0通道高字节数据 OUT (add + 11), &H70 ;第一组计数器1通道用方式0 OUT (add + 9), &HFF ;写计数器1通道低字节数据 OUT (add + 9), &HFF ;写计数器1通道高字节数据 OUT (add + 11), &HB0 ;第一组计数器2通道用方式0 OUT (add + 10), &HFF ;写计数器2通道低字节数据 OUT (add + 10), &HFF ;写计数器2通道高字节数据;对第二组计数器初始化编程,对应外部脉冲信号通道CTC4;5;6 OUT (add + 15), &H30 OUT (add + 12), &HFFOUT (add + 12), &HFF OUT (add + 15), &H70 OUT (add + 13), &HFF OUT (add + 13), &HFF OUT (add + 15), &HB0 OUT (add + 14), &HFF OUT (add + 14), &HFF;对第三组计数器初始化编程,对应外部脉冲信号通道CTC7;8;9 OUT (add + 19), &H30 OUT (add + 16), &HFF OUT (add + 16), &HFF OUT (add + 19), &H70 OUT (add + 17), &HFF OUT (add + 17), &HFF OUT (add + 19), &HB0 OUT (add + 18), &HFF OUT (add + 18), &HFF;对第四组计数器初始化编程,对应外部脉冲信号通道CTC10;11;12 OUT (add + 23), &H30 OUT (add + 20), &HFF OUT (add + 20), &HFF OUT (add + 23), &H70 OUT (add + 21), &HFF OUT (add + 21), &HFF OUT (add + 23), &HB0 OUT (add + 22), &HFF OUT (add + 22), &HFF OUT (add + 3), 0 ;人工装入计数器初始值两次操作 OUT (add + 3), 0OUT (add + 0), 0 ;启动闸门,开始计数;屏幕显示处理 LOCATE 8, 7: PRINT CH1 LOCATE 8, 13: PRINT CH2LOCATE 8, 19: PRINT CH3 LOCATE 8, 25: PRINT CH4 LOCATE 8, 31: PRINT CH5 LOCATE 8, 37: PRINT CH6 LOCATE 8, 43: PRINT CH7 LOCATE 8, 49: PRINT CH8 LOCATE 8, 55: PRINT CH9 LOCATE 8, 61: PRINT CH10 LOCATE 8, 67: PRINT CH11 LOCATE 8, 73: PRINT CH12 20: IF INP(add + 1) 128 THEN 20 ;判断闸门结束,否则等待 FOR t = 0 TO 10: NEXT t ;延时,可以不做 OUT (add + 1), 0 ;清闸门状态标志及中断请求 l1 = INP(add + 8) ;读CTC1通道低字节数据 h1 = INP(add + 8) ;读CTC1通道高字节数据 A1 = 65535 - (h1 * 256 + l1) ;CTC1通道数据处理 l2 = INP(add + 9) ;读CTC2通道低字节数据 h2 = INP(add + 9) ;读CTC2通道高字节数据 A2 = 65535 - (h2 * 256 + l2) ;CTC2通道数据处理 l3 = INP(add + 10) ;读CTC3通道低字节数据 h3 = INP(add + 10) ;读CTC3通道高字节数据 A3 = 65535 - (h3 * 256 + l3) ;CTC3通道数据处理 l4 = INP(add + 12) ;读CTC4通道低字节数据 h4 = INP(add + 12) ;读CTC4通道高字节数据 A4 = 65535 - (h4 * 256 + l4) ;CTC4通道数据处理 l5 = INP(add + 13) ;读CTC5通道低字节数据 h5 = INP(add + 13) ;读CTC5通道高字节数据 A5 = 65535 - (h5 * 256 + l5) ;CTC5通道数据处理 l6 = INP(add + 14) ;读CTC6通道低字节数据 h6 = INP(add + 14) ;读CTC6通道高字节数据 A6 = 65535 - (h6 * 256 + l6) ;CTC6通道数据处理 l7 = INP(add + 16) ;读CTC7通道低字节数据h7 = INP(add + 16) ;读CTC7通道高字节数据 A7 = 65535 - (h7 * 256 + l7) ;CTC7通道数据处理 l8 = INP(add + 17) ;读CTC8通道低字节数据 h8 = INP(add + 17) ;读CTC8通道高字节数据 A8 = 65535 - (h8 * 256 + l8) ;CTC8通道数据处理 l9 = INP(add + 18) ;读CTC9通道低字节数据 h9 = INP(add + 18) ;读CTC9通道高字节数据 A9 = 65535 - (h9 * 256 + l9) ;CTC9通道数据处理 l10 = INP(add + 20) ;读CTC10通道低字节数据 h10 = INP(add + 20) ;读CTC10通道高字节数据 A10 = 65535 - (h10 * 256 + l10) ;CTC10通道数据处理 l11 = INP(add + 21) ;读CTC11通道低字节数据 h11 = INP(add + 21) ;读CTC11通道高字节数据 A11 = 65535 - (h11 * 256 + l11) ;CTC11通道数据处理 l12 = INP(add + 22) ;读CTC12通道低字节数据 h12 = INP(add + 22) ;读CTC12通道高字节数据 A12 = 65535 - (h12 * 256 + l12) ;CTC12通道数据处理;显示计数采样结果 LOCATE 10, 6: PRINT A1 LOCATE 10, 12: PRINT A2 LOCATE 10, 18: PRINT A3 LOCATE 10, 24: PRINT A4 LOCATE 10, 30: PRINT A5 LOCATE 10, 36: PRINT A6 LOCATE 10, 42: PRINT A7 LOCATE 10, 48: PRINT A8 LOCATE 10, 54: PRINT A9 LOCATE 10, 60: PRINT A10 LOCATE 10, 66: PRINT A11 LOCATE 10, 72: PRINT A12;循环执行 GOTO 107.2 数字量输入输出部分: 设本卡基地址为0100H,QBASIC语言: ADD=&H100 ;设基地址为100H OUT(ADD+2), ;写4路开出信号(低4位有效) AINP(ADD+3) ;读4路开入信号(低4位有效) PRINT A ;显示4路开入信号 END73 在 Windows 95/98/NT 环境下,使用 MicroSoft
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论