找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

占空比设置的50%方波出来的不对啊

查看数: 3374 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-15 00:50

正文摘要:

求解惑

回复

ID:207421 发表于 2021-4-15 23:15
其实只要这样就是占空比50%了
while(1)
{
    P1=~P1;
    DELAYUS(100);
}
ID:858964 发表于 2021-4-15 23:03

我在上面的解答,仍有个bug:
void Time1(void) interrupt 3 using 0 //“interrupt”  应改正为:


void Time0void) interrupt 3 using 0 //“interrupt”
{
  WO =~ WO //输出引脚电平取反
  TH0=(65536-50000)/256;  
  TL0=(65536-50000)%256;
}

ID:390416 发表于 2021-4-15 17:59
人人学会单片机,PWM程序 http://www.51hei.com/bbs/dpj-200820-1.html
ID:906008 发表于 2021-4-15 16:36
Kxuan163 发表于 2021-4-15 16:16
我在上面写的 “ T0中断服务函数” 漏了个花括号,应为:

// T0中断服务函数:

好的谢谢
ID:858964 发表于 2021-4-15 16:16
我在上面写的 “ T0中断服务函数” 漏了个花括号,应为:

// T0中断服务函数:
void Time1(void) interrupt 3 using 0 //“interrupt”
{
  WO =~ WO //输出引脚电平取反
  TH0=(65536-50000)/256;  
  TL0=(65536-50000)%256;
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:858964 发表于 2021-4-15 16:12
建议试用用定时器中断方式:

//主函数:
void main(void)
{
   EA=1;                  
   ET0=1;                  
   TMOD=0x01;              //使用定时器T0的模式1
   TH0=(65536-50000)/256;  
   TL0=(65536-50000)%256;
   TR0=1;            
   while(1)  //无限循环等待中断
       ;
}

// T0中断服务函数:
void Time1(void) interrupt 3 using 0 //“interrupt”
  WO =~ WO //输出引脚电平取反
  TH0=(65536-50000)/256;  
  TL0=(65536-50000)%256;
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:827243 发表于 2021-4-15 14:41
本帖最后由 daemondong 于 2021-4-15 14:48 编辑

这里改成

if(dang==1){count1++;if(count1<=2){w0=1;}if(count1>2){w0=0;}if(count1==4){count1=0;}}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:906008 发表于 2021-4-15 14:35
[code]void timer0() interrupt 1{         TH0=(65536-50000)/256;         
        TL0=(65536-50000)%256;                  
if(dang==0){w0=0;}                                  
if(dang==1){count1++;if(count1<=1){w0=1;}if(count1>1){w0=0;}if(count1==4){count1=0;}}  
if(dang==2){w0=1;}         
我是这样写的
ID:844772 发表于 2021-4-15 08:41
没附程序,只能瞎猜,我估计你中断写的问题,中断写的不够简洁导致,你中断用自动重装模式会好很多。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:743654 发表于 2021-4-15 08:36
程序呢?
ID:752974 发表于 2021-4-15 08:36
这种情况就是产生PWM的两个参数:周期和脉宽的参数设置的问题,仔细查一下看看。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

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

Powered by 单片机教程网

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