版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计-示波器 职业技术学院 毕业设计课题名称: 示 波 器 学 号: 姓 名: 专业班级: 08软件(1)班 系 (院): 计算机科学系 指导老师: 2011年2月11日目 录摘 要3引 言4一、可信性分析与需求分析51.1 需求分析51.1.1 该软件需要实现的功能51.1.2 编译环境51.1.3 程序技术难点51.2 可行性分析61.2.1 程序设计及算法分析71.2.2 程序框架设计71.2.3开发语言与开发环境7二 、总体设计102.1 总体设计阶段任务及方法102.2总体设计阶段步骤及要求102.3总体设计文档10三 、编码113.1 程序图形化表示层界面设计113.2 程序管
2、理控制层设计113.3 程序管理控制层功能详解133.3.1波形图函数133.3.2 正弦波143.3.3 方波153.3.4 三角波173.3.5 锯齿波18四 示波器最终效果204.1 程序主界面20五 总结21六 展望与发展22七 参考文献24摘 要随着计算机技术的发展,传统仪器开始向计算机化的方向发展。虚拟仪器是90年代提出的新概念。虚拟仪器技术的提出与发展,标志着二十一世纪自动测试与电子测量仪器领域技术发展的一个重要方向。所谓虚拟仪器,就是在通用的计算机平台上定义和设计仪器的测试功能,使用者操作这台计算机,就像是在使用一台专门设计的电子仪器。 示波器是常用的电子仪器之一,是以一个短暂
3、扫迹的形式显示一个量的瞬时值的仪器,也是一种测量、观测、记录的仪器。可也直观表示二维、三维及多维变量之间的瞬态或者稳态函数关系、逻辑关系,以及实现对某些屋里量的变换或存储。示波器作为一种直观通用、精密的测量工具,广泛地应用于工农业生产,科研、军事、教育等各个领域中,进行对电量和许多飞电量的测试、分析。本程序就是通过图形化虚拟示波器,因为在数据的采集和处理过程现在本组的技术能力有限,所以就通过简单的数学知识和delphi语言的相关知识来解决这个示波器程序。在程序中利用delphi语言基础知识和不断的重画图形来实现模拟的示波器。关键字: 示波器、正弦波、三角波、方波、频率、周期、振幅 引 言虚拟示
4、波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操作和处理功能,也就是使用个人计算机及接口电路来采集现场或实验室信号,并通过图形用户界面来模仿示波器的操作界面,完成信息采集、调理、分析处理和显示输出等功能。示波器先后经历了电子管示波器、晶体管示波器和集成化示波器阶段。现在的示波器正朝着数字化、智能化飞速发展,示波器的种类、型号也是逐年跟新。根据其用途和特点,可划分为:通用示波器、多束示波器、取样示波器、记忆存储示波器、特种示波器等几种。该程序所设计的虚拟示波器,是在数据采集硬件的支持下,配备一定的软件,完成波形的存储、分析、显示等功能。一般测试仪器有信号采集、信号处理和结果显示三大部分
5、组成,这三大部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是,除了信号采集部分是有硬件实现之外,其它两部分都是由软件实现。所设计的虚拟示波器总体上包括数据采集、波形显示、参数测量、频谱分析、等几大模块组成,虚拟示波器的结构框架图如下:信号输入数据采样数据处理波形显示参数测量与控制频谱分析 这是示波器的基本处理过程,而本程序只实现了, 两步,前面的数据都是通过随机函数或设定一个值,然后通过后面的相关调节来改变数据,所以本程序只实现一个简单的模拟示波器。一、可信性分析与需求分析1.1 需求分析 需求分析所要作的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,
6、定义软件的其他有效性需求。要围绕两个核心问题开展需求分析:(1)应该了解什么?(2)通过什么方式去了解?1.1.1 该软件需要实现的功能(1) 波形的展宽,压缩。(2) 幅度的放大与缩小。(3) 波形的平移。(4) 实现信号的测量功能。1.1.2 编译环境硬件平台:cpu:p41.8ghz;内存:256mb以上。(2) 编译工具:delphi中文版(3) 运行环境:windowsxp1.1.3 程序技术难点1:无法实现对信号的采集,如:电量,电压、电流、频率、相位差、调幅度等2:在试验过程中无法反映相关真实的数据,只能一味的用函数模拟波形。3:程序中波的展宽与压缩,其间不能改变波的原来的参数,
7、只能通过一种算法来实现。4:总体对于示波器的了解还是很少所以在程序中基本只属于模拟,已因为时间问题很多技术要点都没用把握和应用在程序中来。1.2 可行性分析可行性分析是要决定“做还是不做”,它是客观的、科学的。目前国内很多软件公司做系统集成项目,业内流传“没有做不了的系统集成项目”。这是个错误的理念,因为可行性分析表明做某件事的成功几率和是不是有真正的开发价值。不论是为客户做软件项目还是为自己做软件产品,都要进行需求分析。它可以减少不必要的损失和资金投入。该程序所设计的虚拟示波器,是在数据采集硬件的支持下,配备一定的软件,完成波形的存储、分析、显示等功能。一般测试仪器有信号采集、信号处理和结果
8、显示三大部分组成,这三大部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是,除了信号采集部分是有硬件实现之外,其它两部分都是由软件实现。所设计的虚拟示波器总体上包括数据采集、波形显示、参数测量、频谱分析、等几大模块组成,虚拟示波器的结构框架图如下:数据采样数据处理波形显示参数测量与控制频谱分析信号输入 这是示波器的基本处理过程,而本程序只实现了, 两步,前面的数据都是通过随机函数或设定一个值,然后通过后面的相关调节来改变数据,所以本程序只实现一个简单的模拟示波器。1.2.1 程序设计及算法分析本程序因为需求的知识面甚广,而现在只对示波器的相关进行了部分了解,又由于不能硬件支持。所以,示波器
9、的真正功能就未实现,这个程序做的就是模拟示波器的应用的一小部分。1.2.2 程序框架设计在程序中通过分功能来设计程序,一层已图形表示类,中间层是方法层,再后一层是对象层。框架如图所示。1.2.3开发语言与开发环境本程序就是通过图形化虚拟示波器,因为在数据的采集和处理过程现在本组的技术能力有限,所以就通过简单的数学知识和delphi语言的相关知识来解决这个示波器程序。在程序中利用delphi语言基础知识和不断的重画图形来实现模拟的示波器。模拟示波器技术的实现是用delphi语言来实现的,是微软公司推出的可视化编程工具msdn之一,是目前世界上使用最广泛的程序开发工具。结构简单,编写程序对系统的资
10、源占有极低,是程序编写者编写小型程序的第一选择!如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择delphi没错的。即使考虑到delphi程序本身编译和运行效率较低的不足,但是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是初学者的首选。delphi语言的中心思想就是要便于程序员使用,无论是新手或者专家。delphi语言使用了可以简单建立应用程序的gui系统,但是又可以开发相当复杂的程序。delphi的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件
11、内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面delphi程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。 窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入
12、相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。 delphi语言的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。 delphi语言的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。 delphi语言使用引用计数的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,delphi语言对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以
13、及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。 delphi语言使得大量的外界控件有了自己的生存空间。大量的第三方控件针对delphi语言提供。delphi语言也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。二 、总体设计2.1 总体设计阶段任务及方法这一阶段的任务是设计出组成模拟示波器技术实现的所有程序结构(软件系统结构设计)。并采用面向数据流的设计方法将系统按功能划分模块、确定每个模块的功能、模块间的调用关系、模块间的接口以及评价模块结构质量。在设计数据结构时主要采用逐步细化的方
14、法,根据需求分析阶段对系统数据的组成、操作约束和数据间的关系描述、确定数据结构特性。2.2总体设计阶段步骤及要求(1)系统模块设计系统的模块化形式在前面的内容中已经有了较详细的描述,根据以数据为核心的使用模式。(2)系统控制结构对系统的控制主要体现在对信息流的把握上,即对参与处理各种信息流模块进行分析、解耦和协调,从中找出相互之间的逻辑关系,以便采取不同的控制对策。2.3总体设计文档1、软件结构图(软件层次结构图)图3-1软件结构图三 、编码3.1 程序图形化表示层界面设计 3.2 程序管理控制层设计wavefunction.pas包imgcenterx:integer;imgcentery:
15、integer;imgwidth:integer;imgheight:integer;xstep:integer;ystep:integer;wavestep:integer;显示波形窗口的背景颜色waveviewbkcolor:tcolor;显示波形窗口的网格颜色waveviewwgcolor:tcolor;wavearray :array0.20 of twave;wavecount:integer;起着动态显示波形的信号wavesjstep:integer;获取下拉列表框的选择的序号function getcomboxselindex(combobox:tcombobox):intege
16、r;画波形函数procedure drowwave(image: timage); 画表格标尺procedure drowbiaoge(image: timage); 画正弦波procedure drowsinawave(image: timage;wave:twave);画三角波procedure drowsanwave(image: timage;wave:twave);画方波procedure drowfangwave(image: timage;wave:twave);画锯齿波procedure drowjuciwave(image: timage;wave:twave);画背景pro
17、cedure drowback(image: timage);底层与类对象层wavesystem.pastype twave= class自定义示波器类 电压 wavevotage:double; 频率 wavefrequency :double; 周期 wavecycle :double; 类型 wavetype:integer; 基准线值 wavejz:integer; 时基线值 wavesj:integer; 波线的颜色 wavecolor:tcolor; xzengyi:integer; yzengyi:integer;const sinwave=1;(*正弦波*) sanwave=2
18、; (*三角波*) fangwave=3; (*方波*) juciwave=4; (*锯齿波*)3.3 程序管理控制层功能详解3.3.1波形图函数procedure drowwave(image: timage);var i:integer;begindrowback(image);drowbiaoge(image);i:=0;while i imgwidth *2 then (*控制动画效果的步长*) begin if trunc(wavesjstep + wave.wavesj ) mod cycle )= 0 then begin wavesjstep :=0; end; end; i:
19、=0; xposion :=0 - wavesjstep - wave.wavesj; (*设置起始位置*) image.canvas.moveto(xposion,centy);/画笔移动到起始位置处 image.canvas.pen.color :=wave.wavecolor; /初始化画笔颜色 while xposion imgwidth *2 then (*控制动画效果的步长*) begin if trunc(wavesjstep + wave.wavesj) mod cycle )= 0 then begin wavesjstep :=0; end; end; i:=0 - wav
20、esjstep - wave.wavesj; (*设置起始位置*) yposion:= centy + zenghu; image.canvas.moveto(i,yposion);/画笔移动到起始位置处 image.canvas.pen.color :=wave.wavecolor; /初始化画笔颜色 while i imgwidth *2 then (*控制动画效果的步长*) begin if trunc(wavesjstep + wave.wavesj) mod cycle )= trunc(cycle div 4) then begin wavesjstep :=0; end; end
21、; i:=0 - wavesjstep - wave.wavesj; (*设置起始位置*) image.canvas.moveto(i,centy);/画笔移动到起始位置处 image.canvas.pen.color :=wave.wavecolor; /初始化画笔颜色 zenghu:= zenghu*(-1); yposion:= centy + zenghu; i:= i+ cycle div 4 ; image.canvas.lineto(i,yposion); (*画第一个1/4周期的图像*) while i imgwidth *2 then (*控制动画效果的步长*) begin
22、if trunc(wavesjstep + wave.wavesj) mod cycle )= trunc(cycle div 4) then begin wavesjstep :=0; end; end; i:=0 - wavesjstep - wave.wavesj; (*设置起始位置*) yposion:= centy + zenghu; image.canvas.moveto(i,yposion);/画笔移动到起始位置处 image.canvas.pen.color :=wave.wavecolor; /初始化画笔颜色 while iimgwidth + cycle do (*通过循环
23、的方式把后面的波形画出来*) begin zenghu:= zenghu*(-1); yposion:= centy + zenghu; i:=i+ cycle div 2; image.canvas.lineto(i,yposion); zenghu:= zenghu*(-1); yposion:= centy + zenghu; image.canvas.lineto(i,yposion); end; wavesjstep:=wavesjstep+1; -全局变量 步长加1-end;四 示波器最终效果 4.1 程序主界面五 总结通过实验得出如下总结;1、设计的示波器主要的优点为:软件开发效
24、率高,可操作性和维护性好,在相同的硬件条件下,可以通过修改和增加软件模块,形成新的仪器功能。2、又因为知识水平有限,设计中存在着很多的不足:影响示波器系统各个性能的因素很多,检测信号的输入,数据采样,数据分析等功能不能实现。3、所设计的虚拟示波器未具有的网络功能: 网络的潮流将资源共享带入一个新的阶段,加速了虚拟仪器与网络技术相结合以及远程监控技术的发展。 示波器的发展是很值得去开阔,但已要学相关的很多知识才能去解决。六 展望与发展 pc技术与嵌入式系统融合发展,虚拟仪器的功能得到进一步的发展,例如更多的嵌入式和实时功能。随着pc技术和相关技术的发展,虚拟仪器技术已成为一项前沿学科,代表着仪器发展的最新方向之一,不断的被推向各个新的领域,在新的世纪将大行其道。虚拟仪器设计已经成为测试与仪器技术发展的一个重要方向。随着高速a/d芯片和电路的进一步集成化,可以设想 在不远的将来,一台有安装虚拟仪器软件的标准微机成为一个对功能的测量仪器站,从根本上改变目前专用仪器的研制和生产方式,具有广阔的应用前景和巨大的潜在经济效益,计算机虚拟示波器的成本低,功能全,可扩充性强,较适合应用于工业测试和工业自动化及汽车、轮船、水利和医疗等领域。伴随着计算机技术的进一步发展,虚拟器的开发和研究将会获得更大的推动。传统台式仪器是由仪器厂家设计并定义好功能的一个封闭结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售总结课件教学课件
- 红火蚁的预防与治疗
- 教育培训机构的年终总结
- 第二章 相互作用-三种常见力 2025年高考物理基础专项复习
- 侵袭性肺曲霉菌病诊治指南
- 氧化碳的制取的研究说课稿
- 好玩的磁铁说课稿
- 农村水上运动中心建设合同协议书
- 污水处理厂标识系统招投标文件
- 投资合伙人合同协议书
- 课后习题答案-电机与拖动-刘锦波
- 急混合细胞白血病
- GB/T 11836-2023混凝土和钢筋混凝土排水管
- 烟花爆竹生产企业2023安全生产费用投入计划和实施方案
- 第三章 继承优良传统 弘扬中国精神
- 中国阴道炎诊治课件
- 微生物生物转化
- 冠心病的护理心得体会(11篇)
- 高中数学 人教A版 选修一 空间向量基本定理 课件
- 古埃及古希腊古罗马柱式分析
- 溶血性贫血病例讨论
评论
0/150
提交评论