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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

多路数据采集设计 机制专业.docx

1、多路数据采集设计 机制专业多路数据采集系统课程设计多路数据采集系统摘 要:本系统是一个八路数据采集系统,控制过程利用电阻的串并联输入直流电压,结合放大电路,A/D转换电路,单片机最小控制系统等构成闭环系统。通过采样将实际值输出到单片机,由单片机进行控制8279,将采样通道和电压值相应数据显示出来。关键词:多路数据采集,AT89S51单片机,模拟信号产生器 Multi-path data collect system Abstract: This system adopt a octuplex data collect system , control procedure is the chan

2、ge-over circuit making use of resistant series-parallel connection to import direct current pressure , being tied in wedlock enlarging circuit , A/D , monolithic machine minimum navar waits to compose closed cycle system. Actual value is exported to monolithic machine by taking sample , is control 8

3、279 from Single-chip Microcomputer go along, the corresponding with sampling passage and voltage value data display comes out. Keywords: The multi-path data collect , AT89S51 Single-chip Microcomputer , analog signal produce an implement.目 录一、 前言 多路数据采集系统的构成.1二、 系统方案设计1、设计要求.12、系统方案比较.1三、 硬件模块设计1、模拟

4、信号采集系统的设计.22、A/D转换电路设计.3四、软件系统设计1、A/D转换过程.62、显示数据的存储转换.73、显示电路程序流程.74、具体编程思想.7五、系统调试 1、A/D电路调试.8 2、数码管显示模块调试.8 3、各通道参数值调试8六、结论.9七、参考文献.9附录 附1.10 附2.10 附3.11 附4.12 附5.13一、前言数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显

5、示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中, 删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。二、系统方案设计1、设计要求设计一个八路采集系统,实现对八路模拟信号的采集,具体设计任务是:(1) 采集方式包括循环采集(即1路、2路8路、1路)和选

6、择采集(任选一路)两种方式。显示部分能同时显示地址和相应的数据。(2) 第1路输入自制15V直流电压(各路输入可由分压器产生,不要求精度),第8路备用。(3) 现场模拟信号产生器:自制温度、湿度等物理量的检测电路,经放大后产生电压。2、系统方案比较系统设计方案一:系统硬件电路如图1:ADC0809 将05V 模拟信号转换为00FF 数字信号并传送51单片机, 然后由51 单片机进行数据存储及数据处理,最终由LED 显示器显示。完成对模拟信号的采集。图1系统设计方案二:系统硬件电路如图2:电路中采取信号发生器进行采集,不如方案一简洁。虽然器件选择上差的不多,但是还需要制作信号发生器,多了操作步骤

7、,并且增加了成本 图2因此我们选择方案一,直接采取模拟信号进行采集。三、硬件模块设计1、模拟信号采集电路的设计: 图3本电路在第一通道里采用滑动变阻器控制15V的变换,电阻比例为1/4,这样子才能进行5V的分压。电阻选择一个5K,一个40K。然后在第二通道到第七通道都采集的是地位器来进行分压,用1K的电阻把5V的进行分压成0V,1V,2V,3V,4V,5V。 图4在第八通道采用传感器读取数据,在后面接运算放大器对模拟信号进行放大,为后一步A/D转换做准备。 图5(a) 图5(b) 图5 (C)应用TL431(如图5-a)提供5V的稳压源,TL431是一个高性价比的常用分流式电压基准,输出固定电

8、压值的计算公式是: Vout = (R1+R2)*2.5/R2,同时R3的数值应该满足1mA (Vcc-Vout)/R3 500mA。TL431管脚如图(5-C)。由于自制稳压源输出电压为12V,为满足上述要求而得到5V稳定电压,我们选择R1=R2=5K,R3=1K。之后连接运算放大器(如图5-b),放大器选用OP07芯片。OP07高精度运放具有极低的输入失调电压,极低的失调电压温漂,非常低的输入噪声电压幅度及长期稳定等特点。OP07引脚图如图6所示。1和8为偏置平衡(调零端),2为反向输入端,3为正向输入端,4接地,5空脚 6为输出,7接电源。 图6 图7自制温度物理量才采集运用AD590传

