想要单片机输出模拟信号,属于数字信号转化为模拟信号,简称数模转换;而单片机内部的ADC模块属于模拟信号转化为数字信号,简称模数转换,比如电压电流采样、温度测量、湿度测量、压力测量等都属于模数转换。

单片机如何实现模拟输出的

由于带DA转换接口的单片机很少,可以使用DA芯片进行外围扩展,单片机只是核心处理器,所有功能并不能做得面面俱到,想要精通掌握单片机,各种外围电路扩展是必不可少的。如下图,使用DA专用芯片DAC0832进行外扩,DAC0832是8位的电流型输出D/A转换芯片,接口简单,较容易控制。

单片机如何实现模拟输出的

D/A接口扩展电路

其中D0~D7为8位数据输入线,与单片机普通IO口相连即可;CS为片选信号,低电平有效,与单片机IO口相连接;ILE为数据锁存控制允许输入线,高电平有效,可直接接5V即可;Vref为基准电压输入,范围-10V~10V;Rfb为反馈信号输入线,内部有相应的反馈电阻;Iout1、Iout2为电流输出端,将电流转化为电压可实现单极性输出及双极型输出。

单极性输出:VO = - VREF ×D/256,输出电压范围:(0 ~ - VREF ×255/256)之间,当VREF = -5V, VOUT =0~5×(255/256)V;当VREF = +5V, VOUT = 0 ~ -5×(255/256)V。上图原理为单极性输出接法。

双极性输出:双极性输出在单极性输出的基础上再加一级运放进行转换,基本原理如下图所示。

单片机如何实现模拟输出的

选择R2=R3=2R1,则输出电压VOUT= 2×VREF×D/256 -VREF= (2D/256-1)VREF,从公式也可以看出,当数据D=0(8个数据输入线全为0)时, VOUT= -VREF;当数据D=128(8个数据输入线为10000000)时, VOUT= 0;当数据D=255(8个数据输入线全为1)时, VOUT= (2×255/256-1)×VREF= (127/128)VREF,所以当数字量输入D在0~255时,输出电压在- VREF ~+ VREF之间变化

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查