片机AD及DA转换接口课件_第1页
片机AD及DA转换接口课件_第2页
片机AD及DA转换接口课件_第3页
片机AD及DA转换接口课件_第4页
片机AD及DA转换接口课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、片机片机AD及及DA转换接口转换接口1 教学基本要求:教学基本要求: (1 1)、熟悉)、熟悉DAC0832DAC0832的内部结构及工作方式;的内部结构及工作方式; (2 2)、掌握单片机与)、掌握单片机与DAC0832DAC0832的接口原理;的接口原理; (3 3)、熟悉)、熟悉ADC0809ADC0809的内部结构及功能;的内部结构及功能; (4 4)、掌握单片机与)、掌握单片机与ADC0809ADC0809的接口原理;的接口原理; 教学重点:教学重点: (1 1)、单片机与)、单片机与DAC0832DAC0832的接口原理;的接口原理; (2 2)、单片机与)、单片机与ADC0809

2、ADC0809的接口原理;的接口原理; 教学难点:教学难点: (1 1)、单片机与)、单片机与DAC0832DAC0832接口的程序设计;接口的程序设计; (2 2)、单片机与)、单片机与ADC0809ADC0809接口的程序设计;接口的程序设计; 第第1010章章 单片机单片机A/DA/D及及D/AD/A转换器接口转换器接口 片机片机AD及及DA转换接口转换接口2 10.1 单片机测控系统与模拟输入通道单片机测控系统与模拟输入通道 10.1.1 单片机测控系统概述单片机测控系统概述 测控包含测控包含“测测”与与“控控”两个过程。两个过程。 所谓所谓“测测”就是实时采集被控对象的物理参量,诸如

3、温就是实时采集被控对象的物理参量,诸如温 度、压力、流量、速度和转速等。这些参量通常都是模拟度、压力、流量、速度和转速等。这些参量通常都是模拟 量,即连续变化的物理量。量,即连续变化的物理量。 所谓所谓“控控”就是把采集的数据经单片机计算、比较等处就是把采集的数据经单片机计算、比较等处 理后得出结论,以对被控对象实施校正控制。但经单片机理后得出结论,以对被控对象实施校正控制。但经单片机 处理后得到的是数字量结果。处理后得到的是数字量结果。 测控系统离不开模拟量与数字量的相互转换,因此,模测控系统离不开模拟量与数字量的相互转换,因此,模/ 数数(A/D)与数与数/模模(D/A)转换也就成了测控系

4、统的重要内容。转换也就成了测控系统的重要内容。 片机片机AD及及DA转换接口转换接口3 10.1.2 模拟输入通道 模拟输入通道的工作从采集信号开始。由于传感器采模拟输入通道的工作从采集信号开始。由于传感器采 集到的模拟信号幅值通常很小,而且连续变化的信号容易集到的模拟信号幅值通常很小,而且连续变化的信号容易 受到干扰,因此,要对传感器采集到的原始信号进行放大、受到干扰,因此,要对传感器采集到的原始信号进行放大、 采样、保持、滤波等处理后,才能送给采样、保持、滤波等处理后,才能送给A/D转换器。这一系转换器。这一系 列的处理过程构成了模拟输入通道,如下图。列的处理过程构成了模拟输入通道,如下图

5、。 片机片机AD及及DA转换接口转换接口4 1. 传感器传感器 传感器的主要功能是采集信号,也兼有信号转换功能,即把采集到的传感器的主要功能是采集信号,也兼有信号转换功能,即把采集到的 非电信号转换为电信号非电信号转换为电信号(电压或电流电压或电流),以便于后续处理。传感器的种类繁,以便于后续处理。传感器的种类繁 多,常用的传感器有如下几种:多,常用的传感器有如下几种: 温度传感器:温度传感器: 用于将温度转换为电信号。用于将温度转换为电信号。 光电传感器:利用光电效应将光信号转换为电信号。光电传感器:利用光电效应将光信号转换为电信号。 湿度传感器:湿度传感器: 常用的湿度传感器有毛发湿度计、

6、干湿球湿度计、金属氧常用的湿度传感器有毛发湿度计、干湿球湿度计、金属氧 化物湿敏元件等。化物湿敏元件等。 流量传感器:流量传感器: 用于测量液体和气体的流量。常用的流量传感器有速度式用于测量液体和气体的流量。常用的流量传感器有速度式 流量计和容积式流量计等。流量计和容积式流量计等。 压力传感器:压力传感器: 用于大气压力用于大气压力(气压气压)测量和容器壁压力测量等。测量和容器壁压力测量等。 机械量传感器:机械量传感器: 常用的机械量有拉力、压力、位移、速度、加速度、扭常用的机械量有拉力、压力、位移、速度、加速度、扭 矩及荷重等。常见的机械量传感器有电阻应变片、力传感器、荷重传感器、矩及荷重等

