用C语言编程的数据采集系统(2)

发布时间:2021-06-09

—16—

仪表技术2001年第4期

为0XFF。假定上图中用0~10V量程,且只有一个被测量通道,完成12位转换,则可写出如下的A/D转换函数:

unsigned adconvert()   {unsigned adh8=0; unsigned adL4=0; unsigned adresult=0; outportb(0x500,0xff); while(inportb(0x504)&&0x80);

  /*定义adconvert函数*/

/*定义转换结果高8位*//*定义结果低4位*//*定义转换结果12位*//*启动A/D转换*/

/*查询状态位,等待转换结束*/

3 讨论

当多个通道被测量需要A/D转换时,只需利用多路模拟开关,例如CD4051,将各路被测量分时接入

AD574。同样,用上图中的74LS138的输出连接CD4051的片选。例如用Y3,则地址将是050CH~050FH之一。于是用outportb(0x50c,0x00)接通0号通道,outportb(0x50c,0x01)接通1号通道,等等。在主程序中应先接通要转换的通道,再启动A/D转换,即调用adconvert()函数。

在过程控制系统中,还需在上图所示AD板中,加入D/A转换器,它将机器输出的控制数据转为模拟量,去推动执行部分。此时,要用IOW和地址总线去控制D/A转换器的片选。例如用上图中的Y4,则地址将是0600H~0603H之一。于是用outportb(0x600,0xf3),便可把16进制一个字节数据f3写入D/A转换器,D/A转换器将其转换为模拟电流或电压输出。

(许雪军编发)

 adh8=(unsigned)inportb(0x502);/*取转换结果高8位*/ adL4=(unsigned)inportb(0x503);/*取低4位*/ adh8=adh4≤4; adresult=adh8+adL4; return(adresult);}

/*高8位左移4位*//*得出转换结果*//*将结果值返回调用处*/

 adL4=adL4≥4;       /*低4位右移4位*/

由上述可见,调用一次adconvert()函数,将进行一次A/D转换,并返回其12位转换结果。显然,此程序比汇编语言程序简单,可读性强,而且与机器类型无

关。

第二届NI征文大赛获奖名单

评选结果一等奖二等奖

李庄张明马法成

黄宜坚,汪海波,王伟

三等奖

金暄宏张天宏张小牛,时秋兰王鸿钰郑万泔

王虎,王鹏,温建中余永华,杨建国

鼓励奖

戴静谢亚宁

姓名

公司

天津大学精密仪器与光电子工程学院摩托罗拉(中国)电子有限公司天津中德职业技术学院国立华侨大学机电工程系上海理工大学光电学院

南京航空航天大学能源与动力学院清华大学电机系基本电工教研组上海仪器仪表研究所南京汽轮高新技术开发公司南京邮电学院通信工程系武汉理工大学能源动力工程学院上海理工大学光电学院

中国科学院高能物理研究所同步辐射实验室

飞利浦移动显示系统公司上海分公司北京航空航天大学航空可靠性综合重点实验室

清华大学电机系基本电工教研组

题  目

基于虚拟仪器的原油管道泄漏监测系统应用CVI进行汽车电喷模块的测试

虚拟仪器在设备故障诊断技术实验教学中的应用基于虚拟仪器的圆盘式电流变传动机构的检测与控制系统

图像处理方法在车灯配光检测系统中的应用研究NI若干技术在设备远程故障诊断中的应用基于LabVIEW的钢轨顶面短波不平顺检测系统的开发

压缩机性能测试系统

大型汽轮发电机组及辅机振动状态在线监测工作站用LabVIEW开发SDH/PDH远程测试系统

基于虚拟技术的柴油机状态监测与故障诊断系统的开发

基于虚拟仪器技术的烟道飘灰监测系统基于LabVIEW的同步辐射实验系统

基于LabVIEW和IMAQ的LCD机器视觉精确检测系统Lxy

单轴多点正弦振动试验控制系统用NI虚拟仪器提升电工实验教学水平

李春森

李传日,齐华时秋兰,赵伟,候国屏

用C语言编程的数据采集系统(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219