单片机及其应用开发-AD转换试验_第1页
单片机及其应用开发-AD转换试验_第2页
单片机及其应用开发-AD转换试验_第3页
单片机及其应用开发-AD转换试验_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验五模数转换应用实验1实验目的通过实验,了解 AVR单片机模数转换器的初始化、工作原理,以及AD按键的检测方法和工作原理.2实验内容1、通过AD转换采集PA7 (ADC7)引脚上的模拟电压,并将转换值在数码管上显示.参照 教材315页的ADC应用实例;2、将转换结果通过串口发送到PC机,熟悉串口的使用.3实验预习要求仔细阅读ATmega16单片机的数据手册,了解模数转换存放器的设置P191;参考教材第6章节.4实验步骤1、启动ICCAVR,新建工程文件“ ADkey.PRJ",新建Adkey.c文件,并将 Adkey文件添加 到 Adkey 工程中,并设置 project->

2、option->target 下的 device configuration 选择ATMega16 ;2、 本实验的ADC初始化代码请独立完成,Application Builder直接生成的ADC初始化代码不正确,本实验板 ADC的参考电源请选择 AVCC , Prescale请选择64, AD键盘所用 的AD输入为ADC7通道;参考Mega16数据手册中203页的ADC相关存放器介绍和 教材315页的范例关于ADC启动方式一般可选:用定时器触发启动,也可以使用软件启动的方法.(1)如果采用定时器触发AD转换,一般选择定时器比较匹配时触发AD转换的方法.例如选用Timer.比较匹配来触

3、发启动 AD转化,即当Timer.比较匹配发生时,自动启 动AD转换,不需要程序干预,如果 TimerO的比较匹配时间为 5ms,那么ADO 5ms 自动启动一次.此日SFIOR存放器的ADTS2:0需要设为011(2)采用软件启动 AD转换的方式:又称单次转换模式,即每次AD转换的启动都需要程序触发.方法是:程序中置位 ADCSRAT存器中白第六位(ADSC位),便会立即启动一 次AD转化;例如:ADCSRA |= (1 << ADSC); / 开始AD转换(3)关于转换结果的读取,可以用查询方式读取也可以用AD转换完成中断方式读取;(4)查询方式读取实例:(注:AD转换结果为左

4、对齐方式) unsigned int AD_GetData() (.ADCSRA |= (1 << ADSC); /开始人熊换while(!(ADCSRA & (1 << ADIF); /等待转换完成ADCSRA |= (1 << ADIF);/清零 AD阱断标志位return ADCH; /返回ADCHt,只取高 8位)然后通过以下方法将AD堂换结果换算为电压值; adc_v=(unsigned long)ADC*3300/1024;通过以下方法将电压值刷新到display buffer 中 adc_to_disbuffer(adc_v);数码管显

5、示方法采用前几次实验的现实方法,Display函数会自动将display buffer中的内容显示在数码管上.(5)中断方式读取实例:当ADC转换结束后自动产生中断,在中断中将转换结果保存起来/ ADC转换完成中断效劳void AD_handler(void)/AD转换结束中断效劳程序 一adc_v=(unsigned long)ADC*3300/1024; /将 AD啜换结果换算成电压值adc_to_disbuffer(adc_v);/将电压值刷新到 display buffer 中 一一一/ ADC电压值送显示缓冲区函数void adc_to_disbuffer(unsigned int

6、adc) 一一 char ifor (i=0;i<3;i+) dis_buffi=adc % 10;/分别得到转换结果的个位、十位、百位,存于 dis_buff中adc /= 10;3、参考提供的实例代码实现如下功能:1、将AD转换结果在4位数码管上显示;2、通过AD转换结果反过来判断哪个键按下.最后选择【Project -> Rebuild All 编译工程,通过PROGISP程序下载程序到单片机,观察实验现象.实验五AD转换应用试验系别计算机工程系课程名称单片机及其应用开发专业09计算机科学实验名称AD转换应用实验班级09计算机科学B小组情况姓名实验时间2021-5-12学号指

7、导教师吕簌报告内容1实验目的通过实验,了解 AVR单片机模数转换器的初始化、工作原理,以及AD按键的检测方法和工作原理,了解串口的使用方法.2实验内容(1)通过AD转换米集PA7 (ADC7 )引脚上的模拟电压,并将转换值在数码管上显示.(2)将转换结果通过串口发送到PC机,熟悉串口的使用.3 首先根据如卜要求初始化ADC 模块,完成 ADC 初始化函数,并米用查询方式AD_GetData()方法获取 ADC的转换结果,并将米集到的电压值在数码管上显示;void adc_init(void)ADMUX = ;/1、参考电压采用Avcc; 2、转换结果右对齐;3采集PA7的电压ADCSR = ; /1 使能 ADC; 2、ADC 时钟选 128 分频注:建议通过定时中断设计 100ms的时标,在主循环中每 100ms调用一次 AD_GetData()获取ADC转换 结果,将ADC转换结果换算为电压值(以mv为单位,见实验说明),并显示在数码管上;4、采用Application builder生成串初

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论