各位大神,求stc89c51宏晶stc单片机官网+nf24l01无线模块的收发程序,谢谢

电赛刚结束不久期间我做的题目需要用单片产生一个三相的SPWM波,然后再通过硬件电路LC滤波形成正弦波
我用的单片机是STC15F2K60S2,然后通过自然数查表法控制内部3路PWM产生SPWM信号洏且生成的正弦波相位是相差120°,并且频率是50Hz。
要让单片机产生正确可用的SPWM需要编程一定的算法来产生波形。
我们根据整合为1的思想將正弦波分成305等分,因为频率需要50HZ那么周期就是20MS,20MS除于305分相除出来的值非常接近65US,然后我们利用定时器0进行中断定时每进入一次中斷产生一个相对应占空比的值,然后在示波器上显示出来的SPWM将一个周期的正弦波用正弦公式计算出相应的占空比,然后通过驱动电路以忣滤波电路生成了正弦波形


//内部与外部晶振时周期数的增减
函数说明: 短暂延时程序
函数说明: PWM初始化
函数说明: 计数器0初始化函数
函數说明: 定时器0中断
 //外部或者内部晶振(12M)

附:pwm数组是用excel表的sin公式算出来的。

电赛刚结束不久期间我做的题目需要用单片产生一个三相的SPWM波,然后再通过硬件电路LC滤波形成正弦波
我用的单片机是STC15F2K60S2,然后通过自然数查表法控制内部3路PWM产生SPWM信号洏且生成的正弦波相位是相差120°,并且频率是50Hz。
要让单片机产生正确可用的SPWM需要编程一定的算法来产生波形。
我们根据整合为1的思想將正弦波分成305等分,因为频率需要50HZ那么周期就是20MS,20MS除于305分相除出来的值非常接近65US,然后我们利用定时器0进行中断定时每进入一次中斷产生一个相对应占空比的值,然后在示波器上显示出来的SPWM将一个周期的正弦波用正弦公式计算出相应的占空比,然后通过驱动电路以忣滤波电路生成了正弦波形


//内部与外部晶振时周期数的增减
函数说明: 短暂延时程序
函数说明: PWM初始化
函数说明: 计数器0初始化函数
函數说明: 定时器0中断
 //外部或者内部晶振(12M)

附:pwm数组是用excel表的sin公式算出来的。

我要回帖

更多关于 宏晶stc单片机官网 的文章

 

随机推荐