7、。常见的机械量传感器有电阻应变片、力传感器、荷重传感器、 位移传感器和转速传感器等。位移传感器和转速传感器等。 成分分析传感器:成分分析传感器: 用于对混合气体或混合物的成分进行自动分析。用于对混合气体或混合物的成分进行自动分析。 pH值传感器:值传感器: 用于测量水溶液的酸碱度。用于测量水溶液的酸碱度。 片机片机AD及及DA转换接口转换接口5 2. 放大器放大器 传感器得到的电压或电流信号往往幅度较小,难以直传感器得到的电压或电流信号往往幅度较小,难以直 接进行接进行A/D转换,需要使用放大器对模拟信号进行放大处转换,需要使用放大器对模拟信号进行放大处 理。理。 放大器的种类很多,但在模拟输

8、入通道中使用的是一放大器的种类很多,但在模拟输入通道中使用的是一 种具有高放大倍数并带深度负反馈的直接耦合放大器,由种具有高放大倍数并带深度负反馈的直接耦合放大器,由 于它可以对输入信号进行多种数学运算于它可以对输入信号进行多种数学运算(例如比例、加、例如比例、加、 减、积分和微分等减、积分和微分等),所以称为运算放大器。运算放大器,所以称为运算放大器。运算放大器 具有输入阻抗高,增益大,可靠性高,价格低和使用方便具有输入阻抗高,增益大,可靠性高,价格低和使用方便 等特点。现在已有各种专用或通用的运算放大器可供选择。等特点。现在已有各种专用或通用的运算放大器可供选择。 片机片机AD及及DA转换

9、接口转换接口6 3. 采样采样/保持电路保持电路 采样是为了跟踪输入信号的变化,其实质是将一个连续变采样是为了跟踪输入信号的变化,其实质是将一个连续变 化的模拟信号转换为时间上离散的采样信号,采样频率要远高化的模拟信号转换为时间上离散的采样信号,采样频率要远高 于模拟信号中的最高频率成分于模拟信号中的最高频率成分(一般为一般为2.5倍倍)。 保持则是为了把采样信号保持一段时间,因为其后的保持则是为了把采样信号保持一段时间,因为其后的A/D 转换需要有一个时间过程。在保持期间要维持信号的稳定,尽转换需要有一个时间过程。在保持期间要维持信号的稳定,尽 可能保持信号不变。可能保持信号不变。 在模拟输

10、入通道中,采样电路和保持电路是合在一起的,在模拟输入通道中,采样电路和保持电路是合在一起的, 称为采样称为采样/保持电路。如下图所示。保持电路。如下图所示。 片机片机AD及及DA转换接口转换接口7 4. 滤波器滤波器 滤波可分为模拟滤波和数字滤波两种。滤波可分为模拟滤波和数字滤波两种。 模拟滤波由电子元器件搭建的滤波电路完成,模拟滤波模拟滤波由电子元器件搭建的滤波电路完成,模拟滤波 又可分为无源和有源两种。无源滤波是使用无源器件又可分为无源和有源两种。无源滤波是使用无源器件(电感、电感、 电容和电阻电容和电阻)构成的滤波电路。有源滤波器则是用放大器和电构成的滤波电路。有源滤波器则是用放大器和电

11、 容、电阻构成的滤波电路。容、电阻构成的滤波电路。 数字滤波,就是通过程序对采样信号进行平滑加工,以数字滤波,就是通过程序对采样信号进行平滑加工,以 提高其有用信号,消除或抑制干扰信号。有多种数字滤波程提高其有用信号,消除或抑制干扰信号。有多种数字滤波程 序,例如,程序判断滤波程序、中值滤波程序、算术平均滤序,例如,程序判断滤波程序、中值滤波程序、算术平均滤 波程序、加权平均滤波程序、一阶滞后滤波程序以及复合滤波程序、加权平均滤波程序、一阶滞后滤波程序以及复合滤 波程序等。波程序等。 与模拟滤波相比,数字滤波具有众多优点,所以在现代与模拟滤波相比,数字滤波具有众多优点,所以在现代 测控系统中广

12、泛使用数字滤波。数字滤波不但不需要硬件设测控系统中广泛使用数字滤波。数字滤波不但不需要硬件设 备,而且使用也很方便,只需在程序进入数据处理或控制算备,而且使用也很方便,只需在程序进入数据处理或控制算 法前,附加一段滤波程序即可。法前,附加一段滤波程序即可。 片机片机AD及及DA转换接口转换接口8 A/D转换器:实现模拟量转换器:实现模拟量数字量的转换。数字量的转换。 1. 按原理划分的芯片类型按原理划分的芯片类型 积分型积分型A/D转换器。也称双斜率或多斜率转换器。也称双斜率或多斜率A/D转换器。转换器。 应用最为广泛,具有精度高、抗干扰能力强等优点。应用最为广泛,具有精度高、抗干扰能力强等优

