有没有人试过UART模拟PWM或者DAC

[复制链接]
3375|12
 楼主| rclong 发表于 2012-4-7 01:37 | 显示全部楼层 |阅读模式
本帖最后由 rclong 于 2012-4-7 01:39 编辑

8052上还有第二路UART
通过发送0x00~0xff来调整占空比
简单RC滤波一下还可以做DAC用
ayb_ice 发表于 2012-4-7 08:21 | 显示全部楼层
可以的,不过级数有限
NE5532 发表于 2012-4-7 08:30 | 显示全部楼层
理论上可以,但是你做不到全0,而且分辨力有限。
yewuyi 发表于 2012-4-7 08:31 | 显示全部楼层
向缓存送数的时候,即使把这个UART的发送中断等级开到最高级,也还是有一些中断响应时间延迟的吧,这个会不会带来PWM精度降低?

MCU自带一级UART发送缓冲还成,但UART数据的发送位和停止位会不会有影响?呵呵,这个没去想。。。
joyme 发表于 2012-4-7 09:47 | 显示全部楼层
把它当IO口不好输出PWM不也可以吗?
NE5532 发表于 2012-4-7 10:26 | 显示全部楼层
把它当IO口不好输出PWM不也可以吗?
joyme 发表于 2012-4-7 09:47


软PWM耗费大量程序时间,楼主是想用“硬件”
liang7143 发表于 2012-4-7 10:50 | 显示全部楼层
简单应用 应该可以
09电气 发表于 2012-4-7 11:01 | 显示全部楼层
感觉用定时器模拟一个PWM不需要花太多资源吧?
chenbb8 发表于 2012-4-7 13:55 | 显示全部楼层
也许是定时器不够用吧
gx_huang 发表于 2012-4-7 14:13 | 显示全部楼层
LZ的细节理解有误,不是0X00-0XFF,而是只有8个等级,也就是一个字节内0和1的数量比例关系。
如果是8个级别输出,软件PWM更简单精确。
chenbb8 发表于 2012-4-7 15:27 | 显示全部楼层
10# gx_huang 哈哈 想下的确是LS说的那样哦,不过也不一定是要发送同样的数据啊,忽略UART发送的间隔的话,发送一个0x01然后31个0x00不就是 1/256了么:lol
elec921 发表于 2012-4-9 08:36 | 显示全部楼层
这也行
g1234567 发表于 2012-4-9 14:10 | 显示全部楼层
呵呵。。。。学习了!
精度要求不高,还真是一种方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:长期研究末世方舟工程及大型人形多用途智能载具

11

主题

575

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部