• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

请问STC89C52 如何产生一个0-100Khz可调的方波

chenbourne 2019-03-21 浏览量:1360
 如何用STC89C52产生一个0-100Khz可调的方波 占空比1-100%可调
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 嗯,这个应该可以这么想,假设我们使用12MHz晶振,由于是6T模式,所以最高可以产生1MHz的输出,我们直接调整置0和置1的数量就行了啊,如果设置1个高电平,99个低电平,那么就是10kHz,占空比1%的方波。

    而你的要求最高100khz,占空比1%,意味着最小的脉冲时长0.1微秒,比你输出的频率要高,恐怕是实现不了啊。。。

    提高晶振频率,假设能提高到120MHz(实际上好像最高是40还是80MHz,我不记得了,反正肯定到不了120),你的要求就做到了

    • 发布于 2019-03-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • STC89C52这个只有使用定时器+IO进行设置。

    假设单片机晶振是12MHZ

    定时器每加一个数是1us,  PWM分辨率为100,得到PWM的周期100us,也就是10KHZ.

    如果你要达到100KZ,那你的精度就很差,只有10%

    建议使用增强型的MCU ,如STC15等或者STM32都可以

    • 发布于2019-03-23
    • 举报
    • 评论 0
    • 1
    • 0

  • 这个芯片应该 是没有PWM的,要使用定时器与IO口组合 成PWM波生成器

    修改定时器的频率,在中断函数中反转IO口的电平生成可调的方波,频率就可以调整定时器的频率了

    • 发布于2019-03-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以在pwm例程上修改,但是频率越高,调节的分辨度越低,100kz只有10档可调
    • 发布于2019-03-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟PWM方波,但是可能达不到100kHZ,毕竟51单片机的性能太弱了
    • 发布于2019-03-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

请问STC89C52 如何产生一个0-100Khz可调的方波