智能仪器实验Word文档下载推荐.docx
《智能仪器实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《智能仪器实验Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
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
1B
31
4E
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:
INCA
LJMPLOOP
⑵实验输出波形记录
编写并调试程序,用示波器观察C4区AOUT点的波形,记录波形周期和幅度。
与程序分析的相比较是否有误差?
为什么?
3、用0832产生方波
NOP
CPLA
实验三智能仪器的常用数据处理技术——
二、十进制数的相互转换程序设计
学习智能仪表的常用数值计算和数据处理方法,学习子程序的调用,掌握二进制数和十进制数的相互转换程序设计。
1、16位二进制整数转换为压缩BCD码十进制数
2、四位十进制数转换为二进制整数
打开Keil51环境,分别输入程序,经编译后,输入原始数据,运行程序,调试并验证程序的正确性。
将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十进制数,需存几个单元?
如何修改程序?
将存放在内部RAM60H~63H的单字节BCD码转换为二进制数送30H、31H。
⑵运行程序,记录当内部RAM60H~63H分别为0、10、255、1255、3333、9999等值时,转换结果30H、31H的值。
60H
61H
62H
63H
30H31H(理论值)
30H31H(实际值)
1
2
5
3
9
⑶若内部RAM60H~63H存放的是压缩的BCD十进制数,转换为二进制数需存放几个单元?
实验四智能仪器的标度变换程序设计
学习智能仪表的常用数据处理功能,掌握通用标度变换程序设计。
将ADC输出的二进制数进行标度变换,转换为带有量纲的量。
打开Keil51环境,输入程序,经编译后输入原始数据,运行程序,调试并验证程序的正确性。
若仪表测温范围为0℃~+150℃,ADC输出变化范围为0~255D(即00H~FFH),则:
⑴写出标度变换表达式,为。
⑵编程,输出当ADC输出00H、32H、64H、80H、96H、0C8H、0FFH等值时,仪表应显示的温度,并判断与理论计算是否相同。
ADC输出
32H
64H
80H
96H
0C8H
0FFH
显示温度(理论值)
显示温度(实际值)
⑶若仪表测温范围为-50℃~+150℃,ADC输出变化范围为0~1023D,标度变换表达式如何?
实验五数据滤波实验
学习智能仪表的常用数据滤波控制算法,掌握程序判断滤波和算术平均滤波算法程序设计。
1、程序判断滤波算法程序设计
2、算术平均滤波算法程序设计
3、程序判断滤波算法和算术平均滤波算法相结合的复合滤波程序设计
1、程序判断滤波算法设计
设当前采样值存于57H,上次采样值存于56H,若最大允许偏差为0AH,使用程序判断滤波算法,输出滤波结果,存于60H。
⑵运行程序,记录当(56H)=78H,(57H)分别为68H、70H、78H、80H、82H、83H、FFH等值时的滤波结果。
(57H)
68H
78H
82H
83H
(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)
65H
69H
5FH
01H
其它
3、复合滤波程序设计
若最大允许偏差为0AH,先对第8次采样值(57H)使用程序判断滤波,再对所有8次采样值使用算术平均滤波,结果如何?
结论。
实验六智能仪器综合数据处理软件设计
学习智能仪表的常用数据处理功能,综合运用数据滤波控制算法、标度变换和二—十进制转换处理数据。
某电压仪表显示范围为0V~+200V,使用8位ADC进行转换,若A/D输出0时,显示电压0V,输出255时显示200V,写出标度变换表达式,为。
先使用复合程序滤波设计,再进行标度转换,存放于内部RAM中。
⑴若连续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
18H
40H
41H
42H
45H
3FH
43H
44H
03H
84H
85H
89H
88H
86H
7FH
B5H
B3H
B7H
B6H
B7H
04H
B4H