ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:268.04KB ,
资源ID:8246514      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8246514.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多路数据采集系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多路数据采集系统.docx

1、多路数据采集系统1前言 单片机自20世纪70年代问世以来,作为微机算机一个很重要的分支,应用广泛,发展迅速,已对人类社会产生了巨大的影响。尤其是美国Intel公司产生的MCS-51系列单片机,由于其具有集成度高,处理功能强,可靠性好,系统结构简单,价格低廉,易于使用等优点,在我国已经得到广泛的应用,在智能仪器仪表,工业检测控制,电力电子,机电一体化等方面取得了令人瞩目的成果。尽管目前已有世界各大公司研制的各种高性能的不同型号的单片机不断问世,但由于MCS-51单片机易于学习,掌握,性能价格比高,另外,以MCS-51单片机基本内核为核心的各种扩展型,增强型的单片机不断推出,所以在今后若干年内,M

2、CS-51系列单片机仍是我国在单片机应用领域首选的机型。在单片机的实时控制和智能仪表等应用系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,如温度,压力,流量,速度等物理量。这些模拟量必须转换成数字量后才能输入到单片机中进行处理。单片机处理的结果,也常常需要转换为模拟信号。若输入的是非电信号,还需要经过传感器转换成模拟电信号。实现模拟量转换成数字量的器件称为模数转换器(ADC),数字量转换成模拟量的器件称为数模转换器(DAC)。在大规模集成电路技术迅速发展的今天,对于单片机应用系统的设计人员来说。只需要合理地选用商品化的大规模A/D,D/A集成电路芯片,了解他们的引脚,功能以及与单

3、片机的接口方法。 本设计将着重从应用的角度,介绍典型的D/A,A/D集成电路芯片同MCS-51的硬件接口设计及软件的设计。2总体方案设计2.1方案论证 图2.1 方案一原理图 图2.2方案二原理图方案一:本方案以单片机为核心系统,工作原理是首先用温度传感器AD590把现场温度转变成与现场温度成线性关系的电压,转变的电压再由ADC0809模数转换器转换成数字量,再通过AT89S51单片机采集数字量并存储起来,单片机把采集回来的数据经过处理又再次传送到DAC0832模数转换器进行转换,把数字量转变成模拟量。并同时把采集的数据通过LED显示电路显示出来!方案二:本方案跟方案一一样同样以AT89S51

4、单片机为核心,工作原理大致一样都是先用温度传感器AD590把现场温度转变成与现场温度成线性关系的电压,转变的电压通过LM331N电压频率转换器转变成频率,利用AT89S51单片机内部的计数器对频率进行计数,通过计数的大小来确定采集的温度大小,并同样单片机把采集回来的数据经过处理又再次传送到DAC0832模数转换器进行转换,把数字量转变成模拟量。并同时把采集的数据通过LED显示电路显示出来!2.2方案比较选择 方案一和方案二的工作原理大致一样,不同之处是采用ADC0809模数转换器还是LM331N电压频率转换器对温度的转换。两方案的成本大致一样,但是使用方案一可以采集8路数据,并且采集速度,精度

5、都相对方案二高。所以本次设计选择方案一。3单元模块设计3.1测温电路 图3.1测温电路如图3.1所示,电位器R2用于调整零点,R4用于调整运放LF355的增益。调整方法如下:在0时调整R2,使输出V0=0,然后在100时调整R4使V0=100mV。如此反复调整多次,直至0时,V0=0mV,100时V0=100mV为止。最后在室温下进行校验。例如,若室温为25,那么V0应为25mV。冰水混合物是0环境,沸水为100环境。因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的电阻之和为1k时,输出电压V0随温度的变化为1mV/K。但由于AD590的增益有偏差,电阻也有偏差,因此应对电

6、路进行调整,调整的方法为:把AD590放于冰水混合物中,调整电位器R2,使V0=273.2+25=298.2(mV)。但这样调整只保证在0或25附近有较高的精度。3.2复位电路 图3.2复位电路复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,就可使MCS51单片机复位。复位的主要功能是把PC初始化为0000H,使MCS51单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键重新启动。单片机的复位电路通常采用上电复位和按钮复位的两种方式。本设计采用图3.4上电复位电路.上电自

7、动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除PC之外,复位操作还对其它寄存器有影响,他们的复位状态如表3.1所示,由表可以看出来,复位时,SP = 07H;4个I/O端口P0-P3的引脚均为高电平,这在某些控制应用中,要考虑到引脚的高电平对外部控制电路的影响。寄存器复位状态寄存器复位状态PC0000HTMOD00HAcc00HTCON00HPSW00HTH000HB00HTL000HSP07HTH100HDPTR0000HTL100HP0-P3FFHSCON00HIPXXX00000BSBUFXXXXXXXXBIE0XX00000BP

