有没有人试过UART模拟PWM或者DAC
8052上还有第二路UART通过发送0x00~0xff来调整占空比 还是用IO吧......... 90999 发表于 2012-4-6 04:23 static/image/common/back.gif
还是用IO吧.........
IO要调整占空比还是麻烦了一些 占用的资源也多一些吧 用UART模似 PWM与DAC这个想法好。 本帖最后由 lindabell 于 2012-4-6 08:35 编辑
假如我要100%的占空比,怎么弄呢?要知道串口协议每一帧都是以0打头的。
我认为用串口模拟PWM是行不通的 这个想法不错,但是我感觉范围不能包括0~100%,0和100%还是好弄的直接 I/O输出0 1 就好了 感觉线性应该不会太好 这个精度? 这个也就是个大概,要精确需要反馈。 模拟没什么问题,只不过就是10Bit一组的数据里边一个0,一个1。PWM的频率受到过采样影响不容易高,占空比受到起始和停止位影响范围受限。 8052的串口我记得有同步串行模式的,发什么就串出什么,不会加头加尾的。 想法挺好。不过个人觉得跟IO方式比没什么优势,还不如IO方式灵活 at90s 发表于 2012-4-6 09:57 static/image/common/back.gif
8052的串口我记得有同步串行模式的,发什么就串出什么,不会加头加尾的。
那是串口0,
可以使用第二个串口通信,第一个串口PWM,定时器0用来做时钟,就可以解决问题了 usingavr 发表于 2012-4-6 10:00 static/image/common/back.gif
想法挺好。不过个人觉得跟IO方式比没什么优势,还不如IO方式灵活
绝大多数的51都有UART
我是想通过这样实现一个PWM能节省一些代码长度
同时减少资源的开销
如果采用移位寄存器的模式
用比较简短的代码还能构成16bit 24bit的PWM
发送0x01 和 0x80 有区别么 at90s 发表于 2012-4-6 09:57 static/image/common/back.gif
8052的串口我记得有同步串行模式的,发什么就串出什么,不会加头加尾的。
哦,是吗,没用过 erxun 发表于 2012-4-6 20:48
发送0x01 和 0x80 有区别么
是0X01 0x03 0x07 这样 应该行不通 erxun 发表于 2012-4-6 20:48 static/image/common/back.gif
发送0x01 和 0x80 有区别么
是发送0x01 0x03 0x07 这样
充1和0的个数不一样 占空比就不一样 那也只有2^3=8个阶,也就是3位的PWM吧。
页:
[1]