Lab WindowsCVI扫描输出正弦波实验

今日头条

1100人已加入

描述

一、实验目的:

1. 了解如何使用CVI控制DA扫描输出。

二、实验内容:

1.使用开发板DA端口输出正弦波并显示在示波器上。

三、实验步骤:

1. 打开CVI软件,新建项目。连接开发板。

2. 在控件面板放入一个Strip Chart控件,一个Numeric控件,一个Timer控件以及两个Square Command Button控件。并根据喜好修改Label、Constant name及Callback function属性,如图1。

数据采集

3. 运行Library→Generate→ All Code打开编程界面,选择“退出”按钮作为程序的关闭控件。在“开始”按钮的callback函数前定义一个整形变量w,赋值为0。并写入一个if循环。当w值等于0时,令w重新赋值为1,同时打开开发板,启动Timer控件函数,将“开始”按钮标签文本改写为暂停。另一方面else条件下则重新将w值置0,退出Timer函数,将“开始”按钮标签文本改写为继续,关闭开发板,代码如图2。

数据采集

4. 在Timer控件的callback函数下定义两个整形变量A、b,一个整形数组z1[360]、两个单精度浮点型变量d、y,一个单精度浮点型数组z2[360]。

5. 写入Numeric控件获取数值函数 GetCtrlVal(),获取数值来源为变量A的值,A为用户想要输出的正弦函数的幅值。

6. 写入一个for循环,令b=0开始计数,循环360次。

7. 在循环内,将b进行弧度转换并赋值给变量d,令d=b*3.14/180。

同时将正弦函数公式赋值给数组z2。

8. 写入Strip Chart控件绘制点函数PlotStripChart(),绘制数据来源取数组z2的值。

9. 计算要输出的电压值并赋给变量y:y=z2[b]*4095/10。并将变量y数据类型转换为整形赋值给数组z1:z1[b]=(int)y。然后结束for循环。

10. 写入开发板DA输出数据函数DADataSendV12()用于输出数组z1内的数据,同时写入DA输出控制函数DAScanOutV12()设置输出端口为扫描模式。(注:开发板函数具体使用方法可参阅说明书)

步骤4~10代码如图3。

数据采集

12.运行程序,在Numeric控件输入设定的幅值,连接端口DA1至示波器。Strip Chart控件显示如图4。

数据采集

12.关闭开发板,退出程序。

四、实验结果及思考:

成功输出指定幅值的正弦波数据。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分