1、21年1月日 实验一 虚拟信号发生器设计(基础实验)一、实验目的本实验属于虚拟仪器仿真基础实验,通过查阅相关的资料,学习LabVI软件,掌握编程过程、思路和方法。独立设计一个虚拟信号发生器的前面板和软件编程,进行程序的调试,研究实验现象,解决实验过程中的问题,根据信号发生器的工作原理,实现基本功能。二、实验设备Wndows 系统的PC机三、实验原理说明利用laVI的运算控件,基本波形发生器,任意波形发生器和波形图控件,设计虚拟信号发生器,并能实现实际信号发生器的主要功能。要求:运行时使用界面简单,易于操作。四、实验要求1)实现功能:有正弦波、方波、三角波、锯齿波、噪声以及任意波形的发生,并能任
2、意切换产生信号的类型。2)实现指标:(1)任意波形可以实现公式输入;(2)频率、幅度、相位、偏移量可调可控;(3)方波占空比可控;(4)噪声任意可加,波形与数码同时显示,同时显示输出频谱特性;五、实验方法及实验步骤1)打开labIEW程序,新建一个VI程序。2)按照方案设计的内容建立前面板图,分别写好各自的标签,分别调用显示和输入控件,设计波形显示界面,可调旋钮和输入控件的位置,使界面简单,利于操作,添加必要说明美化操作界面3)设计后面板,编写信号发生器的程序。首先设计整体的hile循环,然后设置基本信号发生器,任意信号发生器和噪声发生器的基本参数,采样频率、幅值、移量、相位等参数,并配置可调
3、旋钮。4)利用波形选择按钮组成的一维布尔数列,转换出8,4,2,0五种不同的状态,用于在条件结构中选择不同的波形发生,同时利用“噪声”按钮选择是否叠加噪声,之后将波形发生器与波形显示器相连接,用于输出波形。同时对输出波形进行F变换到频域下,连接波形显示器以观察幅度频率响应和相位频率响应。六、软硬件设计(框图)整体电路框图设计图信号发生器电路图七、实验结果及分析虚拟信号发生器面板正弦信号方波信号三角波信号锯齿波信号任意波形信号(si(w*t)*(2*p(1)*t)正弦波+噪声+任意波形信号(sin(*t)sin(2*i(1)t)信号方波+噪声+任意波形信号(sn(*t)+os(2*t)信号锯齿波
4、+噪声+任意波形信号(sin(w*t)+cos(2w*t)信号锯齿波+噪声+任意波形信号(sin(wt)*sin(*pi(1)t)信号从实验结果中可以看出,虚拟波形发生器可以实现正弦波、方波、三角波、锯齿波信号的产生,同时还可以产生符合某种函数关系的任意波形信号,对每信号都可以自由选择是否叠加噪声;每一种波形信号之间都可以进行自由切换,同时可以控制调节其幅值,频率,相位,偏移量,方波还可以调节控制占空比;波形和数码可以实时同步显示,还可以观察各种波形信号的幅度-频率响应和相位-频率响应。八、实验心得体会通过这次实验,初步学习和掌握了laIEW的使用方法,它有区别与其他编程语言,使用图形化的语言
5、来进行逻辑控制,其中信号流向如同c语言中语句被依次执行一样,而许多控件节点如同子函数一样,可以按照其定义的端点来连接,就和按函数形式调用函数一个道理,其中的循环结构更加的形象易懂,容易上手。另一方面,通过这次试验,学习到了labVIW的基本编程思路,可以同过任务所需要的结果来创建控件外观(前面板),再深入到它的内部(后面板)去设计算法和程序。由于aVIW的数据类型是考颜色来区分的,一开始用得不是太顺手,同时各种不同的控件和节点所能连接的数据类型也各不相同,很多控件节点只允许某种特定的数据类型传输,需要慢慢学习掌握和理解消化。本实验基本完成了所提出的指标,但是没有做到粗调和细调,有待今后深入学习
6、zbIEW软件及其编程思想,来完成这一空缺。实验二 基于view的贪吃蛇游戏(自主实验)一、实验背景小时候经常玩的一款小游戏叫“贪吃蛇”,就是有一条小蛇,不停地在屏幕上游走,吃各个方向上出现的小圆点,越吃越长。只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用abVE制作一款贪吃蛇游戏。本程序的主要实现如下功能:小蛇不停游走,键盘方向键可控制小蛇移动方向,小蛇碰到四壁或者碰到自己时游戏结束。二、实验目的根据实验目的,学习虚拟仪器前面板整体布局设计,设计出一个贪吃蛇的游戏;建立全局变量,学习使用“簇”这一labEW特有的数据类型,掌握虚拟仪器前面板整体布局
7、设计方法。三、实验设备Windows 7系统的PC机四、实验原理说明本程序可以实现贪吃蛇的基本功能,就是有一条小蛇,不停地在屏幕上游走,吃各个方向上出现的小圆点,越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束;本程序还可以实现通过键盘左右键控制贪吃蛇的方向,以致贪吃蛇能沿着规定的路径行走;本程序还可以实现根据玩家水平的高低不同,分为五个难度等级;本程序还可以实现根据玩家喜好不同,屏幕上出现的苹果数完全不同,可根据自己喜好设置;五、实验要求实现功能:,本程序可以实现贪吃蛇的基本功能,就是有一条小蛇,不停地在屏幕上游走,吃各个方向上出现的小圆点,越吃越长,只要蛇头碰到屏幕四壁或者
8、碰到自己的身子,游戏就立刻结束;,本程序还可以实现通过键盘左右键控制贪吃蛇的方向,以致贪吃蛇能沿着规定的路径行走;3,本程序还可以实现根据玩家水平的高低不同,分为五个难度等级;,本程序还可以实现根据玩家喜好不同,屏幕上出现的苹果数完全不同,可根据自己喜好设置;六、实验方法及实验步骤1,打开abVIE程序,新建一个I程序。2,界面设置最终通过各种优化和计算,得到贪吃蛇的前面板(界面)设计如图,包括可以调节难度的“Diffcui”按钮-“Noobie”“temedae”“advanced”“nsane”“apliction enineer”五个等级;设置苹果数的按钮;程序自动记录玩家所吃的苹果数;
9、3,对话框设置设置对话框,我们采用编程-对话框与用户界面中的单按钮对话框。主要是在游戏开始和结束时,显示游戏欢迎界面和游戏结束界面。七、软硬件设计(框图)程序主要分三个模块,第一,困难选择模块和苹果数选择模块;第二,游戏开始和结束的界面判定与显示;第三块,主程序的实现,主要解决“贪吃蛇”的转向问题;是否碰到墙或者吃到自己;还有吃到苹果的个数计数;还有一个最关键的,就是贪吃蛇的长度和路径与所吃的苹果数的逻辑关系等等。1,游戏开始和结束的界面判定与显示游戏开始和结束模块的设计游戏结束判据前面板2,困难选择模块和苹果数选择模块3,“贪吃蛇”撞到自己的实现“贪吃蛇”撞到自己“贪吃蛇”撞到自己前面板4,
10、“贪吃蛇”撞到墙的实现“贪吃蛇”撞到墙“贪吃蛇”撞到墙前面板5,“贪吃蛇”吃到苹果个数的实现“贪吃蛇”吃到苹果个数“贪吃蛇”吃到苹果个数前面板6,“贪吃蛇”的“下一步”“轨迹方向及位置”的实现“贪吃蛇”的“方向”“贪吃蛇”的“方向”前面板“贪吃蛇”的“输入”“贪吃蛇”的“输入”前面板“贪吃蛇”的“输出”,主程序的实现由于蛇本身是一个可增加元素的数组,所以用一个含两个一维方向数组的簇来进行操作。小蛇自动不停移动的程序,然而为了使之后与小苹果碰撞后能便捷的增加长度,这里采用这样的方法实现:小蛇没按方向移动一个,就在小蛇数组的开头添加一个点(此时这两个点是相邻的),然后将添加的点与苹果所在坐标比较,
11、如果不同,就将蛇数组的最后一个元素删除,表示没有吃到苹果;如果相同,就保留这个元素(此时,相对于前一个位置时,小蛇的长度增加了),并且删除这个苹果,重新随机产生另一个苹果。循环往复(在hile循环上添加移位寄存器)直到游戏结束。插入蛇头新坐标的子程序如下:“贪吃蛇”主面板“贪吃蛇”前面板八、实验结果及分析当难度:inemedae(中级),Max ppl:12个时;程序的运行结果如图。Noo(初级),Max ale:0个时;七、实验心得体会通过这次实验,学习了“簇”这一labVIE特有的数据结构和概念,也学习了对簇的相关操作和变换,本实验中利用簇和一维数组的变换,来实现按钮状态和按钮对应引索值之间的对应,从而使区分是哪个键按下成为可能,同时还利用了循环中的移位寄存器,来实现数据的保持和传递,不同的键值利用条件分支来完成,其中也利用了布尔逻辑式的思想来设计算法,收获颇多。此外,程序运行时占用内存比较大,应该是在程序框图结构上有不完善的地方,造成了这一内存资源的浪费和超负荷工作,有待深入学习和掌握labVIEW更深层次的知识来个,搞清楚其中的原因,加以改正,才能使程序更加完善,更加合理。此次“贪吃蛇”实验的设计,让我在学习,练习bew的同时,重温儿时的乐趣。感觉学习虚拟仪器的过程很快乐,也体会了自己的动手和现代科技的发达密切相关,科技触手可得。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1