多路数据采集与控制系统.

多路数据采集与控制系统.
多路数据采集与控制系统.

1 引言

数据采集是指将温度、压力、流量、位移等模拟量采集、转换成数字量后,再由计算机进行存储、处理、显示的过程。在生产过程中,可对生产现场的工艺参数进行采集、监视和记录,为提高产品的质量、降低成本提供信息和手段。本文设计了一套多路数据采集系统,实施采集多现场的温度参数,系统通过RS485总线将采集到的现场温度数据传输至上位机,上位机对采集到的数据进行显示、存储,从而达到现场监测与控制的目的。

2 设计目的和要求

设计一由微机控制的A/D数据采集和控制系统,该卡具有对八个通道上

0-5V的模拟电压进行采集的能力,且可以用程序选择装换通道,选择ADC0809 作为A/D转换芯片。

本设计包括确定控制任务、系统总体设计、硬件系统设计、软件程序的设计等,使学生进一步学习理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能。

3 系统设计方案

1.八路模拟信号的产生

被测电压要求为0~5V的直流电压,可通过八个滑动变阻器调节产生。

2.模拟信号的采集

八路数据采集系统采用共享数据采集通道的结构形式,数据采集方式确定为程序控制数据采集。

3.A/D转换器的选取

八位逐次比较式A/D转换器

4.控制与显示方法的选择

用单片机作为控制系统的核心,处理来自ADC0809的数据。经处理后通过串口传送,由于系统功能简单,完成采样通道的选择,单片机通过接口芯片与LED

数码显示器相连,驱动显示器相应同采集到的数据。

图3.1 总体设计图

4 硬件系统的设计

4.1芯片ADC0809的引脚功能和主要性能

ADC0809八位逐次逼近式A/D 转换器是一种单片CMOS 器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。8路转换开关能直接联通8个单端模拟信号中的任意一个。

ADC0809的引脚图及51单片机引脚图:

图4.1 ADC0809管脚图及51单片机芯片管脚图

模拟输入通道1

ADC0808

单片机

LED

模拟输入通道2

模拟输入通道8

注:由于ADC0809在protues内无法仿真,故采用与其引脚相同,功能类似的ADC0808模数转换芯片。

4.2 ADC0808模数转换器的引脚功能

IN0~IN7:8路模拟量输入。

A、B、C:2位地址输入,2个地址输入端的不同组合选择八路模拟量输入。 ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。

D0~D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。

OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。 START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。

EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。

CLK:时钟输入信号,0809的时钟频率范围在10~1200kHz,典型值为640kHz。

当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存并译码,在START上升沿时所有的内部寄存器清零,在下降沿时,开始进入A/D装换,此期间START应保持低电平。在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,在高电平时,表示转换结束。OE为低电平时,表示正在转换,为高电平时,允许转换结果输出。

4.3 ADC0809与51单片机的接口

由于ADC0809无片内时钟,时钟信号有51单片机的ALE信号经D触发器二分频后获得。此外,由于ADC0809内部设有地址锁存器,所以通道地址由P3.4,P3.5,P3.6口的直接与ADC0809的A B C 相连。其对应关系如下表所示。

地址码输入通

C B A

000IN0

001IN1

010IN2

011IN3

100IN4

101IN5

110IN6

111IN7

表4.2 ADC0809输入通道地址

控制信号:将P3.2作为片选信号,在启动A/D转换时。由单片机控制ADC 的地址锁存和启动转换。由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。

在读取转换结果时,用单片机的P2.1,产生正脉冲作为OE信号用一打开三态输出锁存器。ADC0809内部带有输出锁存器,可以与AT89C51单片机直接相连。初始化时,使ST为低电平。送要转换的哪一通道的地址到A,B,C端口上。在ST端给出一个至少有100ns宽的正脉冲信号。根据EOC信号来判断是否转换完毕,当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 ADC0809与51单片机的接口电路如图所示:

图4.3 ADC0809与51单片机的接口电路

4.4 控制器、振荡源和复位电路

复位电路即使电路回复到初始状态,是单片机经常的工作状态。单片机振荡电路的振荡周期和时钟电路的时钟周期决定了CPU的时序。

复位电路:采用上电外部复位电路。4.5 显示电路

图4.4 电路图

图4.5部分通道的数据

4.6 模拟信号产生电路

图4.6 模拟信号产生电路5 软件程序设计

5.1 主程序

DIN BIT P3.0

CLK BIT P3.1

DISBUF EQU 75H ;用来存放发送的数据 ORG 0000H ;目标程序将从0000H开始

AJMP MAIN ;写成的hex文件 ORG 0030H

MAIN: MOV 20H,#0

INC 20H

CLR P3.4 ;设置通道0地址 CLR P3.5

CLR P3.6

ACALL AD ;调用A/D转换程序 ACALL DELAY2S ;调用延时程序

