• 已解决 38850 个问题
  • 已帮助 5869 位优秀工程师

没有示波器之类的仪器,如何用软件检测单片机输出的PWM波呢?

万里追牛 2021-01-14 浏览量:76
用的单片机是STC12C5A10S2,写了一个程序让它的一个IO口输出PWM波,没有示波器,逻辑分析仪等硬件仪器,那如何看这个PWM波程序的效果呢?
用proteus软件可以吗?还有其他的方法吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:6
  • proteus只能是仿真,也无法测硬件上的输出的啊

    可以用另一个单片机来测,但精度可能不够,而且也要进行调式或是校正才能,理论计算一下还可以测个大约的值。

    最好是有仪器测量。

    或是你先设置成一个与串口波特率一样的频率,用串口测一下,只是想法,应该可行

  • 软件可以用proteus仿真,实物可以用万用表直流电压测量,占空比和电压的关系是成比例的,比如5v供电,占空比50,那么就是2.5v

  • PWM_Initialize()
    {
      PR2 = (_XTAL_FREQ/(PWM_freq*4*TMR2PRESCALE)) - 1; //Setting the PR2 formulae using Datasheet // Makes the PWM work in 5KHZ
        CCP1M3 = 1; CCP1M2 = 1;  //Configure the CCP1 module 
        T2CKPS0 = 1;T2CKPS1 = 0; TMR2ON = 1; //Configure the Timer module
        TRISC2 = 0; // make port pin on C as output
    

    }

    使用mplab


  • 用pic的mcu结合mplab进行采样

  • proteus软件可以支持stc的芯片吗?这个不是很确定。没有逻辑分析仪器和示波器确实没有办法,有两种大概可以确定方法仅供你参考

    1.你先配置一个速度慢的,然后中断中用串口输出,有的串口接收软件可以看到间隔时间的

    2.如果是pwm方波的话,有的万用表也是可以检测到这个频率的

    3.换STC可以支持在线仿真的芯片

    4.速度不快的话定时输出PWM寄存器的值

    最好的办法就是买个逻辑分析仪,价格也不贵


  • proteus只能从程序的层面,看下理论上面的占空比,频率那些,实际上还要考虑到IO本身翻转也是需要时间的

没有示波器之类的仪器,如何用软件检测单片机输出的PWM波呢?