东北大学嵌入式系统课件part_09.ppt

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

第9章 数/模及模/数转换器接口 扩展I/O电路的功能: 1、速度协调; 2、输出数据锁存; 3、输入数据三态; 4、数据转换: 模拟量→数字量:由A/D转换完成; 数字量→模拟量:由D/A转换完成。 单片机和被控实体间的接口示意图 举例1:温度测控系统 举例2:速度测控系统 举例3:红外线自动门控制系统原理图 红外线传感器集成芯片BISS0001特点 (1)用CMOS工艺,功耗低。 (2)具有独立的高输入阻抗运算放大器,可与多种传感器匹配。 (3)双向鉴幅器可有效抑制干扰信号。 (4)内设延时和封锁定时器,性能稳定,调节范围宽。 (5)内置参考电源。 (6)工作电压范围宽(3V~5V)。 9-1 D/A转换器接口及应用 9-1-1 D/A转换概述 T型电阻网络型D/A转换器: D/A转换器的原理: 把输入数字量中每位都按其权值分别转换成模拟量,并通 过运算放大器求和相加。根据克希荷夫定律,如下关系成立: I0=20 I1=21 I2=22 I3=23 n位数字量与模拟量的关系式: VO =—VREF×(数字码 / 2n) (VREF —— 参考电压) 三、注意区分D/A内部是否带有锁存器: 与P1、P2接口:不需加锁存器,直接接口。 无锁存器 与P0接口:因P0的特殊功能,需加锁存器。 D/A内 如:DAC800、AD7520、AD7521等。 有锁存器:最好与P0直接接口。 如:DAC0832、DAC1230等。 四、性能指标: 1、分辨率(Resolution)是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。 2、建立时间(Establishing Time)是描述D/A转换速度的快慢。 3、转换精度(Conversion Accuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。 4、偏移量误差(Offset Error)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。 5、线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。 主要技术指标: 1、分辨率(Resolution): 对D/A转换器输入量变化敏感程度进行描述, 与输入数字量的位数有关。 若数字量的位数为n,则分辨率为2-n。 数字量位数越多,分辨率就越高。 应用时,应根据分辨率的需要选定转换器的位数。 注:BCD码输出的A/D转换器用位数表示分辨率。 2、建立时间(Establishing Time):(转换速度) 描述D/A转换速度的快慢。 输出形式为电流的转换器比电压的建立时间短。 D/A转换速度远高于A/D转换。 3、转换精度(Conversion Accuracy): 指满量程时DAC的实际模拟输出值和理论值的接近程度。 9-1-2 D/A转换芯片DAC0832 DAC的应用: l??DAC用作单极性电压输出; l? DAC用作双极性电压输出; l??DAC用作控制放大器。 双极性输出电压与输入数字量的关系 双极性DAC的接法 : 双极性DAC的另一种接法: 控制放大器用DAC0832: 二、DAC 0832与单片机的接口: 举例: 例:D/A转换程序,用DAC0832输出0~+5V锯齿波, 电路为直通方式。设VREF=-5V,若DAC0832地址 为00FEH,脉冲周期要求为100ms。 单缓冲方式下的DAC0832 举例: 例:D/A转换程序,用DAC0832输出0~+5V三角波, 电路为单缓冲方式。设VREF=-5V,若DAC0832地 址为00FEH,脉冲周期要求为(100ms)。 C51程序: #includeabsacc.h #includereg51.h #define DAC0832 XBYTE[0x00FE] #define uchar unsigned char #define unit unsigned int void stair(void) { uchar i; while(1) { for(i=0;i=255;i=i++) /*形成锯齿波输出值,最大255*/ {DAC0832=i; /*D/A转换输出*/

文档评论(0)

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

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

1亿VIP精品文档

相关文档