微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 如何利用单片机产生一个周期为1s脉宽为10us左右的脉冲

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

时间:10-02 整理:3721RD 点击:
大家好:
      最近写一个脉冲的程序,利用单片机产生一个周期为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的脉冲循环部分。这个程序是会乱跑。

这样写不好,可以开一个中断,设置每1us进入一次中断,取一变量cnt_1us进入一次中断加一

用定时器就好做吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top