第九章:C语言PWM输出与输入测量实验
文章目录
- 第九章:C语言PWM输出与输入测量实验
- 一、实验目的:
- 二、实验内容:
- 三、实验步骤:
- 1.打开Visual C++ 6.0,配置开发板环境,将开发板接入电脑,并写入开发板启动函数。
- 2.定义两个整形变量x,i,一个整形数组z1[]。一个单精度浮点型变量y,单精度浮点型数组z2[]。
- 3.调用PWM输入测量函数PWMInSetV12 (int mod); 将其值设置为1,表示测量开启。
- 4.写入一个for循环用于持续变换输出频率,令i从1000开始计数,到10000为止。延时1000ms,再嵌入一个for循环用于改变占空比,令y从10开始计数,到90为止。延时100ms,写入输出控制函数PWMOutSetV12(int chan,int Freq,float DutyCycle);令chan值为1,表示使用通道1。Freq取变量i的值,DutyCycle取变量y的值。接着用采集函数PWMInReadV12(float* Freq, int* DutyCycle);进行PWM输入结果获取。此处,用数组z1采集当前频率,数组z2采集当前占空比,最后用printf打印在屏幕上。
- 5.运行程序,打印结果如图3。可以看到占空比稳定循环增加,且当占空比大于90%之后,频率会增加1H在,并将占空比返回10%重新计数。
- 6.最后关闭开发板。
- 四、实验结果:
- 五、注意事项:
一、实验目的:
1.学会PWM端口函数的使用。
二、实验内容:
1.利用PWM端口输出特定频率和占空比并读出。
2.用示波器监测输出波形。
三、实验步骤:
1.打开Visual C++ 6.0,配置开发板环境,将开发板接入电脑,并写入开发板启动函数。
2.定义两个整形变量x,i,一个整形数组z1[]。一个单精度浮点型变量y,单精度浮点型数组z2[]。
3.调用PWM输入测量函数PWMInSetV12 (int mod); 将其值设置为1,表示测量开启。
如图1:
4.写入一个for循环用于持续变换输出频率,令i从1000开始计数,到10000为止。延时1000ms,再嵌入一个for循环用于改变占空比,令y从10开始计数,到90为止。延时100ms,写入输出控制函数PWMOutSetV12(int chan,int Freq,float DutyCycle);令chan值为1,表示使用通道1。Freq取变量i的值,DutyCycle取变量y的值。接着用采集函数PWMInReadV12(float* Freq, int* DutyCycle);进行PWM输入结果获取。此处,用数组z1采集当前频率,数组z2采集当前占空比,最后用printf打印在屏幕上。
如图2:
5.运行程序,打印结果如图3。可以看到占空比稳定循环增加,且当占空比大于90%之后,频率会增加1H在,并将占空比返回10%重新计数。
如图4:
将端口PWM1与示波器CH口相连,同时接地,观察示波器波形,可以明显见到占空比区域逐渐增大然后又回归原点,循环往复。如图5和6。
6.最后关闭开发板。
四、实验结果:
成功启动PWM输出指定频率和占空比并采集。
五、注意事项:
1.注意延时函数的使用,不然会难以观察到波形变化。