这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 哪里出了问题呢?单片机没有输出pwm波形

共5条 1/1 1 跳转至

哪里出了问题呢?单片机没有输出pwm波形

工程师
2021-07-30 23:09:37     打赏

大家周末好!我想请教一下我程序是哪里有问题,我用仿真和示波器都测不出来正确的波形,求指教!

我的单片机源程序如下:

#include <REGX51.H>
unsigned int condition=80;
//#define pin P1
sbit pin=P1^0;
void main()
{
    TMOD=0x01;
    TL0 = 0xec;                //设置定时初值
        TH0 = 0xFF;
        EA=1;
        ET0=1;                
        TR0 = 1;
}
void Isr01() interrupt 1
{
    static unsigned int cnt;
        TL0 = 0xec;                //设置定时初值
        TH0 = 0xFF;
    cnt++;
    if(cnt>=100)
    {
        cnt=0;
    }
    if(cnt<condition)              
    {
    pin=0;
    }
    else
    {
    pin=1;
    }
        }



关键词: 单片机     PWM    

专家
2021-07-31 00:02:37     打赏
2楼

感谢楼主的分享,很实用了。


院士
2021-07-31 16:42:26     打赏
3楼

代码看着没问题,确认下定时器有没有配对,如果能调试的话,看下有没有进中断就好了


工程师
2021-08-02 22:00:28     打赏
4楼
主函数没有受到while(1);约束跑飞了。
void main()
{
        TMOD=0x01;
        TL0 = 0xec;                //设置定时初值
        TH0 = 0xFF;
        EA=1;
        ET0=1;
        TR0 = 1;
        while(1);
}



工程师
2021-08-02 22:22:03     打赏
5楼

什么型号的MCU啊? 或许我有类似的、已经验证的PWM代码给你参考哦!


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]