下载此文档

第12讲自己动手学习单片机系列讲座-AD转换.ppt


文档分类:通信/电子 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35 下载此文档
文档列表 文档介绍
第12讲 A/D转换
青岛科技大学
王泽华
**********
材料清单
Atmega16最小系统板
5v线性电源
Lm35测温传感器
面包板插线若干
本章重点
片上A/D转换的参考电压
片上A/D转换特性
A/D转换时序。
A/D转换编程的两种方法。
A/D转换的特性
PA0-PA7为A/D转换输入端口
A/D转换的外围电路如图
在此电路下,用户可以选择片内带隙
基准()或者5v线性电源作为参考源
10位精度
若被采样信号大于参考源,将输出0x3FF;转换结果高2位存于ADCH,低8位存放于ADCL寄存器。
最高采样速率为15KSPS
可采用单端输入或带有增益的差分输入
每次转换完成后可采用查询或中断方式编程
转换方式为逐次逼近式,该电路需要50-200KHz的时钟信号。
时钟信号可以由fcpu预分频得到,预分频系数在ADSRA中设定。
A/D转换结果的计算
单端输入
ADC =Vin×1024 / VRef
Vin为待转换的模拟信号电平
VRef为用户选择的参考电压
ADC为10位ADCH和ADCL寄存器值(下同)
差分输入
ADC =(Vpos - Vneg)×Gain × 512 / VRef
Vpos:差分输入正电平,
Vneg为差分输入负电平,
Gain为用户选择的增益,
VRef为用户选择的参考电压。
/********************************************/
//功能:ADC转换结果计算
//形参:
//int dataADC:采样数据
//long int vREF:参考电压,单位mV
//int mode:1单端输入,2差分输入
//int gain:单端输入,增益为1;差分输入,实际增益。
//返回值:int类型,ADC输入通道的mV电压
/***************************************************/
int vInAdc(int dataADC,long int vRef, int mode, int gain)
{
int mVoltage;
if(1==mode) //计算ADC结果的mV电压,单端输入
mVoltage = (vRef * (long int)dataADC)/(1024*gain)+;
else //计算ADC结果的mV电压,差分输入
mVoltage = (vRef * (long int)dataADC)/(512*gain)+;
return(mVoltage); //返回mV电压
}
/************************************************/
A/D转换寄存器
ADMUX:ADC多工选择寄存器

BIT7-6:REFS1,REFS0,选择A/D参考源,如下表所示

BIT5:ADLAR,置1,转换数据在ADCH,ADCL左对齐,0转换数据在ADCH,ADCL右对齐。
BIT4-BIT0:MUX4-0,通道选择与增益选择
ADC控制和状态寄存器A---ADSRA
BIT7-ADEN:ADC使能。置位将启动AD转换功能,否则AD转换不起作用,ADEN置位后的第一次转换需要25个cycle
BIT6-ADSC:ADC开始。单次转换模式,置位启动一次AD转换;连续模式下置位启动AD转换。不管是单次还是连续转换,第一次转换需要25个cycle,进行必要的初始化,后续的转换需要13个cycle。转换期间ADSC保持为1,直到转换结束后自动清零。
BIT5-ADATE:ADC自动触发使能。触发信号的上升沿启动AD转换。触发源通过SFIOR寄存器选择。
BIT4-ADIF:ADC中断标志位。转换完成ADIF置位,中断响应后自动清零ADIF。也可向该位写1清零ADIF。
BIT3-ADIE:ADC中断使能。SREG的全局中断位使能后,置位允许AD转换完成后进入中断服务程序。

第12讲自己动手学习单片机系列讲座-AD转换 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小773 KB
  • 时间2017-11-28