智能仪器仪表实验报告
姓名:蔺涛
班级:电科0712
学号:0720108209
指导教师:黄伟军
20##年6月14号
实验一、A/D 转换0809应用
一、实验目的
1掌握A/ D转换与单片机的接口方法。
2了解A/ D芯片0809转换性能及编程方法。
3通过实验了解单片机如何进行数据采集。
二、实验内容
利用实验仪上的0809做A/ D转换实验,〖ZH(〗实验仪上的W1电位器提供模拟量输入。编制程序,将模拟量转换成数字量,通过发光二极管L1-L8显示。
三、实验说明
A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D转换器,速度快,价格也昂贵。实验用ADC0809属第二类,是8位A/ D转换器。每采集一次一般需100μs。由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。
四、实验步骤
①把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0-5V)。
②0809的CLK插孔与分频输出端T4相连。
③将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。调节W2,使V REF端为+5V。
④将A/D区的VREF连到W2的输出VREF端。
⑤EXIC1上插上74LS02芯片,将有关线路按图连好。
⑥将A/D区D0-D7用排线与BUS1区XD0-XD7相连。
⑦将BUS3区P3.0用连到数码管显示区DATA插孔。
⑧将BUS3区P3.1用连到数码管显示区CLK插孔。
⑨单脉冲发生/SP插孔连到数码管显示区CLR插孔。
⑩仿真实验系统在"P....."状态下。
⑾以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0-00H,2.5V-80H,5V-FFH。
五、实验原理图
六、实验程序
ORG 06D0H
START: MOV A,#00H
MOV DPTR,#9000H
MOVX @DPTR,A
MOV A,#00H
MOV SBUF,A
MOV SBUF,A
MOVX A,@DPTR
DISP: MOV R0,A
ANL A,#0FH
LP: MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SBUF,A
MOV R7,#0FH
H55S: DJNZ R7,H55S
MOV A,R0
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV SBUF,A
MOV R7,#0FH
H55S1: DJNZ R7,H55S1
LCALL DELAY
AJMP START
TAB: DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h
DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh
DELAY: MOV R6,#0FFh
DELY2: MOV R7,#0FFh
DELY1: DJNZ R7,DELY1
DJNZ R6,DELY2
RET
END
七、实验小结
掌握了A/ D转换与单片机的接口方法,学会了A/ D芯片0809转换性能和编程方法,通过实验了解了单片机进行数据采集的原理。
实验二、D/A转换0832应用
一、 实验目的
1了解D/ A转换与单片机的接口方法。
2了解D/ A转换芯片0832的性能及编程方法。
3了解单片机系统中扩展D/ A转换芯片的基本方法。
二、实验内容
利用0832输出一个从-5V开始逐渐升到0V再逐渐升至5V,再从5V逐渐降至0V,再降至-5V的锯齿波电压。
三、实验步骤
①把D/A区0832片选CS信号线接至译码输出插孔Y0。
②将+12V插孔、—12V插孔通过导线连到外置电源上,如果电源内置时,则+12V\,-12V电源已连好。
③将D/A区WR插孔连到BUS3区XWR插孔。
④将电位器W2的输出VREF连到D/A区的VREF上,电位器W2的输VIN连到+12V插孔,调节W2使VREF为+5V。
⑤用8芯排线将D/A区D0—D7与BUS2区XD0—XD7相连。
⑥在“P.....”状态下,从起始地址0740H开始连续运行程序(输入0740后按EXEC键)。
⑦用万用表或示波器测D/A输出端AOUT,应能测出不断加大和减小的电压值。
四、实验原理图
五、实验程序
ORG 0740H
HA6S: MOV SP,#53H
HA6S1: MOV R6,#00H
HA6S2: MOV DPTR,#8000H
MOV A,R6
MOVX @DPTR,A
MOV R2,#0BH
LCALL DELAY
INC R6
CJNE R6,#0FFH,HA6S2
HA6S3: MOV DPTR,#8000H
DEC R6
MOV A,R6
MOVX @DPTR,A
MOV R2,#0BH
LCALL DELAY
CJNE R6,#00H,HA6S3
SJMP HA6S1
DELAY: PUSH 02H
DELAY1: PUSH 02H
DELAY2: PUSH 02H
DELAY3: DJNZ R2,DELAY3
POP 02H
DJNZ R2,DELAY2
POP 02H
DJNZ R2,DELAY1
POP 02H
DJNZ R2,DELAY
RET
END
六、实验小结
掌握了D/ A转换与单片机的接口方法。学会了D/ A转换芯片0832的性能和编程方法。了解了单片机系统中扩展D/ A转换芯片的基本方法。
实验三、并行I/O口8255扩展
一、 实验目的
了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。
二、实验内容
用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、实验说明
因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。
四、实验步骤
①8255 PC0—PC7、PB0—PB3依次接发光二极管L1—L12。
②以连续方式从0630H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切换到东西路口方向,之后重复以上过程。
五、实验原理图
六、实验程序
ORG 0630H
HA4S: MOV SP,#60H
MOV DPTR,#0FF2BH
MOV A,#80H
MOVX @DPTR,A
MOV DPTR,#0FF29H
MOV A,#49H
MOVX @DPTR,A
INC DPTR
MOV A,#49H
MOVX @DPTR,A
MOV R2,#25H
LCALL DELAY
HA4S3: MOV DPTR,#0FF29H
MOV A,#08H
MOVX @DPTR,A
INC DPTR
MOV A,#61H
MOVX @DPTR,A
MOV R2,#55H
LCALL DELAY
MOV R7,#05H
HA4S1: MOV DPTR,#0FF29H
MOV A,#04H
MOVX @DPTR,A
INC DPTR
MOV A,#51H
MOVX @DPTR,A
MOV R2,#20H
LCALL DELAY
MOV DPTR,#0FF29H
MOV A,#00H
MOVX @DPTR,A
INC DPTR
MOV A,#41H
MOVX @DPTR,A
MOV R2,#20H
LCALL DELAY
DJNZ R7,HA4S1
MOV DPTR,#0FF29H
MOV A,#03H
MOVX @DPTR,A
INC DPTR
MOV A,#0cH
MOVX @DPTR,A
MOV R2,#55H
LCALL DELAY
MOV R7,#05H
HA4S2: MOV DPTR,#0FF29H
MOV A,#02H
MOVX @DPTR,A
INC DPTR
MOV A,#8aH
MOVX @DPTR,A
MOV R2,#20H
LCALL DELAY
MOV DPTR,#0FF29H
MOV A,#02H
MOVX @DPTR,A
INC DPTR
MOV A,#08H
MOVX @DPTR,A
MOV R2,#20H
LCALL DELAY
DJNZ R7,HA4S2
LJMP HA4S3
DELAY: PUSH 02H
DELAY1: PUSH 02H
DELAY2: PUSH 02H
DELAY3: DJNZ R2,DELAY3
POP 02H
DJNZ R2,DELAY2
POP 02H
DJNZ R2,DELAY1
POP 02H
DJNZ R2,DELAY
RET
END
七、实验小结
了解了并行I/O口8255芯片的结构及其编程方法,并学会了模拟交通灯控制的编程和实现方法。可以用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
实验四、直流电机调速
一、 实验目的
1掌握直流电机的驱动原理。
2了解直流电机调速的方法。
二、实验内容
1用0832 D/A转换电路后的输出经放大后驱动直流电机。
2编制程序改变0832输出经放大后的方波信号的占空比来控制电机转速。本实验中D/A输出为双极性输出,因此电机可以正反向旋转。
三、实验步骤
1将D/A区0832的片选信号连到译码输出Y0上。
20832的输出AOUT端连到DJ插孔。
3直流电机插头插到实验仪的DM插座上。
4D/A区0832的WR连到BUS3区XWR上。
5将+12V、-12V插孔用导线连到外置电源上。如果电源内置,则+12V、-12V插孔电源已连好。
6D/A区0832的VREF连到W2的输出VREF插孔。W2输入VIN连到+12V插孔,调节W2,使VREF为+5V。
7 将DMTO区-5V插孔用导线连到外置电源上,如果电源内置,-5V线内部已连好。
8 在“P.....”状态下,从起始地址0C30H开始连续运行程序。
9 观察直流电机的转速。
四、实验原理图
五、实验程序
ORG 0C30H
HA14S: MOV SP,#53H
MOV DPTR,#8000H
MOV A,#0FFH
HA14S1: MOVX @DPTR,A
LCALL DELAY
HA14S2: DEC A
LCALL DELAY
MOVX @DPTR,A
CJNE A,#00H,HA14S2
HA14S3: INC A
MOVX @DPTR,A
LCALL DELAY
CJNE A,#0FFH,HA14S3
SJMP HA14S1
DELAY: MOV R7,#0FFH
DELAY1: MOV R6,#80H
DELAY2: DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET
END
六、实验小结
掌握了直流电机的驱动原理。知道了直流电机调速的方法。通过实验知道了可以用0832 D/A转换电路后的输出经放大后驱动直流电机。编制程序改变0832输出经放大后的方波信号的占空比来控制电机转速。
第二篇:智能仪器设计实验报告
智能仪器设计报告
南京理工大学紫金学院电光系
摘要
本课题是设计并制作一个基于单片机和Labview的智能数字电压表,实现电压的自动换挡,提高测量精度。电压表分成三档0~100mV;100mV~1V;1~5V,利用程控增益放大器改变放大器的放大倍数,将各档内的输入电压依次放大50倍,5倍,1倍;程控放大器的输出端经ADC0809进行A/D转换,转换结果传输给AT89C51,AT89C51根据结果将信息反馈给多路选择器从而改变放大器放大倍数的,并利用串行通信发送给上位机,在Labview上实现测量数据的显示。
关键词:智能数字电压表 AT89C51 A/D转换 程控放大器
引言
《智能仪器课程设计》是一门理论和实践相结合的课程。它融入了现代电子设计的新思想和新方法,将智能仪器和虚拟仪器的理论和知识相结合,再结合所学的模拟电路和数字电路及单片机的理论和知识,设计、制作一个智能数字电压表,通过理论和实际的应用,帮助学生进一步提高系统的知识和实际设计能力。
本课程对于推动信息电子类学科面向21世纪课程体系和课程内容改革,引导、培养大学生创新意识、协作精神和理论联系实际的学风,加强学生工程实践能力的训练和培养,促进广大学生踊跃参加课外科技活动和提高毕业生的就业率都会起到了良好作用。
1 主要技术指标和要求
1.1(1)输入电压:0~5V(直流);
(2)分成三档:0~100mV;100mV~1V;1~5V;
(3)自动根据输入电压换挡;
(4)测量精度:最大值的0.4%;
(5)自动校零;
(6)利用虚拟仪器实现测量结果在微机上显示
1.2 实物要求
根据智能仪器的设计要求,在仿真的基础上,对系统的程控放大器在面包板上完成连接、装配、调试并和单片机的开发系统连接并通过开发系统与微机连接,最后在微机上显示所测的电压数值。
1.3 实验仪器
单片机与微机;功率函数信号发生器: SP1631A;万用表:UNI-T
1.4 主要器件及典型电路形式
(1)本次课程设计用器件介绍 :
单片机实验箱、微机、OP07、AD0808、Protues、Protel、Labview、Keil C51、
(2)典型数字电路形式和模拟电路:
程控运放电路
2 工作原理:
2.1 智能仪器数字电压表电路设计
1. 软件设计总流程图:
2. 各个组成模块:
I.量程自动切换电路:
同相放大器的放大增益为:K=1+Rf/RS , 在本电路中使R6、R7分别为R5的50 倍和5倍。与多路选择开关配合,使电路分别放大50、5和1倍。
CD4052真值表:
II.A/D采集和输出电路:
元器件引脚图,真值表
OP07
OP07的功能介绍:OP07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
OP07引脚图
1和8为偏置平衡(调零端),2为反向输入端,3为正向输入端,4接地,
5空脚 6为输出,7接电源
CD4052
CD4052是一个双4选一的多路模拟选择开关,具体接通哪一通道,由输入地址码AB来决定
管脚图:
真值表:
2.2 实验内容
#include <reg51.h>
#include <intrins.h>
#include <absacc.h>
#define PINO XBYTE[0X7FF8]
#define uchar unsigned char
#define uint unsigned int
sbit CD4052_A=P1^0 ;
sbit CD4052_B=P1^1;
void delay(uint i)
{ uint j=0;
while (j<i)
j++;
}
void vart_uint()
{ TMOD=0X20;
TH1=0XFA;
TL1=0XFA;
TR1=1;
PCON=0X80;
SCON=0X50;
}
void vart_tx_byte(uchar tx_data)
{ TI=0;
SBUF=tx_data;
while (!TI);
TI=0;}
void vart_tx(uchar voltage,uchar gain)
{ vart_tx_byte(0X7E);
vart_tx_byte(0X02);
vart_tx_byte(voltage);
vart_tx_byte(gain);
}
uchar read_adc0808()
{ uchar adc_data;
PINO=0;
delay(200);
adc_data=PINO;
return adc_data;
}
void tx_voltage()
{
uchar adc_data;
CD4052_A=0; CD4052_B=0;delay();
adc_data=read_adc0808();
if (adc_data<0XFF)
vart_tx(adc_data,50);
else { CD4052_A=1; CD4052_B=0;delay();
adc_data=read_adc0808();
if(adc_data<0XFF)
vart_tx(adc_data,10);
else { CD4052_A=0; CD4052_B=1;delay();
adc_data=read_adc0808();
if(adc_data<0XFF)
vart_tx(adc_data,1);
}
}
}
void main()
{
uchar i;
vart_uint();
while(1)
{
tx_voltage();
for(i=0;i<50;i++)
delay(1000);
}
}
II.Proteus原理图:
III.实验数据:
50档: 输入: 26.5mv 输出: 1.267v
40.4mv 1.937v
反馈电阻 Rf=240KΩ 理论放大 49倍 实际放大 48倍
5档: 输入: 161.8mv 输出: 800mv
567mv 2.831v
反馈电阻 Rf=20KΩ 理论放大 5倍 实际放大 4.95倍
1档 输入: 1.29v 输出: 1.37v
3.46v 3.65v
电路-电压跟随器 理论放大 1倍 实际放大 1.05倍
3 单元模块设计
3.1 程控放大器的设计
程控放大器实现多个放大倍数,确保输出电压在0~5V之间,能有效输入到ADC0809。
同相放大器的放大增益为:K=1+ Rf/ Rs,在本电路中使R2、R3、R4分别为R6的49 倍、4倍和趋于0倍。与多路选择开关配合,使电路分别放大50、5和1倍。
3.2 A/D采集电路的设计
包括启动、等待、采集数据。ADC0809系列内部含有三—八译码电路,以控制分别选通八个模拟输入通道,首先确定ADDA、ADDB、ADDC(一般用P0口的P0.0、P0.1、P0.2),在ALE信号下将该地址锁存在AD0809内部的地址锁存器中,经译码后选通指定的模拟通道。然后在START引脚上输出一个脉冲以启动A/D转换。EOC端上电平在A/D转换期间为低,转换后变成高电平,可作为查询中断信号使用。当OE为低电平时,D0-D7为高阻状态,当A/D转换完 成后,在OE引脚上给高电平可使转换结果出现在数据总线D0-D7上。
3. 3 单片机电路
3.4 串口电路
3.5 Labview显示界面
4.系统测试
当输入电压为50mv时,电压表为第一档,即放大倍数为50,串口发送如下图所示,电压为80,即D=128/255*5=2.51V,放大倍数约为50.
当输入电压为0.1v时,电压表为第二档,即放大倍数为5,串口发送如下图所示,电压为33,即D=51/255*5=1 v,放大倍数约为5。
当输入电压为2v时,电压表为第三档,即放大倍数为1,串口发送如下图所示,电压为6D,即D=109/255*5=2.13v,放大倍数约为1。
Labview与proteus联合测试
5.设计总结
1.通过本次实验,我了解和掌握了电子系统研发产品的一个基本流程,即软件设计—软件仿真—硬件安装—硬件调试。这个过程是不可跳跃的,前者是后者的基础,所以我们应该认真对待软件设计和仿真环节,观察实验异常现象,认真分析其出现原因,因为硬件调试的时候可能会出现类似的情况。
2.复习和回顾了以前的知识。其中既有软件操作,例如用keil编写代码,用proteus实现软件仿真,通过串口连接收发数据等;又有书本上的知识,比如自动量程选择的实现方法,通过多路选择开关CD4052实现自动换挡,运算放大器的反馈电路,各种芯片的管脚作用等。
参 考 文 献
[1] 史健芳.智能仪器设计基础.北京:电子工业出版社.2009
[2] 闫玉德、葛龙、俞虹.单片微型计算机原理与设计.北京:中国电力出版社.2010
[3] 张重雄 虚拟仪器技术分析与设计 北京:电子工业出版社 2007
紫金学院.微型与单片机原理及应用实验指导书.