第10章—AD与DA接口.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 如果要使用相应口的模拟功能,需将P1ASF特殊 功能寄存器中的相应位置为1。 • 注意,P1ASF寄存器不能位寻址,可以使用汇编 语言指令ORL P1ASF, #40H,也可以使用C语言 语句P1ASF |= 0x40;
07:19 15/147
第10章 AD与DA接口
2)ADC控制寄存器ADC_CONTR
07:19
5/147
第10章 AD与DA接口
1、逐次逼近式模数转换器的工作原理 逐次逼近式模数转换器电路框图如图所示。
Vx

比较器

VC D/A转换 数 字 量 SAR
基准电源
输出
时序及控制逻辑 转换命令
状态线
07:19
图10-2 逐次逼近式模数转换器的工作原理
6/147
第10章 AD与DA接口
07:19 10/147
第10章 AD与DA接口
2、通道: – 有的单芯片内部含有多个ADC模块,可同时实 现多路信号的转换; 3、基准电压 基准电压有内、外基准和单、双基准之分。 4、转换速率 – 转换时间:A/D转换器从启动转换到转换结束, 输出稳定的数字量,需要的一定的转换时间。 – 转换速率:转换时间的倒数就是每秒钟能完成 的转换次数。
CHS2 0 0 0 0 1 1 1 1 17/164 CHS1 0 0 1 1 0 0 1 1 CHS0 0 1 0 1 0 1 0 1 模拟输入通道选择 选择P1.0作为A/D输入来用 选择P1.1作为A/D输入来用 选择P1.2作为A/D输入来用 选择P1.3作为A/D输入来用 选择P1.4作为A/D输入来用 选择P1.5作为A/D输入来用 选择P1.6作为A/D输入来用 选择P1.7作为A/D输入来用
第10章 AD与DA接口技术
本章学习目标 •了解AD转换器的工作原理及性能指标 •掌握AD转换器的应用 •了解DA转换器的工作原理及性能指标 •掌握DA转换器的应用
07:19
1
第10章 AD与DA接口