13、点。 逐次逼近型逐次逼近型A/D转换器。原理简单,便于实现,不存转换器。原理简单,便于实现,不存 在时间延迟问题。在时间延迟问题。 闪烁型闪烁型A/D转换器。最大特点是速度快,但功耗大且转换器。最大特点是速度快,但功耗大且 电路复杂,所以芯片尺寸也比较大。电路复杂,所以芯片尺寸也比较大。 型型A/D转换器。又称为过采样转换器。又称为过采样A/D转换器。虽然出转换器。虽然出 现得较晚,但却具有分辨率高,价格便宜以及抗干扰现得较晚,但却具有分辨率高,价格便宜以及抗干扰 能力强等优点。能力强等优点。 10.2 A/D 转换器转换器 片机片机AD及及DA转换接口转换接口9 2. 输入电压信号形式输入电

14、压信号形式 单极性电压信号,各种单极性电压信号,各种A/D转换芯片都具有这种输入转换芯片都具有这种输入 形式。一般可允许电压变化范围是形式。一般可允许电压变化范围是0+5 V、0+10 V 和和0+20 V等。等。 双极形式的电压信号,可正可负,虽然还是通过一条双极形式的电压信号,可正可负,虽然还是通过一条 引线输入,但芯片上需要有一对极性相反的工作电源引线输入,但芯片上需要有一对极性相反的工作电源 与之配合。与之配合。 差分信号是不共地的电压信号,两个极性的差分信号差分信号是不共地的电压信号,两个极性的差分信号 需要两条信号线输入,在芯片上表示为需要两条信号线输入,在芯片上表示为VIN+和和

15、VIN-。 差分电压信号可以从非差分电压信号可以从非0 V开始,其变化范围可以是开始,其变化范围可以是 2 V、4 V、5 V和和10 V等等。 片机片机AD及及DA转换接口转换接口10 3. 输出二进制代码形式输出二进制代码形式 二进制码二进制码A/D转换芯片输出的是二进制代码,其位数可分为转换芯片输出的是二进制代码,其位数可分为 8位、位、10位、位、12位、位、14位、位、16位、位、20位和位和24位等。位等。 BCD码码A/D转换芯片输出的是多位转换芯片输出的是多位BCD码,这类转换芯片的码,这类转换芯片的 典型应用是在数字电压表中,输出的典型应用是在数字电压表中,输出的BCD码可直

16、接送码可直接送LED或或 LCD进行显示。常见的进行显示。常见的BCD码码A/D转换芯片的位数有转换芯片的位数有3位半、位半、 4位半和位半和5位半等。位半等。 4. A/D转换器分辨率转换器分辨率 A/D转换器,被转换量是电压,所以分辨率是对输入电转换器,被转换量是电压,所以分辨率是对输入电 压信号变化的分辨能力,压信号变化的分辨能力, A/D转换器位数越多,分辨率的转换器位数越多,分辨率的 值越小,分辨能力就越强,亦即转换器对输入量变化的敏值越小,分辨能力就越强,亦即转换器对输入量变化的敏 感程度也就越高。所以选择感程度也就越高。所以选择A/D转换器时,要把位数放在重转换器时,要把位数放在

17、重 要的位置。要的位置。 片机片机AD及及DA转换接口转换接口11 5. A/D转换器的控制信号转换器的控制信号 A/D转换芯片中有一些控制信号,包括时钟信号、转换转换芯片中有一些控制信号,包括时钟信号、转换 启动信号和转换结束信号等,接口连接时要对这些信号进启动信号和转换结束信号等,接口连接时要对这些信号进 行处理。行处理。 (1)时钟信号)时钟信号 时钟信号时钟信号A/D转换需要时钟信号的配合,有些转换需要时钟信号的配合,有些A/D转换转换 芯片芯片(例如例如AD571等等)内部有时钟电路。另外一些内部有时钟电路。另外一些A/D转换芯转换芯 片片(例如例如ADC0808/0809等等)内部

18、没有时钟电路,所需时钟信内部没有时钟电路,所需时钟信 号由外界提供。号由外界提供。 (2)转换启动信号)转换启动信号 转换启动信号转换启动信号应由转换启动信号转换启动信号应由CPU提供,不同型号的提供,不同型号的 A/D转换芯片对转换启动信号的要求不尽相同。有的要求脉转换芯片对转换启动信号的要求不尽相同。有的要求脉 冲信号启动,例如冲信号启动,例如ADC0804、ADC0809等芯片,而有的芯片等芯片,而有的芯片 则要求电平信号启动,例如则要求电平信号启动,例如AD570、AD571和和AD574等等 。 片机片机AD及及DA转换接口转换接口12 6. 转换结束与数据读取转换结束与数据读取 A

