找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机IO模拟PWM输出的问题,求思路

查看数: 2373 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-4-14 15:49

正文摘要:

1.最初的输出波形 请问怎么用IO模拟的方式实现1图到2图的变化???

回复

ID:799053 发表于 2022-8-8 16:33
改占空比和周期就行了,直接改成可调节的 用数字电阻器调节就可以了
ID:82533 发表于 2022-8-6 18:18
yzwzfyz 发表于 2022-4-15 10:31
初始化;
1、P1.0=1(正波),P1.1=0(负波)的初值。
2、给出周期T并假设T=100,给出周期计数器TT,并置数: ...

谢谢,感谢解答,其实改变PWM周期,再调节占空比就能实现。和你说的一样
ID:123289 发表于 2022-4-15 10:31
初始化;
1、P1.0=1(正波),P1.1=0(负波)的初值。
2、给出周期T并假设T=100,给出周期计数器TT,并置数:TT=T=100
3、给出正脉冲宽度:P10W=0.5T=50,给出正脉冲计数器PP10,并置数:PP10=0.5T=50(符合图一)。
4、做个定时器,每次中断时做如下活(中断时间有你自定):
中断服务程序:
2.1、TT-1,如果TT=0,就复位TT=T,并做:P1.0=1(正波),P1.1=0(负波)【复位波形:最好这样做:P1=xxxxxx10,可以同时改变】。
2.2、PP10-1,如果PP10=0,就复位PP10=P10W,并做:P1.0=0(正波),P1.1=1(负波)【反转波形:最好这样做:P1=xxxxxx01,可以同时改变】。
以上处理,图一就有了。特点:周期由T决定,正脉冲宽度由P10W决定。

以下是图二,很简单:改变P10W的值就可以了,试试将P10W从50逐步+1到99。
相信你是有办法了,不再讲了。
ID:419909 发表于 2022-4-15 09:10
提供一个思路。 仅供参考:
先把这组波形量化。再根据每个节点变换电平,
比如,目前把这组波形量化为100,那么每个分隔点具体在什么位置,自己确定后。再变换电平就行。

ID:161164 发表于 2022-4-14 17:44
先把你的代码贴出来才知道怎么改

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表