单片机原理及应用项目化教程(C语言版)项目九AD与DA转换.ppt

单片机原理及应用项目化教程(C语言版)项目九AD与DA转换.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
D/A转换 /* T0中断服务函数,执行按键扫描*/ void InterruptTimer0() interrupt 1 { TH0 = T0RH; //重新加载重载值 TL0 = T0RL; KeyScan(); //按键扫描 } 思考:1、将 AD 采集到的数值显示到数码管上? 2、把金沙滩开发板上的J17排针口的排线取下,所有排针用短路帽短接,把程序下载开发板,扭动旁边的电位器R62,根据所看到的现象解释为什么达不到实验要求;取下短路帽,按原先的排线连接方式,把程序下载到开发板,扭动旁边的电位器R62,根据所看到的现象解释为什么可以达到预先的要求;最后综合两个现象得出一个详细的总结? 项目九 A/D与D/A转换 在实际的测量和控制系统中检测到的常是模拟量,与此对应的电信号是模拟电信号。模拟量要输入到单片机中进行处理,首先要经过模拟量到数字量的转换,单片机才能接收、处理。实现模/数转换的部件称A/D转换器或ADC(Analogto Digital Converter)。实现数/模转就称D/A转换器或DAC (Digital to Analog Converter)。 A/D转换 9.1.1 A/D的主要指标 ①ADC的位数 一个n位的ADC表示这个ADC共有2n个刻度。8位的ADC,输出的是从0~255一共256个数字量,也就是28个数据刻度。 ②基准源 基准源,也叫基准电压,是ADC的一个重要指标,要想把输入ADC的信号测量准确,那么基准源首先要准,基准源的偏差会直接导致转换结果的偏差。 A/D转换 ③分辨率 分辨率是数字量变化一个最小刻度时,模拟信号的变化量,定义为满刻度量程与2n的比值,其中n为ADC的位数。 ④精度 某一数码所对应的实际模拟电压与其理想的电压值之间的误差定义为精度。 ⑤转换速率 转换速率,是指ADC每秒能进行采样转换的最大次数,单位是sps(或s/s、sa/s,即samples per second)。 A/D转换 9.1.2 PCF8591的硬件接口 PCF8591是一个单电源低功耗的8位CMOS数据采集器件,具有4路模拟输入,1路模拟输出和一个串行I2C总线接口用来与单片机通信。3个地址引脚A0、A1、A2用于编程硬件地址,允许最多8个器件连接到I2C总线而不需要额外的片选电路。 A/D转换 Vref基准电压的提供有两种方法。一是采用简易的原则,直接接到VCC上去,但是由于VCC会受到整个线路的用电功耗情况影响,所以只能用在简易的、对精度要求不高的场合。方法二是使用专门的基准电压器件,比如TL431,它可以提供一个精度很高的2.5V的电压基准,这是我们通常采用的方法。 A/D转换 9.1.3 PCF8591的软件编程 PCF8591的通信接口是I2C,那么编程肯定是要符合这个协议的。单片机对PCF8591进行初始化,一共发送三个字节即可。第一个字节,是器件地址字节,其中7位代表地址,1位代表读写方向。地址高4位固定是0b1001,低三位是A2,A1,A0,这三位我们电路上都接了GND,因此也就是0b000,如下图所示。 A/D转换 发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制PCF8591的功能。其中第3位和第7位是固定的0,另外6位各自有各自的作用。 控制字节的第6位是DA使能位,这一位置1表示DA输出引脚使能,会产生模拟电压输出功能。第4位和第5位可以实现把PCF8591的4路模拟输入配置成单端模式和差分模式。 A/D转换 A/D转换 控制字节的第2位是自动增量控制位,自动增量的意思就是,比如我们一共有4个通道,当我们全部使用的时候,读完了通道0,下一次再读,会自动进入通道1进行读取,不需要我们指定下一个通道。 控制字节的第0位和第1位就是通道选择位了,00、01、10、11代表了从0到3的一共4个通道选择。 发送给PCF8591的第三个字节D/A数据寄存器,表示D/A模拟输出的电压值。我们如果仅仅使用A/D功能的话,就可以不发送第三个字节。 A/D转换 9.1.4项目实例 功能要求:将采样到的电压通过8位发光二极管显示,如图8.7所示。(通过调节单片机实验板上面的滑动变阻器来改变采样电压)。 注意事项:a.该器件为I2C接口; b.下图中金沙滩开发板的默认连接方式,参考电压Vref为2.5V,但是AIN0接的VRout电压由0-5V变化,测量AD转换电压当到达2.5V之后就不再增加了,一直都是2.5V。解决方法:使用一根

文档评论(0)

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

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

1亿VIP精品文档

相关文档