19、/D转换后得到的数字量数据应及时传送给单片机进转换后得到的数字量数据应及时传送给单片机进 行处理,在数据转换完成后,进行读取。行处理,在数据转换完成后,进行读取。 (1)定时等待方式)定时等待方式 对于一个对于一个A/D转换芯片来说,转换时间作为一项技术指转换芯片来说,转换时间作为一项技术指 标是已知且固定的,可用延时的方法等待转换结束,此即标是已知且固定的,可用延时的方法等待转换结束,此即 定时等待方式。定时等待方式。 (2)查询方式)查询方式 A/D转换芯片都提供表明转换完成的状态信号,可以用转换芯片都提供表明转换完成的状态信号,可以用 查询方式,通过测试状态就可以知道转换是否完成。查询方

20、式,通过测试状态就可以知道转换是否完成。 (3)中断方式)中断方式 表明转换是否完成的状态信号表明转换是否完成的状态信号(ADC0809为为EOC)都可作为都可作为 中断请求信号使用,从而可采用中断方式进行转换数据的中断请求信号使用,从而可采用中断方式进行转换数据的 传送。传送。 片机片机AD及及DA转换接口转换接口13 10.2.1 810.2.1 8位位A/DA/D转换器芯片与转换器芯片与80C5180C51接口接口 ADC0809采用逐次逼近式采用逐次逼近式A/D转换原理,可实现转换原理,可实现8路路 模拟信号的分时采集,片内有模拟信号的分时采集,片内有8路模拟选通开关,以及相路模拟选通

21、开关,以及相 应的通道地址锁存与译码电路,转换时间为应的通道地址锁存与译码电路,转换时间为100 s左右。左右。 ADC0809的内部逻辑结构如下图所示。的内部逻辑结构如下图所示。 片机片机AD及及DA转换接口转换接口14 图中多路开关可选通图中多路开关可选通8个模拟通道,允许个模拟通道,允许8路模拟量分时路模拟量分时 输入,共用一个输入,共用一个A/D转换芯片进行转换。地址锁存与译码电转换芯片进行转换。地址锁存与译码电 路完成对路完成对A、B、C 3个地址位进行锁存和译码,其译码输出个地址位进行锁存和译码,其译码输出 用于通道选择。用于通道选择。8位位A/D转换器是逐次逼近式。输出锁存器转换

22、器是逐次逼近式。输出锁存器 用于存放和输出转换得到的数字量。用于存放和输出转换得到的数字量。 片机片机AD及及DA转换接口转换接口15 2 2、信号引脚、信号引脚 ADC 0809ADC 0809转换器芯片为转换器芯片为2828引脚,双列直插式(引脚,双列直插式(DIPDIP)封装。)封装。 D0 ADC0809 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 28 D2 Vref(-) D4 D5 D6 D7 ALE ADDC ADDB ADDA IN0 IN1 IN2IN3 IN4 IN5 IN6

23、 IN7 START EOC D3 OE CLOCK VCC Vref(+) GND D1 片机片机AD及及DA转换接口转换接口16 (1 1)、)、IN7IN7IN0IN0:模拟量输入通道;:模拟量输入通道; ADC0809ADC0809对输入模拟量的要求主要有:信号单极性,电压范围对输入模拟量的要求主要有:信号单极性,电压范围 0 05 V5 V,若信号过小还需进行放大。另外,在,若信号过小还需进行放大。另外,在A/DA/D转换过程中,转换过程中, 模拟量输入的值不应变化太快,因此,对变化速度快的模拟量,模拟量输入的值不应变化太快,因此,对变化速度快的模拟量, 在输入前应增加采样保持电路。

24、在输入前应增加采样保持电路。 (2 2)、)、A A、B B、C C:地址线;:地址线; A A为低位地址,为低位地址,C C为高位地址,用于对模拟通道进行选择;为高位地址,用于对模拟通道进行选择; C B A 选择的通道选择的通道 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 片机片机AD及及DA转换接口转换接口17 (3 3)、)、ALEALE:地址锁存允许信号;:地址锁存允许信号; 在对应在对应ALEALE上跳沿,上跳沿,A A、B B、C C地址状态送入地址锁存器中;地址状

25、态送入地址锁存器中; (4 4)、)、STARTSTART:转换启动信号;:转换启动信号; STARTSTART上跳沿时,所有内部寄存器清上跳沿时,所有内部寄存器清0 0;STARTSTART下跳沿时,开下跳沿时,开 始进行始进行A/DA/D转换;在转换;在A/DA/D转换期间,转换期间,STARTSTART应保持低电平;应保持低电平; (5 5)、)、D7D7D0D0:数据输出线;:数据输出线; (6 6)、)、OEOE:输出允许信号;:输出允许信号; 用于控制三态输出锁存器向单片机输出转换得到的数据。用于控制三态输出锁存器向单片机输出转换得到的数据。 OE=0OE=0,输出数据线呈高电阻;

