AD在数据采集系统中的应用.docx
《AD在数据采集系统中的应用.docx》由会员分享,可在线阅读,更多相关《AD在数据采集系统中的应用.docx(22页珍藏版)》请在冰点文库上搜索。
![AD在数据采集系统中的应用.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/f456967a-da23-4969-af98-42a9341ec3c2/f456967a-da23-4969-af98-42a9341ec3c21.gif)
AD在数据采集系统中的应用
燕山大学
课程设计说明书
题目:
AD574在微机数据采集系统中的应用(3)
学院(系):
电气工程学院
专业:
自动化
班级:
08计算机控制1班
姓名:
陈龙举
学号:
0
指导教师:
李惠光臧怀刚
教师职称:
摘要
本系统功能是采用电压传感器测量直流电压,以单片机为核心,AD574对模拟量进行数据采集并转换成数字量再送单片机的双工串行口与大型计算机的管理系统或控制系统进行数据通讯作为一个子系统,分为数据采集和数码显示系统两部分。
由于AD574可以直接接收直流电压信号,故可不加传感器进行电压信号转换。
关键字:
AD574转换器,AT89C2051单片机,LED数码显示,串行输出
绪论
当今社会是数字化的社会,是数字集成电路广泛应用的社会,随着电子产业数字化程度的不断发展,逐渐形成了以数字系统为主体的格局。
A/D和D/A转换器作为模拟和数字电路的借口,正受到日益广泛的关注。
随着数字技术的飞速发展,人们对A/D和D/A转换器的要求也越来越高,新型模拟/数字和数字/模拟之间的转换技术不断涌现,正是因为这些,高集成度的逻辑器件应运而生,而且发展迅速,它不断地更新换代以满足程序的要求,并尽可能的提高其利用率。
本课程设计就对其中AD574模数转换器在微机数据采集系统中的应用加以阐述。
第一部分:
方案拟定和元件选择
本系统大致分为两个主要部分,即数据采集部分和数码显示部分。
涉和到的芯片元件有数据采集功能芯片,微处理芯片,串入并出芯片,数码管,交直流电源等。
1.数据采集:
由于本课程设计课题是AD574在数据采集中的应用,所以数据采集部分就用AD574来实现,由于应用是测直流电压,采集部分省略了交流电压整流滤波的部分。
2.控制芯片:
控制芯片采用51系列单片机中的经典型号AT89C2051来实现与AD转换器和数码输出显示的连接,p1口与AD转换器的输出连接,p3口分别与74LS164.,74LS138,连接。
单片机输出采用串行输出的方式。
3.输出显示:
课题要求用串行口输出数码管显示,因此需要一个串入并出的位移寄存器器件,因此我们选用74LS164来实现,接收单片机串行输入的数据,转变为并行输出至五位数码管的共阴极。
74LS138译码器则负责数码管的分时选通。
第二部分模块简介
第一章AD574
1.1AD574控制器的概述
AD574是美国模拟数字公司推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换芯片,具有外界元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能能特性如下:
1.)分辨率:
12位
2.)非线性误差:
小于±1/2LBS或±1LBS
3.)转换速率:
25us
4.)模拟电压输入范围:
0-10V和0-20V,0-±5V和0-±10V两档四种
5.)电源电压:
±15V和5V
6.)数据输出格式:
12位/8位
7.)芯片工作模式:
全速工作模式和单一工作模式
8.)是逐次逼近型12位A/D转换器,可用作8位
9.)12位数据时,可一次性读出,也可两次读出,即先读出高八位,后读出低四位
10.)AD574内部自动提供基准电压
11.)具有三台输出缓冲器
1.2AD574芯片引脚图
1.3AD574引脚说明
符号
引脚号
说明
+V
1
+5V电源输入端
12/8
2
数据模式选择端,通过次引脚可选择数据总线是12位或8位输出
cs
3
片选端
A0
4
字节地址短周期控制端,与12/8端用来控制启动转换的方式和数据输出格式。
须注意的是,12/8端TTL电平不能直接+5V或者0V连接
R/C
5
读转换数据控制端。
CE
6
使能端
V+
7
正电源输入端,输入15v电源
REFOUT
8
10V基准电源电压输出端
AGND
9
模拟地端
REFIN
10
基准电源电压输入端
V-
11
负电源输入端,输入-15V电源
V+
12
正电源输入端,输入+15V电源
10VIN
13
10V量程模拟电压输入端
20VIN
14
20V量程模拟电压输入端
DGND
15
数字地端
DB0---DB11
16~27
12条数据总线。
通过这12条数据总线向外输出A/D转换数据
STS
28
工作状态指示信号端,当STS=1时,表示转换器正处于转换状态,当STS=0时,生命AD转换结束,通过此信号可以判断AD转换器的工作状态,作为单片机的终端或者查询信号之用。
现在我们来讨论AD574的CE,12/8,CS,R/C和A0对其工作状态的控制过程,在CE=1、cs=0同时满足时,AD574A才会正常工作,在AD574处于工作状态时,当R/C=0时,AD转换,当R/C=1时,进行数据读出。
12/8和A0端用来控制启动转换方式和数据输出方式。
A0=0时,启动的是按完整12位数据方式进行的。
当A0=1时,按8位A/D转换
方式进行。
当R/C=1.也即当AD574处于数据状态时,A0和12/8控制数据输出状态的格式。
当12/8=1时,数据以12位并行输出,当12/8=0时,数据以8位分两次输出。
而当A0=0时,输出转换数据的高8位,A0=1时,输出A/D转换数据的低四位,这四位占一个字节的高半字节,低半字节补零。
AD574控制端标志意义
CE
____CS
R/----C
12/----8
A0
工作状态
0
X
X
X
X
禁止
X
1
X
X
X
禁止
1
0
0
X
0
启动12位转换
1
0
0
X
1
启动8位转换
1
0
1
按+5V
X
12位并行输出有效
1
0
1
按0V
0
高8位并行输出有效
1
0
1
按0V
1
低四位并行输出有效
1.4AD574特点:
1.AD574单极性和双极性输入特性
AD574有两个模拟电压输入引脚10VIN和20VIN,具有10V和20.V的量程范围。
这两个引脚的输入电压可以是单极性的,也可以是双极性的。
由用户通过改变输入电路的连接形式,可使AD574A进行单极性和双极性模拟信号的转换。
2.AD574与单片机的接口
AD574与单片机的接口,该电路采用双极性输入方式,可对±5V或±10V模拟信号进行转换。
当AD574与8031单片机接口时,由于AD574输出12位码,单片机读取转换结果时,需分两次读入,所以接地;AD574的高8位数据线接单片机的数据线,低4位数据线接单片机的低4位数据线:
AD574的GE信号要求无论是单片机对其启动控制,还是对转换结果的读取都应为高电平有效,所以和通过74ls00与非门接CE信号;AD574的STS信号接单片机的一根I/O口线,单片机对转换结果的读取采用查询方式。
第二章AT89C2051单片机
AT89C2051单片机是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含2Kbytes的可反复擦写的FLASH只读存储器,和128bytes的随机存储器,器件采用ATMEL公司的高密度,非已失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。
2.1AT89C2051单片机内部组成。
下图为AT89C2051单片机的内部系统组成基本框图:
图中可以看出,AT89C2051由中央处理器CPU,随机存储器RAM,只读存储器ROM,输入,输出(I/O)口电路,定时器/计数器等若干部件组成,再配置一定的外围电路,如时钟电路,复位电路等,即可构成一个基本的微型计算机系统。
下面简要介绍各个组成部件:
1.中央处理器(CPU)
中央处理器是单片机的核心,完成运算和控制功能,MCS-51单片机的CPU能处理8位二进制数或代码,故称为8位机。
2.内部数据存储器(RAM)
AT89C2051芯片中共有256个内部RAM单元,但其中后128个单元被专用寄存器占用,能作为存储器提供用户的只有前128个单元,用于存储可读可写的数据,因此通常所说的内部存储器就是指前128个单元,简称内部RAM。
3.内部程序贮存器(内部ROM)
AT89C2051共有4KB掩膜ROM,由于ROM通常用于存放程序,原始数据,表格等。
所以称之为程序贮存器,简称内部ROM。
4.并行I/O口
AT89C2051共有4个8位I/O口(P0,P1,P2,P3),以实现数据的并行输出输入等。
5.串行I/O口
MCS-51单片机有一个全双工的串行口,以实现单片机与其他设备之间的串行数据通信。
该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步位移器使用。
6.定时器/计数器
AT89C2051内部共有2个16位的定时器/计数器,以实现硬件定时或计数功能,并可根据需要用定时或计数结果对计算机进行控制。
7.中断控制系统
51系列单片机的终端功能较强,用以满足控制应用的需要,AT89C2051共有5个中断源,为外部中断两个,定时器/计数器溢出中断2个,串行口中断1个,分为高级和低级两个中断优先级。
8.时钟电路
51系列单片机的内部有时钟电路,但晶振和微调电容需外接。
系统允许最高频率为12MHz。
2.2AT89C2051单片机的外部引脚功能
下面按其引脚功能分为四部分叙述这20条
1、主电源引脚VCC和GND
VCC——(20脚)接+5V电压;
VSS——(10脚)接地。
2、外接晶体引脚XTAL1和XTAL2
XTAL1(5脚)接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。
XTAL2(4脚)接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。
3、控制或与其它电源复用引脚RST/VPP
RST/VPP(1脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。
4、输入/输出(I/O)引脚P1、P3(共15根)
1).P1口(12脚至19脚):
是准双向8位I/O口。
由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P1口能驱动(吸收或输出电流)4个LS型的TTL负载。
对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。
对EPROM编程和程序验证时,它接收低8位地址。
2).P3口(2.3.6.7.8.9.11脚):
是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。
P3能驱动(吸收或输出电流)4个LS型的TTL负载。
作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。
作为第二功能使用时,各引脚的定义如表所示。
值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
P3口引脚的第二功能:
口线
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
INT0
外部中断0请求信号输入
P3.3
INT1
外部中断1请求信号输入
P3.4
T0
定时器/计数器0计数输入
P3.5
T1
定时器/计数器1计数输入
P3.6
WR
外部RAM写选通
P3.7
RD
外部RAM读选通
第三章位移寄存器74LS164
3.1器件功能作用
8位串入,并出移位寄存器
3.2概述
74HC164、74HCT164是高速硅门,CMOS器件,与低功耗肖特基型TTL器件的引脚兼容,74HC164、74HCT164是8位边沿触发式位移寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA,DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一端输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟(CP)每次由低变高速时,数据右移一位,输入到Q0,Q0是两个数据输入端的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其他所有的输入端都无效,同时非同步地清除寄存器,强制所有输出为低电平。
3.3引脚信息
引脚说明:
符号
引脚
说明
DSA
1
数据输入
DSB
2
数据输入
Q0~Q3
3~6
输出
GND
7
地(0v)
CP
8
时钟输入(低电平到高电平触发)
/M/R
9
中央复位输入(低电平有效)
Q4~Q7
10~13
输出
VCC
14
正电源
第四章74LS160计数器
74LS160计数器是10进制计数器,引脚功能这里不再详细介绍,这里将74LS160改造成5进制计数器,用于对数码管的地址选通。
改造后的74LS160结构如下图:
第五章74LS138译码器
74LS138为3线--8线译码器。
74LS138译码器接收74LS160的计数信号,译码后生成各位的高低电平,实现对5位数码管的阳极的分时选通,达到动态显示的效果。
其工作原理如下:
当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。
第六章LED数码管
6.1概述
LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
下图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
LED数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
6.2LED数码管内部引脚图片
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
每一笔划都是对应一个字母表示DP是小数点.
A、静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位*器*进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5×8=40根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。
故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂性。
B、动态显示驱动:
数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。
透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就
是动态驱动。
在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象和发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。
本系统由于要使用多个数码管会占用太多的I/O口,所以采用动态显示方式进行显示。
第三部分组合电路原理图
第一章数据采集部分
AD574是12位逐次比较型AD传感器,共有12根数据线,AT89C2051单片机的P1口与AD574的高8位数据线直接相连,AD574的低四位数据线与单片机的高半4位P1.4--P1.7直接相连,数据的读取是靠单片机的控制线进行分时选通进行,P3.5接AD574的字节短周期的控制线(A0),P3.4接读转换数据控制脚(R/C),P3.7直接与工作状态指示端(STS)相连,这样的结构决定只能是8位输出形式,故12/8数据模式选择端直接接地即可。
AT89C2051只有40根I/O口线,上述用了11根,我们将输出的数据通过单片机的串行口输出,外接一片74LS164(串入并出)译码器进行扩展,剩下的P2.0~P2.4口用来实现对显示LED进行地址选通。
这里我们采用10V量程的输入模式,故AD574的Pin13为被测电压的输入端,因为只使用了一片AD574转换芯片,所以CS端直接接地即可。
转换器使用±电源电压供电,工作电压为+5V。
第二章数码显示部分
74LS164为串入并出译码器,AT89C2051通过串行输出口的BCD串行码经74LS164译码输出为7端BCD码,直接与LED的a~g相连,同时四位LED的数据线都一一对应连接在一起。
LED数码管选用共阳型,AT89C2051单片机的P2.0~P2.4口经三极管2SA1015接LED的公共端,5位LED的显示是通过地址线进行分时选通的,由单片机AT89C2051的P3.2口发出的时钟信号连接至74LS160改造的5位计数器,通过计数器的输出转至74LS138译码器,实现分时选通的功能。
这就是我们常用的动态扫描显示方式。
值得一提的是,动态扫描方式中,动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象,如果频率太高,由于每个LED的点亮时间太短,LED的亮度太低,肉眼无法看清,所以一般去10ms左右为宜,这就要求在编写程序时,选取某一位LED使其点亮保持一定的时间,程序上常采用的是调用延时子程序。
在C51指令中,延时子程序是相当简单的,并且延时时间也容易更改。
第四部分软件流程图
第五部分总结与心得
第一章总结
通过本次课题设计,我们对AD模数转换器,和MCS-51单片机了更进一步的了解。
并且取得了新的收获。
本次实验采用了AT89C2051单片机芯片,通过本次实验和查阅相关资料,我们对其之间的区别有了一定的认识,在本课题设计报告的硬件介绍部分也对其作了详细的论述。
数据采集中我们用到了模/数转换芯片AD574,以前在学单片机这门课程时只是对其理论知识有了初步的了解。
通过本次实验,我们对它的工作原理彻底理解了,对其启动设置、转换结束判断以和输出控制等都基本掌握。
电路连接方面,我们对其与单片机的连接也有了更为直观的认识,通过实验的摸索以和必要的理论知识,我们准确的实现了它于单片机的互连。
另外,在动态数码管显示的原理上,也有了进一步的了解,通过74LS164芯片实现串行输入并行输出至数码管的共阴极。
再通过AT89C2051单片机对5位数码管的LED地址选通的功能实现动态显示。
需要注意的是,地址选通的频率一定要适中,频率过高过低都会对显示效果造成不利的影响。
第二章心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。
同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
参考文献:
1.钱宗华,严携薇,赵雁南,微计算机控制系统设计,清华大学出版社,1988
2.孙玉才,MCS-51系列单片微型计算机和其应用,东南大学出版社,1990
3.沈德金,陈粤初。
MCS-51系列单片机接口电路与应用程序实例,北京航天航空大学出版社,1990