多路数据采集系统Word下载.docx
- 文档编号:21382805
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:22
- 大小:268.04KB
多路数据采集系统Word下载.docx
《多路数据采集系统Word下载.docx》由会员分享,可在线阅读,更多相关《多路数据采集系统Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
最后在室温下进行校验。
例如,若室温为25℃,那么V0应为25mV。
冰水混合物是0℃环境,沸水为100℃环境。
因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的电阻之和为1kΩ时,输出电压V0随温度的变化为1mV/K。
但由于AD590的增益有偏差,电阻也有偏差,因此应对电路进行调整,调整的方法为:
把AD590放于冰水混合物中,调整电位器R2,使V0=273.2+25=298.2(mV)。
但这样调整只保证在0℃或25℃附近有较高的精度。
3.2复位电路
图3.2复位电路
复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,就可使MCS—51单片机复位。
复位的主要功能是把PC初始化为0000H,使MCS—51单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键重新启动。
单片机的复位电路通常采用上电复位和按钮复位的两种方式。
本设计采用图3.4上电复位电路.上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
除PC之外,复位操作还对其它寄存器有影响,他们的复位状态如表3.1所示,由表可以看出来,复位时,SP=07H;
4个I/O端口P0-P3的引脚均为高电平,这在某些控制应用中,要考虑到引脚的高电平对外部控制电路的影响。
寄存器
复位状态
PC
0000H
TMOD
00H
Acc
TCON
PSW
TH0
B
TL0
SP
07H
TH1
DPTR
TL1
P0-P3
FFH
SCON
IP
XXX00000B
SBUF
XXXXXXXXB
IE
0XX00000B
PCON
0XXX0000B
表3.1复位时片内各寄存器的状态
3.3时钟电路
图3.3时钟电路
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英振荡器和微调电容,就构成一个稳定的自激振荡器,图3.3为单片机内部时钟方式的振荡器电路。
晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。
但反过来运行速度快对储存器的速度也就越高。
本设计为何采用6MHZ的晶振将在单片机与ADC0809接口电路中介绍。
3.4LED显示电路
图3.4显示电路
本设计使用动态扫描方法来显示温度的大小,在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个8位I/O口控制,形成段选线的多路复用。
而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。
图3.4所示位一个4位7段LED动态显示器电路原理图。
由于考虑到单片机的I/O口有限所以使用了CD4511译码器进行扩张I/O口。
其中段选线占用一个8位I/O口,而位选线占用一个4位I/O口。
由于各位的段选线并联,段码的输出对各位来说都是相同的。
因此,同一时刻,如果各位位选都处于选通状态的话,4位LED将显示相同的字符。
若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。
这样同一时刻,4位LED中只有选通的那一位显示字符,而其他三位则是熄灭的。
同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。
如此循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而同一时刻,只有以为显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可造成多为同时亮的假象,达到同时显示的目的。
LED不同位显示的时间间隔不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。
但也不能太长,因为毕竟要受限于临界闪烁频率,而且时间越长,占用CPU时间也越多。
另外,显示位增多,也将占用大量的CPU时间,因此动态显示实质是以牺牲CPU时间来换取元件的减小。
3.5单片机与ADC0809、DAC0832接口电路
图3.5单片机与ADC0809、DAC0832接口电路
3.5.1单片机与ADC0809接口电路
用单片机控制ADC时,多数采用查询和中断控制两种方法。
查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行擦互训,以检查ADC变换是否已经结束,如查询到变换已结束,则读入转换完毕的数据。
ADC0809与AT89S51片内无时钟,可利用AT89S51提供的地址锁存允许信号ALE经D触发器二分频后获得,ALE脚的频率是8051单片机时钟频率的1/6(但要注意的是,每当访问外部数据存储器时,将少一个ALE脉冲)。
如果单片机时钟频率采用6MHZ,则ALE脚的输出频率为1MHZ,再二分频后为500KHZ,恰好符合ADC0809对时钟频率的要求。
由于ADC0809具有输出三态锁存器,其八位数据输出引脚可直接与数据线总线相连。
地址译码引脚A,B,C分别与地址总线的低三位A0,A1,A2相连,以选通IN0—IN7中的一个通路。
将P2.7(地址总线A15)作为片选信号,在启动和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。
在读取转换结果时,用低电平的读信号和P2.7脚经一级或非门后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。
由以上分析可知:
在软件编写时,应令P2.7=A15=0;
A0,A1,A2给出被选择的模拟通道的地址;
执行一条输出指令,启动A/D转换;
执行一条输入指令,读取转换结果。
3.5.2单片机与DAC0832接口电路
单片机与DAC0832接口时,可以有三种方式:
直通方式,单缓冲方式和双缓冲。
单缓冲方式是指DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受单片机控制的锁存方式。
在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下,就可采用单缓冲方式,本设计采用单缓冲方式。
由图3.5可知,WR2和XFER接地,故DAC0832的八位DAC寄存器工作于直通方式。
八位输入寄存器受CS和WR1端信号控制,而且CS由P2.6口来控制。
举个例子,当单片机执行如下两条指令就可在WR1和CS上产生低电平信号,使DAC0832接收8031送来的数字量。
指令:
MOVR0,#BFH;
MOVX@R0,A
3.6程序设计
3.6.1程序流程图
3.6.2主程序
#include<
AT89X51.H>
#include<
intrins.h>
unsignedcharxdata*adcpoint;
unsignedcharxdata*dacpoint;
unsignedcharidata*cunshu;
unsignedcharidata*cunshuer;
unsignedchargewei,shiwei,baiwei,qianwei;
unsignedintfreq;
unsignedcharshu;
unsignedchari;
sbitLEDdian=P3^0;
//小数点显示控制位
unsignedintcodezibiao[256]=
{0,20,39,59,78,98,118,137,157,176,196,216,235,255,275,
294,314,333,353,373,392,412,431,451,471,490,510,529,549,
569,588,608,627,647,667,686,706,725,745,765,784,804,824,
843,863,882,902,922,941,961,980,1000,1020,1039,1059,1078,
1098,1118,1137,1157,1176,1196,1216,1235,1255,1275,1294,
1314,1333,1353,1373,1392,1412,1431,1451,1471,1490,1510,
1529,1549,1569,1588,1608,1627,1647,1667,1686,1706,1725,1745,
1765,1784,1804,1824,1843,1863,1882,1902,1922,1941,1961,1980,
2000,2020,2039,2059,2078,2098,2118,2137,2157,2176,2196,2216,
2235,2255,2275,2294,2314,2333,2353,2373,2392,2412,2431,2451,
2471,2490,2510,2529,2549,2569,2588,2608,2627,2647,2667,2686,
2706,2725,2745,2765,2784,2804,2824,2843,2863,2882,2902,2922,
2941,2961,2980,3000,3020,3039,3059,3078,3098,3118,3137,3157,
3176,3196,3216,3235,3255,3275,3294,3314,3333,3353,3373,3392,
3412,3431,3451,3471,3490,3510,3529,3549,3569,3588,3608,3627,
3647,3667,3686,3706,3725,3745,3765,3784,3804,3824,3843,3863,
3882,3902,3922,3941,3961,3980,4000,4020,4039,4059,4078,4098,
4118,4137,4157,4176,4196,4216,4235,4255,4275,4294,4314,4333,
4353,4373,4392,4412,4431,4451,4471,4490,4510,4529,4549,4569,
4588,4608,4627,4647,4667,4686,4706,4725,4745,4765,4784,4804,
4824,4843,4863,4882,4902,4922,4941,4961,4980,5000};
voidDELAY(void);
voidDISPLAY(void);
voidCHULI(unsignedchar);
unsignedcharDAC(void);
voidmain(void)
{
while
(1)
adcpoint=0x7FF8;
dacpoint=0xBFFF;
LEDdian=0;
for(i=0;
i<
2;
i++)
{DAC();
CHULI(shu);
DISPLAY();
}
}
unsignedcharDAC(void)//DAC和ADC转换函数
{*adcpoint=0x00;
DELAY();
shu=*adcpoint;
*cunshu=shu;
*dacpoint=shu;
cunshu++;
adcpoint++;
returnshu;
voidDELAY(void)//延时程序
{staticunsignedcharx,y;
for(x=0;
x<
20;
x++)
for(y=0;
y<
y++);
voidCHULI(unsignedcharxunzhi)//调用显示函数时先
{freq=zibiao[xunzhi];
//对输出数据处理
gewei=freq%10;
shiwei=(freq/10)%10;
baiwei=(freq/100)%10;
qianwei=freq/1000;
gewei=gewei|0x10;
shiwei=shiwei|0x20;
baiwei=baiwei|0x40;
qianwei=qianwei|0x80;
voidDISPLAY(void)//显示函数
{P1=gewei;
P1=shiwei;
P1=baiwei;
P1=qianwei;
LEDdian=1;
4特殊器件
4.1DAC0809数模转换器
图4.1ADC0809引脚图
ADC是一种逐次逼近式八路模拟输入,八位数字量输出的A/D转换器。
其引脚图如图4.1所示。
ADC0809共有28引脚,采用双列直插式封装。
1.IN0—IN7是八路模拟信号输入端。
2.D0—D7是八位数字量输出端。
3.A,B,C与ALE控制八路模拟通道的切换,A,B,C分别与三根地址线或数据线相连,三者编码对应八个通道地址口。
C,B,A=000—111分别对应IN0—IN7通道地址。
4.OE,START,CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。
5.Vr+,Vr-为参考电压输入端。
ADC0809的结构框图如图4.2所示。
0809是采用逐次逼近的方法完成A/D转换的。
由单一的+5V电源供电;
片内带有锁存功能的八路选一的模拟开关,由C,B,A的编码来决定所选的通道。
0809完成一次转换需100us左右。
输出具有TTL三态锁存缓冲器,可直接连到单片机的数据总线上。
通过适当的外接电路,0809可对0到5V的模拟信号进行转换。
ADC0809工作过程如下:
首先用指令选择0809的一个模拟输入通道,当执行
MOVX@DPTR,A时产生一个启动信号给START引脚送入脉冲,开始对选中通道转换。
当转换结束后发出结束信号,置EOC脚为高电平,该信号可作为中断申请对选中通道转换。
当读允许信号到,OE端有高电平,则可以读出转换的数字量。
利用MOVXA,@DPTR把该通道转换结果读到A累加器中。
图4.2ADC0809结构图
4.2DAC0832模数转换器
图4.3DAC0832引脚图图4.4DAC0832原理框图
4.2.1DAC0832其主要特性如下
1.分辨率8位;
2.电流输出,稳定时间位12us;
3.可双缓冲,单缓冲或直接数字输入;
4.只需在满量程下调整其线性度;
5.单一电源供电(+5V—+15V);
6.低功耗,20mv。
4.2.2各引脚功能如下
DI0—DI7为8位数字信号输入端,与CPU数据总线相连,用于输入CPU送来的待转换数字量,DI7为最高位。
CS:
片选端,当CS为低电平时,本芯片被选中工作。
ILE:
数据锁存允许控制端,高电平有效。
WR1:
第一级输入寄存器写选通控制,低电平有效,当CS=0,ILE=1,WR1=0时,数据信号被锁存到第一级8位输入寄存器中。
XFER:
数据传送控制,低电平有效。
WR2:
DAC寄存器写选通控制端,低电平有效,当XFER=0,WR1=0,输入寄存器状态传入8位DAC寄存器中。
Iout1:
D/A转换器电流输出1端,输入数字量全“1”时,Iout1最大,输入数字量全为“0”时,Iout1最小。
Iout2:
电流输出2端,Iout1+Iout2=常数。
Rfb:
外部反馈信号输入端,内部已有反馈电阻,根据需要也可外接反馈电阻。
Vcc:
电源输入端,可在(+5V—+15V)范围内。
Vref:
参考电压输入端,电压范围(-10V—+10V)之间。
DGND:
数字信号接地端。
AGND:
模拟信号接地端,最好也参考电压共地。
DAC0832内部由三部分电路组成,如图4.4所示。
“8位输入寄存器”用于存放CPU送来的数字量,使输入数字量得到缓冲和锁存,由LE1加以控制。
“8位DAC寄存器”用于存放待转换数字量,由LE2控制。
“8位D/A转换电路”由8位T型电阻网络和电子开关组成,电子开关受“8位DAC寄存器”输出控制,T型电阻网络能输出和数字量成正比的模拟电流。
因此,DAC0832通常需要外接运算放大器才能得到模拟输出电压。
4.3温度传感器
集成温度传感器AD590是美国模拟器件公司生产的集成两端感温电流源。
一.主要特性
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。
根据特性分挡,AD590的后缀以I,J,K,L,M表示。
AD590L,AD590M一般用于精密温度测量电路,其电路外形如图3-2所示,它采用金属壳3脚封装,其中1脚为电源正端V+;
2脚为电流输出端I0;
3脚为管壳,一般不用。
集成温度传感器的电路符号如图3-2所示。
图3-2AD590外形(图1)及电路符号(图2)
1、流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数,即:
IT/T=1μA/K
式中:
IT——流过器件(AD590)的电流,单位μA。
T——热力学温度,单位K。
2、AD590的测温范围-55℃-+150℃。
3、AD590的电源电压范围为4V-30V。
电源电压可在4V-6V范围变化,电流IT变化1μA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。
4、输出电阻为710MΩ。
5、精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线形误差±
0.3℃。
2AD590的工作原理
在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连,并在输出端串接一个1kΩ的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号。
其基本电路如图3-3所示。
图3-3AD590内部核心电路
图3-3是利用ΔUBE特性的集成PN结传感器的感温部分核心电路。
其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;
T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实质上是由n个晶体管并联而成,因而其结面积是T4的n倍。
T3和T4的发射结电压UBE3和UBE4经反极性串联后加在电阻R上,所以R上端电压为ΔUBE。
因此,电流I1为:
I1=ΔUBE/R=(KT/q)(lnn)/R
对于AD590,n=8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。
由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。
图3中的电阻R是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1μA/K的I值。
4.4单片机AT89S51
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中。
图4.1AT89S51原理图
4.4.1引脚功能说明
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 路数 采集 系统