资源描述:
《单片机原理及应用——数据采集系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、宁波大学信息学院2013(2)“单片机原理及应用1”实验报告数据采集系统设计姓名:学号:班级:实验时间:姓名:学号:班级:实验地点:一、实验目的1.掌握单片机片内ADC及温度传感器的使用及应用程序设计二、实验内容应用单片机片内ADC实现数据的采集,使用片内温度传感器实现温度的测量。要求:1.应用C8051F020单片机片内温度传感器实现温度的测量,并用数码管显示实测温度值,显示精度为0.1oC。2.应用C8051F020单片机内ADC实现两路数据的采集,要求对外部输入0-2V的直流电压进行数据采集,测量精度为5mV,显示精度为0.001V。3.两种采集功能可
2、以用按键进行切换,可以用按键控制数据采集的通路。三、实验说明通过本实验,掌握单片机片内ADC使用方法,掌握基于单片机的数据采集系统的工作原理与设计方法。必须用模块化方法进行C语言程序设计。四、实验仪器和设备PC机、KeiluVision2软件,C8051F020单片机,EC3在线仿真器。五、实验原理1:ADC0的使用方法(1):初始化:a:输入模式:单端or双端;b:选定模拟输入通道;c:确定PGA增益;d:确定ADC0转换时钟;e:选定基准电压VREF;f:选定启动转换的方式;8宁波大学信息学院2013(2)“单片机原理及应用1”实验报告定时器溢出方式:选
3、择定时器(定时器初始化)g:确定查询方式还是中断方式中断方式:需进行中断初始化(2):开启ADC0:AD0EN=1(3):启动ADC0:(4)读取转换结果。2:温度传感器的传输函数示于图6.2。当温度传感器被选中(用AMX0SL中的AMX0AD3-0)时,其输出电压(VTEMP)是PGA的输入;PGA对该电压的放大倍数由用户编程的PGA设置值决定。而关于电压的公式为:为基准电压,经测量,。六、程序流程图8宁波大学信息学院2013(2)“单片机原理及应用1”实验报告8宁波大学信息学院2013(2)“单片机原理及应用1”实验报告8宁波大学信息学院2013(2)“
4、单片机原理及应用1”实验报告七、实验结果与分析1、测温度:经过测量,温度显示为26.5℃2、测电压:通过AID0的得的数据如下表1所示输入电压U理/V实测电压U实/V绝对误差
5、U理—U实
6、/mV0.300.29820.500.49730.800.79911.301.29911.501.48821.801.79912.001.9991表1通过AID1的得的数据如下表2所示输入电压U理/V实测电压U实/V绝对误差
7、U理—U实
8、/mV0.300.29730.500.49730.800.79821.301.29911.501.48911.801.79732.001.
9、9982表2结果分析:通过实验,利用单片机内置的温度传感器测出了单片机的温度,但是所测的温度是单片机芯片的温度,并非室温,由于工作状态的单片机会产热,所以此温度会比实际的室温高,通过查询资料得知大概高1.4℃。单片机显示的温度减去1.4℃的值会更接近室温。实验利用ADC测出了电压值,通过表1和表2的数据可知,在0~2V的范围内,测得的温度精确度很高,绝对误差小于5mV,而且还利用了两个通道测电压。其实这只是单测一次的电压值,从实验的习惯来讲是不太好的,实验次数太少偶然误差比较大,所以将来测电压时,应该多测几次,取平均值,当然此步骤可以在程序内部执行,不必自己
10、测多组再取平均值。八、源代码源代码必须有必要的注释,且要与流程图的逻辑关系对应。主代码:#include#include#include#includeunsignedcharkey=0xff;voiddisplay(unsignedlongnumber)//频率显示函数8宁波大学信息学院2013(2)“单片机原理及应用1”实验报告{unsignedcharT1,T2,T3,T4;T1=number%10;T2=(number/10)%10;T3=(number/100)%10;T4=
11、number/1000;if(AMX0SL==0X00
12、
13、AMX0SL==0X01)//测电压时的显示{ZLG7289_Download(1,7,0,T1);ZLG7289_Download(1,6,0,T2);ZLG7289_Download(1,5,0,T3);ZLG7289_Download(1,4,1,T4);}elseif(AMX0SL==0X0f)//测温度时的显示{ZLG7289_Download(1,7,0,0);ZLG7289_Download(1,6,0,T2);ZLG7289_Download(1,5,1,T3);ZLG7289_Dow
14、nload(1,4,0,T4);}}voidrest