29797|39

52

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机产生正弦波 [复制链接]

使用stc12c5410ad的PWM功能,如何产生1KHz的正弦波?是不是产生频率一定的脉冲信号,通过程序控制脉冲信号的脉宽不同,经过RC滤波器后,就可以产生正弦波信号了?对于脉冲信号的脉宽与正弦波有什么什么关系?有公式吗?正弦波的频率与脉冲信号的频率有什么关系?如果要产生有正负半周的正弦波需要怎么做?新手请高手指点一下思路:$ ?
此帖出自51单片机论坛

最新回复

谢谢哈,我好好研究研究一下     好研究研究     详情 回复 发表于 2021-11-3 17:28
点赞 关注
 

回复
举报

52

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
希望有前辈指点一下思路
此帖出自51单片机论坛
 
 
 

回复

344

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
SPWM是用比较的方式 通过控制占空比来近似描述信号的平均值 也就是说MCU的输出还是方波但每一时刻的平均值是所需信号的幅值 没找到啥好图 这个ppt(百度下的)有图 你看看吧 MCU生成SPWM一般都是计算生成的

SPWM波形.rar

258.78 KB, 下载次数: 1518

此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

4
 

回复 板凳 ch0721 的帖子

谢谢你哈,我下来看看。不懂再问你。
此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复 板凳 ch0721 的帖子

我比较笨,还是没有看懂怎么计算脉冲信号的脉宽。比如一个定时器产生一个0.01ms(100kHz)的脉冲信号,这个频率的脉冲信号的脉宽是可变的,100kHz的脉冲信号与1kHz正弦波的关系,半个周期的正弦波需要50个脉宽变化的100kHz的脉冲信号,这50个脉冲信号的高电平脉宽的多少怎么计算?我查了一些资料,看到有什么查表的,还是没弄清楚:(
此帖出自51单片机论坛
 
 
 

回复

344

帖子

0

TA的资源

纯净的硅(初级)

6
 

回复 5楼 coney 的帖子

那个SPWM原理你看懂了吗 脉宽就是和三角波比较出来的 计算也是用那个算;P
此帖出自51单片机论坛
 
 
 

回复

344

帖子

0

TA的资源

纯净的硅(初级)

7
 
看看吧

SPWM的数学计算.rar

304.71 KB, 下载次数: 677

SPWM控制技术.rar

73.94 KB, 下载次数: 575

三种SPWM算法源码.rar

4.48 KB, 下载次数: 503

此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复 7楼 ch0721 的帖子

我再看看啊,谢谢你哈
此帖出自51单片机论坛
 
 
 

回复

1908

帖子

7

TA的资源

五彩晶圆(高级)

9
 
过来学点东西,呵呵
此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

10
 

回复 6楼 ch0721 的帖子

这个计算,不会是手工画图出来的吧?这样计算误差不是很大吗?你可不可以举个例子啊,就比如正弦波是1kHz,脉冲信号是100kHz,脉冲信号宽度咋个算出来?我看到一个正弦波离散值,是不是一下这个?
tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5

,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5

,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd

,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda

,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99

,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51

,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16

,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15

,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e

,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };
此帖出自51单片机论坛
 
 
 

回复

344

帖子

0

TA的资源

纯净的硅(初级)

11
 

回复 10楼 coney 的帖子

这个是啥 不是DAC用的吧 PWM要用timer 来定时 有一些好一点的单片机则集成了PWM的功能 你要是想自己写定时的话 可以先做一个周期的表 计算完全可以编程实现 设定好步长就是正弦与三角波相减 大于0取高小于零取低
此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

12
 

回复 11楼 ch0721 的帖子

好像是DAC用的,不好意思。stc12c5410ad DIP28的芯片有PWM的管脚(11脚/P3.5),应该有PWM的功能。周期表是什么?你能说具体一点吗?我是刚刚开始学单片机,很多都不懂,麻烦你指点一下,有没有类似用这种方法产生正弦波的程序,不一定是这个芯片的,89C51单片机的也行,如果有,可以给我参考一下。有类似的程序,理解起来比较容易一些。
此帖出自51单片机论坛
 
 
 

回复

344

帖子

0

TA的资源

纯净的硅(初级)

13
 

回复 12楼 coney 的帖子

等我忙完这一段的 帮你写一个 现在要赶个机械图
此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

14
 

回复 13楼 ch0721 的帖子

好的,谢谢你哈,现在在学习单片机,有个程序作参考更好理解。这个程序就是用stc12c5410AD芯片,产生固定100kHz频率,脉宽可变的脉冲信号,用到PWM模块功能,这个信号连接一个RC滤波电路就可以生成1kHz正弦波。太感谢你了
此帖出自51单片机论坛
 
 
 

回复

269

帖子

0

TA的资源

一粒金砂(中级)

15
 
刚做了一个亚音的产生程序,看了网上的资料,大多是用DDS方法,先建一个256点正弦表,根据要求产生的不同频率计算不同的步长,,定时器定时时间固定,根据步长查正弦表,就能产生不同频率。 试验了一下,这样产生的正弦波误差蛮大,最大会达到5HZ误差。
换一种方法,只建一个32点的正弦表,不同的频率步长都是1,但改变定时器定时时间,产生的波形非常精确,误差只有0.1HZ, 而且波形相当稳定。
此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

16
 

回复 15楼 wonderglass 的帖子

这个也是产生正弦波的方法。现在要求固定使用单片机中的PWM模块功能,先产生一个固定频率可调脉冲信号,在经过比较器和滤波器,产生正弦波,没办法,思路已经被老师固定死了,只能这样做:(
此帖出自51单片机论坛
 
 
 

回复

344

帖子

0

TA的资源

纯净的硅(初级)

17
 
 

新建文件夹 (2).rar

604.7 KB, 下载次数: 585

此帖出自51单片机论坛
 
个人签名我们是不为一切驻留的亡魂
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

18
 

回复 17楼 ch0721 的帖子

谢谢你哈,我好好研究研究一下
此帖出自51单片机论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

19
 
谢谢分享!
此帖出自51单片机论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

20
 
学习了~~
不过,呵呵,也是要这阵子忙过去先,收藏记下了,也是一个新的应用方向。
此帖出自51单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表