26、,输出数据线呈高电阻;OE=1OE=1,输出转换得到的数据;,输出转换得到的数据; (7 7)、)、CLKCLK:时钟信号,通常使用频率为:时钟信号,通常使用频率为500kHz500kHz的时钟信号;的时钟信号; (8 8)、)、EOCEOC:转换结束状态信号。:转换结束状态信号。 EOC=0EOC=0,正在进行转换;,正在进行转换;EOC=1EOC=1,转换结束。该状态信号既可,转换结束。该状态信号既可 作为查询的状态标志,又可以作为中断请求信号使用;作为查询的状态标志,又可以作为中断请求信号使用; 片机片机AD及及DA转换接口转换接口18 (9 9)、)、VCCVCC:+5 V+5 V电源

27、;电源; (1010)、)、VrefVref:参考电源。:参考电源。 参考电压用来与输入的模拟信号进行比较,作为逐次逼近的参考电压用来与输入的模拟信号进行比较,作为逐次逼近的 基准。其典型值为基准。其典型值为+5 V+5 V(Vref (+) =+5 VVref (+) =+5 V,Vref(-) =0 VVref(-) =0 V) 。 片机片机AD及及DA转换接口转换接口19 3 3、MCS-51MCS-51单片机与单片机与ADC 0809ADC 0809接口接口 8路模拟通道选择信号路模拟通道选择信号A、B、C分别接最低分别接最低3位地址位地址A0、A1、 A2(即(即P0.0、P0.1、

28、P0.2),而地址锁存允许信号),而地址锁存允许信号ALE由由P2.0 控制,则控制,则8路模拟通道的地址为路模拟通道的地址为FEF8HFEFFH 。 片机片机AD及及DA转换接口转换接口20 4 4、应用举例、应用举例 设计一个设计一个8 8路模拟量输入的巡回检测系统,采样数据依次存放路模拟量输入的巡回检测系统,采样数据依次存放 在片外在片外RAM 0A0HRAM 0A0H0A7H0A7H单元中,单元中,ADC 0809ADC 0809的的8 8路通道路通道IN0IN0IN7IN7的的 地址分别为地址分别为FEF8HFEF8HFEFFHFEFFH,其数据采样的初始化程序和中断服务,其数据采样

29、的初始化程序和中断服务 程序如下:程序如下: 设计思路:设计思路: 执行一条执行一条“MOVX DPTR,A”指令,产生指令,产生WR信号,信号, 使使ALE和和START有效,就可以启动一次有效,就可以启动一次A/D转换。但一转换。但一 次启动只能进行一个通道的转换,次启动只能进行一个通道的转换,8个通道的个通道的A/D转换需转换需 按通道顺序逐个进行。为此,在程序中应当有改变通道按通道顺序逐个进行。为此,在程序中应当有改变通道 号的指令,并且每改变一次就执行一次启动号的指令,并且每改变一次就执行一次启动A/D转换指转换指 令。令。 片机片机AD及及DA转换接口转换接口21 初始化程序:初始

30、化程序: ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ORG 0013H ORG 0013H LJMP ADCLJMP ADC ORG 0100HORG 0100H MAIN:MOV R0, #A0H ; MAIN:MOV R0, #A0H ;数据存储区首址数据存储区首址 MOV R2, #08H ;MOV R2, #08H ;通道计数通道计数 SETB IT1 ;SETB IT1 ;边沿触发方式边沿触发方式, ,下降沿下降沿 SETB EA ;SETB EA ;中断允许中断允许 SETB EX1 ;SETB EX1 ;外部中断外部中断1 1允许允许 MOV

31、DPTR, #0FEF8H ;MOV DPTR, #0FEF8H ;通道首地址通道首地址 LOOPLOOP: MOVX DPTRMOVX DPTR,A ;A ;启动启动A/DA/D转换转换 LCALL DELY1MSLCALL DELY1MS DJNZ R2 DJNZ R2, LOOPLOOP LJMP MAINLJMP MAIN 片机片机AD及及DA转换接口转换接口22 中断服务程序:中断服务程序: ORG 0500H ADC:MOVX A, DPTR;读;读A/D转换结果转换结果 MOVX R0, A ;存数;存数 INC DPTR ;更新通道;更新通道 INC R0 ;更新暂存单元;更新

32、暂存单元 RETI ;返回;返回 片机片机AD及及DA转换接口转换接口23 # include # include # define uchar unsigned char # define IN0 XBYTE 0 x7ff8 /* 设置设置AD0809的通道的通道0地址地址 */ uchar k; uchar xdata *ad_adr; uchar idata ad10; void main() uchar i; while(1) IT1=1; EA=1; EX1=1; ad_adr= k=0; for ( i=0 ; i8 ;i+ ) /* 处理处理8通道通道 */ *ad_adr=0

33、; /* 启动转换启动转换 */ daly1ms(); 片机片机AD及及DA转换接口转换接口24 void INTT1( ) interrupt 2void INTT1( ) interrupt 2 adk= adk= * * ad_adr ; ad_adr ; ad_adr + ; /ad_adr + ; /* * 下一通道下一通道 * */ / k +;k +; 片机片机AD及及DA转换接口转换接口25 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0, #0A0H; MOV R2, #08H; MOV DPTR, #0FEF8H; LOOP: MOVX

