示波器程序设计源代码+实验报告大作业_第1页
示波器程序设计源代码+实验报告大作业_第2页
示波器程序设计源代码+实验报告大作业_第3页
示波器程序设计源代码+实验报告大作业_第4页
示波器程序设计源代码+实验报告大作业_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c语言编程-示波器示波器C语言编程姓名:出吉祥同伴:王辉亚谭超类别: 09软体(1)类别学号: A093GZ指导老师:陈美成大学:贵州航天职业技术学院时间: 2011-11-09目录:摘要,序言-4二:方案分析-62.1 :软件必须实现的职能-62.2 :编译环境-62.3 :项目规划-62.4 :方案技术难点-7三:方案设计和算法分析-83.1方案框架设计-83.1.1 :程序草图-83.1.2方案流程图-93.1.3方案所需全局变量:-103.1.4函数分析:-103.2程序模块函数详细了解-133.2.1 :按钮设计-133.2.2、设定按钮按下的效果函数-153.2.3、旋转圆形按钮-173.2.4:图形模式下的汉字输出-203.3绘制方案接口-213.3.1标绘波区的刻度函数- 223.3.2绘图程序一定的接口-223.4动态接口所需的相关因素-273.4.1拦截小鼠-283.4.2当鼠标离开按钮时,程序接口恢复-303.4.3鼠标在旋转按钮上点击鼠标左键的效果函数-313.4.4获取鼠标点击画面上的按钮-323.5波形图函数-343.5.1正弦波-343.5.2方波-363.5.3三角波-373.5.4锯齿波-383.5.5模拟声波-383.5.6不规则波-393.6波形图函数测量输出- 403.6.1 :正弦波相关的数据输出-403.7:主要操作接口和函数(主函数)- 42四:示波器的最终效果-50五:总结-51六:展望和发展-52七:参考文献-53摘要:随着计算机技术的发展,传统仪器开始向计算机化的方向发展。 虚拟仪器是90年代提出的新概念。 虚拟仪器技术的提出和发展,为21世纪的自动测试和电子测量仪器领域的技术发展指明了重要方向。 虚拟仪器是指,通过在通用的计算机平台上定义设备的测试功能并进行设计,使用者操作该计算机就像使用了专门设计的电子仪器一样。本程序是一个图形虚拟示波器,在数据采集和处理过程中目前本组技术能力有限,因此通过简单的数学知识和c语言知识解决该示波器程序。 在程序中,c语言的基础知识和不断重绘图形,实现模拟示波器。程序主要利用鼠标中断、数学正弦函数和其他图形函数实现波的显示,模拟示波器。关键字:示波器、正弦波、三角波、方波、频率、周期、振幅引言虚拟示波器采用基于计算机的虚拟技术,模拟通用示波器的面板操作和处理功能。 也就是说,利用电脑和接口电路收集现场和实验室的信号,通过图形用户界面模仿示波器的操作界面,完成信息收集、烹调、分析处理和显示输出等功能。该程序设计的虚拟示波器在数据采集硬件支持下,配备一定的软件,完成波形存储、分析、显示等功能。 一般的测试设备由信号收集、信号处理和结果三大部分构成。这三大部分由硬件构成。 虚拟示波器也由这三大部分构成,除了信号收集部分由硬件实现以外,其他两部分由软件实现。所设计的虚拟示波器总体上由数据采集、波形显示、参数测量、频谱分析等几个模块构成,虚拟示波器的结构框图如下信号输入数据采样数据处理波形显示参数测量和控制光谱分析这是示波器的基本处理过程,但本程序只能实现,二步,前面的数据设定随机函数和值,通过后面的相关调节改变数据,因此本程序只能实现简单的模拟示波器。程序分析1软件所需的功能:(1)波形的扩展、压缩。(2)宽度的扩大和缩小。(3)波形的平行移动。(4)实现信号的测量功能。2编译环境:(1)硬件平台:CPU:P41.8GHz;内存: 256MB或更大。(2)编译工具: Wintc中文版(3)操作环境: windowsXP3项目计划:q数据信号的收集该模块用于实现外部信号数据信号的测量。 因为我还没有掌握这一部分的知识。 因此,这些数据是设定固定值和随机函数而不是数据收集。q数据信号的收集:此模块可以将收集的信号转换为图形接口输出。 该程序仅由几个数学函数执行。q实现用户与程序的交互性:本程序实现的是接受用户的鼠标操作。 这个模块是由黄金翔完成的。q波形的显示:这个模块实现了波形的图形表示。 例如正弦波、三角波、方形波、锯齿波。 这个模块由袁富完成。q数据信号的测量和显示、调频、调幅、移位:该模块实现波形相关数据的显示、频率调制、幅度调制、平移等。 这个模块是在张志中完成的。q程序的设计与程序的最终结合:程序模块的组合和相关的完善,领导的郁金完成。4程序技术难点1 :无法收集电量、电压、电流、频率、相位差、振幅调整等信号2 :无法反映实验中相关的真实数据,只能用函数模拟波形。3 :消除前两个不考虑的技术难点。 该程序制作过程中的技术难点是鼠标的控制,即鼠标的点击状态和鼠标的当前位置。4 :汉字的图形画面显示,本程序调用汉字辞典HZK16的文字位图来执行汉字的显示。5 :波形的再描绘方法,因为在程序的执行中不断地描绘波形,另外,因为继续再描绘的话会发生画面的紊乱和闪烁,所以在本程序中采用暂时性的母房消除上次的波形的方法来减少程序的闪烁。6 :程序中波的扩展和压缩,其间不能改变波的原始参数,只能用一个算法实现。 三程序设计与算法分析说明:本计划需求知识面广,目前只学习c语言。 示波器的真正功能还没有实现。 该程序模拟示波器的部分应用。3.1方案框架设计3.1.1:程序的设计草图说明:程序通过设计几次来自老师的样品图像,最终在PS上画出了上面的草图。相关的坐标也给出了图表。 此草图可帮助其他成员大致了解整个程序。开始图形初始化登录界面: DengLu ()在绘制界面中很少更改场景Graph_face ()While(1)获取鼠标坐标和键的状态mouse(x,y,z,smbo )返回到用户选择的按钮Anniu=Return_button(x,y,z )switch(Anniu )可以恢复并显示当前按钮,并设置要绘制的波形根据以前的布得到的波浪,这不画几个波浪free (摩林)关闭图形结束如果有结束操作没有结束操作3.1.2 :程序流程图说明:该流程图概述了程序正在运行的过程。3.1.3程序所需的全局变量:1.int zf=40; /*用于存储振幅的当前值*/2.int zq=36; /*保留期的当前值*/3.int py=2; /*用于存储移动的当前值*/4.int Chang_zf; /*用于存储振幅值变化之前的值*/5.int Chang_zq; /*存储当前期间的上一个期间值*/6.int Chang_py; /*保存当前平移的最后一个平移值*/7.int smbo=0; /*用于存储当前存储的波*/8 .静态int molinum 32 ; /*用于存储模拟声波值*/3.1.4函数分析:void DrawButtonUp(int left,int top,int width,int height,int color )/*函数说明函数用于未按下按钮时的画面,该函数具有背景按钮其中,left、top、width、height、color是表示按钮左上角的坐标和按钮的宽度,按钮背景的颜色*/void DrawButtonUp1(int left,int top,int width,int height )/*函数说明函数用于按钮未被按下时的画面,在该函数中未描绘背景的按钮其中,left、top、width、height、color可知是按钮左上角的坐标和按钮的宽度,该函数是“死”按钮。 因为改变按钮必须改变原始代码函数。 该函数在本程序下主要实现了动画,但在这一点上,由于动态效果平滑,没有描绘按钮的背景*/void DrawForm(int left,int top,int width,int height,int color )/*函数说明函数是一个绘制窗口的函数,与按钮的类似之处在于它可以实现窗口的效果*/void DrawButtonDown(int left,int top,int width,int height,int color )/*函数说明函数用于绘制按下按钮时的画面,该函数绘制了背景按钮其中,left、top、width、height、color是表示按钮左上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论