9、感器(封装图如图7),设定0对应0V,由于稳压源输出电压为5V,则图4中R6=5V/273uA=18.3K。设定100对应5V,此时电流值373uA,与初始值差值为100uA,故图4中R4+R5+R7=5V/100uA=50K,R4=30K,R5=10K,因此应调节R7=10K。此时传感器符合设计要求工作。2、A/D转换电路设计 设计A/D转换电路将传感器和运放输出的模拟信号转换为数字信号,从而被单片机处理。ADC0809 是8 位逐次逼近型A/D转换器,多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。因此我们选用它进行转换。为使ADC0809的时钟信号输入端

10、得到正常工作频率,采用74LS74双D触发器进行四分频。电路图如图8。 图8 ADC0809(引脚图如图9-a)由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,从三态输出锁存器取走已转换的数据。ADC0809 的工作原理IN0IN7:8 条模拟量输入通道ADC0809 对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中保持不变,如若模拟量变化太快,则需在输入前增加采

11、样保持电路。地址输入和控制线:22脚ALE 为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A, B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和C 为地址输入线,用于选通IN0IN7 上的一路模拟量输入。通道选择表如下表所示。C B A 选择的通道:0 0 0 IN0,0 0 1 IN1,0 1 0 IN2,0 1 1 IN3,1 0 0 IN4,1 0 1 IN5,1 1 0 IN6,1 1 1 IN7数字量输出及控制线:C,B,A分接P16,P15,P14口。6脚ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器

12、清零;下跳沿时,开始进行A/D 转换;在转换期间,ST 应保持低电平。10脚EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。9脚OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0 为数字量输出线。10脚CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,由单片机的ALE(30脚)经过四分频得到。VREF(),VREF()为参考电压输入。VREF()接+5V,VREF()接地。 (a) (b) 图974L

13、S74(双D触发器)引脚如下图所示。74ls02引脚图及引脚功能: vcc 4y 4b 4a 3y 3b 3a 2输入四或非门74ls0214 13 12 11 10 9 8 _) y = a+b 1 2 3 4 5 6 71y 1a 1b 2y 2a 2b gnd74ls02引脚图74ls02引脚功能:实现2输入四或非门功能,常用于各种数字电路中。四、软件系统设计整个系统软件设计主要有三大块:A/D 转换部分;显示数据的转换存储部分;数据的显示部分。系统采用模块化编程,将各部分功能分别实现。1、 A/D 转换过程:将8 路模拟量持续输入ADC0809模拟量输入端IN0IN7。首先将OE,ST

14、ART,ALE, A,B,C 都置0,然后ALK 置1再清零,进行转换通道地址的锁存,即选择转换通道打开。将START 置1 再清零,发送一启动脉冲,即启动A/D 转换,此时转换结束信号EOC 变为低电平。查看EOC 是否为高电平,为高电平则表示A/D 转换完毕。等待A/D 转换完毕后将输出允许信号输入端(OE)置高电平,此时就可将转换的一路数据输入到单片机某一存储空间中。将OE 置低电平, 即停止ADC0809数据输出。存储转换数据的地址+1。通道号+1。判断是否转换完8 路模拟量,是则全部清零从第1 条重新开始转换,否则继续转换下路模拟量。具体流程图下:2、显示数据的转换存储:从IN0IN

15、7 输入的模拟量经ADC0809 转换后的到的是一个二进制数,我们无法知道实际电压是多少,于是需要我们转换成实际模拟电压值并显实出来,便于记录。由于ADC0809 是8 位A/D 转换, 转换成的二进制最大为11111111,又因ADC0809 的基准电压我设计的是5V。可用如下公式表示模拟量与A/D 转换后的二进制数的关系:将公式的右边换成十进制:在显示数据的转换存储模块部分中, 主要任务是将单片机读到的数据再次转换成模拟量的数值大小, 并将这个数值的整数值,小数值这三个十进制值存入相应存储地址中去。具体的编程思想:设定8 路模拟量转换成的二进制数存在70H77H中,显示的数据存在78H7A