34、 DPTR,A ; 启动转换启动转换 LOOPP: JB P3.3, LOOPP 查询转换是否结束查询转换是否结束 MOVX A, DPTR;读;读A/D转换结果转换结果 MOVX R0, A ;存数;存数 INC DPTR ;更新通道;更新通道 INC R0 ;更新暂存单元;更新暂存单元 DJNZ R2, LOOP LJMP MAIN END 用查询法实现:用查询法实现: 片机片机AD及及DA转换接口转换接口26 采用查询方式,采集结果放在数组采用查询方式,采集结果放在数组ad中:中: # include # include # define uchar unsigned char # de

35、fine IN0 XBYTE 0 x7ff8 /* 设置设置AD0809的通道的通道0地址地址 */ sbit ad_busy =P33 ; /* 即即EOC状态状态 */ void ad0809 ( uchar idata *x ) /* 采样结果放指针中的采样结果放指针中的A/D采集函数采集函数 */ uchar i ; uchar xdata *ad_adr ; ad_adr= char code dis_code=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff; char find_code=10,10

36、,10,10; void DelayX1ms(uint count) uint j; while(count-!=0) for(j=0;j80;j+); 片机片机AD及及DA转换接口转换接口34 void main() uint data1; ADC0809=0; while(1) do display(); while(EOC); ADC0809=0; data1=ADC0809; find_code0=data1/51; /个位个位 find_code1=data1%51*10/51; /小数点后第一位小数点后第一位 find_code2=data1%51*10%51*10/51; /小数

37、点后两位小数点后两位 display(); void display() char k; P2=0 x10; k=find_code2; P1=dis_codek; DelayX1ms(1); P2=0 x08; k=find_code1; P1=dis_codek; DelayX1ms(1); P2=0 x04; k=find_code0; P1=dis_codek; DelayX1ms(1); 片机片机AD及及DA转换接口转换接口35 10.3 D/A10.3 D/A转换器接口转换器接口 10.3.1 D/A10.3.1 D/A转换芯片转换芯片 1 1、概述、概述 D/AD/A转换器输入的

38、是数字量,经转换后输出的是模拟量。转换器输入的是数字量,经转换后输出的是模拟量。 D/AD/A转换器按输出形式可分为:转换器按输出形式可分为: (1 1)、电压输出形式)、电压输出形式 输入:二进制数或输入:二进制数或BCDBCD码数码数 输出:电压输出:电压 (2 2)、电流输出形式)、电流输出形式 输入:二进制数或输入:二进制数或BCDBCD码数码数 输出:电流输出:电流 片机片机AD及及DA转换接口转换接口36 D/A D/A转换器按其内部是否含有锁存器可分为:转换器按其内部是否含有锁存器可分为: (1 1)、内部无)、内部无数据锁存器数据锁存器的的D/AD/A转换器转换器 (2 2)、

39、内部有)、内部有数据锁存器数据锁存器的的D/AD/A转换器转换器 2 2、技术指标、技术指标 D/AD/A转换器的技术性能指标:转换器的技术性能指标: 绝对精度、相对精度、线性度、输出电压范围、温度系数、输绝对精度、相对精度、线性度、输出电压范围、温度系数、输 入数字代码种类(二进制或入数字代码种类(二进制或BCDBCD码)等。码)等。 (1 1)、)、分辩率分辩率 分辨率是分辨率是D/AD/A转换器对输入量变化敏感程度的描述,与输入数转换器对输入量变化敏感程度的描述,与输入数 字量的位数有关。字量的位数有关。 如果数字量的位数为如果数字量的位数为n n,则,则D/AD/A转换器的分辨率为转换

40、器的分辨率为2 2-n -n。这就意味 。这就意味 着数着数/ /模转换器能对满刻度的模转换器能对满刻度的2 2-n -n输入量作出反应。 输入量作出反应。 片机片机AD及及DA转换接口转换接口37 使用时,应根据分辨率的需要来选定转换器的位数。使用时,应根据分辨率的需要来选定转换器的位数。DACDAC常可常可 分为分为8 8位、位、1010位、位、1212位三种。位三种。 (2 2)、)、建立时间建立时间 建立时间是描述建立时间是描述D/AD/A转换速度快慢的一个参数,指从输入数字转换速度快慢的一个参数,指从输入数字 量变化到输出达到终值误差量变化到输出达到终值误差(1/21/2)LSBLS

41、B(最低有效位)时所需(最低有效位)时所需 的时间。通常以建立时间来表示转换速度。的时间。通常以建立时间来表示转换速度。 片机片机AD及及DA转换接口转换接口38 3 3、典型、典型D/AD/A转换器芯片转换器芯片DAC 0832DAC 0832 DAC0832 DAC0832是一个是一个8 8位位D/AD/A转换器。单电源供电,从转换器。单电源供电,从+5 V+5 V+15 V+15 V均可均可 正常工作。基准电压的范围为正常工作。基准电压的范围为10 V10 V;电流建立时间为;电流建立时间为1 s1 s; CMOSCMOS工艺,低功耗工艺,低功耗20 mW20 mW。 DAC0832DA