AJMP L1 ;跳转到L1

L1: INC 20H ;设置通道1地址 SETB P3.4

CLR P3.5

CLR P3.6

ACALL AD

ACALL DELAY2S

AJMP L2

L2: INC 20H ;设置通道2地址 CLR P3.4

SETB P3.5

CLR P3.6

ACALL AD ;调用A/D转换程序 ACALL DELAY2S ;调用延时程序

AJMP L3

L3: INC 20H ;设置通道3地址 SETB P3.4

SETB P3.5

CLR P3.6

ACALL AD

ACALL DELAY2S

AJMP L4

L4: INC 20H ;设置通道4地址 CLR P3.4

CLR P3.5

SETB P3.6

ACALL AD ;调用A/D转换程序 ACALL DELAY2S ;调用延时程序

AJMP L5

L5: INC 20H ;设置通道5地址 SETB P3.4

CLR P3.5

SETB P3.6

ACALL AD ;调用A/D转换程序 ACALL DELAY2S ;调用延时程序

AJMP L6

L6: INC 20H ;设置通道6地址 CLR P3.4

SETB P3.5

SETB P3.6

ACALL AD ;调用A/D转换程序 ACALL DELAY2S ;调用延时程序

AJMP L7

L7: INC 20H ;设置通道7地址 SETB P3.4

SETB P3.5

SETB P3.6

ACALL AD

ACALL DELAY2S

5.2 延时2S子程序

DELAY2S:MOV R7,#7FH

DL1:

MOV R6,#0EBH

DL0:

MOV R5,#20H

DJNZ R5,$

DJNZ R6,DL0

DJNZ R7,DL1

NOP

RET

5.3 AD转换子程序

AD:

CLR P3.2 ;清空3.2

SETB p3.2

CLR p3.2 ;启动转换

JNB p2.0,$ ;等待转换结束

SETB p2.1 ;允许输出

MOV 35H,P1 ;暂存转换结果

CLR p2.1 ;关闭输出

MOV R0,#35H ;存放AD转换值的首地址 CLR C

MOV A,@R0 ;取要转化的AD转换值

MOV B,#14H

MUL AB

MOV R3,A ;积低位存入TEMPLOW单元

MOV R2,A ;积高位存入TEMPHIGH单元 CLR A

MOV R6,A

MOV R7,#10H

BP1: CLR C

MOV A,R3

RLC A

MOV R3,A

MOV A, R2

RLC A

MOV R2,A

MOV A ,R6

ADDC A ,R6

DA A

MOV R6 ,A

MOV A ,R5

ADDC A ,R5

DA A

MOV R5 ,A

MOV A,R4

ADDC A,R4

SWAP A

MOV R4,A

DJNZ R7,BP1

MOV 30H,R6

MOV 31H,R5

MOV R0,#30H

MOV R7,#02H

BP2: MOV A,@R0

ANL A,#0FH

MOV @R1,A

INC R1

MOV A,@R0

SWAP A

ANL A,#0FH

MOV @R1,A

INC R0

INC R1

DJNZ R7, BP2

LCALL DISP ;调用显示子程序 RET

5.4 4个74ls164做的显示程序

DISP: MOV 78H,20H

MOV 77H,3AH

MOV 76H,39H

MOV 75H,38H

MOV R0,#DISBUF

DP12: MOV R2,#8

MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

DP13: RLC A

MOV DIN,C

CLR CLK

SETB CLK

INC R0

CJNE R0,#DISBUF+4,DP12

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH ;段码定义

DB 7DH,07H,7FH,6FH,77H,7CH

DB 39H,5EH,79H,71H,00H,40H

END

6 课程设计体会

通过这次课程设计,我深刻的了解到了数据采集系统的原理、构成部分和数据采集系统和电气工程及其自动化之间的紧密联系,该系统可以采集的发电厂运行数据包括电气参数和非电气参数两类。在此次课程设计当中学到了很多东西,确实对自己专业的理论知识和实践的结合有了很大的帮助,对我个人而言确实受益匪浅。

在这次课程设计里有很多不尽如人意的地方,但是这个设计是在我的能力范围内做的最好的设计成果。当然有些理念是参考了网上相应的资源,但是整个设计过程中,有自己的想法,也和同学们一起讨论了很多,学到了不少东西,也名报了合作和配合的重要性,总之,在即将结束的大学生活中又添了丰富多彩的一笔。

参考文献

[1] 顾德英.计算机控制技术.第二版.北京邮电大学出版社,2005

[2] 李顺增.吴国东.微机原理及接口技术. 机械工业出版社,2004

[3] 何立民.单片机应用系统的功率接口.北京航空航天大学出版社,1992

[4] 张毅刚.单片机实用子程序设计.第二版.哈尔滨工业大学出版社,2003

相关主题
相关文档
最新文档