16、H 中,通道号存在7BH 中。3、显示电路程序流程:显示这部分主要也分两部分:整数部分的显示,小数部分的显示。我设定的模拟电压输入值范围是:05V。故数据显示整数部分只有:0.、1.、2.、3.、4.、5. 共6 个段代码,小数部分只有:0、1、2、3、4、5、6、7、8、9 共9 个段代码。4、具体编程思想:1)设置扫描字扫描,目的是确定开哪个数码管工作。2) 设定段代码存储顺序:0、1、2、3、4、5、6、7、8、9、0.、1.、2.、3.、4.、5.。3)判断哪个数码管工作,以确定段代码地址。4)确定后送段代码到该数码管显示数据。5)判断是否显示完4 个数码管。6)设置显示下路数据,再重

17、复上述过程。开每一个数码管工作都延时1MS,不断循环,这样只要扫描时间小于1/50 秒,就会因为人眼的视觉残留效应,看到四位不同的数字稳定显示。五、系统调试1、A/D电路调试采用74LS74触发对单片机的ALE输出时钟进行4分频;而其基准源要求稳定,所以我们运用精确基准源进行调试,运行正常。2、数码管显示模块调试 数码管显示模块调试,基于小系统上实现,程序简单,基本无乱码,显示正常。3、各通道参数值调试 通道2至7各输入电压值显示值及实测值,以及通道1调节滑动变阻器显示电压值及实测值如下2表。表1 通道2至7正常工作输入电压值 通道234567输入电压值实测值(V)4.853.882.881.

18、930.950.00显示值(V)5.004.003.002.001.000.00表2 调节滑动变阻器通道1电压值R=(K)4.633.583.42.081.00实测值1.282.141.793.434.505.66显示值1.132.011.393.084.035.0 AD0809的10脚CLK,用示波器测,显示频率为500KHZ,电压平均值为1.95V的方波。6脚ST和22脚ALE示波器显示是峰值为3.8V的脉冲波。7脚EOC为峰值80mv,平均值4.98V的波。23(A),24(B),25(C)为时高时低的信号。自动模式数码管显示依次为:第一个数码管显示最后几个数码管显示0315243342

19、5160721.1根据上面两表可见,数值属误差范围内,基本正常,调试成功。 六、结论多路数据采集系统调试成功并且基本实现设计要求:采集方式包括循环采集和选择采集二种方式,显示部分能同时显示地址和相应的数据。 硬件完成,调试过程曾经一度出现滞留、毫无进展的状况,然而经过多天的分析及讨论,不段对硬件系统进行检测及改善,在保证硬件故障排除的情况下冷静的进行分析及调试并最终制作及调试完成。设计时需要思维的开阔,器件的熟悉;制作焊接时要谨小慎微;调试时的仔细分析观察。整个过程又时时离不开团队协作,以及全局观念,还有遇到问题时的冷静分析并从局部到整体的逐步检查直至排除故障。整个设计、制作、和调试的过程是各

20、种能力及素质的综合锻炼。七、参考文献:【1】 徐爱均,8051 单片机实践教程, 电子工业出版社, 2005 年【2】 谭浩强,MCS-51 单片机应用教程,清华大学出版社,2004 年【3】 万光毅,单片机实验与实验教程(一).北京航空航天大学出版社,2003年【4】 沙占友,单片机外围电路设计,电子工业出版社,2003 年【5】 康华光主编,电子技术基础数字部分,高教出版社,2004 年【6】 全国大学生电子设计竞赛培训系列教程【7】 全国大学生电子设计竞赛训练附录附1:元器件明细表器件名称型号规格数量备注电阻1K610K55K320K130K1滑动变阻器20K3三极管TL4311排线及插

21、口2插口及排线240插口及排线1运算放大器OP071集成温度传感器AD5901双D触发器74LS741AD转换器ADC08091或非门74LS041电源1单片机最小系统AT89C521自制最小系统附2:仪器设备名称型号规格数量备注数字万用表VC902+1单片机仿真器STAR51PH1稳压电源MPS-3003L-31示波器GDS21021附3:多路数据采集电路设计图纸附4:单片机最小系统图纸附5:程序代码SSP EQU 60H ;堆栈指针KEYFLAG DATA 20H ;键盘标志STATE DATA 22H ;当前状态SUBROUT DATA 50H ;前一状态KEY DATA 51H ;键值

