版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.../本科毕业设计说明书基于LABVIEW的双通道示波器设计DESIGNOFDUALCHANNELVIRTUALOSCILLOSCOPEBASEDONLABVIEW学院〔部:机械工程学院专业班级:学生姓名:指导教师:2013年6月10日...基于LABVIEW的双通道示波器设计摘要虚拟仪器是现代计算机软硬件技术飞速发展的产物,它正逐步取代传统的电子仪器,是现代电工电子测量仪器的发展方向。虚拟仪器主要由数据采集、数据分析处理、数据输出与显示三部分模块组成。本文主要介绍双通道虚拟示波器的设计。这种仪器是基于被命名为LABVIEW图形化语言而发展形成的,并且它能够实现数据采集、显示波形、数据存储、测量录音、打印数据和在线传输等多种功能。实验结果显示这种仪器拥有以下优势,例如稳定的显示、精准的测量、功能扩展和方便不同水平的人员操作的友好的交互界面。关键词:虚拟仪器,双通道示波器,LABVIEWDESIGNOFDUALCHANNELVIRTUALOSCILLOSCOPEBASEDONLABVIEWABSTRACTThehypothesizedinstrumentisthemoderncomputersoftwareandhardwaretechnologyrapiddevelopmentproduct,itissubstitutingfortraditionalgraduallytheelectronicinstrumentation,isthemodernelectricianelectronicsurveyinginstrumentdevelopmentdirection.Thehypothesizedinstrumentmainlybythedataacquisition,dataanalysisprocessing,thedataoutputanddemonstratedthreepartsofmodulescompose.Thisarticledealswiththedesignofdualchannelvirtualoscilloscope.TheinstrumentwasdevelopedbasedongraphlanguagenamedLABVIEW,anditcanperformvarioustaskssuchasacquiringdata,displayingwaveform,storingdata,measuringplayback,printingdata,andonlinetransmission.Theexperimentalresultsshowthattheinstrumentenjoyssuchadvantagesassteadyperformance,precisemeasurement,expandedfunctionsandfriendlyinterfacesopeopleatvariouslevelsmayuseit.KEYWORDS:virtualinstrument,dualchannelvirtualinstrument,labview目录TOC\o"1-3"\h\u19527摘要I2825ABSTRACT II291331绪论1124371.1研究背景及动态1180331.2本文的研究意义及内容 2194411.2.1研究意义2279391.2.2研究内容281061.3国内外的研究现状310692虚拟示波器的介绍4263762.1虚拟仪器的简介4161882.2虚拟示波器的功能4241942.3虚拟示波器的组成部分5190682.4虚拟示波器的工作原理594373采集系统的设计719833.1数据采集技术简介7251463.2数据采集系统的设计9322093.2.1系统硬件配置10196193.2.2通信协议11213423.2.3主机通信程序1176273.2.4下位机的串行通信程序设计12148723.3数据采集的实现13276893.3.1LabVIEW通讯资源VISA简介1351183.3.2在LabVIEW中调用C语言16106464设计与实现17112544.1设计目标及要求17235644.2虚拟示波器简介17256244.3双通道示波器VI的主体及程序1823684.3.1仿真信号采集模块1939234.3.2通道选择模块19215474.3.3水平分度调节模块1964954.3.4幅值分度调节模块209594.3.5波形存储、停止模块20304864.4双通道示波器VI的设计过程2093074.4.1前面板的创建和设计21272994.4.2各模块功能实现的设计30168215波形仿真部分34169435.1仿真部分简介34259485.2仿真波形参数设置34115095.3仿真波形效果图349725结论3725051附录3813836参考文献4627660致谢471绪论在数字电路实验中,需要使用若干仪器、仪表观察实验现象和结果。常用的电子测量仪器有万用表、逻辑笔、普通示波器、存储示波器、逻辑分析仪等。万用表和逻辑笔使用方法比较简单,而逻辑分析仪和存储示波器目前在数字电路教学实验中应用还不十分普遍。示波器是一种使用非常广泛,且使用相对复杂的仪器。示波器是一种用途十分广泛的电子测量仪器。它能把肉眼看不见的电信号变换成看得见的图象,便于人们研究各种电现象的变化过程。示波器利用狭窄的、由高速电子组成的电子束,打在涂有荧光物质的屏面上,就可产生细小的光点。在被测信号的作用下,电子束就好像一支笔的笔尖,可以在屏面上描绘出被测信号的瞬时值的变化曲线。利用示波器能观察各种不同信号幅度随时间变化的波形曲线,还可以用它测试各种不同的电量,如电压、电流、频率、相位差、调幅度等等。示波器用来测量交流电或脉冲电流波的形状的仪器,由电子管放大器、扫描振荡器、阴极射线管等组成。除观测电流的波形外,还可以测定频率、电压强度等。凡可以变为电效应的周期性物理过程都可以用示波器进行观测。示波器分为数字示波器和模拟示波器。模拟示波器采用的是模拟电路〔示波管,其基础是电子枪电子枪向屏幕发射电子,发射的电子经聚焦形成电子束,并打到屏幕上。屏幕的内表面涂有荧光物质,这样电子束打中的点就会发出光来。而数字示波器则是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。数字示波器一般支持多级菜单,能提供给用户多种选择,多种分析功能。还有一些示波器可以提供存储,实现对波形的保存和处理。利用示波器能观察各种不同电信号幅度随时间变化的波形曲线,还可以用它测试各种不同信号的电量,如电压、电流、频率、相位差、调幅度等等。
1.1研究背景及动态随着计算机、通信、微电子技术的日益完善,以及以Internet为代表的计算机网络时代的到来和信息化要求的不断提高,传统的通信方式突破了时空限制和地域限制,大范围通信变得越来越容易,对测控系统的组建也产生了越来越大的影响。一个大的复杂测试系统的输入、输出、结果分析往往分布在不同的地理位置,仅用一台计算机并不能胜任测试任务,需要由分布在不同地理位置的若干计算机共同完成整个测试任务。集成测试越来越不能满足复杂测试任务的需要,因此,"网络化仪器"的出现成为必然。网络技术应用到虚拟信号发生器中是虚拟仪器发展的大趋势。同传统的编程语言相比,采用LabVIEW图形化编程方式可以节省大约80%的程序开发时间,并且其运行速度几乎不受影响,其一般特征是将虚拟信号发生器、外部设备、被测点以及数据库等资源纳入网络,实现资源共享,共同完成测试任务。使用网络化虚拟信号发生器,可在任何地点、任意时刻获取测量数据。和以PC为核心的虚拟信号发生器相比,网络化将虚拟仪器的发展产生一次革命,网络化虚拟仪器将把单台虚拟仪器实现的三大功能〔数据采集、数据分析、及图形化显示分开处理,分别使用独立的基本硬件模块实现传统仪器的三大功能,以网线相连接,实现信息资源的共享。"网络就是仪器"概念的确立,使人们明确了今后仪器仪表的研发战略,促进并加速了现代测量技术手段的发展与更新。1.2本文的研究意义及内容1.2.1研究意义示波器、是科研机关、企业研发实验室、大专院所的必备测量设备,而虚拟示波器系统集成了示波器、信号发生器和频谱分析模块,具有很大的应用价值,主要为:
1>可以加强实验室技术基础建设。实验室仪器仪表的现代化水平反映了实验室技术基础,而基于计算机技术的虚拟示波器系统极大地降低了仪器成本,使大部分学校的实验室都能配备,这给学生的实验操作带来了极大的方便。同时,虚拟示波器系统是计算机技术和测量技术的完美结合,不仅提高实验仪器的技术含量,还符合实验室仪器仪表现代化的教学要求。
2>缩短测量系统的开发时间。虚拟示波器系统提供良好的性能扩展能力,用户可以通过自定义模块快速开发出一整套测量系统,提高系统的开发效率。
3>远程数据测量。有的测量环境十分恶劣,用传统仪器测量数据可能会使测量人员的人身安全受到威胁,用虚拟示波器系统可以进行远程数据测量,使测量人员远离危险环境。
4>仪器智能化。虚拟示波器系统是计算机技术与测量技术的完美结合,利用它可以实现24小时无人值守的参数测量、数据分析、数据存盘等功能,为数据的实时测量提供保障。总之,虚拟示波器系统是虚拟仪器在测量方面的典型应用,具有十分实用的价值。1.2.2研究内容本文所研究的内容主要是利用虚拟仪器的基础上设计出一个具有传统示波器功能的简单电子数字示波器,并且相对于传统示波器,本文所研究的示波器有其相对的一些优势,例如本文研究的示波器可以实时存储数据、打印波形等功能,而且这种示波器不拘泥于形式,可以根据实际情况的需要删减和扩展一些功能,所付出的劳动只是在示波器主程序中做出一些修改。在本文第二章中,主要介绍了虚拟仪器的概念、特点和优势、系统组成、优势及发展现状,阐述与本论文编程有关的虚拟仪器在示波器中的应用。第三章是介绍双通道示波器的硬件部分,主要阐述了数据采集卡对外界信号的采集,单片机的电路设计,通过VISA与串口进行通信等内容。第四章是全文的重点,详细阐述了双通道示波器的设计与实现,展示了示波器在测量信号时的各种功能。因为现实情况中条件的限制没能用到一些硬件,本章中还设置了仿真信号的输入,使之产生了仿真波形显示。1.3国内外的研究现状虚拟仪器从二十世纪八十年代开始引起人们关注,之后迅速发展。经过数十年的发展,其所涉及领域不断扩大,在对电子测量、实验教学、测量分析、航天测控、工程过程控制等领域逐步替代了很大部分的传统测量仪器,产生了很大的经济和社会效益。在过去的几十年里,仪器测量技术得到了长足的发展,发展过程大致经历三个阶段,即模拟仪器、数字仪器和智能仪器。但共同特点是"信号采集和控制、分析与处理、结果的表达与输出"三大功能模块,而这些模块原来只能由厂家来制造定义、,那样的话就会使仪器功能固定化、灵活性差。在如今的计算机技术支持下,将仪器与计算机结合进行测试,如将仪器的信号分析处理、结果输出表达放到计算机上完成,或将仪器的三大功能设计模块全部放到计算机上来完成,是完全可以实现的,在这种需求的背景条件下顺理成章诞生了虚拟仪器。虚拟仪器的概念最初是由美国国家仪器公司〔NationalInstrumentsCorp,简称NI于1986年提出,NI公司在80年代研制和推出了许多总线系统的虚拟仪器,后来,美国HP公司,Tektronic公司,Racal公司也在此方面有了很多进展。虚拟仪器在国外发展很快,以NI公司为首的很多公司已经在市场上推出了大量基于虚拟仪器技术的电子仪器产品。据"世界仪表及自动化"杂志预测,虚拟仪器在21世纪中期将占到仪器市场50%左右的份额。虚拟仪器在本世纪发展很快,大有取代传统仪器的趋势。近年来,世界很多公司推出了不少虚拟仪器软件开发平台,使仪器的使用者可以开发组建自己需要的虚拟仪器。其中,比较具有代表性的是NI公司Labview平台和Labwindows/CVI平台。相比而言,Labwindows是为熟悉C语言的传统软件开发人员所设计的。虚拟仪器的研究必将是测量仪器界的一次新的潮流。2虚拟示波器的介绍2.1虚拟仪器的简介虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。自1986年问世以来,世界各国的工程师和科学家们都已将NILabVIEW图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效率。使用集成化的虚拟仪器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大范围内提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。20年来,无论是初学乍用的新手还是经验丰富的程序开发人员,虚拟仪器在各种不同的工程应用和行业的测量及控制的用户中广受欢迎,这都归功于其直观化的图形编程语言。虚拟仪器的图形化数据流语言和程序框图能自然地显示您的数据流,同时地图化的用户界面直观地显示数据,使我们能够轻松地查看、修改数据或控制输入。美国国家仪器公司NI〔NationalInstruments提出的虚拟测量仪器〔VI概念,引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结合起来,从而开创了"软件即是仪器"的先河。"软件即是仪器"这是NI公司提出的虚拟仪器理念的核心思想。从这一思想出发,基于电脑或工作站、软件和I/O部件来构建虚拟仪器。I/O部件可以是独立仪器、模块化仪器、数据采集板〔DAQ或传感器。NI所拥有的虚拟仪器产品包括软件产品〔如LabVIEW、GPIB产品、数据采集产品、信号处理产品、图像采集产品、DSP产品和VXI控制产品等。2.2虚拟示波器的功能虚拟示波器是利用高性能的硬件模块和高效灵活的软件来实现普通仪器的功能和许多拓展功能的一种软硬件系统。虚拟示波器比传统示波器价格要便宜,而且还具有波形触发、存储、显示、测量、波形数据分析处理等独特优点,得到了越来越多的普及。采用当前示波器广泛使用的USB接口,使得虚拟仪器与计算机接口更加方便,通信速度更高;使用高速模数转换芯片〔ADC进行高速采样;使用高性能的单片机进行控制,使用高速大容量的存储器〔RAM实时保存采样数据,提高了采样的性能;使用LabVIEW语言设计上位机应用程序,可以实现波形显示,以及对数据的分析与处理。2.3虚拟示波器的组成部分<1>信号采集与控制。是由计算机和仪器硬件组成硬件平台,实现对信号的采集、测量、转换与控制。<2>数据分析与处理。虚拟示波器充分利用计算机的存储、运算功能,并通过软件实现对输入数据信号的分析与处理。处理内容包括数字滤波、数据统计、数值分析等。从数据分析上看,虚拟示波器比传统仪器具有更强大的数据分析能力。<3>测量结果的显示。虚拟示波器充分利用计算机的资源,如显示器、存储器等,把测量结果进行多种方式的表达与输出,其输出形式包括通过总线网络的远距离数据传输,通过光盘、磁盘的拷贝输出,在硬盘上存储数据以及通过计算机屏幕等图形接口的输出方式。2.4虚拟示波器的工作原理模拟信号经同轴电缆进入采集卡的输入通道,经过前置滤波电路、衰减电路、可变增益放大电路,将信号处理成A/D转换器可以处理的标准电平,经过A/D采样量转化成计算机可以处理的数字信号兵缓存到卡上的存储器。其支持软件直接通过USB接口传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打印输出等。虚拟示波器是采用计算机的虚拟技术,用以模拟通用示波器面板操作和处理功能,也就是使用个人计算机及其接口电路来采集现场或实验室信号,并通过图形用户界面〔GUI来模仿示波器的操作面板,完成信号采集、调理、分析、处理和显示输出等功能。一般开发的虚拟示波器,是在数据采集硬件的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。一般测试仪器由信号采集。信号处理和结果显示三大部分组成,这三部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是除了信号采集部分是由硬件实现以外,其他两部分都是由软件实现。虚拟示波器总体上包括数据采集、触发控制、波形显示、参数测量、频谱分析、波形存储等模块组成,其结构框图如图2-1所示。图2-1虚拟示波器的结构框图3采集系统的设计3.1数据采集技术简介硬件介绍:计算机与数据采集卡组成了虚拟示波器的硬件平台的基础。数据采集卡是虚拟示波器的重要组成部件,其性能指标直接影响虚拟示波器的采样速率、精度等主要指标。CPU的速度及计算机的内存影响示波器处理数据的速度;计算机的硬盘决定了数据存储的容量。LabVIEW中数据采集库包含了许多有关采样和生成数据的函数,它们与NI的插卡式或远程数据采集产品协同工作。数据采集卡价格低廉、操作携带方便,因此大大的降低了每个通道的成本。数据采集系统的任务是采集原始信号,其主要指标有采样精度、采样速度。采样精度由转换器的位数来决定,而采样速度是与采样频率不可分的。从提高精度的角度出发,模数转换器的位数与采样频率之间是相互制约的。数据采集卡的选择主要与采样率、测量通道、分辨率和测量精度有关。采样率即在单位时间内的测量次数,一般用Hz即采样频率来表示,也有的用S/s表示。采样率的选择,取决于被测量的信号的变化速度,根据奈奎斯特采样定理,所需的采样频率应为所测信号的最高频率分量的两倍以上,即应选用100kHz的板卡才能完成最高频率为50kHz的被测信号的测量工作。本虚拟数字存储示波器是在对传统示波器进行分析后,基于多功能DAQ采集卡和LabVIEW开发平台来设计的具有数字存储示波器功能的电子测试仪器,主要由数据采集部分、数据处理部分、波形显示部分、波形存储等部分组成,可以完成对信号的输入及获取、信号电压参数及时间频率参数的自动测量、信号的波形显示及存储回放等功能。该示波器主要由数据采集DAQ〔DataAcquisition、接口总线、硬件驱动程序和虚拟数字示波器软件构成。图3-1所示为虚拟数字示波器的整体组成结构图。信号检测电路时信号调理辅助电路,接收传感器传送过来的物理信号,并从混合信号中提取出待测的微弱信号,输出的多路信号时已经放大滤波和电平变换后的标准信号,送入数据采集卡板〔由硬件程序驱动工作,通过系统总线送进计算机进行处理。在使用DAQ卡之前必须对DAQ卡的硬件进行配置,这些控制程序用到了相应的底层DAQ驱动程序。该虚拟仪器的软件是以LabVIEW开发环境为平台,采用的是自顶而下的设计方法,首先,有要实现的目标功能来制定一个整体框架。由一个采集开关启动整个仪器采集过程,在采集状态下,可以进行参数的测量显示;同时,还可以进行时基的设置、触发通道的设置、触发模式的设置等;对于显示面板上的波形可以任意地进行位置的调整、缩放;对于当前的波形能够保存到硬盘上或U盘上;同样,也能把硬盘或U盘上的数据读到显示面板上〔这是将停止数据的采集并还能进行参数的测量。该示波器的主要控制结构有:手动设置扫描率的控制结构,存储控制结构,采集控制结构,测量控制结构,通道选择控制结构,时基、幅值分度控制结构。在这个总体框架的基础上来进行各个模块的具体设计,并分别测量,测试通过后再把它们连接起来,构成一个完整的系统,最后进行整个系统性能的调试,直到调试结果符合要求为止。图3-1虚拟示波器结构图计算机与数据采集卡组成了虚拟示波器的硬件平台的基础。数据采集卡是虚拟示波器的重要组成部件,其性能指标直接影响虚拟示波器的采样速率、精度等主要指标。CPU的速度及计算机的内存影响示波器处理数据的速度;计算机的硬盘决定了数据存储的容量。LabVIEW中数据采集库包含了许多有关采样和生成数据的函数,它们与NI的插卡式或远程数据采集产品协同工作。数据采集卡价格低廉、操作携带方便,因此大大的降低了每个通道的成本。数据采集系统的任务是采集原始信号,其主要指标有采样精度、采样速度。采样精度由转换器的位数来决定,而采样速度是与采样频率不可分的。从提高精度的角度出发,模数转换器的位数与采样频率之间是相互制约的。数据采集卡的选择主要与采样率、测量通道、分辨率和测量精度有关。采样率即在单位时间内的测量次数,一般用Hz即采样频率来表示,也有的用S/s表示。采样率的选择,取决于被测量的信号的变化速度,根据奈奎斯特采样定理,所需的采样频率应为所测信号的最高频率分量的两倍以上,即应选用100kHz的板卡才能完成最高频率为50kHz的被测信号的测量工作。没有软件,甚至没有好的软件,数据采集硬件系统不可能发挥很大的作用。数据系统一个主要方面是驱动软件的使用。驱动软件是直接对数据采集硬件系统来进行设计的软件层,管理着系统的操作以及和计算机资源的组合,比如CPU中断、DMA传送、存储器等。驱动软件在保持高性能、提高给用户易于理解的基础的同时,隐藏了复杂、详细的硬件及程序设计。NI一DAQ就是N1公司高性能数据采集及驱动程序。数据采集技术是电子测量仪器的基础,当然也是虚拟仪器的基础。只有当数据采集部分正确工作,整个虚拟仪器系统才能正确工作。3.2数据采集系统的设计数据采集系统简称DAS<DataAequisitionSystem>是信息科学的重要分支,它不仅应用在现代智能检测系统中,而且在现代工业生产、国防军事及科学研究等方面都得到广泛应用,无论是过程控制状态检测、还是故障诊断、质量检测,都离不开数据采集系统。数据采集系统是计算机、智能仪器与外界物理世界联系的桥梁,是获取信息的重要途径。其核心是计算机,它对整个系统进行控制和数据处理。它所处理的是数字信号,因此输入的模拟信号必须进行模数<A/D>转换,将模拟信号量化:,变成数字信号。数据采集系统的原理框图如3-2所示,它由多路开关、采样/保持器、放大器、A/D转换器、计算机等组成。数据采集要经过采样和量化两个必要步骤。采样过程是将被测的连续信号离散化,从连续信号中抽取采样时刻的信号值,由多路开关、采样/保持器完成。如果被测信号变化缓慢,也可以不用采样/保持器。多路开关将各路信号轮流切换到输入端,对各路信号分时采样。A/D转换器将采样信号量化,将转换成的数字信号输入到计算机中。放大器、滤波器可根据被测信号的大小及干扰的强弱选用。有的系统不采用公用放大器,而根据信号特点单独配置。图3-2数据采集卡结构图3.2.1系统硬件配置本次采用ADC0809与AT89C51单片机的接口设计。ADC0809与单片机AT89C51的硬件接口方式一般有:查询方式、中断方式和等待延时方式。本设计采用查询方式。由于ADC0809芯片内部没有时钟脉冲源.我选择利用单片机8051提供的地址锁存控制输入信号ALK经D触发器二分频后作为ADC0809的时钟输入。当CPU访问外存储器时,ALK的输出作为外部锁存地址的低字节的控制信号;又因ADC0809的时钟频率有一定的范围101280kHz.取时钟频率为6MHz。则ALK端输出的频率为1MHz,再经二分频后为500kHz。符合ADC0809对时钟的要求。由于ADC0809内部设有地址锁存器.所以通道地址由P2口的低3位直接与ADC0809的A、B、C相连。通道基本地址为0000H-0007H。模拟量直接ADC0809的IN0一IN7输入。数字量由ADC0809的DO—D7输出并直接接到单片机89C51的I/O口的PO口<P0El作为输人E1>,ADC0809其他引脚如:START、OE、ALK、A、B、C等直接接到单片机的P2口<P2口作为输出口>。最后ADC0809的结束信号端口直接接到单片机P3.7口。接口电路如图3-3。图3-3ADC0809与AT89C51的接口电路本通信系统采用AT89C51作为下位机,PC机作为上位机,二者通过RS-232串口接收或发送数据和指令。传输介质为二芯屏蔽电缆。RS-232信号和单片机串口信号的电平转换采用MAX232,它是具有双驱动器、双接收器的通信器接口电路,不需外接电容而进行倍压及电压极性转换,只需+5V供电,电源电流为5mA,传输率200kb/s。串行接口电路原理见图3-4。图3-4串行接口电路原理图3.2.2通信协议系统中PC机承担主控任务,负责该测控系统的通信参数设定、数据的采集处理及对单片机运行的控制。单片机接收PC机的指令,根据指令信息实现对波形的发生和结束,并对波形的频率、幅值、相位、偏移量等进行实时调节。其通信协议为:采用RS-232异步通信方式,51单片机串行口共有4种工作方式,这里采用单片机串口通信的方式1,该方式为8位异步串行通信方式,其波特率是可变的,1位起始位,8位数据位,1位停止位,无奇偶校验,若晶振频率为11.0592MHz,取波特率为9600b/s。下位机按接收到的指令工作,若主控机发出无效或错误指令,将不作任何控制。3.2.3主机通信程序在主机通信程序设计中,采用图形化语言LabVIEW作为编程语言它把高级语言中的函数封装为图形功能模块,图标间的连线表示各个功能模块之间的数据传递。编程方式简单、直观、便于使用。串口通信功能模块包括串口初始化模块、串口读模块以及串口写模块,通过这些模块就可以实现对单片机的控制。主程序运行后,首先设置串口,如选择端口、设置波特率等;然后启动测控系统,并可以通过按钮控制波形的生成、结束和频率、幅值等的调整。图3-5串口通信的流程图3.2.4下位机的串行通信程序设计89C51单片机的程序采用汇编语言写成。利用汇编语言直接对相关硬件进行操作,具有开销小、效率高的特点。在编写单片机程序时应当注意的是必须保证PC机与单片机串口通信时的波特率一致。如果两者不同的话,就无法进行数据的传输而导致通信失败。所以在单片机程序中初始化时应当根据单片机晶振和串口通信方式对寄存器进行设置。在本系统中,单片机除了负责串口通信外,还承担着波形发生的作用。通过软件生成波形会带来很大的硬件消耗,因此必须注意与串口通信的协调。图3-6集串口通信和软件生成波形的算法流程图3.3数据采集的实现3.3.1LabVIEW通讯资源VISA简介VISA是虚拟仪器软件结构框架〔virtualinstrumentationsoftwarearchitecture的简称。它本身不提供仪器编程能力,是一个调用底层代码来控制硬件的高层API〔应用程序接口,为高级仪器驱动程序和低级I/O驱动程序之间提供了一个层,使得高级仪器驱动程序和硬件无关,更大大提高了仪器〔目前主要是VXI仪器,CPIB仪器,RS232仪器的互换性。在LabVIEW里使用VISA,必须安装NI-VISA程序包,安装后与串口通信相关的VISA函数位于serial子模板上,如下图3-7所示:图3-7serial子模板其中共有8个操作函数,下面分别介绍在串口通讯中常用到的4个函数VISA配置串口、VISA写入、VISA读取、VISA关闭,如下图所示。图3-8VISA配置串口功能:设定波特率,数据位,停止位,奇偶校验位,流控制,超时处理,终止符和终止符使能等参数,将VISA资源名称指定的串口按特定设置初始化。图3-9VISA写入功能:将"写入缓冲区"的数据写入VISA资源名称指定的串口。图3-10VISA读取功能:从VISA资源名称所指定的串口中读取指定字节的数据,并将数据返回至读取缓冲区。图3-11VISA关闭功能:关闭VISA资源名称指定的串口会话或事件对象。由LabVIEW设计的VISA显示界面,如下图3-10所示:图3-10VISA显示界面注释:1、点击"VISA资源名称"右边的下拉按钮会出现刷新提示,单击刷新,可以连接到当前工作的串口上。2、所用LabVIEW串口通讯程序的波特率设置为9600,无奇偶校验,8位数据位,一位停止位。图3-11VISA程序框图3.3.2在LabVIEW中调用C语言在进行一些数据处理和开发数据采集卡驱动子程序时,LabVIEW的图形化编程语言就难以实现。通过CIN技术,可以在LabVIEW调用C语言源代码。C语言是目前公认的功能非常强大的程序语言,LabVIEW通过与C语言接口,可增强其整体功能。Windows系统下,通过CIN技术在LabVIEW8.6程序中利用VisualC++6.0开发环境调用C语言源代码。步骤为:框图程序设计、建立模块文件、编译CIN源代码、在LabVIEW8.6中调入.lsb文件。C语言程序见附录。4设计与实现4.1设计目标及要求示波器是以短暂扫迹的形式显示一个量的瞬时值的仪器,也是一种测量、观察、记录的仪器,在科研和实验室中应用十分广泛。传统的模拟示波器把需要观察的两个电信号加至示波管的X、Y通道以控制电子束的偏移,从而获得荧光屏上关于两个电信号关系的显示波形。这种模拟示波器体积大、重量轻、成本高、价格贵,并不适合于对非周期的、单次信号的测量。基于多功能DAQ卡和LabVIEW平台开发的虚拟数字示波器,具有结构简单、开发成本低等优点,在众多领域已得到广泛应用。数字示波器主要由软件控制完成信号的采集、处理和显示。系统软件总体上包括数据采集、波形显示、参数测量、及波形存储和回放等模块。<1>数据采集:主要完成数据采集的控制,包括设备号、通道选择控制、采样速率、采样点数等,另外选择采集的波形类型。<2>波形显示:对采集到的波形进行触发控制和时基控制后再显示波形,可以实现单信道显示和双信道显示,以及对波形运算后的输出显示,有:A、B、A&B、XY模式。<3>参数测量:完成电压参数、频率参数的测量功能。<4>结果整形、打印、保存模块:读取已存在文件中的波形数据,并将当前的波形参数写到文档中,打印波形。4.2虚拟示波器简介虚拟数字示波器是把模拟信号转换成数字形式<一串二进制数>,进行显示或进行存储的存储式示波器.由它的波形是用数字方式存储的。该数字示波器的软件是以LabVIEW开发环境为平台,采用的是自顶而下的设计方法,首先,有要实现的目标功能来制定一个整体框架。由一个采集开关启动整个仪器采集过程,在采集状态下,可以进行参数的测量;同时,还可以进行时基的设置、触发通道的设置、触发模式的设置等;对于显示面板上的波形可以任意地进行位置的调整、缩放;对于当前的波形能够保存到硬盘上或U盘上;同样,也能把硬盘或U盘上的数据读到显示面板上〔这是将停止数据的采集并还能进行参数的测量;还可以把当前的波形打印出来。此外,应用高效数字信号处理技术,还可实现FFT算法,对频域信号进行分析。该虚拟示波器主要包括以下基本模块:显示信号采集模块、通道选择模块、水平分度调节模块、幅值分度调节模块、数据保存模块等。在对示波器主要功能了解的基础上来进行各个模块的具体设计,并分别测量,测试通过后再把它们连接起来,构成一个完整的系统,最后进行整个系统性能的调试,直到调试结果符合要求为止。4.3双通道示波器VI的主体及程序如下图图4-1和图4-2所示,分别为本章所创建的双通道示波器的前面板及后面板程序框图。双通道示波器的运行主要是通过后面板程序框图的几个模块来编程实现的。接下来将对这几个主要的功能模块要实现的功能和作用分别进行介绍。图4-1双通道示波器前面板4-2双通道示波器程序框图4.3.1仿真信号采集模块波形信号的输入一般是通过数据采集卡从外界采集再传输到计算机与主程序进行互动,本章数据采集的是仿真信号,即在主程序中直接输入采样频率、采样数、信号频率、信号幅值等产生仿真波形。信号类型选项控制输入的波形类型,将采样频率、采样数捆绑成簇构成信号的采样信息,频率、幅值、相角作为产生波形的自带参数,这些参数决定了示波器仿真信号的产生,与采样信息一起构成了仿真信号的采集模块。4.3.2通道选择模块通道选择功能块通过调节选择,可以表明示波器显示哪一通道信号,可以选择的通道信号为通道A、通道B以及通道A和通道B两路信号同时显示。常见的一般示波器都可以进行单通道信号显示或两路通道信号显示。通道选择以及示波器中的信号显示同样是一般示波器的主要功能之一。本章在创建双通道示波器进行简单的期间模拟时,对这部分功能进行了实现和模拟。4.3.3水平分度调节模块通道选择功能块通过调节选择,可以表明示波器显示哪一通道信号,可以选择的通道信号为通道A、通道B以及通道A和通道B两路信号同时显示。常见的一般示波器都可以进行单通道信号显示或两路通道信号显示。通道选择以及示波器中的信号显示同样是一般示波器的主要功能之一。本章在创建双通道示波器进行简单的期间模拟时,对这部分功能进行了实现和模拟。4.3.4幅值分度调节模块通道选择功能块通过调节选择,可以表明示波器显示哪一通道信号,可以选择的通道信号为通道A、通道B以及通道A和通道B两路信号同时显示。常见的一般示波器都可以进行单通道信号显示或两路通道信号显示。通道选择以及示波器中的信号显示同样是一般示波器的主要功能之一。本章在创建双通道示波器进行简单的期间模拟时,对这部分功能进行了实现和模拟。4.3.5波形存储、停止模块一般的虚拟仪器示波器都有数据存储、波形打印等模块,这是虚拟示波器相对于传统示波器的优势之一。本章介绍的示波器可以在波形测量结束后,将输出的波形数据进行存储。停止按钮可结束示波器对信号的采集与测量,是主程序停止运行。4.4双通道示波器VI的设计过程打开LabVIEW8.6的运行程序,弹出启动界面,选择双通道虚拟示波器项目,如图4-3所示。双击打开该项目,出现项目关系,单击"新建"按钮或从"文件"菜单选择"新建VI"后创建新的LabVIEW控件,弹出新的VI前程序框图。图4-3打开LabVIEW8.6程序项目此时,单击"保存"按钮或从"文件"菜单选择"保存"后,输入名称"双通道虚拟示波器"保存,如图4-4所示。图中左侧的文档列表中,显示了项目关系图,包括在该项目下的所有已经创建的LabVIEW的VI项目名称,以及依赖关系和程序生成规范;中间为创建的前程序框图,在前程序框图的标题中已经显示所保存的文件名;在运行界面右侧,同时显示出前面板的控件面板、工具面板和及时帮助对话框。本章在创建双通道示波器的步骤中,首先进行双通道示波器运行界面的设计,然后,利用LabVIEW提供的VI控件进行程序编程部分的工作,和前面的创建过程有所不同。前面的设计创建过程首先通过程序框图的设计之后,再进行前面板的设计。这两种不同的创建过程对一般的LabVIEW控件的创建过程比较常用,各有其优缺点。此外,在创建非常复杂的LabVIEW控件VI的过程中,这两种创建和设计过程需要根据具体情况进行交叉进行,能够完成功能比较完善、界面比较美观的LabVIEW的VI。图4-4创建VI并保存后的界面4.4.1前面板的创建和设计在本章创建双通道的设计过程中,首先对该LabVIEW的VI前界面进行整体创建和设计。前界面的主要创建设计为:创建波形图显示控件,用于示波器的波形图显示;创建信号输入面板,对信号类型进行选择;创建通道选择面板,可以对示波器可以显示的通道波形进行选择;创建定位面板,可以对示波器的水平分度和幅值分度进行调节;创建程序控制面板,对示波器控件的程序功能进行控制和调节。1.示波器波形图控件的创建具体的示波器图形控件创建步骤如下。在LabVIEW前面板,选择波形图控件,选择顺序为"控件—经典—经典图形-波形图"或"新式"—"图形"—"波形图"。可以直接在前面板选择,也可以在前面板单击鼠标右键,再按照以上顺序进行选择,如图4-5所示。根据基本的设计构想创建简单双通道示波图形的界面布局,将该波形图控件放在LabVIEW前面板左上角。图4-5波形图控件的选择过程示波器波形图控件的属性设置。在波形图控件上,单击鼠标右键,在弹出的快捷菜单上选择"属性"弹出属性对话框,此时,可以设置示波器波形图控件的属性选项。根据示波器波形图控制的情况,设置相应的属性选项卡。〔1外观选项卡属性设置。外观属性页设置的属性直接和波形图控件的外观特性有关。设置时,取消构选"标签"的"可见"、"标题"的"可见"及"显示图例"复选框,从而使示波器波形图控件的显示更加接近真实的物理示波器面板,在添加曲线栏设置曲线为2条。设置如图4-6所示。〔2显示格式选项卡属性设置。该属性页能够对波形图控件的X和Y轴的现实数值格式及精度进行设置和调节。设置时,将X轴和Y轴的"数据类型"均设置为浮点数、"精度类型"均选择"精度位数"、"位数"选择3,具体如图4-7所示。图4-6波形图图属性外观选项卡设置图4-7波形图格式与显示格式选项卡设置〔4标尺选项卡属性设置。标尺属性页设置的属性对波形图控件显示标签、网络线等属性都有比较重要的影响。设置"Y轴"标尺选项卡的属性设置,勾选"显示标尺标签"复选框。"刻度样式与颜色"属性中,"主刻度"、"辅刻度"和"标记文本"的颜色均设置为绿色。"网络样式与颜色"中,"主网络"设置为绿色、"辅网络"设置为"T"型样式。"X轴"的属性设置中,"自动调整标尺"选项中的最小值和最大值分别调整为0和0.1。其他属性的设置与"Y轴"设置相同。〔5波形图属性对话框的其他设置。其他设置选项,如游标属性页的设置、说明信息属性页的设置以及数据绑定属性页的设置,这些属性的设置在前面章节中已经作过简单的介绍。感兴趣的读者可以根据需要设置相应的一些属性。而对于数据帮定等属性页的设置,设计到比较高级的数据处理功能,可以和数据库及其他相关的数据关联起来,实现数据绑定的设置与显示,本章对这些属性暂时不予以介绍。感兴趣的读者可以按照属性页中的提示来完成相应的属性设置。图4-8波形图曲线选项卡设置2.布置双通道示波器界面的其他面板如前文所述,本章创建双通道波形图VI控件,首先创建该波形图控件的外观界面。根据外观界面的整体布局,需要在前面板界面上,布置多个面板,用于对不同调节功能、说明功能和控件功能的调节、显示和完成控件目的。需要布置的主要包括以下一些面板:信号采集面板〔用于采集简单双通道示波器的仿真信号、程序控制面板〔控制简单双通道示波器的信息存储和程序终止命令的执行任务、通道选择面板〔选择示波器不同通道的信号,如单通道还是双通道信号显示和定位面板〔水平分度的调节及数值分度的调节和显示。〔1面板选择和设置在实现时,这些面板都选择使用"上凸盒"控件显示,从而达到比较美观的外观效果在LabVIEW8.6设计的前面板,选择"上凸盒"控件的顺序为"控件-修饰-上凸盒"可以通过控件选板进行选择,也可以通过单击右键鼠标后再按照以上顺序进行选择。选择这些控件后,按照需要改变这些控件的大小,布置几个面板。同时,再者些不同的面板上,添加"文字"标签,用于说明具体的面板功能。经过以上的布局调整之后,简单双通道示波器的前面布局如图4-9所示,结构相对比较紧凑、比较美观。图4-9简单的双通道示波器界面的面板布局3.前面板各模块控件的添加〔1通道选择面板的创建在通道选择面板上选择添加"下拉列表"控件,选择顺序为"控件—经典—下拉列表"如图4-10所示。改变所添加控件的大小和宽度,使之外观比较适合于显示。在选择的下拉列表控件上单击右键,在弹出的快捷菜单中选择"属性",修改属性对话框中的属性选项卡。在"外观"选项卡中,标签选择可见,标签名为"单通道选择",其他的不变。"数据类型""数据输入""显示格式"等选项卡参数不用设置,在"编辑项"选项卡中,勾选有序值复选框,并分别添加三个有序值,分别为"A","B","A&B"。这3项分别表示,示波器只显示通道A中的信号和只显示通道B中的信号、同时显示两路通道的信号。另一控件"单双选择"与"单通道选择"控件的添加类似,将控件标签改为"单双选择",将有序值选项添加2个有序值,分别对应"单通道","双通道"。此控件控制双通道示波器信号输入的单双通道选择。图4-10下拉列表控件的选择〔2信号输入与采集面板的创建在信号输入模块,添加"枚举"控件和"数值"控件,"枚举"控件控制波形信号的类型,"数值"控件控制输入信号的频率与幅值参数。选择"控件—经典—经典下拉列表及枚举—枚举"添加枚举控件。右键单击该控件选择"属性"对该控件的选项卡进行设置。在"外观"选项卡中,标签"可见"复选框不选,选择标题"可见"复选框,标题名输入"A信号类型","显示格式"选项卡选择"十进制"格式,"编辑项"选项卡添加4个选项,分别为"SineWave"、"TriangleWave"、"SquareWave"、"SawtoothWave"。同样,另一控件"B信号类型"与"A信号类型"的创建类似。选择"新式—数值—数值输入控件",右键单击"属性"进行设置,标签选择不可见,勾选标题"可见"复选框,输入标题名为"频率","显示格式"选项卡选择"自动格式",精度为"有效数字",位数为"6"。如图4-11所示为该控件的属性设置,接下来的"幅值"控件设置以及B信号的两个频率与幅值控件的添加都与上面的添加方法相同,这里不再赘述。采样信息模块的选择,选择"新式—数组矩阵与簇—簇"添加簇控件,然后在簇控件里面添加两个数值输入控件。右键单击"簇"属性,在"外观"选项卡中将簇的标签名改为"A采样属性"。"簇"中两个数值输入控件的"外观"选项卡中标签名分别为"Fs"和"采样数",数据类型选择"双精度",显示格式选择"SI符号",精度位数为2位,精度类型为有效数字。图4-11数值控件的属性设置〔3水平时间分度旋钮"TimeBase"的属性设置。在水平幅度调节面板上添加两个经典的数值旋钮控件,该数值旋钮的选择过程如图4-12所示,将两个数值旋钮作为A与B通道时分别对应的水平分度调节旋钮。以下将分别具体对这个值旋钮进行设置。在该旋钮上单击鼠标右键,从弹出的快捷菜单中选择"属性",在弹出的"属性"对话中,进行属性设置。第一步:"外观"选项卡中,勾选"标题"中的"可见"复选框,填入文本"TimeBase"修改并设置"指针1"的属性,勾选"锁定在最小值和最大值之间"和"显示当前值提示框"复选框。第二步:"数据输入"选项卡中,勾选"使用默认值范围"复选框。设置数表示法时,单击"数据类型"按钮,从弹出的选项中,选择"无符号长整型"类型U32。第三步:"标尺"选项卡中,在"标尺样式"中选择第一种类型的标尺样式,将"刻度范围"的最小值和最大值分别设定为0和2。第四步:"显示格式"选项卡中,选中"高级编辑模式"单选钮。在该选项卡上部的下拉列表中,选择"标尺",设置标尺的属性。在格式字符串文本框中输入格式化字符串"%d"表示数值旋钮按照整数形式来显示和表示。在该选项卡下部的下拉列表中,选择"数值格式代码"选项,并选中"浮点表示"选项。第五步:"文本标签"选项卡中,勾选"有序值"复选框。单击右边的"Insert"添加按钮,即添加按钮上的文本标签。在左侧的列表中,依次输入"0.05s/v"、"0.1s/div"和"0.2s/div",表示波形图水平方向每分格所代表的时间大小。图4-12数值旋钮控件的添加<4>幅值分度旋钮"Volts/Div"的属性设置。在幅值分度调节面板上添加两个经典的数值旋钮控件,将两个数值旋钮作为A与B通道时分别对应的竖直分度调节旋钮。以下将分别具体对这个值旋钮进行设置。幅值分度旋钮和水平时间分度旋钮一样,都使用数值旋钮,具体的属性页面的设置方法也都相同。在该旋钮上单击鼠标右键,在弹出的快捷菜单中,选择"属性"。在弹出的属性对话框中对"属性"的各个选项卡进行设置。第一步:"外观"选项卡中,勾选"标题"的"可见"复选框并填入文本"Volts/Div"。其余设置与水平时间分度旋钮的"外观"属性设置相同。第二步:"数据输入"选项卡的设置与水平分度旋钮的"数据输入"设置相同。第三步:"标尺"和"显示格式"属性设置也可以参照水平时间分度旋钮的设置。第四步:"文本标签"选项卡中,同样勾选"有序值"复选框。单击"Insert"添加按钮,在左侧的列表中出现需要添加的数值。在竖直幅度分度的设置中,可以依次输入"0.5V/div"、"1V/div"和"2V/div"。在程序设置过程中,调节不同分度可以显示不同的幅值。通过以上的对水平分度旋钮属性和竖直幅值分度旋钮属性的设置,可以实现对示波器波形显示的水平方向和竖直方向显示的调节。图4-13为设置后的定位面板。图4-13水平分度与幅值分度调节面板<4>数据存储与停止面板的创建作为以虚拟仪器为基础创建的双通道示波器,可以在对信号进行测量后对数据进行存储,这是虚拟仪器相对于传统仪器的优势之一。在前面板添加一个下拉列表控件和一个布尔开关控件,这些控件的选择与前面选择方式相同。属性设置中只需将文本标签和标题按照前面板的显示名称更改即可。停止按钮则直接在布尔控件里选择停止控件。4.4.2各模块功能实现的设计1.通道选择功能的设计通道选择功能可以实现在波形器波形图上显示不同通道的波形,可以实现两路信号同时显示以及两个通道单独显示。实现大体程序框图如图4-14所示。通道选择开关作为case-switch的选择判断,在选择判断case,中,根据不同的通道选择选择不同的输出传入波形图显示界面。在单双选择通道中,可以根据不同的情况选择示波器是单通道输入好是双通道输入,利用条件结构分别设置这两种情况。图4-14通道选择功能的程序框图2.通道信号输入功能的设计在虚拟双通道示波器中,信号的产生是由数据采集卡采集后传入计算机再输入双通道示波器程序而实现的,本章所设计的信号则是模拟的仿真信号,在设置一些参数后由系统产生模拟输入信号,在通过通道选择输出波形。在模拟信号的参数设置中,主要有信号的频率、幅值、相角、采样信息等,采样信息包括采样频率和采样数。我们将这些仿真信号的参数直接设置,使之成为默认数值,然后产生相应的信号。信号产生的程序框图如图4-15所示。3.水平分度调节处理功能块水平分度调节功能块处理后所产生的数据信息作为波形图控件的水平分度范围的设置数值。在具体实现这个功能块的时候,首先将选择的水平分度旋钮的选择数值作为case-switch的分支选择条件〔在本章中使用3个离散数作为调节数值;再根据不同的选择条件,再功能块中捆绑不同的数据构成簇,将该簇作为波形图控件属性节点的水平分度范围属性的设定值。分别在不同的通道中设置不同的水平调节块来对应不同通道信号的调节。图4-16为水平分度调节处理功能块的程序框图。图4-15通道信号输入功能的程序框图图4-16水平分度调节功能的程序框图4.竖直幅值分度调节处理功能块如图4-17所示为竖直幅值分度调节功能块的程序框图。同样,在程序功能的处理过程中,将数值旋钮选择的幅值分度数值作为程序块中的case-switch选择条件,根据不同的选择条件,case-switch选择功能块用不同的数据捆绑成簇,作为波形图属性引用节点的竖直分度范围属性的设定值。捆绑成簇的几个数据代表的意义分别为:输入信号的竖直分度的最小值、最大值、增量、次增量和起始值。图4-17竖直幅值分度调节功能的程序框图5.存储功能的设计图4-18为波形存储功能的程序框图,能够对测量的波形选择进行存储。该功能主要是通过两个条件结构来实现的,外层条件结构控制是否保存,内层条件结构决定波形保存的形式,分别是"保存为文本"和"保存为波形文件"。波形存储功能属于对示波器功能的继续完善,如果需要,还可以继续在该模块上添加一些相关的功能,例如波形显示、波形回放、数据打印等功能。图4-18波形存储功能的程序框图5波形仿真部分5.1仿真部分简介本虚拟示波器的设计一是参阅通用的双通道台式数字存储示波器的功能,并月在仪器分析上有所扩展。仪器的主要功能包括波形显示、波形调节、波形存储等。以PC机为平台将设计好的虚拟信号发生器与虚拟示波器相连接。用虚拟信号发生器来产生不同频率和幅值的波形,通过虚拟示波器来显示、测量、处理和分析这些波形,来检测虚拟示波器的性能。实际上的虚拟示波器也应做到软件与硬件的连接,利用数据采集系统采集外界信号,再通过传感器、单片机、串口连接程序等连接与PC进行数据交互,但限于现实条件无法获得足够的硬件,所以在此我们用示波器测量的是仿真信号,利用函数发生器模拟产生输入信号,再利用我们编好的双通道虚拟示波器对输入信号进行测量、显示,基本上能达到预期效果。5.2仿真波形参数设置要使双通到示波器能够正确的显示所输入的信号,我们应当对输入信号的一些参数进行设置,使示波器最后能够正常的显示所输入的波形信号,并且能够对波形信号进行测量、调节、存储等。首先,在波形类型选项,有A、B两个通道可以选择波形类型,波形类型有四种波形可供选择,有正弦波、方波、三角波以及锯齿波。本次模拟可选择A通道输入正弦波,B通道输入方波。波形其他参数的设置方便,A通道正弦波的频率设为20Hz,幅值为5,相角可设置为0;B通道方波的频率设为50Hz,幅值为3,相角也设置为0。这些模拟输入的参数可设置为默认值,在程序运行时即可直接模拟输入这些信号,当然也可以对这些信号的参数进行具体的调节。为了排版的需要,相角输入模块在程序中设为隐藏。采样属性模块,A、B通道采样属性设为一样,采样频率设为1.0kHz,采样数设为1000。实际仿真效果显示,以上参数的设置能够满足双通道虚拟示波器对仿真信号的测量,达到了仿真效果。5.3仿真波形效果图A通道波形图B通道波形图A&B通道波形图结论经过四年的学习生活,我们也到了即将毕业的时刻,在这最后一个学期中,我们在指导老师的谆谆教导下完成了我们的毕业设计。在这次设计的过程中,我们遇到过不少困难与挫折,甚至在一开始对设计的软件都不是很了解,但是,在不断搜索资料、询问老师,最终还是顺利的完成了程序及论文。我们在这个过程中都温习了大学中学到的知识,巩固和复习了以前在课本上学到的一些理论,在此同时,我们也学习到了课本之外的一些知识。对于我而言,我觉得这次设计对我的自主学习能力和搜索资料的能力都有所帮助,让我能够更好的去完成和实践我的程序。在这次双通道示波器的设计中,我顺利的编写完了主体程序,也在老师和互联网的帮助下对程序进行了一定的完善。在程序编写过程中,使用了分支选择结构、循环结构等变成逻辑结构以及常见的数据结构,如簇、捆绑成簇等数据处理结构;同时还用到了波形产生控件〔正弦波、方波、三角波、锯齿波、布尔逻辑控件、旋钮控件、数值控件等多个LABVIEW控件。通过对这些LabVIEW编程结构和常用控件的使用,可以使我们更好地掌握LabVIEW编程方法和技术。在的学习基础上,我们还可以加入其他信号生成和信号处理过程,进一步深化模拟过程,从而更好地进行模拟、测量和仿真,进一步完善双通道示波器的功能。在双通道示波器运行过程中,可以进行相应功能的调节和信号调节和测试。由于时间仓促以及本人能力有限,设计完成的程序还有待进一步调试和改进,程序的一些功能和模块还得继续添加和完善,不足之处还望多多包容。附录C语言程序:/*************************程序功能说明***************************************Labview与单片机的综合控制实验**1/多任务串口调度*2/任务就绪抢占模式即串口命令的任务立即执行。*3/通过多个标志位进行任务的调度与协调*4/串口中断优先级设置位PS=1*******************************************************************************#include<reg51.h>#include<intrins.h>sbitbuz=P3^6;//定义蜂鸣器端口unsignedcharcodedis_code[17]={0xc0,0xf9,0xa4,0xb0,//0,1,2,3 0x99,0x92,0x82,0xf8,0x80,0x90, //4,5,6,7,8,9, 0x88,0x83,0xC6,0xA1,0x86,0x8E,0xff};//offunsignedchardatamemcode[17];unsignedchardatadis_buf[8]; //显示缓存unsignedchardatabuf[8]; //动态显示数据缓存unsignedchardatai;unsignedchardatanum=0,num1=0;unsignedchardatadis_index;unsignedchardatadis_digit;unsignedinta1,b,c,d,e,f;unsignedinttotal=0;bitflagled=0;//LEG流水灯标志位bitflagnum=0;//流水数码管标志位bitflagbiao=0;//秒表标志位bitflagclrbiao=1;//秒表清零标志位bitflagbiaostop=0;//秒表暂停标志位bitflag_biao_num=0;//秒表到流水数码管标志位bitflagbiao2=0;//倒计时标志位bitflagbuz=0;//蜂鸣器标志位bitflagclr=0;//清屏标志位bitflagflash=0;//闪屏标志位intmin=0;intsec=0;inthour=0;intgewei=0;intshiwei=0;unsignedcharflagdisbit=0;//数码管扫描标志位unsignedchari=0;unsignedcharcodetable[]={0x7e,0xbd,0xdb,0xe7,//显示码表0xe7,0xdb,0xbd,0x7e,0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,0x7e,0x3c,0x18,0x00, 0x00,0x18,0x3c,0x7e,0x7e,0x3c,0x18,0x00, 0x00,0x18,0x3c,0x7e,0x7e,0x3c,0x18,0x00,0x81,0xc3,0xe7,0xff, 0x7f,0x3f,0x1f,0x0f, 0x07,0x03,0x01,0x00,0x00,0x18,0x3c,0x7e,0x7e,0x7c,0x78,0x70, 0x60,0x40,0x00,0x00, 0x18,0x3c,0x7e,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,0x00,0xff,0x33};//截止码voiddelay1<void>//延时程序{unsignedcharm,n,s;for<m=8;m>0;m-->for<n=20;n>0;n-->for<s=248;s>0;s-->;}voidflashled<void>{while<flagled==1>{if<table[i]!=0x33>//查表程序{P1=table[i];i++;delay1<>;}else{i=0;}}}voiddelay4ms<void>{unsignedchari,j;for<i=8;i>0;i-->for<j=248;j>0;j-->;}voiddelay10ms<void>{unsignedchari,j;for<i=20;i>0;i-->for<j=248;j>0;j-->;}voiddelay03s<void> //延时{unsignedchari;for<i=30;i>0;i-->{delay10ms<>;}}voidrignum<void>{while<flagnum==1> { if<flag_biao_num==1> { for<i=0;i<8;i++> { buf[i]=dis_buf[i]; }flag_biao_num=0; } for<i=0;i<7;i++> { dis_buf[i+1]=buf[i]; } dis_buf[0]=buf[7]; for<i=0;i<8;i++> { buf[i]=dis_buf[i]; } del
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025技术研发合同范本下载
- 2025年通化辅警协警招聘考试备考题库(含答案详解)
- 2025年贺州辅警招聘考试题库及答案详解(真题汇编)
- 2025废旧物资购买合同
- 2025年深圳辅警协警招聘考试真题及完整答案详解1套
- 2025年运城辅警协警招聘考试真题含答案详解(考试直接用)
- 2025年温州辅警协警招聘考试真题及答案详解(各地真题)
- 2025年镇江辅警协警招聘考试备考题库及一套完整答案详解
- 2025养殖业承包合同书
- 2025《冰箱保养合同》
- 陕09J02 屋面标准图集
- 数字电子技术蜂考速成课
- 室内装修工程技术标书
- 《杀死一只知更鸟》读书分享PPT
- 中级企业人力资源管理考试题库含答案
- 招聘简章 招聘简章(4篇)
- GB/T 12008.7-2010塑料聚醚多元醇第7部分:黏度的测定
- 腮腺肿瘤的诊断和治疗课件
- 英文书写规范(仅供参考)
- 质量体系标准iso14050
- 《童心是小鸟》课件
评论
0/150
提交评论