永发信息网

关于51单片机测方波信号占空比的问题

答案:2  悬赏:40  手机版
解决时间 2021-02-22 15:18
  • 提问者网友:川水往事
  • 2021-02-22 02:16
模型车的接收机输出的都是PWM信号,我想让单片机分析PWM信号不同的占空比,然后占空比大的触发点亮绿色LED信号,占空比小的触发点亮红色LED的信号程序,单片机可以完成吗?(描述的不好,还请见谅)
最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-02-22 02:43
当然可以,单片机可以实现对方波频率、占空比的检测。做这个东西你得从以下方面入手:
1、首先测出方波的频率(这个跟占空比无关),利用这个计算出周期T;
2、利用一个独立的外部中断,在测量完频率后启动。
(1)先开启中断,并设置为上升边沿触发;
(2)方波从低电平跳变到高电平后,中断触发后,将其设置为下降边沿触发,同时启动定时器;
(3)第二次触发中断后,停止计时,两次中断之间的间隔修正补偿后,就是高电平的持续时间Tu。
占空比可以计算出来,就是q=Tu/T*100%,
然后就显示即可。
全部回答
  • 1楼网友:廢物販賣機
  • 2021-02-22 04:03
我写两个程序,占空比为50%周期为500微妙的程序 p1口输出测的话示波器直接测,干嘛那么复杂。 中断方法: org 0000h ljmp start org 000bh ljmp tlint org 001bh start: mov sp,#30h mov tmod,#01h mov th0,#0ffh mov tl0,#83h setb ea setb et0 setb tr0 sjmp $ tlint: mov th0,#0ffh mov tl0,#83h cpl p1 reti end 查询方法: org 0000h ljmp start org 0100h start: mov sp,#30h mov tmod,#01h setb tr0 loop: setb p1.0 mov th0,#0ffh mov tl0,#83h jnb tf0,$ clr p1.0 clr tf0 mov th0,#0ffh mov tl0,#83h jnb tf0,$ clr p1.0 clr tf0 sjmp loop end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