网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机产品设计与调试——基于STM32F1xx机型和HAL库函数 课件 任务7.4 STM32单片机软硬件深入(七).pptx

单片机产品设计与调试——基于STM32F1xx机型和HAL库函数 课件 任务7.4 STM32单片机软硬件深入(七).pptx

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

单片机产品设计与制作

(stm32机型);项目7、利用DAC实现LED亮度控制;总目录;项目总目标;子目录;任务目标:进一步理解STM32F1xxDAC设备结构原理

;(1)主程序

第13行利用库函数HAL_DACEx_DualSetValue(DAC操作变量,数据格式,通道1数据,通道2数据)。可将两个通道的数据一次性写入DHRD寄存器。

本程序两个DAC通道都使用软件触发,15和16行利用库函数HAL_DAC_Start(DAC操作变量,通道号)为它们提供触发信号。执行后,DHRD内的数据将分别装载到DOR1和DOR2并进行D/A转换。;(1)DAC程序设计

;如图7.4.1,利用在线调试功能,在主程序的13、15、16行设置断点,运行时观察DAC窗口DHRD和DOR寄存器的变化,体会双DAC和单DAC的不同之处。

想一想如果将DAC设置为无触发,程序该怎么修改?;(1)主程序

可以利用EXTI_9引脚为DAC输入触发信号。

(1)14、16行分别向DHR1和DHR2送DAC_OUT_Value值,并等待外部触发信号。

(2)18、19行查询DOR1和DOR2,如果数值不等于DAC_OUT_Value,说明未收到触发信号,此时应该等待;否则说明DHR数据已被装入DOR,则退出等待,执行下面的20行。

(3)20、21行使DAC_OUT_Value加1,并限制其数值小于4095。

本程序功能是:EXTI_9引脚每来一个触发信号,触发DOR装载和D/A转换,然后输出值+1。输出值加到4095,恢复为0。输出值在0~4095之间不断循环。;(2)DAC程序

;(2)外部中断程序

;(2)程序调试

将程序下载到开发板,运行后,反复给PF9引脚输入高电平以产生上升沿,应该能够测量到PA4和PA5引脚输出电压随高电平触发信号次数的增加而增加。如果效果不明显,可以将主程序的第20行修改为DAC_OUT_Value+=500,这样每触发一次大约有0.4V的电压增长。

也可如图7.4.2所示,利用在线调试功能,在主程序的20行设置断点。利用KEIL提供的GPIOF窗口,用鼠标设置PF9为1和0,以产生触发信号。运行中反复操作PF9,观察DOR的变化,体会EXTI_9触发功能。

;(1)主程序;(2)DAC程序;(2)定时器程序;(4)程序调试

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档