第10章模拟比较器和ADC接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复位值
0
0
0
Fra Baidu bibliotek
0
0
0
0
0
位7,6—REFS[1:0]:ADC参考电源选择 位5—ADLAR:ADC结果左对齐选择 位4..0—MUX4:0:模拟通道和增益选择
17
2.ADC控制和状态寄存器A—ADCSRA
位7—ADEN:ADC使能 位6—ADSC:ADC转换开始 位5—ADATE:ADC自动转换触发允许 位4—ADIF:ADC中断标志位 位3—ADIE:ADC中断允许 位2,0—ADPS[2:0]:ADC预分频选择
8
模拟比较器的多路输入选择
9
10.1.2 模拟比较器的应用设计
模拟比较器使用注意点包括: 芯片RESET后,模拟比较器为允许工作状态。如果系统中不使
用模拟比较器功能,应将寄存器ACSR的ACD位置1,关闭模拟 比较器,这样可以减少电源的消耗。 使用模拟比较器时,应注意比较器的两个输入端口PB2、PB3的 设置。当PB2/PB3作为模拟输入端使用时,PB2/PB3应设置为 输入工作方式,且上拉电阻无效,这样就不会使PB2/PB3上输 入的模拟电压受到影响。 当AIN0设置为使用芯片内部1.22V的固定能隙(Bandgap)参 考电源时,PB2 口仍然可以作为通用I/O端口使用,这样就能 节省一个I/O引脚。在上面的例子里,AIN0就是设置为使用芯 片内部1.22V的固定能隙(Bandgap)参考电源,这样就可将 PB2口释放出来,作为普通I/O口用来驱动LED了
第10章 模拟比较器和ADC接口
1
单片机内部常见的支持模拟信号输入 接口
模拟比较器和模数转换 ADC
2
模拟量输入通道构成
任务:完成模拟量的采集并转换成数字量送入计算机。
主要组成: 信号处理装置、采样单元、采样保持器、数据 放大器、A/D转换器控制电路。
3
AD转换及其应用
被测参数,如温度、流量、压力、液位、 速度等都是连续变化的量-模拟量
10
系统电源电压的监测
11
程序
#include <mega16.h>
void main(void)
{
PORTB.2=0x01; //PC0设置为输出,控制LED
DDRB.2=0x01;
ACSR=0x40; //模拟比较器初始化,允许模拟比较器, AIN0设置为内部Bandgap参考电压1.22V
图10-3 ADC功能单元方框图
16
10.2.2 ADC相关的I/O寄存器
1.ADC多路复用器选择寄存器—ADMUX
位
7
6
5
4
3
2
1
0
$07($0027) REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 ADMUX
读/写 R/W R/W R/W R/W R/W R/W R/W R/W
单片机只能处理数字量 把输入的连续变化的模拟电压信号转换
成离散的数字量-ADC AVR ATmega16 内置10bit ADC
4
10.1 模拟比较器
模拟比较器
5
10.1.1 与模拟比较器相关的寄存器和标志位 SFIOR、ACSR
1.特殊功能IO寄存器—SFIOR
为模拟比较器多 路使能控制位
while (1) //循环检测AC0位
{
if (ACSR.5)
PORTB.2 = 0; // AIN0 >AIN1,低电压报警
else
PORTB.2 = 1; // AIN0 < AIN1, }}
12
10.2 模数转换器ADC
外部的模拟信号量需要转变成数字量才能进一步的由MCU进行处 理。ATmega16内部集成有一个10位逐次比较(successive approximation)ADC电路。因此使用AVR可以非常方便的处理输 入的模拟信号量。 ATmega16的ADC与一个8通道的模拟多路选择器连接,能够对以 PORTA作为ADC输入引脚的8路单端模拟输入电压进行采样,单端 电压输入以0V(GND)为参考。另外还支持16种差分电压输入组 合,其中2种差分输入方式(ADC1,ADC0和ACD3,ADC2)带有 可编程增益放大器,能在A/D转换前对差分输入电压进行0dB (1×),20dB(10×)或46dB(200×)的放大。还有七种差 分输入方式的模拟输入通道共用一个负极(ADC1),此时其它任 意一个ADC引脚都可作为相应的正极。若增益为1×或10×,则可 获得8位的精度。如果增益为200×,那么转换精度为7位。 13
18
3.ADC数据寄存器—ADCL和ADCH
ADLAR = 0,ADC转换结果右对齐时,ADC结 果的保存方式
10.2.1 10位ADC结构
AVR的模数转换器ADC具有下列特点: 10位精度; 0.5LSB积分非线形误差 ±2LSB的绝对精度; 13µs-260µs的转换时间; 在最大精度下可达到每秒15kSPS的采样速率; 8路可选的单端输入通道; 7路差分输入通道; 2路差分输入通道带有可选的10×和200×增益; ADC转换结果的读取可设置为左端对齐(LEFT
7
ACIS1 0
0 1 1
表9-1 模拟比较器中断模式选择
ACIS0 0
1 0 1
中断模式 比较器输出的上升沿和下降沿都触发中 断 保留 比较器输出的下降沿触发中断 比较器输出的上升沿触发中断
模拟比较器的多路输入
用户可以选择ADC7..0引脚中的任一路的模拟信 号代替AIN1引脚,作为模拟比较器的反向输入端。
ADJUSTMENT);
14
ADC的电压输入范围0~Vcc; 可选择的内部2.56V的ADC参考电压源; 自由连续转换模式和单次转换模式; ADC自动转换触发模式选择; ADC转换完成中断; 休眠模式下的噪声抑制器(NOISE
CANCELER)。
15
ADC功能单元包括采样保持电路,以确保输入电压在ADC转换过程中保持恒定。
2.模拟比较器控制和状态寄存器—ACSR
6
ACSR是模拟比较器主要的控制寄存器,各位的作用
位7—ACD:模拟比较器禁止 位6—ACBG:模拟比较器的能隙参考源选择 位5—ACO:模拟比较器输出 位4—ACI:模拟比较器中断标志位 位3—ACIE:模拟比较器中断允许 位1、0—ACIS1、ACIS0:模拟比较器中断模式选择 位2—ACIC:模拟比较器输入捕获允许