- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据采集系统设计
姓名: 学号: 班级: 实验时间:
姓名: 学号: 班级: 实验地点:
一、实验目的
1. 掌握单片机片内ADC及温度传感器的使用及应用程序设计
二、实验内容
应用单片机片内ADC实现数据的采集,使用片内温度传感器实现温度的测量。要求:
1. 应用C8051F020单片机片内温度传感器实现温度的测量,并用数码管显示实测温度值,显示精度为0.1oC。
2. 应用C8051F020单片机内ADC实现两路数据的采集,要求对外部输入0-2V的直流电压进行数据采集,测量精度为5mV,显示精度为0.001V。
3. 两种采集功能可以用按键进行切换,可以用按键控制数据采集的通路。
三、实验说明
通过本实验,掌握单片机片内ADC使用方法,掌握基于单片机的数据采集系统的工作原理与设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备
PC机、Keil uVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理
1:ADC0的使用方法
(1):初始化:
a:输入模式:单端 or双端;
b:选定模拟输入通道;
c:确定PGA增益;
d:确定ADC0转换时钟;
e:选定基准电压VREF;
f:选定启动转换的方式;
定时器溢出方式:选择定时器(定时器初始化)
g:确定查询方式还是中断方式
中断方式:需进行中断初始化
(2):开启ADC0:AD0EN=1
(3):启动ADC0:
(4) 读取转换结果。
2:温度传感器的传输函数示于图 6.2。当温度传感器被选中(用 AMX0SL 中的 AMX0AD3-0)
时,其输出电压(VTEMP)是 PGA 的输入;PGA 对该电压的放大倍数由用户编程的 PGA 设置
值决定。
而关于电压的公式为:
为基准电压,经测量,。
六、程序流程图
七、实验结果与分析
1、测温度:
经过测量,温度显示为26.5℃
2、测电压:
通过AID0的得的数据如下表1所示
输入电压U理/V
实测电压U实/V
绝对误差|U理—U实| /mV
0.30
0.298
2
0.50
0.497
3
0.80
0.799
1
1.30
1.299
1
1.50
1.488
2
1.80
1.799
1
2.00
1.999
1
表 SEQ 表格 \* ARABIC 1
通过AID1的得的数据如下表2所示
输入电压U理/V
实测电压U实/V
绝对误差|U理—U实| /mV
0.30
0.297
3
0.50
0.497
3
0.80
0.798
2
1.30
1.299
1
1.50
1.489
1
1.80
1.797
3
2.00
1.998
2
表 SEQ 表格 \* ARABIC 2
结果分析:
通过实验,利用单片机内置的温度传感器测出了单片机的温度,但是所测的温度是单片机芯片的温度,并非室温,由于工作状态的单片机会产热,所以此温度会比实际的室温高,通过查询资料得知大概高1.4℃。单片机显示的温度减去1.4℃的值会更接近室温。
实验利用ADC测出了电压值,通过表1和表2的数据可知,在0~2V的范围内,测得的温度精确度很高,绝对误差小于5mV,而且还利用了两个通道测电压。其实这只是单测一次的电压值,从实验的习惯来讲是不太好的,实验次数太少偶然误差比较大,所以将来测电压时,应该多测几次,取平均值,当然此步骤可以在程序内部执行,不必自己测多组再取平均值。
八、源代码
源代码必须有必要的注释,且要与流程图的逻辑关系对应。
主代码:
#includeZLG7289.h
#includedelay.h
#includesysc.h
#includebdwtd.h
unsigned char key=0xff;
void display(unsigned long number)//频率显示函数
{ unsigned char T1,T2,T3,T4;
T1=number%10;
T2=(number/10)%10;
T3=(number/100)%10;
T4=number/1000;
if(AMX0SL==0X00||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);}
else if(AMX0SL==0X0f) //测温度时
您可能关注的文档
- 化学品生产位受限空间作业安全规范(AQ3028-2008).ppt
- 前牙及双尖解剖.ppt
- 化工原理 后答案.doc
- 化工原理 收习题.doc
- 化工原理练题.doc
- 化工原理复题-3.doc
- 化工热力学.2~6.3压缩膨胀1.ppt
- 化工设备基知识.doc
- 化工机械基2-1.ppt
- 化工设备常词汇和缩写中英文对照.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)