42、C0832转换器芯片为转换器芯片为2020引脚,双列直插式(引脚,双列直插式(DIPDIP)封装。)封装。 DAC 0832 1 2 3 4 5 6 7 8 9 10 CSVCC ILE WR2 XFER DI4 DI5 DI6 DI7 Iout2 Iout1 WR1 AGND DI3 DI2 DI1 DI0 Vref Rfb DGND11 12 13 14 15 16 17 18 19 20 Iout2 Iout1 Rfb 电平输出 片机片机AD及及DA转换接口转换接口39 DI7DI0: 转换数据输入转换数据输入 。 CS: 片选信号片选信号(输入输入),低电平有效。,低电平有效。 ILE

43、: 数据锁存允许信号数据锁存允许信号(输入),高电平有效。输入),高电平有效。 WR1: 第第1写信号写信号(输入),低电平有效。输入),低电平有效。 XFER: 数据传送控制信号数据传送控制信号(输入),低电平有效。输入),低电平有效。 WR2: 第第2写信号写信号(输入输入),低电平有效。,低电平有效。 IOUT1: 电流输出电流输出1。当数据为全。当数据为全1时,输出电流最大;为全时,输出电流最大;为全0时,时, 输出电流最小。输出电流最小。 IOUT2: 电流输出电流输出2。 RFB: 反馈电阻端,即运算放大器的反馈电阻端,电阻反馈电阻端,即运算放大器的反馈电阻端,电阻(15 k)已已

44、 固化在芯片中。固化在芯片中。DAC0832是电流输出型是电流输出型D/A转换器,为得到电压转换器,为得到电压 的转换输出,使用时需在两个电流输出端接运算放大器,的转换输出,使用时需在两个电流输出端接运算放大器,RFB即即 为运算放大器的反馈电阻。为运算放大器的反馈电阻。 VREF: 基准电压,是外加高精度电压源,与芯片内的电阻网络基准电压,是外加高精度电压源,与芯片内的电阻网络 相连接,该电压可正可负,范围为相连接,该电压可正可负,范围为-10+10 V。基准电压决定。基准电压决定D/A 转换器的输出电压范围,例如,若转换器的输出电压范围,例如,若VREF接接+10 V,则输出电压范,则输出

45、电压范 围是围是0-10 V。 DGND: 数字地数字地 。 AGND: 模拟地模拟地 片机片机AD及及DA转换接口转换接口40 DAC0832的内部结构框图如下图所示。输入通道由输的内部结构框图如下图所示。输入通道由输 入寄存器和入寄存器和DAC寄存器构成两级数据输入锁存,由寄存器构成两级数据输入锁存,由3个个“与与” 门电路组成控制逻辑,产生门电路组成控制逻辑,产生LE1和和LE2信号,分别对两个输信号,分别对两个输 入寄存器进行控制。入寄存器进行控制。 片机片机AD及及DA转换接口转换接口41 10.3.2 DAC0832单缓冲连接方式 所谓单缓冲连接方式,就是使所谓单缓冲连接方式,就是

46、使DAC0832DAC0832的两个输入的两个输入 寄存器中有一个寄存器中有一个( (多为多为DACDAC寄存器寄存器) )处于直通状态,另一个处于直通状态,另一个 处于受控的锁存状态。在实际应用中,如果只有一路模处于受控的锁存状态。在实际应用中,如果只有一路模 拟量输出,或虽是多路模拟量输出但并不要求输出同步拟量输出,或虽是多路模拟量输出但并不要求输出同步 的情况下,就应当采用单缓冲方式。其连接如下图所示。的情况下,就应当采用单缓冲方式。其连接如下图所示。 片机片机AD及及DA转换接口转换接口42 【例例10.2】锯齿波的生成。在一些控制应用中,需要有锯齿波的生成。在一些控制应用中,需要有

47、一个线性增长的电压一个线性增长的电压(锯齿波锯齿波)来控制检测过程,移动来控制检测过程,移动 记录笔或移动电子束等。对此可通过在记录笔或移动电子束等。对此可通过在DAC0832的输的输 出端接运算放大器,由运算放大器产生锯齿波来实现,出端接运算放大器,由运算放大器产生锯齿波来实现, 其电路连接如下图所示。其电路连接如下图所示。 片机片机AD及及DA转换接口转换接口43 ORG 0000H LJMP DASAW ORG 0200H DASAW:MOV DPTR, #5000H ;输入寄存器地址输入寄存器地址 MOV R0, #00H;转换初值转换初值 WW: MOV A, R0 MOVX DPT

