ADC0809_多路数据采集和控制系统设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设计目的
本设计包括确定控制任务、系统总体设计、硬件系统设计、软件程序的设计等,使学生进一步学习理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能。
2. 设计内容
设计一由微机控制的A/D数据采集和控制系统,该卡具有对八个通道上0-5V的模拟电压进行采集的能力,且可以用键盘选择装换通道,选择ADC0809作为A/D转换芯片。
并在显示器上动态显示采集的数据。
3. 设计要求
(1)根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
(2)画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。
(3)用protel软件绘制电路原理图。
(4)软件设计,给出流程图及源代码并加注释。
4. 系统总体设计步骤
第一步:信号调理电路
第二步:8路模拟信号的产生与A/D转换器
被测电压要求为0~5V的直流电压,可通过电位器调节产生。
考虑本设计的实际需要,我选择八位逐次比较式A/D转换器(ADC0809)。
第三步:发送端的数据采集与传输控制器
第四步:人机通道的借口电路
第五步:数据传输借口电路
用单片机作为控制系统的核心,处理来之ADC0809的数据。
经处理后通过串口传送,由于系统功能简单,键盘仅由两个开关和一个外部中断组成,完成采样通道的选择,单片机通过接口芯片与LED数码显示器相连,驱动显示器相应同采集到的数据。
串行通信有同步和异步两种工作方式,同步方式传送速度快,但硬件复杂;异步通信对硬件要求较低,实现起来比较简单灵活,适用于数据的随机发送和接受。
采用MAX485芯片的转换接口。
经过分析,本系统数据采集部分核心采用ADC0809,单片机系统采用8051构成的最小系统,用LED动态显示采集到的数据,数据传送则选用RS-485标准,实现单片机与PC机的通信。
数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。
系统框图如4-1所示
图4-1 总体设计的系统框图
5.硬件系统的设计
5.1信号调理
信号调理的任务:将被测对象的输出信号变换成计算机要求的输入信号。
多路数据采集输入通道的结构图如下图:
图5-1-1多路数据采集输入通道结构图
注:缓慢变化的信号和直流信号,采样保持电路可以省略。
5.2 A/D转换器的选取
转换速度是指完成一次A/D转换所需时间的倒数,是一个很重要的指标。
A/D转换器型号不同,转换速度差别很大。
通常,8位逐次比较式ADC 的转换时间为100us左右。
由于本系统的控制时间允许,可选8位逐次比较式A/D转换器。
5.3 A/D转换
对于该八路通道输入信号,八位A/D转换器,其精度为
80.39%
2-=
输入为0~5V时,分辨率为
8
50.019611
22Fs N
V v ==-- 其中: Fs v —A/D 转换器的满量程值
N —ADC 的二进制位数
量化误差为
8
50.0098(1)2
(1)2
22Fs
N
Q V
v
=
=
=-⨯-⨯
ADC0809是TI 公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC 部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。
用它可直接将8个单端模拟信号输入,分时进行A/D 转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D 转换电路的核心。
5.4芯片ADC0809的引脚功能和主要性能
ADC0809八位逐次逼近式A/D 转换器是一种单片CMOS 器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。
8路转换开关能直接联通8个单端模拟信号中的任意一个。
ADC0809的引脚图及51单片机引脚图:
图5-4-1ADC0809管脚图及51单片机芯片管脚图
ADC0809模数转换器的引脚功能:
IN0~IN7:8路模拟量输入。
A、B、C:3位地址输入,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为低电平时,表示正在转换,为高电平时,允许转换结果输出。
ADC0809的主要性能:
◆逐次比较型
◆CMOS工艺制造
◆单电源供电
◆无需零点和满刻度调整
◆具有三态锁存输出缓冲器,输出与TTL兼容
◆易与各种微控制器接口
◆具有锁存控制的8路模拟开关
◆分辨率:8位
◆功耗:15mW
◆最大不可调误差小于±1LSB
◆转换时间128us
◆转换精度:±0.4%
◆ADC0809没有内部时钟,必须由外部提供,其范围为10~1280kHZ,典型的时钟频率为640kHZ。
5.5 ADC0809的接线图
此电路图主要接线将八路输入模拟信号转换为数字信号,为数据处理及监控模块提供输入信号。
5.6 ADC0809与51单片机的接口
由于ADC0809无片内时钟,时钟信号有51单片机的ALE信号经D触发
器二分频后获得。
此外,由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的 A B C 相连。
通道基本地址为0000H~0007H。
其对应关系如下表所示:
表5-6-1 ADC0809输入通道地址
ADC0809与51单片机的接口方法:
ADC0809与51单片机的接口有3种形式,分别是查询方式、中断方式和延时等待方式,本题中选用中断接口方式。
由于ADC0809无片内时钟,时钟信号时可由单片机的ALE信号经D触发器二分频后获得。
ALE引脚得脉冲频率是8051时钟频率的1/6.该题目中单片机时钟频率采用6MHz,则ALE输出的频率是1MHz,二分频后为500Hz,符合ADC0809对频率的要求。
由于ADC0809内部没有地址锁存器,所以通道地址有P0口的低3位
直接与ADC0809的A,B,C相连。
通道基本地址为0000H~0007H。
控制信号:将P2.7作为片选信号,在启动A/D转换时。
由单片机的写信号和P2.7控制ADC的地址锁存和启动转换。
由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。
在读取转换结果时,用单片机的读信号RD和P2.7引脚经或非门后,产生正脉冲作为OE信号用一打开三态输出锁存器。
ADC0809与51单片机的接口电路如图所示:
5.7 控制器、振荡源和复位电路
复位电路即使电路回复到初始状态,是单片机经常的工作状态。
单片机振荡电路的振荡周期和时钟电路的时钟周期决定了CPU的时序。
复位电路:采用上电外部复位电路
图5-7-1上电外部复位电路图5-7-2内部振荡器方式5.8键盘与显示电路
键盘由一组常开按键开关组成,键盘系统的主要工作包括及时发现有键闭
合,并做出相应的处理。
本系统采用中断方式的开关代替键盘,完成采集通道的选择。
硬件逻辑如下图所示。
图5-8-1键盘硬件电路
显示部分为八个共阴极的七段LED显示器,8个七段LED的a~dp字段的引脚分别由8个OC门同相驱动器驱动。
OC门驱动器用7407,当7407输出低电平时,没有电流流过LED,当7407输出为开路状态时,电流经100 限流电阻流入LED显示器,每个七段LED的公共端都接一个反相驱动器,反相驱动器使用75452,当某一字段需要亮时,该LED公共端的反相驱动器必须是低电平输出,并且这一字段的同相驱动器必须是高电平输出。
单片机通过8155接口芯片的A口的位选,经B口确定那些字段LED发光。
图5-8-2显示部分硬件电路
5.9通信电路
51单片机有一个全双工的串行口,所以单片机和PC之间可以方便的进行串口通信。
进行串行通信时要满足一定的条件,如PC的串口是RS232电平的,而单片机的串口是TTL电平的,两者直接必须有一个电平转换电路,这里用专用芯片MAX485进行转换。
图5-9-1MAX485引脚图
图5-9-2通信接口电路
6.软件程序设计
系统的软件的设计采用的是汇编语言,对单片机进行编程实现各种功能。
程序是在windows xp环境下采用keil软件编写的,可以实现对八路数据的采集与处理,能实现对数据、地址的显示。
6.1主程序流程图及其程序:
主程序:
ORG 0100H
MAIN:MOV SP,#60H;给堆栈指针赋初值
MOV SCON,#50H;设置串口方式1控制字
MOV TMOD,#21H;设置波特率为9600
MOV TH1,#0FDH
MOV TL1,#0FDH;给定时器赋初值
SETB TR1;启动定时器
CLR P1.7;清空P1.7口
SETB P1.6;置1P1.6
LOOP:MOV R0,#0FFH; 在寄存器R0中写入FF
MOV R4,#00H; 清空寄存器R4
LOOP1:MOV A, R4;将寄存器R4的值送入累加器A SWAP A;交换A中的值
ANL A, R4;将A与R4中的值相与
MOV R2, A;将A的值放入寄存器R2,发送指令内容
MOV TDH,R4
LCALL FAS ;调用发送子程序
LCALL SJCL
MOV R7,#064H
XH: LCALL DISPLAY
DJNZ R7,XH ;调用数码管显示子程序
INC R0
INC R4
CJNE R4,#08H,LOOP1
AJMP LOOP
6.2、数码管显示子程序:DISPLAY: MOV DPTR,#DISTAB
MOV R3,#01H
MOV R1,#TDH DPLOP: MOV A,@R1
MOVC A,@A+DPTR
MOV P2,R3
MOV P0,A
CJINE R3,#02H,DPNEXT
SETB P0.7 DPNEXT: MOV A,R3
RL A
MOV R3,A
INC R1
LCALL DS1M
CLR P0.7
CJINE R3,#10H ,DPLOP
MOV P0,#00H ;一次显示结束,P0口复位
MOV P2,#00H ;P2口复位
RET
6.3、发送子程序:
FAS:SETB P1.7
MOV A, R2
MOV SBUF,A;发送数据
LCALL DSIM
CLR P1.7
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0;启动定时器0
S1:JB R1,S2
CLR TI;等待接受
JNB TF0,S1
CLR TF0
CLR TR0
MOV TH0,#3CH
MOV TL0,#BOH;给定时器0设初值
SETB TR0
S0:DJNZ CUOWU,FAS
MOV CUOWU ,#04H
LCALL BAOJING;跳到报警程序S2:MOV A, SBUF
MOV ZCI,A
CLR RI
CLR TR0
CLR TF0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
S3:JB RI ,S4
JNB TF0, S3
CLR TF0
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
DJNZ CUOWU,FAS
MOV CUOWU,#04H
LCALL BAOJING ;跳到报警程序S4:MOV A,SBUF
MOV ZC2,A
CLR RI
CJNE A,ZC1,S0
MOV @R0,ZC1
SETB P1.6
AJMP FANHUI;返回程序BAOJING:CLR P1.6 FANHUI:RET
6.4、A/D转换程序流程图:
主程序:
ORG 0000H
MOV R1,#20H
MOV R2,#08H;设定8个通道
MOV TL0,#00H
MOV TH,#0B8H
MOV TMOD,#01H;给计数器设定初值并初始化
CLR ET0;
SETB TR0;启动计数器
MOV SCON,#40H
MOV DPTR,#78FFH;置DPTR,使模拟通道对应的入口地址为78FFH LOOP:MOV A,R2
SUBB A,R1
JNZ LOOP2;跳转至LOOP2
MOV R1,#00H
MOV DPTR ,#78FFH
LOOP1:JNB TF0,LOOP1
CLR TF0
MOV TL0,#00H
MOV TH0,#0B8H;重新给计数器设初值
LOOP2:MOVX @DPTR,A;重启A/D
LOOP3:JP P1.0,LOOP3
LOOP4:JNP P1.0,LOOP4;由P1.0查询ADC0809的EOC信号,确定转换是否完成MOVX A,@DPTR;查询结果
MOV @R1,A;保存结果
INC DPH;查询下一模拟通道
INC R1;同时将下一通道的值保存
LJMP LOOP
END
7.课程设计心得
通过这次课程设计,我深刻的了解到了数据采集系统的原理、构成部分和数据采集系统和电气工程及其自动化之间的紧密联系,该系统可以采集的发电厂运行数据包括电气参数和非电气参数两类。
在此次课程设计当中学到了很多东西,确实对自己专业的理论知识和实践的结合有了很大的帮助,对我个人而言确实受益匪浅。
本次课程设计是一个由微机控制的A/D数据采集控制系统,这卡上对应有8个通道0到5V的模拟电压采集的能力,要求用键盘选择转换通道。
在以上的设计里,基本满足了设计需求的要素。
这次的课程设计主要应用的知识,有计算机控制系统的构成,接口电路与应用程序,再一次巩固了所学的理论知识。
结合自己大学期间的实际积累的专业基础知识和相关专业课程知识。
总体来说这是一次,理论与实践的结合,有助于我们应用专业的理论知
识解决实际问题。
在这次课程设计里有很多不尽如人意的地方,但是这个设计是在我的能力范围内做的最好的设计成果。
当然有些理念是参考了网上相应的资源,但是整个设计过程中,有自己的想法,总之,此次课程设计是我尽最大的努力完成的。
8.参考文献
1.顾德英. 计算机控制技术(第二版).北京邮电大学出版社,2005年
2.李顺增.吴国东.微机原理及接口技术. 机械工业出版社,2004年
3.李朝青.单片机原理及接口技术(第三版).北京航空航天大学出版社,2005年
4. 邬宽明. 单片机外围器件使用手册,数据传输接口器件分册.北京航空航天大学出版社,1998年
5. 李顺增、吴国东.微机原理及接口技术. 机械工业出版社,2004年
6.张毅刚、彭喜元、孟升卫、刘兆庆.单片机使用子程序设计(第二版).哈尔冰工业大学出版社,2003年
7.徐爱卿、孙涵芳、盛焕明.单片微型计算机应用和开发系统.北京航空航天大学出版社,1992年
8.王兆安. 电力电子技术(第四版).西安交通大学出版社,2002年
9. 毕满清. 模拟电子技术基础.电子工业出版社,2008年
10. 韩焱.数字电子技术基础. 电子工业出版社,2009年。