ADC转换实验报告.doc_第1页
ADC转换实验报告.doc_第2页
ADC转换实验报告.doc_第3页
ADC转换实验报告.doc_第4页
ADC转换实验报告.doc_第5页
全文预览已结束

下载本文档

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

文档简介

实 验 报 告姓姓名名 学学号号 班 级 指导老师 实验日期 2010.5.4 成 绩 实验题目:A/D转换实验一、实验目的:1.学习C语言的编程方法,ICC AVR的使用方法 2.掌握AVRATmega8单片机实验开发系统的 ISP在线编程方法 3.掌握ADC的接线方法,ADC函数的使用方法 4.学会利用ADC转换来调试程序的技巧 二、实验材料:1.AVRATmega8 单片机开发板 一块 2.+9V直流电源 一个 3.USBISP下载电缆 一根 三、实验原理:ADC0809 包括一个8 位的逐次逼近型的ADC 部分,并提供一个8 通道的模拟多路开关和联合寻址逻辑。用它可直接输入8 个单端的模拟信号,分时进行A/D 转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。ADC0809 的主要技术指标为: 分辨率:8 位 单电源:5V 总的不可调误差:1LSB 转换时间:取决于时钟频率 模拟输入范围:单极性 05V 时钟频率范围:10KHz1280KHz 图1 ADC0809 外部引脚图ADC0809 的外部管脚如图1所示,地址信号与选中通道的关系如表1所示。 表1 地址信号与选中通道的关系四、实验内容:1. 按图3连接实验线路,AD 的时钟线需要与实验平台中的系统总线单元的CLK 相连;2. 编写实验程序,经编译、链接无误后装入系统,启动调试,运行程序;3. 程序运行到断点处停止运行,查看窗口中30H 的值;4. 调节电位器,改变输入电压,比较实际值与计算值,反复验证程序功能。图2 AD 转换实验接线图5.程序清单:#include #include #define osccal 0x7d#define Vref 500extern const unsigned char seg_table16;extern unsigned char led_buff4;extern void delay_ms(unsigned int time);extern void display(void);unsigned int adc_rel;unsigned char adc_mux;void adc_init(void) DDRC=0x00; PORTC=0x00; ADCSRA = 0x00; ADMUX =(1REFS0)|(adc_mux&0x0f); ACSR =(1ACD); ADCSRA=(1ADEN)|(1ADSC)|(1ADIE)|(1ADPS2)|(1ADPS1) ;#pragma interrupt_handler adc_isr:iv_ADC void adc_isr(void) adc_rel=ADC&0x3ff; ADMUX=(1REFS0)|(adc_mux&0x0f); ADCSRA|=(1ADSC); void ADCtoBCD(unsigned int temp) unsigned char i; temp=(unsigned int)(unsigned long)(unsigned long)temp*Vref)/1024); for(i=0;i4;i+) led_buffi=seg_tabletemp%10; temp=temp/10; led_buff2&=0x7f; /MAIN程序void main(void) unsigned char i; unsigned int adc_old; DDRD=0xf0; PORTD=0xff; OSCCAL=osccal; adc_mux=0; adc_init(); SEI(); for(i=0;i4;i+) led_buffi=seg_table8; for(i=0;i200;i+) display(); adc_old=0; adc_rel=0; while(1) if(adc_old!=adc_rel) adc_old=adc_rel; ADCtoBCD(adc_old); display(); i=PIND&0x0c; if(i!=0x0c) display(); if(i=(PIND&0x0c) CLI(); adc_rel=0; adc_old=0; if (i=0x08) if(adc_mux0) adc_mux-; else adc_mux=3; led_buff0=seg_tableadc_mux; led_buff1=0xbf; led_buff2=0b10001001; led_buff3=0b11000110; while(PIND&0x0c)!=0x0c) display(); SEI(); 五、试验结果:序号转换数据转换(计算)值实测值误差10.500(19)H0.4900.01021.00(33)H1.0000.00031.500(4D)H1.501-0.00141.998(66)H2.000-0.00252.500(7H)H2.4900.01062.999(99)H3.000-0.00173.500(B3)H3.510-0.01083.999(CD)H4.020-0.02194.501(E7)H4.529-0.028104.837(F8)H4.863-0.026六、误差分析与实验结论:1.由于实验设备不精确而引起的系统误差,例如:实验设备制作不精确,使用时间过长引起的设备老化,而引起的误差。2读数不精确引起的偶然误差。在电压表读数未稳定时读数,或者由于电压表精确度不

温馨提示

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

评论

0/150

提交评论