今日头条
一、实验目的:
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.关闭开发板,退出程序。
四、实验结果及思考:
成功输出指定幅值的正弦波数据。
审核编辑:符乾江
全部0条评论
快来发表一下你的评论吧 !