22、DS1 DATA 2DH ;显示位1DS2 DATA 2EH ;显示位2DS3 DATA 2FH ;显示位3DS4 DATA 30H ;显示位4DS5 DATA 31H ;显示位5DS6 DATA 32H ;显示位6DS7 DATA 33H ;显示位7DS8 DATA 34H ;显示位8DATA1 DATA 35HDATA2 DATA 36HDATA3 DATA 38HDATA4 DATA 39HNUM DATA 37HJ8279D XDATA 8000H ;8279数据地址J8279C XDATA 8001H ;8279控制地址 ORG 0000H ;转主程序 LJMP MAIN ORG 0

23、003H ; RETI ORG 000BH ; RETI ORG 0013H ; LJMP JP ORG 001BH ; LJMP T1INT ORG 0023H ; RETI ORG 002BH ; RETI ORG 0100H MAIN: ;MOV P0, #00H CLR EA MOV R6,#08H MOV TMOD,#10H ;定时器1初始化,定时15S MOV TH1,#15H MOV TL1,#0A0H SETB ET1 ;允许T1中断 SETB EA ;CPU开中断 SETB TR1 ;启动T1 MOV R5,#10HTEST: MOV SP, #SSP ;置堆栈指针 MOV

24、DPTR, #J8279C ;设定8279工作模式 MOV A, #0D1H MOVX DPTR, A WAIT: MOVX A, DPTR ;判断8279是否工作正常 JB ACC.7, WAIT MOV A, #00H ;设定8279工作模式 MOVX DPTR, A MOV A, #34H MOVX DPTR, A MOV KEYFLAG,#80H ;置键盘无值标志 MOV R7, #3EH ;清单片机内部RAM MOV A, #00H MOV R0, #21H LOP: MOV R0, A INC R0 DJNZ R7, LOP ;MOV R1, #90H ;调用显示子程序; MOV

25、R0, #DS1 ; MOV R7, #08H ; LCALL DISP DQ: SETB IT1 SETB IT0 SETB EX0 SETB EX1 SETB EA CLR P1.4 CLR P1.5 CLR P1.6 ATT: LCALL RDKEY ;读键值 MOV KEY, A ;存键值 CJNE A,#00H,REL1 MOV DATA2,#00H LCALL K1 ;自动 JMP REL4REL1: CJNE A,#01H,REL2 ;手动 MOV DATA2,#0FFH CLR P1.4 CLR P1.5 CLR P1.6 MOV NUM,#01H LCALL REL11 JM

26、P REL4REL2: CJNE A,#02H,REL4 ;手动加1 MOV DATA2,#0FFH MOV R0,#NUM INC R0 MOV A,P1 ANL A,#70H ADD A,#10H MOV P1,A CJNE R0,#08H,REL3 LCALL REL22REL3: CJNE R0,#09H,REL5 MOV NUM,#01H CLR P1.4 CLR P1.5 CLR P1.6REL5: LCALL REL11 REL4: MOV A, STATE ;取状态值 ADD A, STATE ;(定义状态容量为双字节所以要*2) MOV B, A MOV DPTR, #STA

27、B ;取得第一表首地址 MOVC A, A+DPTR XCH A, B INC DPTR ;取得第二表首地址 MOVC A, A+DPTR MOV DPL, A ;将状态表地址送DPTR MOV DPH, BMONI1: CLR A MOVC A, A+DPTR ;读取特征键码 CJNE A, #0FFH, MONI2 ;读到最后吗? SJMP ATT ;是最后,本键无效,跳转至键盘监控MONI2: CJNE A, KEY, MONI3 ;与当前键码一致吗? SJMP MONI4 ;键码一致,转到下面执行MONI3: INC DPTR ;查下一元素 INC DPTR INC DPTR SJMP MONI1MONI4: MOV A, STATE ;状态转移 MOV SUBROUT,A ;当前状态送至前态寄存器 CLR A INC DPTR MOVC A, A+DPTR ;取次态为当前状态 MOV STATE, A INC DPTR CLR A MOVC A, A+DPTR ;取工作模块编号 MOV B, A ;LJMP指令为三字节,所以*3 RL A ADD A, B MOV DPTR, #KPRG JM

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

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