概述 自然形态下的物理量多以模拟量的形式存在的,如 温度、湿度、压力、流量、速度等等。 借助计算机处理,需要将模拟量转换为数字量。才 能进行信号的传输、处理、存储、显示和控制。 同样,计算机控制外部设备时,如电动调节阀、调 速系统等,需要将计算机输出的数字信号变换成外 设能够接受的模拟信号。 将模拟量转换成数字量的器件称为模数转换器( Analog to Digital Converter,ADC),数字转换为模 拟为DAC。
07:19
16/147
第10章 AD与DA接口
位号 位名 称 D7 ADC_POWER D6 SPEED1 D5 SPEED0 D4 ADC_FLAG D3 ADC_START D2 CHS2 D1 CHS1 D0 CHS0
③ADC_FLAG:A/D转换结束标志位。 A/D转换完成后,ADC_FLAG = 1,要由软件清零。 ④ CHS2、CHS1、CHS0:模拟输入通道选择
07:19 2/147
第10章 AD与DA接口
பைடு நூலகம்
• 以单片机为核心,具有模拟量输入和输出的应用系统结构 如图所示。
模拟电信号 信号 放大 非电信号 传感器 A/D 转换器 开关量输出
单 片 机
D/A 转换器
数字量显示 或通信 模拟量 放大输出
开关量输入
图10-1 具有模拟量输入输出的单片机系统
3/164
2、双积分式模数转换器的工作原理 • 双积分式模数转换器转换方法的抗干扰能力比逐 次逼近式模数转换器强。 • 该方法的基础是测量两个时间: 一个是模拟输入电压向电容充电的固定时间 另一个是在已知参考电压下放电所需的时间 模拟输入电压与参考电压的比值就等于上述两个 时间值之比。
7/164
第10章 AD与DA接口
07:19 13/147
第10章 AD与DA接口
(1)模数转换器的结构 • STC15F2K60S2单片机ADC的结构如图所示。
07:19
14/147
第10章 AD与DA接口
3)与ADC有关的特殊功能寄存器 1)P1口模拟功能控制寄存器P1ASF
位号 位名称 D7 D6 D5 D4 D3 D2 D1 D0 P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF
}
07:19 22/147
第10章 AD与DA接口
【例10-3】 编程实现利用STC15单片机ADC通道2采 集外部模拟电压信号,10位精度,采用中断方式 进行转换,并将转换结果保存于30H和31H单元中 。假设时钟频率为18.432MHz。 • 解:ADRJ=0时,ADC结果的高8位在ADC_RES中 ,低2位在ADC_RESL的低2位。因此,可以在中 断服务程序中读出ADC_RESL寄存器的值,屏蔽 高6位后存入30H单元,读出ADC_RES寄存器的 值,存入31H单元。
12/164
第10章 AD与DA接口
§10.2 STC15单片机AD转换器的应用
STC15F2K60S2集成的A/D模块的结构及其使用 • STC15F2K60S2单片机集成有8路10位高速电压输 入型模数转换器(ADC),速度可达到300KHz, 可做温度检测、压力检测、电池电压检测、按键 扫描、频谱检测等。 • ADC输入通道与P1口复用,上电复位后P1口为弱 上拉型I/O口,用户可以通过软件设置将8路中的 任何一路设置为ADC功能,不作为ADC使用的口 可继续作为I/O口使用。
07:19
21/147
第10章 AD与DA接口
C语言程序代码如下:
#include “stc15.h” unsigned char data adcdat _at_ 0x30; void main(void) { //A/D转换结果变量
unsigned long i; unsigned char status; ADC_CONTR|=0x80; //开A/D转换电源 for (i=0;i<10000;i++); //适当延时 P1ASF=0x04; //选择P1.2作为A/D转换通道 ADC_CONTR=0xE2; for (i=0;i<10000;i++); //适当延时 while(1) //循环进行A/D 转换 { ADC_CONTR|=0x08; //重新启动 A/D 转换 status=0; while(status==0) //等待A/D转换结束 { status=ADC_CONTR&0x10; } ADC_CONTR&=0xE7; //将ADC_FLAG清零 adcdat=ADC_RES; //保存A/D转换结果 }
18/164
第10章 AD与DA接口
4)与A/D转换中断有关的寄存器
– 中断允许控制寄存器IE中的EADC位用于开放 ADC中断 – EA位用于开放CPU中断 – 中断优先级寄存器IP中的PADC位用于设置A/D 中断的优先级
在中断服务程序中,要使用软件将A/D中断 标志位ADC_FLAG(也是A/D转换结束标志 位)清0。
07:19 20/147
第10章 AD与DA接口
【例10-2】 编程实现利用STC15单片机ADC通道2采 集外部模拟电压信号,8位精度,采用查询方式循 环进行转换,并将转换结果保存于30H单元中。 假设时钟频率为18.432MHz。 • 解:取8位精度时,若ADRJ=0,则可直接使用转 换结果寄存器ADC_RES的值。由于复位后, ADRJ=0,因此,按照ADC的编程要点进行初始 化后,直接判断ADC_FLAG标志是否为1,若为1 ,则读出ADC_RES寄存器的值,并存入30H即可 ;若为0,则继续等待。
07:19 19/147
第10章 AD与DA接口
2、STC15F2K60S2单片机ADC模块的使用 • 编程要点
– 打开ADC电源,第一次使用时要打开内部模拟电源( 设置ADC_CONTR)。 – 适当延时,等内部模拟电源稳定。一般延时1ms以内即 可。 – 设置P1口中的相应口线作为A/D转换通道(设置P1ASF 寄存器)。 – 选择ADC通道(设置ADC_CONTR的CHS2~CHS0)。 – 设置转换结果存储格式[设置AUXR1中的ADRJ位]。 – 查询A/D转换结束标志ADC_FLAG,结果处理。
07:19 11/147
第10章 AD与DA接口
5、采样/保持器 采样/保持也称为跟踪/保持(Track/Hold缩写T/H)。 6、量程 量程即所能转换的电压范围,如2.5V、5V和10V。 7、满刻度误差 满度输出时对应的输入信号与理想输入信号值之差 称为满刻度误差。 8、线性度 实际转换器的转移函数与理想直线的最大偏移称为 线性度。
07:19 4/147
第10章 AD与DA接口
§10.1模数转换器的工作原理及性能指标
一、模数转换器的工作原理 • 根据转换的工作原理不同,模数转换器可以分为 计数-比较式、逐次逼近式和双斜率积分式。 • 计数-比较式模数转换器结构简单,价格便宜,转 换速度慢,较少采用。 • 下面主要介绍逐次逼近式和双斜率积分式模数转 换器的工作原理。
07:19
23/147
第10章 AD与DA接口
传感器和变送器的区别: • 检测仪表在模拟电子技术条件下,一般是包括传 感器、检测点取样设备及放大器(进行抗干扰处 理及信号传输),当然还有电源及现场显示部分 (可选择)。 • 传感器是一种把非电量转变成电信号的器件。 • 电信号一般分为连续量、离散量两种,实际上还 可分成模拟量、开关量、脉冲量等。 • 模拟信号一般采用4-20mA DC的标准信号传输。 • 在自动化仪表中经常把检测仪表称为变送器,如 温度变送器、压力变送器等。
双积分模数转换器的组成框图如图所示。
输入模拟电压 Vx 基准电源 积分器 比较器
时钟
控制逻辑 转换结束 计数器 数字量输出
转换开始
图10-3 双积分式模数转换器的组成框图
8/164
第10章 AD与DA接口
二、模数转换器的性能指标 • A/D转换器是实现单片机数据采集的常用外围器 件。A/D转换器的品种繁多,性能各异,在设计 数据采集系统时,首先碰到的问题就是如何选择 合适的A/D转换器以满足系统设计的要求。 • 选择A/D转换器需要综合考虑多项因素,如系统 技术指标、成本、功耗、安装等。
SPEED1 1 1 0 SPEED0 1 0 1 A/D转换所需时间 90个时钟周期转换一次 ,CPU工作频率21MHz时, A/D转换速度约 300KHz,9位精度 180个时钟周期转换一次,可达到10位精度 360个时钟周期转换一次,可达到10位精度
0
0
540个时钟周期转换一次,可达到10位精度
位号 位名 称 D7 ADC_POWER D6 SPEED1 D5 SPEED0 D4 ADC_FLAG D3 ADC_START D2 CHS2 D1 CHS1 D0 CHS0
①ADC_POWER:ADC电源控制位。 0:关闭ADC电源。1:打开ADC电源。 ②SPEED1、SPEED0:ADC转换速度控制位。
第10章 AD与DA接口
3)A/D转换结果存储格式控制及A/D转换结 果寄存器ADC_RES、ADC_RESL
– 特殊功能寄存器ADC_RES和ADC_RESL用于保 存A/D转换结果。 – 特殊功能寄存器CLK_DIV中的ADRJ位用于设 置A/D转换结果的存储格式。
• ADRJ=0时,ADC_RES[7:0]存放高8位ADC结果, ADC_RESL[1:0]存放低2位ADC结果; • ADRJ=1时,ADC_RES[1:0]存放高2位ADC结果, ADC_RESL[7:0]存放低8位ADC结果。
9/164
第10章 AD与DA接口
1、分辨率:A/D转换器能够分辨最小信号的能力, 表示数字量变化一个最小单位所需输入模拟电压 的变化量。分辨率越高,反应就越灵敏。 • 例如,8位A/D能分辨满刻度的1/256,若输入电压 为5V,则该8位A/D能够分辨出输入电压变化的最 小值为19.5mV。 • 分辨率常用A/D转换器输出的二进制位数表示。 常见的A/D转换器有8位、10位、12位、14位和16 位等。 • 一般把8位以下为低分辨率,9~12位为中分辨率, 13位以上称为高分辨率ADC器件,取10位或11位 是合适的。
相关文档
最新文档