8、CON0XXX0000B 表3.1复位时片内各寄存器的状态 3.3时钟电路 图3.3时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英振荡器和微调电容,就构成一个稳定的自激振荡器,图3.3为单片机内部时钟方式的振荡器电路。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。但反过来运行速度快对储存器的速度也就越高。

9、本设计为何采用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口。由于各位的段选线并联,段码的输出对各位来说都是相同的。因此,同一时刻,

10、如果各位位选都处于选通状态的话,4位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。这样同一时刻,4位LED中只有选通的那一位显示字符,而其他三位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而同一

11、时刻,只有以为显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可造成多为同时亮的假象,达到同时显示的目的。LED不同位显示的时间间隔不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。但也不能太长,因为毕竟要受限于临界闪烁频率,而且时间越长,占用CPU时间也越多。另外,显示位增多,也将占用大量的CPU时间,因此动态显示实质是以牺牲CPU时间来换取元件的减小。3.5单片机与ADC0809、DAC0832接口电路 图3.5单片机与ADC0809、DAC0832接口电路3.5.1单片机与ADC0809接口电路 用单片机控制

12、ADC时,多数采用查询和中断控制两种方法。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行擦互训,以检查ADC变换是否已经结束,如查询到变换已结束,则读入转换完毕的数据。 ADC0809与AT89S51片内无时钟,可利用AT89S51提供的地址锁存允许信号ALE经D触发器二分频后获得,ALE脚的频率是8051单片机时钟频率的1/6(但要注意的是,每当访问外部数据存储器时,将少一个ALE脉冲)。如果单片机时钟频率采用6MHZ,则ALE脚的输出频率为1MHZ,再二分频后为500KHZ,恰好符合ADC0809对时钟频率的要求。由于ADC0809具有输出三态锁存器,其八位

13、数据输出引脚可直接与数据线总线相连。地址译码引脚A,B,C分别与地址总线的低三位A0,A1,A2相连,以选通IN0IN7中的一个通路。将P2.7(地址总线A15)作为片选信号,在启动和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。在读取转换结果时,用低电平的读信号和P2.7脚经一级或非门后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。由以上分析可知:在软件编写时,应令P2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取转换结果。3.5.2单片机与DAC0832接口电路 单片机与DAC083

14、2接口时,可以有三种方式:直通方式,单缓冲方式和双缓冲。单缓冲方式是指DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受单片机控制的锁存方式。在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下,就可采用单缓冲方式,本设计采用单缓冲方式。由图3.5可知,WR2和XFER接地,故DAC0832的八位DAC寄存器工作于直通方式。八位输入寄存器受CS和WR1端信号控制,而且CS由P2.6口来控制。举个例子,当单片机执行如下两条指令就可在WR1和CS上产生低电平信号,使DAC0832接收8031送来的数字量。指令:MOV R0 ,#BFH ;MOVX

15、 R0,A 3.6程序设计3.6.1程序流程图 3.6.2主程序 #include #include unsigned char xdata *adcpoint ;unsigned char xdata *dacpoint ;unsigned char idata *cunshu;unsigned char idata *cunshuer;unsigned char gewei,shiwei,baiwei,qianwei;unsigned int freq;unsigned char shu;unsigned char i;sbit LEDdian = P30; /小数点显示控制位unsign

16、ed int code zibiao256 =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,

17、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,

18、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,

19、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,

20、4843,4863,4882,4902,4922,4941,4961,4980,5000;void DELAY(void);void DISPLAY(void);void CHULI(unsigned char);unsigned char DAC(void);void main(void) while(1) adcpoint =0x7FF8; dacpoint =0xBFFF; LEDdian = 0; for (i =0 ; i 2;i+) DAC(); CHULI(shu); DISPLAY(); unsigned char DAC(void) /DAC和ADC转换函数 *adcpoin

21、t =0x00; DELAY(); shu = *adcpoint; *cunshu = shu ; *dacpoint = shu; cunshu+; adcpoint+; return shu ;void DELAY(void)/延时程序 static unsigned char x,y; for(x=0;x 20;x+) for(y=0;y 20;y+); void CHULI(unsigned char xunzhi) /调用显示函数时先 freq = zibiaoxunzhi; /对输出数据处理gewei = freq%10;shiwei = (freq/10)%10;baiwei

