一、AVR单片机片内ADC简介
模数转换器即A/D转换器,或简称ADC(Analog Digital Converter),它是一种将输入模拟量转变为输出数字量的器件,是连接模拟和数字的桥梁。通常是指一个将模拟信号转变为数字信号的电子元件。
通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
模数转换器最重要的参数是转换的精度,通常用输出的数字信号的位数的多少表示。转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。
A/D转换一般要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。
模数转换器的分类
A/D转换器的种类很多,并且有多种分类方法,下面做简单介绍:
1)从原理上通常可分为以下4种:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行A/D转换器。
计数式A/D转换器结构很简单,转换速度很慢,现在很少采用。
双积分式A/D转换器抗干扰能力强,转换精度高,但转换速度不够快,一般用于数字式测量仪表中。
逐次逼近式A/D转换器结构不太复杂,转换速度很高,一般应用于微机接口电路中。并行A/D转换器的转换速度最快,但结构复杂,成本高,一般只应用于那些转换速度极高的场合。
2)从输出代码的有效位数可分为8位,10位,12位,14位,16位,24位及BCD码输出的3位,4位,5位等多种不同的位数。
3)从数据输出的接口类型可分为并行接口型和串行接口型
二、
ATmega16单片机集成了一个10位的逐次逼近型A/D转换器,A/D转化器与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。
特点:
8路可选的单端输入通道,占用PA0 – PA7引脚,由于只有一个ADC核,所以只能一次采集一路通道;
7路差分输入通道;
ADC转换结果的读取可以设置左端对齐(默认右端对齐),因为该ADC是十位的,需要两个寄存器才能存储完整的转换过后的数据;
在最高精度下可达到15KPS/s的采样速率;
可选择的ADC内部2.56V的ADC参考电压源;
自由连续转换模式和单次转换模式;
ADC自动选择转换触发模式选择;
ADC转换完成可触发中断;
二、ADC的供电和参考电压
ADC功能单元由独立的专用模拟电源引脚AVCC(第30引脚)供电,AVCC与VCC的电压差别要小于或等于0.3V。
ADC转换的参考电源可采用芯片内部的2.56V参考电源,或采用AVCC,也可采用外部参考电源。使用外部参考电源时,外部参考电源有引脚AREF接入。使用内部电压参考电源时,可以通过在AREF引脚外部并接一个电容提高ADC的抗噪性能。
三、与ADC有关的寄存器
1、ADC多路复用器选择寄存器ADMUX
ADC多路复用器选择寄存器ADMUX | ||||||||
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名称 | REFS1 | REFS0 | ADLAR | MUX4 | MUX3 | MUX2 | MUX1 | MUX0 |
读/写 | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
初始值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
功能 | 参考电源选择 | 对齐方式 | 指定使用通道及增益 | |||||
位【7-6】— REFS[1-0] :ADC参考电源选择位。是用来指定ADC的参考电源采用
何种参考电源,有三种参考电源:内部2.56V、AREF、AVCC。如果在转换过程中改变了设置,则只有等到当前转换结束后新的设置才会起作用。内、外部参考电压不能同时被选择,否则会短路损坏芯片。
具体设置表:
ADC参考电源选择位设置表 | ||
REFS1 | REFS0 | 参考电压选择 |
0 | 0 | 选择AREF,内部基准源关闭 |
0 | 1 | 选择AVCC,AREF外接滤波电容 |
1 | 0 | 保留 |
1 | 1 | 2.56V内部基准电压源,AVREF外接滤波电容 |
位【5】— ADLAR:ADC转换结果对齐选择位。这一位可以选择ADC转换的结果在ADC数据寄存器中存放形式。ADLAR置位时(为1)转换结果位左对齐,否则右对齐(默认)。一般左对齐是在只需要8位精度的情况下才设置,这样只需要读取一次ADCH就OK了。
ADLAR = 0 ADC以右端对齐的方式存储数据(默认)【只读,初始值全0】 | ||||||||
ADCH | ADC9 | ADC8 | ||||||
ADCL | ADC7 | ADC6 | ADC5 | ADC4 | ADC3 | ADC2 | ADC1 | ADC0 |
ADLAR = 1 ADC以左端对齐的方式存储数据 【只读,初始值全0】 | ||||||||
ADCH | ADC9 | ADC8 | ADC7 | ADC6 | ADC5 | ADC4 | ADC3 | ADC2 |
ADCL | ADC1 | ADC0 |
位【4-0】— MUX[4-0]:模拟通道与增益选择位。这几位选择 当前要使用的ADC模拟输入通道,也可以对差分通道增益进行设置。如果在转换过程中改变了设置,则只有等到当期转换结束之后新的设置才会生效。
2、ADC控制和状态寄存器ADCSRA
ADC控制和状态寄存器ADCSRA | ||||||||
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名称 | ADEN | ADSC | ADATE | ADIF | ADIE | ADPS2 | ADPS1 | ASPS0 |
读/写 | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
初始值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
功能 | AD | 启动 | 自动 | 中断 | 中断 | ADC预分频设置 | ||
位【7】— ADEN:ADC使能位。启用ADC功能,否则关闭ADC功能。相当于ADC的总开关。
位【6】— ADSC:ADC开始转换。在单次转换模式下,ADSC置位将启动一次ADC转换。在连续转换模式下ADSC置位将启动首次转换。
位【5】— ADATE:ADC自动触发使能。ADATE置位将启动ADC自动触发转换功能,触发信号的上升沿启动ADC转换。
位【4】— ADIF:ADC中断标志位。ADC转换结束且数据寄存器被更新后,ADIF将被硬件置位。如果ADIE及SREG寄存器中的全局中断使能位I被置位,则ADC转换结束中断服务程序将被执行,同时ADIF硬件清零,也可以通过软件写“1”清零。当没有启用中断(ADIE)时,可以通过不停的查询此位获知ADC是否转换完毕好读取数据,此时应当软件将ADIF清零。
位【3】— ADIE:ADC中断使能位。若ADIE及SREG中的I置位,则ADC转换结束、数据寄存器被更新后会将ADIF中断标志位置位,同时会产生中断从而执行中断服务函数,进入中断服务函数后ADIF中断标志位将被硬件清零。
位【2-0】— ADPS[2-0]:ADC预分频器选择位。这3位决定ADC输入时钟与CPU时钟之间的分频系数,如分频系数为2,则表示是CPU时钟频率的1/2。
ADC分频系数如下表:
ADC分频系数设置表 (ADCSRA) | |||
ADPS2 | ADPS1 | ADPS0 | 分频系数 |
0 | 0 | 0 | 2 |
0 | 0 | 1 | 2 |
0 | 1 | 0 | 4 |
0 | 1 | 1 | 8 |
1 | 0 | 0 | 16 |
1 | 0 | 1 | 32 |
1 | 1 | 0 | 64 |
1 | 1 | 1 | 128 |
3、ADC数据寄存器ADCL及ADCH
ADC转换结束后,转换结果将储存在ADCL/ADCH这两个寄存器中。因为一个寄存器只有8位,而ADC是10位,所以需要两个寄存器才能存储完整的10位结果。
因为需要用到两个寄存器,为了防止在上一次转换结果还没有完全被读走,下一次的转换结果就将其覆盖掉,造成数据错乱,AVR的ADC采取了一个保护策略:当程序语句读取ADCL寄存器时,ADCH的值将被锁定,直到程序读取了ADCH寄存器后,AD转化器硬件才能将下一次的转换数据更新到这两个寄存器中。因此,如果转换结果为左对齐而且只需要8位精度,那么仅需要读取ADCH就足够了。
4、特殊功能IO寄存器SFIOR
特殊功能IO寄存器SFIOR | ||||||||||||||||||||||
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||||||||||||
名称 | ADTS2 | ADTS1 关键字:AVR 单片机 ADC 引用地址:AVR 单片机学习笔记 – ADC
上一篇:和大家分享一个AVR单片机学习经验 推荐阅读
工业机器人大厂KUKA的自动化生产系统名闻国际,除了是电动车制造商sla旗下车款Model 3生产线机器人的主要供应商,近日KUKA透露接获一笔来自美国汽车制造商的大订单,预计在2020开始进行生产。
KUKA近年不断透过收购或是与不同领域的产业合作来优化机器人自动化生产流程,在2016年被大陆企业美的收购后,更加速了在亚太地区的发展,而这次来自美国的大...
“在每个城市,路灯的分布十分密集,完全可以用来作为小型的5G基站,可以省下大量重复建设的成本。”11月21日,在“2019华创会·下一代汽车与信息技术武汉开发区专场”,来自澳大利亚的华人企业家刘帛鑫带来的“5G智能路灯”项目,引来了许多人的兴趣。
现场,来自德国、美国、法国、加拿大、比利时等37个国家的华侨华人汇聚一堂,展示项目,交流探讨...
近日,以“芯屏气 / 器和 智慧领航”为主题的京东方全球创新伙伴大会·2020(BOE IPC·2020)在京东方技术创新中心盛大开幕。会议期间,东软集团与 BOE(京东方)在智慧航空领域达成全面合作,并成立“智慧航空联合创新实验室”,为民用航空领域提供领先的信息交互产品和系统解决方案,全面助力航空装备行业发展。 据悉,本次合作双方将充分发挥各自...
STM8单片机源程序:/*PE6 信号选择 0:控制卡 1: CPUPB7 5V电源控制 O:关 1:开*/#include <iostm8s105s4.h>#define uint unsigned int#define uchar unsigned char#define ulong unsigned longuchar num;uchar flag=150;uchar tim;uchar bk;#def...
史海拾趣 Holy Stone公司的发展小趣事
经过多年的发展,Holy Stone成为国内少数涵盖主、被动双通路并拥有制造工厂的多元化公司。公司不仅代理多家国际知名半导体零组件,还通过自主研发和生产,为客户提供完整的解决方案及多样性零组件。这一双通路战略使得Holy Stone能够在激烈的市场竞争中保持领先地位,并成功实现全球布局。公司的产品广泛应用于消费电子、汽车电子等多个领域,满足了全球客户的多样化需求。 Excellence Optoelectronics Inc公司的发展小趣事
EOI深知客户的重要性,因此公司一直致力于提供优质的服务。无论是售前咨询还是售后服务,EOI都认真对待每一个客户的需求和问题。公司建立了完善的客户服务体系,为客户提供及时、专业的支持。同时,EOI还定期举办客户培训和技术交流活动,提高客户的技术水平和使用效果。这些努力使得EOI赢得了客户的信任和忠诚度。 Andigilog公司的发展小趣事
EOI深知客户的重要性,因此公司一直致力于提供优质的服务。无论是售前咨询还是售后服务,EOI都认真对待每一个客户的需求和问题。公司建立了完善的客户服务体系,为客户提供及时、专业的支持。同时,EOI还定期举办客户培训和技术交流活动,提高客户的技术水平和使用效果。这些努力使得EOI赢得了客户的信任和忠诚度。 博流(Bouffalo Lab)公司的发展小趣事
博流智能科技始创于2016年,由一群来自硅谷顶级芯片公司的创始团队组成。他们凭借在移动通讯及物联网技术领域的深厚积累,以及对未来科技趋势的敏锐洞察,决定投身于新一代物联网集成电路芯片的研发。初创时期,公司面临着资金、技术和市场等多重挑战,但团队凭借坚定的信念和不懈的努力,逐步克服了困难,为公司的长远发展奠定了坚实基础。 EDSYN公司的发展小趣事
随着智能能源市场的不断发展,Econais也积极拓展该领域的应用。通过与能源公司的合作,Econais的Wi-Fi模块被广泛应用于智能电网、智能家居和分布式能源管理等领域。这些应用不仅提高了能源利用的效率,也为用户带来了更加便捷和舒适的体验。Econais凭借其在超低功耗和高性能无线产品方面的技术优势,成功在智能能源市场占据了一席之地。 CWIND公司的发展小趣事
在激烈的市场竞争中,CWIND公司始终坚持以客户为中心的服务理念。公司建立了完善的客户服务体系,为客户提供从产品咨询、购买到售后服务的全方位支持。同时,公司还注重品牌建设和宣传推广工作。通过加大广告投放力度、举办品牌活动等方式,CWIND逐渐提升了品牌知名度和美誉度。在消费者心中树立起了良好的品牌形象和口碑效应。
小广播
热门活动
换一批 更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多精选电路图
换一换
更多
相关热搜器件
更多每日新闻
更多往期活动
11月25日历史上的今天
厂商技术中心
电子工程世界版权所有
京ICP证060456号
京ICP备10001474号-1
电信业务审批[2006]字第258号函
京公网安备 11010802033920号
Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
|