单片机小技巧

[复制链接]
421|5
手机看帖
扫描二维码
随时随地手机跟帖
shaler|  楼主 | 2022-4-15 17:27 | 显示全部楼层 |阅读模式
单片机应用中,常需要通过输出模拟量来对外部进行控制,增加D/A转换芯片不仅需要占用I/O口资源,同时也会使成本增加。通过单片机的定时器中断来用软件的方法产生PWM,并经过滤波与跟随电路产生准确的模拟量输出。
使用了定时器设置成每100us就中断一次。当TL0加到FF就会产生一次中断,并执行中断函数。如果机器使用的时钟是12MHZ,每1us产生一个计数脉冲100us产生一次中断的话就需要给TL0一个9C的值
3684762593a7d1def4.png

未完待续。

使用特权

评论回复
wooda| | 2022-4-15 20:21 | 显示全部楼层
本帖最后由 wooda 于 2022-4-15 20:23 编辑

定时器中断输出会收到程序影响导致准确度下降,直接使用pwm模块输出就行,准确度取决于时钟精度以及pwm计数精度。。另外外部不需要这么复杂,直接阻容滤波就可以了。

使用特权

评论回复
cooldog123pp| | 2022-4-16 16:18 | 显示全部楼层
楼主讲的很详细,非常感谢楼主的讲解,mark一下,收藏学习,受教受教。

使用特权

评论回复
mutable| | 2022-4-16 16:24 | 显示全部楼层
这是仿真软件么

使用特权

评论回复
cjseng| | 2022-4-17 13:44 | 显示全部楼层
唯一的问题是:因为没有反馈,也没有基准,单片机的供电电源需要足够稳定,输出才有足够精度。

使用特权

评论回复
shaler|  楼主 | 2022-4-18 08:25 | 显示全部楼层
用 keil软件与proteus软件的联调  

对着呢   实际应用可以电容过滤 ,反馈要考虑的   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则