adc数据采集显示实验

adc数据采集显示实验

ID:30359580

大小:224.54 KB

页数:12页

时间:2018-12-29

adc数据采集显示实验_第1页
adc数据采集显示实验_第2页
adc数据采集显示实验_第3页
adc数据采集显示实验_第4页
adc数据采集显示实验_第5页
资源描述:

《adc数据采集显示实验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、预习报告实验目的:1、熟练ATmega16内部的ADC特点;2、了解ATmega16内部的ADC在数据采集中的相关操作和寄存器说明;3、熟练的应用ATmega16内部的ADC转换器主要实验仪器:1、计算机一台(安装有PROTEUS和ICC软件)实验原理及主要工作:一、实验原理ATmega16内部的ADC拥有很多的特点,更具这些特点可以知道本次实验的有些内容的要求。本次试验是数据采集和显示,用ADC转换器来进行数据的采集,并在1602的液晶显示屏上显示出数据采集的结果。要做本次实验还需了解ATmega16内部的ADC的寄存器,ADC有

2、以下几个寄存器:(1)多路复用器选择寄存器-ADMUX:其中REFS1/REFS0:参考电压源选择设置;ADLAR:ADC转换结果对齐选择位。(2)ADC数据寄存器-ADCL及ADCH:读取ADCL之后,ADC数据寄存器一直要等到ADCH也被读出才可以进行数据更新。因此,如果转换结果为左对齐,且要求的精度不高于810比特,那么仅需读取ADCH就足够了。否则必须先读出ADCL再读ADCH,其中MUX4~0:模拟通道与增益选择位。(3)ADC控制和状态寄存器A-ADCSRA:其中ADEN:ADC使能位;ADSC:ADC转换启动位;ADA

3、TE:ADC自动触发使能位;ADIF:ADC中断标志;ADIE:ADC中断使能;ADPS2~0:ADC预分频器选择位。(4)特殊功能IO寄存器-SFIOR:其中ADTS2~0:ADC自动触发源;Res:保留位。预习中遇到的问题及思考:1、怎样选择变阻器?实验原始数据记录:10教师签字:10实验报告请按以下几个部分完成实验报告。一、实验步骤二、实验原理图(proteus)三、程序流程图四、C程序代码全部五、调试结果截图六、实验总结及心得体会七、附件(原理图及程序压缩包)一、实验步骤1、ADC端口初始化(设置为不带上拉电阻的输入口);2

4、、基准电压源设置;(设置特殊功能寄存器ADMUX的位REFS1、REFS0)3、转换结果对其方式设置:(设置特殊功能寄存器ADMUX的位ADLAR)4、输入通道选择设置:(设置特殊功能寄存器ADMUX的位MUX4:0)5、AD使能、启动转换、中断设置:(设置特殊功能寄存器ADCSRA)6、触发源选择设置:(设置特殊功能寄存器SFIOR)二、实验原理图如下图,使用软件PROTEUS画出原理图。因为在实际中没有AVR的开发板,所以使用软件来模型出,来显示。当然也要了解这个软件的使用方法。10因此,在下面的图形中能够显示出ADC的数据采集

5、与显示,所以如下图:三、程序流程图10四、C程序代码#include#include#defineuintunsignedint#defineucharunsignedchar#defineRS_CLRPORTC&=~BIT(0)#defineRS_SETPORTC

6、=BIT(0)#defineRW_CLRPORTC&=~BIT(1)#defineRW_SETPORTC

7、=BIT(1)#defineE_CLRPORTC&=~BIT(2)#defineE_SETPORTC

8、=BIT(2)cons

9、tucharbiaoti[]={"ADCTEST"};uintvalue=0;voiddelay_ms(uintt){ucharx,y;for(;t>0;t--){for(x=0;x<114;x++)for(y=0;y<1;y++);}}voidWRITE_DATA(uchardata){E_CLR;RS_SET;RW_CLR;PORTD=data;E_SET;delay_ms(5);E_CLR;10}voidWRITE_COM(uchardata){E_CLR;RS_CLR;RW_CLR;PORTD=data;E_SET;dela

10、y_ms(5);E_CLR;}voidinit_1602(void){DDRC=0xFF;DDRD=0xFF;delay_ms(20);WRITE_COM(0x38);delay_ms(5);WRITE_COM(0x38);delay_ms(5);WRITE_COM(0x38);delay_ms(5);WRITE_COM(0x08);WRITE_COM(0x0c);WRITE_COM(0x06);WRITE_COM(0x84);}voidADC_init(void){DDRA=0x00;PORTA=0x00;10ADMUX=0x00

11、;ADCSRA=0xe7;SFIOR=0x00;}voidmain(void){uchari;ucharADC_L,ADC_H;init_1602();for(i=0;i<10;i++){WRITE_DATA(biaoti[i]);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。