22、= (freq/100)%10;qianwei = freq/1000;gewei = gewei | 0x10;shiwei= shiwei | 0x20;baiwei = baiwei | 0x40;qianwei = qianwei | 0x80; void DISPLAY(void)/显示函数P1 = gewei; DELAY(); P1 = shiwei; DELAY(); P1 = baiwei; DELAY(); P1 = qianwei; LEDdian = 1; DELAY();4特殊器件4.1DAC0809数模转换器 图4.1ADC0809引脚图ADC是一种逐次逼近式八路模

23、拟输入,八位数字量输出的A/D转换器。其引脚图如图4.1所示。ADC0809共有28引脚,采用双列直插式封装。1.IN0IN7是八路模拟信号输入端。2.D0D7是八位数字量输出端。3.A,B,C与ALE控制八路模拟通道的切换,A,B,C分别与三根地址线或数据线相连,三者编码对应八个通道地址口。C,B,A = 000 111分别对应IN0IN7通道地址。4.OE,START,CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。5.Vr+ ,Vr-为参考电压输入端。 ADC0809的结构框图如图4.2所示。0809是采用逐次逼近的方法完成A/D转换的。由单一的

24、+5V电源供电;片内带有锁存功能的八路选一的模拟开关,由C,B,A的编码来决定所选的通道。0809完成一次转换需100us左右。输出具有TTL三态锁存缓冲器,可直接连到单片机的数据总线上。通过适当的外接电路,0809可对0到5V的模拟信号进行转换。ADC0809工作过程如下:首先用指令选择0809的一个模拟输入通道,当执行MOVX DPTR ,A时产生一个启动信号给START引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号,置EOC脚为高电平,该信号可作为中断申请对选中通道转换。当读允许信号到,OE端有高电平,则可以读出转换的数字量。利用MOVX A,DPTR把该通道转换结果读到A累

25、加器中。 图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各引脚功能如下 DI0DI7为8位数字信号输入端,与CPU数据总线相连,用于输入CPU送来的待转换数字量,DI7为最高位。CS:片选端,当CS为低电平时,本芯片被选中工作。ILE:数据锁存允许控制端,高电平有效。WR1:第一级输入寄存

26、器写选通控制,低电平有效,当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+10

27、V)之间。DGND:数字信号接地端。AGND:模拟信号接地端,最好也参考电压共地。DAC0832内部由三部分电路组成,如图4.4所示。“8位输入寄存器”用于存放CPU送来的数字量,使输入数字量得到缓冲和锁存,由LE1加以控制。“8位DAC寄存器”用于存放待转换数字量,由LE2控制。“8位D/A转换电路”由8位T型电阻网络和电子开关组成,电子开关受“8位DAC寄存器”输出控制,T型电阻网络能输出和数字量成正比的模拟电流。因此,DAC0832通常需要外接运算放大器才能得到模拟输出电压。 4.3温度传感器集成温度传感器AD590 是美国模拟器件公司生产的集成两端感温电流源。一 主要特性AD590是电

28、流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分挡,AD590的后缀以I,J,K,L,M表示。AD590L,AD590M一般用于精密温度测量电路,其电路外形如图3-2所示,它采用金属壳3脚封装,其中1脚为电源正端V;2脚为电流输出端I0;3脚为管壳,一般不用。集成温度传感器的电路符号如图3-2所示。图3-2 AD590外形(图1)及电路符号(图2)1、流过器件的电流(A)等于器件所处环境的热力学温度(开尔文)度数,即:I T/T=1A /K式中:IT 流过器件(AD590)的电流,单位A。T热力学温度,单位K。2、 AD590的测温范围-55- +150。3、 AD590的电源

29、电压范围为4V-30V。电源电压可在4V-6V范围变化,电流IT变化1A,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。4、输出电阻为710M。5、精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线形误差0.3。2 AD590的工作原理在被测温度一定时,AD590相当于一个恒流源,把它和530V的直流电源相连,并在输出端串接一个1k的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mVK的电压信号。其基本电路如图3-3所示。图3-3 AD590内部核心电路图3-3是利用UBE特性

30、的集成PN结传感器的感温部分核心电路。其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实质上是由n个晶体管并联而成,因而其结面积是T4的n倍。T3和T4的发射结电压UBE3和UBE4经反极性串联后加在电阻R上,所以R上端电压为UBE。因此,电流I1为: I1UBER(KTq)(lnn)R对于AD590,n8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。图3中的电阻R是在硅板上形成的薄膜电阻,该电

31、阻已用激光修正了其电阻值,因而在基准温度下可得到1AK的I值。4.4单片机AT89S51AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中。 图4.1 AT89S51原理图4.4.1引脚功能说明Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1