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

3.8 数模转换器(DAC).ppt

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

实验 : 电压斜坡产生器 (1/16) 综述: 本次实验将构造一个电压斜坡生成器。DAC模块参考电压可从ADC模块获得; DAC模块为12位分辨率、二进制输入数据格式; DAC在Timer_A每毫秒产生一次中断时更新一次输出值; 按键SW1和SW2用于手动修改DAC输出值; 当单片机不执行任何任务时,则进入低功耗模式. 实验 : 电压斜坡产生器 (2/16) A. 资源: DAC12_0 模块采用VREF+作为参考电压。因此在ADC12模式下需要激活这个参考电压; 当Timer_A产生中断时,更新DAC的输出。将Timer_A配置成每毫秒产生一次中断; DAC输出刷新之后,系统回到低功耗模式LPM3; 通过按键SW1和SW2可以手动更改DAC的输出值. 实验 : 电压斜坡产生器 (3/16) B. 软件应用组织: 停止看门狗 配置Timer_A Timer_A产生中断时更新DAC的输出 按键SW1和SW2分别连接到端口P1.0和P1.1 设置端口类型为输入使能端口中断 配置DAC ISR中断源: 按钮SW1--DAC输出增加 按钮SW2--DAC输出减少 按钮键控 斜波产生 实验 : 电压斜坡产生器 (4/16) C. 系统配置: DAC12 配置: DAC12_0输出连接到P6.6; DAC12_0配置成12位分辨率; 当一个二进制格式的DAC12数据写入到DAC12_0DAT寄存器时立即更新输出; 满量程输出必须等于VREF+ 2.5 V 内部参考电压 ; 通过选择中频/电流的输入和输出缓冲区来选择一个时间与电流消耗之间的折中办法; 实验 : 电压斜坡产生器 (6/16) C. 系统配置 (续): Timer_A 配置: 配置Timer_A寄存器每毫秒产生一次中断; 使用ACLK时钟信号作为时钟源; 将Timer_A配置为向上计数模式,一直计数直到TAR值等于TACCR0值. 实验 : 电压斜坡产生器 (7/16) C. 系统配置 (续): I/O 端口配置: 当按下按键SW1或SW2时,端口P1的引脚P1.0和P1.2将产生电平变化,并在低电平到高电平跳变时产生中断. 实验 : 电压斜坡产生器(8/16) D. 操作分析: 使用示波器监听模拟信号: 连接示波器 测量电流: 分配不同值到DAC12AMP0的比特组; 暂停执行应用程序并且直接改变寄存器; 禁用DAC12EC位. 这一位在之后需启用. 请注意一些特殊的情况: DAC12关闭; 高阻抗输出和DAC12关闭; 输出: 0 V. 实验 : 电压斜坡产生器 (9/16) DAC12 配置(寄存器): DAC12_0DAT = 0x00; // DAC_0输出0V DAC12_0CTL0 = DAC12IR | DAC12AMP_5 | DAC12ENC; // P6.6输出 // 1倍输出 // 中速度/电流 ADC12_0CTL0 = REF2_5V | REFON; // 2.5V参考电压 实验 : 电压斜坡产生器 (9/16) DAC12 配置(库函数): DAC12_setData(__MSP430_BASEADDRESS_DAC12_2__, DAC12_SUBMODULE_0, 0x000); // DAC_0输出0V DAC12_init(__MSP430_BASEADDRESS_DAC12_2__, DAC12_SUBMODULE_0, //DAC0 DAC12_OUTPUT_0, // P6.6输出 DAC12_VREF_INT , // 2.5V参考电压 DAC12_VREFx1, // 1倍输出 DAC12_AMP_MEDIN_MEDOUT, // 中速度/电流 DAC12_TRIGGER_ENCBYPASS); DAC12_calibrateOutput(__MSP430_BASEADDRESS_DAC12_2__, DAC12_SUBMODULE_0); // 中速度/电流 实验 : 电压斜坡产生器 (10/16) Timer_A 配置(寄存器): TAR = 0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档