欢迎来到天天文库
浏览记录
ID:12615439
大小:175.93 KB
页数:6页
时间:2018-07-18
《用c语言开发测控软件的方法与实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用C语言开发测控软件的方法与实践摘要:本文简单介绍了测控软件,并且深入详细的分析了C语言在测控系统软件开发中应用的方法及其相应技术。重点分析了输入/输出端口的控制、位运算、硬件中断程序设计以及曲线的绘制等方面C语言的应用。关键词:C语言现代测控技术测控软件硬件中断程序设计曲线的绘制1.引言C语言是目前程序设计语言中使用比较广泛的一种。C语言功能丰富、表达能力强、使用灵活方便、程序执行效率高并且可移植性好。C语言不仅具有高级语言的特点,还具备了汇编语言的特点,其系统处理能力非常强大。并且它支持自顶向下逐步求精的程序设计技术。C语言的函数式结构更为实现程序的模块化设计提供了强有力的保障。
2、因此C语言被广泛应用于系统软件和应用软件的开发,例如测控软件。2.测控软件随着计算机技术、检测技术和控制技术的发展,衍生而来的现代测控技术与系统也迅猛发展起来。现代测控技术与系统是一门综合性技术。在传统的测控技术基础之上,我们融入了现代传感技术、通信技术和计算机技术,并且将现代最新科学研究方法与成果应用于其中。例如,基于网络的测控技术、基于计算机视觉的测控技术、基于雷达与无线通信的测控技术以及基于虚拟仪器(VI)的测控技术等等。其中,基于虚拟仪器(VI)的测控技术的软件开发工具可用C++、Java以及C语言编写。现代测控系统基本结构分别建立在3种基础模型基础之上,一种是基于DAQ数据
3、采集体系的测控系统模型,其硬件结构如图1所示;一种是基于网络的测控系统模型,另一种是企业的测控管系统模型。计算机控制器执行机构传感器件通信单元功率放大数模转换信号处理模数转换测控对象图1基于DAQ体系的测控系统硬件结构而现在的测控系统通常尤测控软件组成,测控软件主要用于数据采集和测量,测控过程中的控制决策和控制输出,数据的处理、分析和管理。测控组态软件应是一个通用的测控软件平台,它能根据不同的应用目的和环境,方便地构造出各自不同的测控软件。初期的测控组态软件主要是针对数据采集与控制的,是面向任务实现的,主要是给用户提供了一个友好的人机界面。其功能十分有限,没有对实时数据和历史数据进行
4、有效处理和分析的手段,系统的二次开发能力也较差。如今的组态软件在面向数据采集与控制的功能方面有了很大的提高,例如在数据采集方面,它不仅支持各种传统模拟量、数字量的输入输出,而且支持符合现场总线规约的各种智能传感器和仪表的输入输出,有的还支持各种虚拟仪器。另外,在数据处理方面增加了许多功能,例如对过程数据的统计分析,对测试数据进行各种谱分析、相关分析等等。如今的组态软件已由过去的以应用为中心,转为以数据为中心。组态软件可以提供各种数据接口,可以借助其他软件工具更为灵活地存储、分析和处理测控过程的数据。2.用C语言开发测控软件的方法与实践C语言是目前使用最广泛的一种程序设计语言,语言表达
5、能力强、模块化能力强、数据类型丰富、运算符丰富、可移植性好、提供丰富的库函数、执行速度快、控制硬件处理中断的能力强、绘图能力强、可与其它语言混合编程等等不可代替的优点,使得C语言被广泛运用于测量﹑控制﹑通讯领域中。在测控领域,C语言主要被应用于实时测量系统程序设计,实时通讯系统程序设计以及实时控制系统程序设计。如图2所示,是实时测控系统的实例。图2实时测控系统实例在测控软件中,C语言主要涉及到输入/输出端口的控制,硬件中断程序设计,软件中断程序设计,精确定时程序设计,串口通信程序设计,曲线的绘制,并行接口的使用与步进电动机的控制,数据采集与处理程序设计,闭环控制系统程序设计等内容。由
6、于内容较复杂,本文将主要针对用C语言开发测控软件时,输入/输出端口的控制、位运算、硬件中断程序设计以及曲线的绘制的不同使用C语言的方法以及实践进行深入分析。2.1C语言中端口输入/输出函数计算机的CPU要与外设间传递信息,必须通过硬件的接口电路来进行。接口电路通常包含一些寄存器,如数据寄存器、状态寄存器、控制寄存器等。一般称这些寄存器为I/O(输入/输出)端口。PC系列微机用10条地址线对端口寻址,寻址范围为0x00--0x3ff。C语言为了控制端口的输入/输出扩展了一些非标准的系统函数。2.1.18位端口输入函数inportb()函数原型为:unsignedcharinportb(
7、intportid);它的主要功能是从地址为portid的8位端口输入一个字节(8位),所读的值是该函数的返回值,由头文件dos.h说明。其用法为#includeunsignedcharb;…b=inportb(端口地址);2.1.28位端口输出函数outportb()函数原型为:voidoutportb(intportid,unsignedcharvalue);其主要功能为:向地址为portid的8位端口输出一个字节(8位),其值为valu
此文档下载收益归作者所有