AVR单片机模数转换ADC过程.docx

上传人:小飞机 文档编号:3153242 上传时间:2023-03-11 格式:DOCX 页数:2 大小:37.02KB
返回 下载 相关 举报
AVR单片机模数转换ADC过程.docx_第1页
第1页 / 共2页
AVR单片机模数转换ADC过程.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《AVR单片机模数转换ADC过程.docx》由会员分享,可在线阅读,更多相关《AVR单片机模数转换ADC过程.docx(2页珍藏版)》请在三一办公上搜索。

1、AVR单片机模数转换ADC过程ADC: 模数转换,将模拟电压转换为数字。 ATmega16 有一个10位精度的ADC转换器,具有8路外部模拟输入端,与PORTA口复用。使能AD转换功能后就不能作为I/O口使用。 输入模拟电压的范围介于AGND和AVcc之间,如AVcc为5v时,10位精度时转换后对应的数值为0-1023(0-0X3F),若为8位精度时, 转换后对应的数值为0-255。若采用内部标准的参考电压2.56V,则输入模拟电压的范围为0-2.56V,10位精度时,2.56V对应的数值为1023. 相关的寄存器有:ADCSRA:ADC控制和状态寄存器,ADMUX:多工选择寄存器,输入通道选

2、择和参考电压源选取。 ADCH,ADCL:数据寄存器,存储转换后的结果,SFIOR:特殊功能寄存器,自动触发源的选择。操作步骤: 一、 选择ADC的参考电压: ADMUX|=(0REFS1)|(1REFS0); /选择AVCC为ADC的参考电压 二、设置转换结果的对齐方式:ADMUX|=(1ADLAR); /转换结果左对齐 三、选择ADC输入通道:ADMUX|=(0MUX4)|(0MUX3)|(0MUX2)|(0MUX1)|(0MUX0); /选择通道ADC0 四、设置ADC的时钟分频系数:ADCSRA|=(1ADPS2)|(0ADPS1)|(1ADPS0); /时钟分频系数为64 五、使能A

3、/D 转换: ADCSRA|=(1ADEN); 使能AD中断:ADCSRA|=(1ADIE); 六、中断总使能: SREG=0X80; 七、 启动AD转换: ADCSRA|=(1ADSC) /启动一次AD转换 八、等待转换完成: while(!ADCSRA&(1ADIF); /ADIF 为1时表示AD转换完成 九、转换完成后手动清ADC中断标志位: ADCSRA|=(1ADIF); 十、读取AD转换结果 :从AD转换结果寄存器ADCH,ADCL读取结果。 读取ADCL 之后,ADC 数据寄存器一直要等到ADCH 也被读出才可以进行数据更新。因此,如果转换结果为左对齐,且要求的精度不高于8 比特,那么仅需读取ADCH 就足够了。否则必须先读出ADCL 再读ADCH。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号