找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2503|回复: 9
打印 上一主题 下一主题
收起左侧

51单片机SPWM输出占空比顺序不对,不知什么原因?

[复制链接]
跳转到指定楼层
楼主
求助,51单片机,SPWM输出占空比顺序不对,不知什么原因?

        使用24.576M晶振!!!
        要求SPWM滤波后,得到50Hz正弦波。。。
        单片机P0.0 输出50Hz交流正半周的SPWM信号。。。
        单片机P0.1 输出50Hz交流负半周的SPWM信号。。。

        输出正半周加负半周时间正好是20mS。50Hz频率没有问题了。。。
        但是SPWM输出占空比顺序不对。
        程序中写的是 %10、%20、%40、%60、%80、%80、%60、%40、%20、%10。。。。。
        示波器显示的是 %10、%10、%20、%40、%60、%80、%80、%60、%40、%20。。。。。

研究了半天,找不出原因来???














源代码文件、HEX程序文件、仿真电路.rar

21.42 KB, 下载次数: 21

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:332444 发表于 2021-2-2 16:28 | 只看该作者
下载文件是坏的
回复

使用道具 举报

板凳
ID:417092 发表于 2021-2-3 01:27 | 只看该作者

没有呀!!!可以仿真的。。。
能不能,详细说一下什么情况
回复

使用道具 举报

地板
ID:568565 发表于 2021-2-3 06:23 来自手机 | 只看该作者
我感觉是你初始化的时候就是 0xff 0x33然后就已经按10%占空比在出了
回复

使用道具 举报

5#
ID:568565 发表于 2021-2-3 06:24 来自手机 | 只看该作者
我们之前调试的时候是用DAC直接打出来看波形是不是正弦
回复

使用道具 举报

6#
ID:332444 发表于 2021-2-3 08:18 | 只看该作者

回复

使用道具 举报

7#
ID:417092 发表于 2021-2-3 14:21 | 只看该作者
歪打正着,解决了问题。

却对定时器的原理更加迷糊了。。。。。。。
只知其然,不知其所以然。

求各位大佬,讲解一下。。。。。

01.JPG (106.83 KB, 下载次数: 43)

01.JPG

02.JPG (100.67 KB, 下载次数: 40)

02.JPG

03.JPG (102.92 KB, 下载次数: 42)

03.JPG

04.JPG (138.38 KB, 下载次数: 36)

04.JPG

3SPWM.rar

21.23 KB, 下载次数: 25

回复

使用道具 举报

8#
ID:571634 发表于 2021-2-4 14:01 | 只看该作者
dr>10的程序会一直执行if里的程序,而dr==10的程序只执行一次if里的程序
回复

使用道具 举报

9#
ID:915211 发表于 2021-5-3 17:34 | 只看该作者
你直接跳过了dr = 0 的情况
回复

使用道具 举报

10#
ID:915211 发表于 2021-5-3 18:32 | 只看该作者
if(!output)
        {
               if(!dr)
                 out2= 1;
               else
                out1=1;
        }
           else
                  if(!dr)
                 out1= 1;
               else
                out2=1;

}
帮你改了一下
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表