单片机产品设计与调试——基于STM32F1xx机型和HAL库函数 课件 项目7 利用DAC实现LED亮度控制.pptx

单片机产品设计与调试——基于STM32F1xx机型和HAL库函数 课件 项目7 利用DAC实现LED亮度控制.pptx

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

单片机产品设计与制作

(stm32机型);项目7、利用DAC实现LED亮度控制;总目录;项目总目标;子目录;任务目标:了解STM32F103ZET6的DAC基本特性与原理,能看懂DAC结构框图

;分组讨论自由发言,阐述对模拟量数字量的认识,查阅资料了解STM32的DAC。;3、模拟信号的类型

ADC和DAC设备允许的模拟信号多数为电压、电流、电阻等。

STM32F1xx的ADC是电压输入,允许输入的范围是VREF-?≤?VIN?≤?VREF+。

STM32F1xx的DAC是电压输出,允许输出的范围也是VREF-?≤?VOUT?≤?VREF+。

由于VREF-与VSSA接在一起,VREF-=0V,因此允许的模拟电压输入/输出范围就是0~VREF+。

;4、DAC的位数及其影响

ADC和DAC电路常见有8、12、14、16、24位等。

STM32F1xx的ADC和DAC都是12位的。那么DAC的位数对其性能有什么影响呢?

对于1位的DAC,如果VREF=3.3V,则理想状态下,向DAC写“0”时,引脚上输出0V;向DAC写“1”时,引脚上输出3.3V。

输出电压和数字的关系为:VOUT=D×3.3。

向DAC写入数值每增加或减小1,输出电压跳变3.3V。

对于2位的DAC,可以向DAC写“00”、“01”、“10”、“11”四个二进制数值,对应十进制为“0”、“1”、“2”、“3”。如果VREF=3.3V,则可将其设计为如下特性:

向DAC写“0”,即二进制“00”时,输出电压=0V;

向DAC写“1”,即二进制“01”时,输出电压=1.1V;

向DAC写“2”,即二进制“10”时,输出电压=2.2V;

向DAC写“3”,即二进制“11”时,输出电压=3.3V;

输出电压和数字的关系为:VOUT=D×3.3/3。

向DAC写入数值每增加或减小1,输出电压跳变1.1V。

;4、DAC的位数及其影响

我们将DAC输出电压跳变的最小值称为电压分辨率。电压跳变值越小,DAC的分辨率越高。分辨率越高,DAC的电压控制越精细。显然2位DAC比1位DAC的分辨率更高。

继续增大位数n,会怎样呢?表7.1.1给出了VREF+=3.3V时,n=8、12、16三种情况下的数字量和电压对应关系。

表7.1.1VREF=3.3V时不同位数DAC的数字和电压对应关系;位数;;1、DAC结构框图

STM32F103的DAC结构如图7.1.2所示。

STM32F103DAC内部有两个独立的12位D/A转换器,称为DACx,x=1和2,它们是DAC的核心执行部件,能够将DORx里存储的数字量,转换成0~VREF的模拟电压,并输出到DAC_OUTx引脚。

DAC相关引脚

除??DAC_OUTx(包括DAC_OUT1和DAC_OUT2),图7.1.2中也标出了其它相关引脚。它们的功能及要求如表7.1.2所示。注意DAC_OUT1固定复用PA4,DAC_OUT2则复用PA5。

;DAC相关引脚

除了DAC_OUTx(包括DAC_OUT1和DAC_OUT2),图7.1.2中也标出了其它相关引脚。它们的功能及要求如表7.1.2所示。注意DAC_OUT1固定复用PA4,DAC_OUT2则复用PA5。

;

;

;

;

;

;

;表7.1.3三种数据格式下的DAC计算公式;编程时,如果指定为12位右对齐格式,仍可按照DDHR=VOUT×4095/VREF公式,计算待输出数字量的大小。注意DDHR应小于等于4095。

如果指定为12位左对齐格式,应将数据乘16,才可得到同样的电压输出。即公式变为:DDHR=(VOUT×4095/VREF)×16=VOUT×65520/VREF,注意D应小于等于65520。

如果指定为8位右对齐格式,应将数据除16,才可得到同样的电压输出。即公式变为:D=(VOUT×4095/VREF)/16=VOUT×255/VREF,注意D应小于等于255。

12位右对齐格式下,输出电压的分辨率是VREF/4095。数字D每增加或减小1,输出电压跳变VREF/4095伏特,即一个12位分辨率电压。

;(2)双DAC模式

双DAC模式下,使用DHRD(D:Double)寄存器,存储规则如图7.1.5所示。写一次数据,可以同时影响DOR1和DOR2两个寄存器。

图7.1.5双DAC的数据寄存器和数据对齐格式

10、DAC的上电

上电是DAC工作的前提。编程设置DAC通道x使能,执行后DAC控制寄存器会发出ENx=1(Enable)信号,这将使DAC通道x上电,

编程设置DAC通道x禁止,执行后DAC控制寄存器会发出ENx=0信号,这将使DAC通道x断电并停止工作。

;?;项目总目标;单片机产品设计与制作

(stm32机型);项目7、利用DAC实

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档