智能仪器实验指导书0309Word文件下载.docx
《智能仪器实验指导书0309Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能仪器实验指导书0309Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
bitflag=0;
bitDACconversion(unsignedcharsla,unsignedcharc,unsignedcharVal);
bitISendByte(unsignedcharsla,unsignedcharc);
unsignedcharIRcvByte(unsignedcharsla);
/******************************/
voidmain(void)//主程序
{
unsignedintv;
unsignedcharAD_CHANNEL=0;
unsignedintD[5]={0,0,0,0,255};
TMOD=0x11;
//设置定时器0工作模式,16位计数模式
TH0=THCO;
TL0=TLCO;
TR0=1;
//启动定时器
ET0=1;
//使能定时器中断
EA=1;
//开总中断
while
(1)
{
if(flag==1)
{flag=0;
if(++AD_CHANNEL>
4)AD_CHANNEL=0;
switch(AD_CHANNEL)
{
case0:
ISendByte(PCF8591,0x40);
D[AD_CHANNEL]=IRcvByte(PCF8591);
//ADC3模数转换4
break;
case1:
ISendByte(PCF8591,0x41);
//ADC0模数转换1
case2:
ISendByte(PCF8591,0x42);
//ADC1模数转换2
case3:
ISendByte(PCF8591,0x43);
//ADC2模数转换3
case4:
DACconversion(PCF8591,0x40,D[4]);
//DAC数模转换
D[4]=255-D[4];
//输出方波
break;
}
v=D[AD_CHANNEL];
Data_Buffer[0]=AD_CHANNEL;
Data_Buffer[1]=v/100%10;
Data_Buffer[2]=v/10%10;
Data_Buffer[3]=v%10;
}
}
voidtimer0()interrupt1//定时器中断服务子程序
staticunsignedintcount=0;
//软计时变量定义
staticunsignedcharBit=0;
//静态变量,退出程序后,值保留
Bit++;
if(Bit>
=4)Bit=0;
P2|=0xf0;
//先关位码
P0=Duan[Data_Buffer[Bit]];
//开段码
if(Bit==0)P0|=0x80;
switch(Bit)//送位码
{
case0:
P24=0;
break;
case1:
P25=0;
case2:
P26=0;
case3:
P27=0;
count++;
if(count>
=250)//半S时间到
count=0;
flag=1;
}
6.思考题
1)通过按键设定待转换通道,并将该通道的采样值在数码管上显示出来。
2)利用PCF8591产生一个三角波形,用示波器观察结果。
7、实验成绩评定方法
实验成绩包括实验完成质量、实验报告质量2部分组成,各部分所占比例分别为50%、50%。
8、实验报告要求
1)实验名称
2)实验目的
3)实验要求
4)实验步骤
5)调试
6)结果
实验三键盘及LCD显示
一、实验目的
1.掌握独立式键盘的编程方法。
2.掌握LCD的接口技术和编程方法。
3.掌握仪器监控程序设计和调试方法。
二、实验要求
1.利用实验板上提供的键盘电路,LCD显示电路,将实验二中采集的电压信号在LCD上显示出来,并显示通道号。
2.可以通过按键设定的待显示的通道号,并显示在LCD上。
三、预习与参考
1.结合ST7920控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。
2.参考资料
1)实验板说明书
2)ST7920控制器系列中文图形液晶模块资料手册
四、实验仪器设备和材料清单
单片机实验板、ST7920图形液晶模块、PC机;
Keilc51软件、STC-ISP下载软件。
五、实验设计及实施的指导
1.以单片机为核心,设计键盘及LCD的硬件电路,画出电路原理图。
2.设计键盘及LCD的控制软件,画出流程图,编写控制程序。
3.在指导教师指导下调试LCD显示程序。
4.在指导教师指导下调试按键程序。
5.综合调试直到满足设计要求。
注:
1、2项须在课外完成。
六、参考资料
LCD显示参考程序
reg51.h"
intrins.h"
sbitCS=P1^0;
sbitSID=P1^1;
sbitSCLK=P1^2;
sbitB_light=P2^7;
//背光控制
voiddelay(unsignedintj)
unsignedchari;
do{
for(i=0;
i<
100;
i++);
}while(j--);
}
voidsend_command(unsignedcharcommand_data)//发送命令
{
unsignedchari_data,temp_data1,temp_data2;
i_data=0xf8;
//操作命令,可以查看资料
delay(10);
CS=1;
SCLK=0;
8;
i++)
SID=(bit)(i_data&
0x80);
SCLK=0;
SCLK=1;
i_data=i_data<
<
1;
i_data=command_data;
i_data&
=0xf0;
temp_data1=i_data&
0xf0;
temp_data2=i_data&
0x0f;
temp_data1>
>
=4;
temp_data2<
i_data=temp_data1|temp_data2;
CS=0;
voidsend_data(unsignedcharcommand_data)//发送数据
i_data=0xfa;
//操作命令,可以查看资料
voidInitLCD()//液晶初始化
send_command(0x30);
//功能设置:
一次送8位数据,基本指令集
send_command(0x06);
//点设定:
显示字符/光标从左到右移位,DDRAM地址加1
send_command(0x0c);
//显示设定:
开显示,显示光标,当前显示位反白闪动
send_command(0x04);
send_command(0x01);
//清DDRAM
send_command(0x02);
//DDRAM地址归位
send_command(0x80);
//把显示地址设为0X80,即为第一行的首位
/*x,y为起始座标x(0<
=x<
=3),y(0<
=y<
=7),x为行座标,y为列座标;
how为要显示汉字的个数;
str是要显示汉字的地址*/
voidDispHanzi(unsignedcharx,unsignedchary,unsignedcharhow,unsignedchar*stri)
unsignedcharhi=0;
//汉字显示
if(x==0)send_command(0x80+y);
//
elseif(x==1)send_command(0x90+y);
elseif(x==2)send_command(0x88+y);
elseif(x==3)send_command(0x98+y);
for(hi=0;
hi<
how;
hi++)
send_data(*(stri+hi*2));
send_data(*(stri+hi*2+1));
voidDispZimu(unsignedcharx,unsignedchary,unsignedcharhow,unsignedchar*stri)//字母数字都可以显示
//字母显示
send_data(*(stri+hi));
main()
InitLCD();
B_light=0;
DispHanzi(1,1,4,"
北京时间"
);
//第二行显示,2列显示汉字
DispZimu(3,1,10,"
0123456789"
while
(1);
}
七、成绩评定及实验报告格式要求参见实验二
实验四基本数据处理算法
1.掌握随机误差的数字滤波算法。
二、预习与参考
1.随机误差的数字滤波算法
三、实验内容
1.将实验二中采集的0-5V电压信号进行数字滤波后,在LCD上显示出来。
(必做)
2.利用热敏电阻进行温度检测,测温范围为0-50º
C,要求将测量温度值在LED或LCD上显示出来。
(选做)
四、实验要求
1.设计硬件电路,画出电路原理图。
2.用KeilC51编写数据处理程序,并调试。
2.实验结果LCD上显示出来。
五、实验仪器设备和材料清单
PC机;
单片机实验板、ST7920图形液晶模块
Keilc51软件、STC-ISP下载软件。
六、实验设计及实施的指导
1.将单片机采集的数字量经过数字滤波后,首先转换成0-5V电压值,再算出对应的热敏电阻值,为了方便查表也放大1000倍;
2.利用对半查表法原理将计算的电阻值和表中电阻值比较,找出相等或最接近的元素,最后经计算得到相应的温度值。
5.编写程序并调试。
七、实验成绩评定方法和实验报告要求参见实验二。
八、参考资料
热敏电阻型号:
MF52-103/343510K
±
1%精度B值:
3435
1、型号
MF
52
103
H
3470
F
A
NTC热敏电阻
环氧系列
电阻值
阻值允差
B值
B值允差
B值类别
10KΩ
±
5%
3470K
1%
B25/50
2、电气性能
序号
项目
符号
测试条件
最小值
正常值
最大值
单位
1
25℃的电阻值
R25
Ta=25±
0.05℃
PT≦0.1mw
9.9
10.0
10.1
kΩ
2
50℃的电阻值
R50
Ta=50±
/
4.0650
3
3436
3504
K
4
耗散系数
σ
0.5℃
2.0
mw/℃
5
时间常数
τ
15
sec
6
绝缘电阻
500VDC
50
MΩ
7
使用温度范围
-55
+125
℃
3、使用注意事项
将产品引线裁剪成所需要的长度,注意最小长度≧5mm。
MF52
10K3470
温
度
特
性
表
R25℃=10KB(25/50)=3470K
T(℃)
R(KΩ)
-40
190.5562
-27
99.5847
-14
53.1766
-1
29.2750
-39
183.4132
-26
94.6608
-13
50.7456
0
28.0170
-38
175.6740
-25
90.0326
-12
48.4294
1
26.8255
-37
167.6467
-24
85.6778
-11
46.2224
2
25.6972
-36
159.5647
-23
81.5747
-10
44.1201
3
24.6290
-35
151.5975
-22
77.7031
-9
42.1180
4
23.6176
-34
143.8624
-21
74.0442
-8
40.2121
5
22.6597
-33
136.4361
-20
70.5811
-7
38.3988
6
21.7522
-32
129.3641
-19
67.2987
-6
36.6746
7
20.8916
-31
122.6678
-18
64.1834
-5
35.0362
8
20.0749
-30
116.3519
-17
61.2233
-4
33.4802
9
19.2988
-29
110.4098
-16
58.4080
-3
32.0035
10
18.5600
-28
104.8272
-15
55.7284
-2
30.6028
11
18.4818
12
18.1489
25
10.0000
38
6.1418
51
3.9271
13
17.6316
26
9.5762
39
5.9343
52
3.7936
14
16.9917
27
9.1835
40
5.7340
53
3.6639
15
16.2797
28
8.8186
41
5.5405
54
3.5377
16
15.5350
29
8.4784
42
5.3534
55
3.4146
17
14.7867
30
8.1600
43
5.1725
56
3.2939
18
14.0551
31
7.8608
44
4.9976
57
3.1752
19
13.3536
32
7.5785
45
4.8286
58
3.0579
20
12.6900
33
7.3109
46
4.6652
59
2.9414
21
12.0684
34
7.0564
47
4.5073
60
2.8250
22
11.4900
35
6.8133
48
4.3548
61
2.7762
23
10.9539
36
6.5806
49
4.2075
62
2.7179
24
10.4582
37
6.3570
50
4.0650
63
2.6523
64
2.5817
77
1.7197
90
1.2360
103
0.8346
65
2.5076
78
1.6727
91
1.2037
104
0.8099
66
2.4319
79
1.6282
92
1.1714
105
0.7870
67
2.3557
80
1.5860
93
1.1390
106
0.7665
68
2.2803
81
1.5458
94
1.1067
107
0.7485
69
2.2065
82
1.5075
95
1.0744
108
0.7334
70
2.1350
83
1.4707
96
1.