如何利用单片机产生一个周期为1s脉宽为10us左右的脉冲

2019-07-15 18:57发布

大家好:
      最近写一个脉冲的程序,利用单片机产生一个周期为1s,脉宽为10us的脉冲信号,按照自己的思路,最多可以做到脉宽是100us,当脉宽小于100us后程序会乱跑;我利用51和msp430写的程序,都有相似的问题:望大家教教小弟。
       while(1)
    {
                   P3OUT |= BIT1;
                   for(i=1;i>0;i--)
                   __delay_cycles(1);
                   P3OUT &=~ BIT1;
                   for(i=1000;i>0;i--)
                   __delay_cycles(1000);
     }
这是430的脉冲循环部分。这个程序是会乱跑。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
STARshc01
1楼-- · 2019-07-16 00:20
这样写不好,可以开一个中断,设置每1us进入一次中断,取一变量cnt_1us进入一次中断加一
lixqiu
2楼-- · 2019-07-16 00:49
用定时器就好做吧

一周热门 更多>