48、R, A ;D/A转换转换 INC R0;转换值增量转换值增量 NOP ;延时延时 NOP NOP AJMP WW END 程序清单(假定输入寄存器地址为5000H ) 片机片机AD及及DA转换接口转换接口44 # include # include # define DA0832 XBYTE 0 x7fff # define uchar unsigned char # define uint unsigned int void main (void ) uchar i ; while ( 1 ) for ( i=0 ; i=255 ; i=i+ ) /* 形成锯齿波输出值,最大值为形成锯齿波

49、输出值,最大值为255 */ DA0832 = i ; /* D/A转换输出转换输出 */ 片机片机AD及及DA转换接口转换接口45 设计一个简单的单片机应用系统,利用设计一个简单的单片机应用系统,利用DAC0832输出连续输出连续 周期性信号周期性信号 。按下。按下K0,产生方波;按下,产生方波;按下K1,产生锯齿波;按,产生锯齿波;按 下下K2,产生三角波;按下,产生三角波;按下K3,产生正弦波。,产生正弦波。 MAIN: MOV DPTR, #7FFFH LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.2, KEYC

50、C JB ACC.3, KEYDD LJMP MAIN 片机片机AD及及DA转换接口转换接口46 KEYAA: MOV R0, #00H WW1: MOV A, #00H MOVX DPTR, A INC R0 CJNE R0, #8FH, WW1 WW2: MOV A, #0FFH MOVX DPTR, A DJNZ R0, WW2 LCALL KEY MOV A, 20H JB ACC.1, KEYBB JB ACC.2, KEYCC JB ACC.3, KEYDD LJMP KEYAA KEYBB: MOV R0, #0FFH WW3: MOV A, R0 MOVX DPTR, A DE

51、C R0 CJNE R0, #00H, WW3 LCALL KEY MOV A, 20H 片机片机AD及及DA转换接口转换接口47 JB ACC.0, KEYAA JB ACC.2, KEYCC JB ACC.3, KEYDD LJMP KEYBB KEYCC: MOV R0, #00H WW4: MOV A, R0 MOVX DPTR, A INC R0 CJNE R0, #0FFH, WW4 WW5: MOV A, R0 MOVX DPTR, A DEC R0 CJNE R0, #00H, WW5 LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1,

52、 KEYBB JB ACC.3, KEYDD LJMP KEYCC 片机片机AD及及DA转换接口转换接口48 KEYDD: MOV R7, #00H WW6: MOV DPTR, #DK MOV A, R7 MOVC A, A+DPTR MOV DPTR, #7FFFH MOVX DPTR, A INC R7 CJNE R7, #0FFH, WW6 LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.2, KEYCC LJMP KEYDD KEY: 。 DK:DB 07FH, 082H, 085H, 088H, 08BH, 0

53、8FH, 092H, 095H, 098H, 。 END 片机片机AD及及DA转换接口转换接口49 #include #include #define uchar unsigned char #define uint unsigned int #define DA0832 XBYTE 0 x7fff uchar key,jskey; uint i; uint code st=0 x7F,0 x82,0 x85,. uchar keyscan() uchar tmp; P1=0 xff; if(P1 / 延时去抖延时去抖 if(P1 dowhile(P1 /判键释放判键释放 tmp=tmp; r

54、eturn (tmp); /还回键值还回键值 return (0); /无键按下无键按下,还回还回0 片机片机AD及及DA转换接口转换接口50 void main(void) uchar i,v; uchar temp; v=keyscan(); if(v=1|v=2|v=4|v=8) while(1) switch(v) case 1: while(v=1|v=0) for(i=0;i=255;i+) if(i128) DA0832=255; else DA0832=0; v=keyscan(); break; case 2: while(v=2|v=0) for(i=0;i=255;i+)

55、 DA0832=i; v=keyscan(); break; 片机片机AD及及DA转换接口转换接口51 case 4: while(v=4|v=0) for(i=0;i=1;i-) DA0832=i; v=keyscan(); break; case 8: while(v=8|v=0) for(i=0;i=255;i+) DA0832=sti; v=keyscan(); break; 片机片机AD及及DA转换接口转换接口52 *10.3.3 DAC0832双缓冲连接方式 所谓双缓冲连接方式,就是把所谓双缓冲连接方式,就是把DAC0832的输入寄存器和的输入寄存器和 DAC寄存器都接成受控锁存方式。在多路寄存器都接成受控锁存方式。在多路D/A转换中,如果转换中,如果 要求同步输出,就应当采用双缓冲连接方式。要求同步输出,就应当采用双缓冲连接方式。DAC0832的的 双缓冲方式连接如下图所示。双缓冲方式连接如下图所示。 片机片机AD及及DA转换接口转换接口53 【例例】XY绘图仪由绘图仪由X、Y两个方向的步进电机驱动,其中一个两个方向的步进电机驱动,其中一个 电机控制绘笔沿电机控制绘笔沿X轴方向运动,另一个电机控制绘笔沿轴方向运动,另一个电机控制绘笔沿Y轴轴

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论