智能仪器实验.docx
- 文档编号:3418525
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:14
- 大小:399.84KB
智能仪器实验.docx
《智能仪器实验.docx》由会员分享,可在线阅读,更多相关《智能仪器实验.docx(14页珍藏版)》请在冰豆网上搜索。
智能仪器实验
智能仪器与接口技术
实验讲义
09电子本
目录
实验一A/D转换实验1
实验二D/A转换实验3
实验三智能仪器的常用数据处理技术5
实验四智能仪器的标度变换程序设计7
实验五数据滤波实验8
实验六智能仪器综合数据处理软件设计10
实验一A/D转换实验
一、实验目的:
1、了解A/D转换基本原理,了解ADC0809主要特性
2、掌握ADC0809与8051单片机硬件接口设计。
2、学会程序控制0809进行转换。
二、实验内容:
1、ADC0809的线性度实验。
2、0809的转换结束控制和通道控制。
三、实验步骤:
1、将ADC0809模块插入PACK2区。
2、将D2区的电位器中心抽头连接ADC0809的通道0(IN0),即P2-IO2
3、将A7区的P2-CS连接到A2区的A8(P2.0)
4、将A7区的P2-IO3~5分别连接到A2区的A2~A0
5、将A7区的P2-INT(即0809的EOC)连接到A2区的P3.3
组成如下所示线路:
四、实验过程记录:
1、ADC0809的线性度实验
⑴实验程序:
启动通道0转换
延时等待0.5mS
读转换结果
⑵实验数据记录
调节电位器,使AIN1输出分别是0V、0.5V、1V、1.5V、2V、2.5V、3V、3.5V、4V、4.5V时,单步运行程序,记录A/D的转换结果。
模拟量值
0V
0.5V
1V
1.5V
2V
2.5V
3V
3.5V
4V
4.5V
数字量值(十六进制)
00
1A
35
4F
67
80
9B
B5
CD
E7
数字量值(十六进制)
00
1B
31
4E
67
81
9C
B4
CE
E8
⑶以模拟量输入为横坐标,数字量输出为纵坐标作图,判定0809的线性度。
2、通道控制实验
将AIN1模拟量输出连接到0809的其它通道,如通道1,调节W1为实验1所示各值时,修改并运行程序读取A/D转换结果,判断与实验1是否一致。
3、将0809的EOC引脚连接到单片机的P1.0引脚,采取软件判别EOC电平状态替代延时的方法编程,调节W1为实验1所示各值时,读取A/D转换结果,判断与实验1是否一致。
五、实验心得:
ORG8000H
AA:
MOVDPTR,#7FF9H
MOVX@DPTR,A
MOVR2,#48H
WAIT:
DJNZR2,WAIT
MOVXA,@DPTR
LJMPAA
END
实验二D/A转换实验
一、实验目的:
1、了解DAC0832工作原理、内部结构,掌握DAC0832与8051单片机硬件接口设计。
2、学会程序控制DAC0832产生各种波形。
二、实验内容:
1、DAC0832的线性度实验。
2、使用DAC0832产生锯齿波、方波、三角波。
三、实验步骤:
1、将DAC0832模块插入PACK2区。
2、将模块上的JP1跳线帽跳至右侧的VCC处。
3、将A7区的P2-CS(0832的/CS和/XFER)连接到A2区的A15(8051的P2.7)。
4、将A7区的P2-IO2、P2-IO5、P2-INT分别接入C4区的A-、A+、AOUT
5、将C4区的V+、V-分别接C1区的+12V、-12V
组成如下所示线路。
四、实验过程记录:
1、DAC0832的线性度实验
⑴实验程序:
MOVDPTR,#7FFFH
MOVA,#DATA
MOVX@DPTR,A
⑵实验数据记录
运行上面程序,按增加和减少两个方向修改数字量(#DATA),记录当数字量分别是下表各值时D/A的转换结果(用万用表测C4区的AOUT点)。
数字量值,#DATA
00H
10H
30H
50H
70H
90H
B0H
D0H
F0H
FFH
模拟量值(增加方向)
模拟量值(减少方向)
模拟量值(平均)
⑶以数字量输入为横坐标,模拟量输出为纵坐标作图,判定0832的线性度。
2、用0832产生锯齿波
⑴实验程序
MOVDPTR,#7FFFH
CLRA
LOOP:
MOVX@DPTR,A
INCA
LJMPLOOP
⑵实验输出波形记录
编写并调试程序,用示波器观察C4区AOUT点的波形,记录波形周期和幅度。
与程序分析的相比较是否有误差?
为什么?
3、用0832产生方波
⑴实验程序
MOVDPTR,#7FFFH
CLRA
LOOP:
MOVX@DPTR,A
NOP
NOP
CPLA
LJMPLOOP
⑵实验输出波形记录
编写并调试程序,用示波器观察C4区AOUT点的波形,记录波形周期和幅度。
与程序分析的相比较是否有误差?
为什么?
五、实验心得:
实验三智能仪器的常用数据处理技术——
二、十进制数的相互转换程序设计
一、实验目的:
学习智能仪表的常用数值计算和数据处理方法,学习子程序的调用,掌握二进制数和十进制数的相互转换程序设计。
二、实验内容:
1、16位二进制整数转换为压缩BCD码十进制数
2、四位十进制数转换为二进制整数
三、实验步骤:
打开Keil51环境,分别输入程序,经编译后,输入原始数据,运行程序,调试并验证程序的正确性。
四、实验过程记录:
1、16位二进制整数转换为压缩BCD码十进制数
将30H31H中的16位二进制整数转换位压缩BCD十进制数送40H、41H、42H。
⑴编辑并输入程序
⑵运行程序,记录当30H、31H分别为0000H、0010H、00FFH、FF00H、FFFFH、2233H等值时,转换结果40H、41H、42H的值。
(30H)(31H)
0000H
0010H
00FFH
2233H
FF00H
其它值
其它值
FFFFH
40H~42H(理论值)
40H~42H(实际值)
结论:
。
。
。
。
。
。
⑶若转换为一般BCD十进制数,需存几个单元?
如何修改程序?
2、四位十进制数转换为二进制整数
将存放在内部RAM60H~63H的单字节BCD码转换为二进制数送30H、31H。
⑴编辑并输入程序
⑵运行程序,记录当内部RAM60H~63H分别为0、10、255、1255、3333、9999等值时,转换结果30H、31H的值。
60H
61H
62H
63H
30H31H(理论值)
30H31H(实际值)
0
0
0
0
0
0
1
0
0
2
5
5
1
2
5
5
3
3
3
3
其它值
其它值
其它值
其它值
其它值
其它值
其它值
其它值
9
9
9
9
结论:
。
。
。
。
。
。
⑶若内部RAM60H~63H存放的是压缩的BCD十进制数,转换为二进制数需存放几个单元?
五、实验心得:
实验四智能仪器的标度变换程序设计
一、实验目的:
学习智能仪表的常用数据处理功能,掌握通用标度变换程序设计。
二、实验内容:
将ADC输出的二进制数进行标度变换,转换为带有量纲的量。
三、实验步骤:
打开Keil51环境,输入程序,经编译后输入原始数据,运行程序,调试并验证程序的正确性。
四、实验过程记录:
若仪表测温范围为0℃~+150℃,ADC输出变化范围为0~255D(即00H~FFH),则:
⑴写出标度变换表达式,为。
⑵编程,输出当ADC输出00H、32H、64H、80H、96H、0C8H、0FFH等值时,仪表应显示的温度,并判断与理论计算是否相同。
ADC输出
00H
32H
64H
80H
96H
其它值
0C8H
0FFH
显示温度(理论值)
显示温度(实际值)
结论:
。
。
。
。
。
。
⑶若仪表测温范围为-50℃~+150℃,ADC输出变化范围为0~1023D,标度变换表达式如何?
五、实验心得:
实验五数据滤波实验
一、实验目的:
学习智能仪表的常用数据滤波控制算法,掌握程序判断滤波和算术平均滤波算法程序设计。
二、实验内容:
1、程序判断滤波算法程序设计
2、算术平均滤波算法程序设计
3、程序判断滤波算法和算术平均滤波算法相结合的复合滤波程序设计
三、实验步骤:
打开Keil51环境,输入程序,经编译后输入原始数据,运行程序,调试并验证程序的正确性。
四、实验过程记录:
1、程序判断滤波算法设计
设当前采样值存于57H,上次采样值存于56H,若最大允许偏差为0AH,使用程序判断滤波算法,输出滤波结果,存于60H。
⑴编辑并输入程序
⑵运行程序,记录当(56H)=78H,(57H)分别为68H、70H、78H、80H、82H、83H、FFH等值时的滤波结果。
(57H)
68H
70H
78H
80H
82H
83H
其它值
其它值
FFH
(60H)理论值
(60H)实际值
结论:
。
。
。
。
。
。
2、算术平均滤波算法设计
使用算术平均滤波算法,对内部RAM50H~57H中存放的8个单字节连续A/D采样值进行滤波,输出滤波结果,存于内部RAM的60H单元。
⑴编辑并输入程序
⑵运行程序,记录当内部RAM50H~56H(前7次采样值)为60H、64H、65H、69H、5FH、68H、63H时,57H单元(第8次采样值)分别为64H、68H、60H、01H、F0H等值时,滤波结果60H的值。
(50H)
(51H)
(52H)
(53H)
(54H)
(55H)
(56H)
(57H)
(60H)理论值
(60H)实际值
60H
64H
65H
69H
5FH
68H
63H
64H
60H
64H
65H
69H
5FH
68H
63H
68H
60H
64H
65H
69H
5FH
68H
63H
60H
60H
64H
65H
69H
5FH
68H
63H
01H
60H
64H
65H
69H
5FH
68H
63H
F0H
60H
64H
65H
69H
5FH
68H
63H
其它
60H
64H
65H
69H
5FH
68H
63H
其它
60H
64H
65H
69H
5FH
68H
63H
其它
结论:
。
。
。
。
。
。
3、复合滤波程序设计
若最大允许偏差为0AH,先对第8次采样值(57H)使用程序判断滤波,再对所有8次采样值使用算术平均滤波,结果如何?
(50H)
(51H)
(52H)
(53H)
(54H)
(55H)
(56H)
(57H)
(60H)理论值
(60H)实际值
60H
64H
65H
69H
5FH
68H
63H
64H
60H
64H
65H
69H
5FH
68H
63H
68H
60H
64H
65H
69H
5FH
68H
63H
60H
60H
64H
65H
69H
5FH
68H
63H
01H
60H
64H
65H
69H
5FH
68H
63H
F0H
60H
64H
65H
69H
5FH
68H
63H
其它
60H
64H
65H
69H
5FH
68H
63H
其它
60H
64H
65H
69H
5FH
68H
63H
其它
结论。
。
。
。
五、实验心得:
实验六智能仪器综合数据处理软件设计
一、实验目的:
学习智能仪表的常用数据处理功能,综合运用数据滤波控制算法、标度变换和二—十进制转换处理数据。
二、实验内容:
某电压仪表显示范围为0V~+200V,使用8位ADC进行转换,若A/D输出0时,显示电压0V,输出255时显示200V,写出标度变换表达式,为。
先使用复合程序滤波设计,再进行标度转换,存放于内部RAM中。
三、实验步骤:
打开Keil51环境,输入程序,经编译后输入原始数据,运行程序,调试并验证程序的正确性。
四、实验过程记录:
⑴若连续8次A/D采样值存放于8051内部RAM的30H~37H,先使用程序判断滤波(最大允许偏差为6)后使用均值滤波程序设计,输出复合滤波输出结果,再将该滤波结果进行标度变换,将结果转换为十进制数,存放于内部RAM的50H和51H单元。
(30H)
(31H)
(32H)
(33H)
(34H)
(35H)
(36H)
(37H)
(51H50H)理论值
(51H50H)实际值
16H
15H
14H
17H
19H
16H
18H
17H
16H
15H
14H
17H
19H
16H
18H
68H
40H
41H
42H
45H
3FH
43H
44H
42H
40H
41H
42H
45H
3FH
43H
44H
03H
60H
64H
65H
69H
5FH
68H
63H
F0H
60H
64H
65H
69H
5FH
68H
63H
65H
80H
84H
85H
89H
88H
86H
7FH
82H
80H
84H
85H
89H
88H
86H
7FH
FFH
B5H
B5H
B3H
B7H
B6H
B6H
B7H
04H
B5H
B5H
B3H
B7H
B6H
B6H
B7H
B4H
结论:
。
。
。
。
。
。
五、实验心得:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器 实验