数据采集系统课件.docx

上传人:b****8 文档编号:28298576 上传时间:2023-07-10 格式:DOCX 页数:30 大小:470.45KB
下载 相关 举报
数据采集系统课件.docx_第1页
第1页 / 共30页
数据采集系统课件.docx_第2页
第2页 / 共30页
数据采集系统课件.docx_第3页
第3页 / 共30页
数据采集系统课件.docx_第4页
第4页 / 共30页
数据采集系统课件.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数据采集系统课件.docx

《数据采集系统课件.docx》由会员分享,可在线阅读,更多相关《数据采集系统课件.docx(30页珍藏版)》请在冰豆网上搜索。

数据采集系统课件.docx

数据采集系统课件

课程设计说明书NO.1

数据采集系统的设计

1系统方案设计

1.1设计任务要求

设计一个数据采集系统。

其主要功能有:

可实现1-16通道单端模拟量输入,输入电压范围为0-10V,分辨率为12位。

并且实时显示通道号和相应的输入电压值。

要求:

完成软、硬件设计。

16路模拟量输入信号的控制,可通过多路开关来实现;A/D转换器要选择分辨率为12位,输入电压值要经过标度变换、转换为BCD码后送去显示。

1.2系统方案

系统硬件电路如图1:

AD574将0—10V模拟信号转换为00—FF数字信号并传送单片机,然后由单片机进行数据存储及数据处理,最终由LED显示器显示。

完成对模拟信号的采集。

图1

2硬件系统设计

2.1硬件系统设计原理

如图2所示,本系统中,以AT89S51单片机为运算和控制的核心,它具有4个8位并行的I/O端P0-P3,其中由P0口控制数码管显示,P1口控制信号输入。

16路模拟量采集由两个CD4051完成,A/D转换由AD574完成。

 

沈阳大学

课程设计说明书NO.2

图2

2.2硬件系统各个电路的设计

(1)2.2.1多路模拟开关电路设计

1、多路模拟开关的选取

目前采用CMOS工艺的多路开关应用最为广泛。

尽管模拟开关种类很多,但其功能基本相同,只是在通道数、开关电阻、漏电流、输入电压及方向切换等性能参数有所不同。

多路模拟开关主要有4选1、8选1、双4选1、双8选1和16选1等,它们之间除通道和外部管脚排列有些不同,其电路结构、电源组成及工作原理基本相同。

常用单端、双端八路模拟开关CD4051的引脚图如图3所示。

沈阳大学

课程设计说明书NO.3

图3

VDD为正电源,VEE为负电源,VSS为地,要求VDD+|VEE|≤18V。

用两个CD4051扩展成16通道的多路模拟开关如图4所示,16通道的多路模拟开关真值表见表1。

图4

沈阳大学

课程设计说明书NO.4

表1十六通道的CD4051多路模拟开关真值表

输入状态

选中通道号

A3

A2

A1

A0

0

0

0

0

0

0

0

0

1

1

0

0

1

0

2

0

0

1

1

3

0

1

0

0

4

0

1

0

1

5

0

1

1

0

6

0

1

1

1

7

1

0

0

0

8

1

0

0

1

9

1

0

1

0

10

1

0

1

1

11

1

1

0

0

12

1

1

0

1

13

1

1

1

0

14

1

1

1

1

15

沈阳大学

课程设计说明书NO.5

2、A/D转换器的选取

AD574是美国模拟器件公司(AnalogDevices)推出的单片高速12位逐次逼近型A/D转换器,转换时间<25μs。

自带三态缓冲器,可以直接与8位或16位的微机相连,且能与CMOS及TTL电平兼容。

由于AD574内置基准电压源及时钟发生器,这使它在不需要任何外部电路和时钟信号的情况下完成一切A/D转换功能。

可以采用±12V和±15V两种电源电压,应用非常方便。

图5所示为AD574A的内部结构框图。

AD574A为28引脚双列直插式封装,其引脚配置如图6所示。

图5

沈阳大学

课程设计说明书NO.6

3AD574的引脚功能

图6

VL:

数字逻辑部分电源+5V。

数据输出格式选择信号引脚。

=1(+5V)时,双字节输出,即12条数据线同时有效输出;当

=0(0V)时,为单字节输出,即只有高8位或低4位有效。

片选信号端,低电平有效。

A0:

字节选择控制线。

在转换期间:

A0=0,AD574A进行全12位转换。

在读出期间:

当A0=0时,高8位数据有效;A0=1时,低4位数据有效,中间4位为“0”,高4位为三态。

因此当采用两次读出12位数据时,应遵循左对齐原则。

读数据/转换控制信号,当

=1,ADC转换结果的数据允许被读取;当

=0,则允许启动A/D转换。

CE:

启动转换信号,高电平有效。

可作为A/D转换启动或读数据的信号。

Vcc、VEE:

模拟部分供电的正、负电源,为±12V或±15V。

REFOUT:

10V内部参考电压输出端。

REFIN:

内部解码网络所需参考电压输入端。

沈阳大学

课程设计说明书NO.7

BIPOFF:

补偿调整。

接至正负可调的分压网络,以调整ADC输出的零点。

10VIN、20VIN:

模拟量10V及20V量程的输入端口,信号的另一端接至AG引脚。

DG:

数字公共端(数字地)。

AG:

模拟公共端(模拟地)。

它是AD574A的内部参考点,AG和DG在封装时已连接在一起。

DB0~DB11:

数字量输出。

STS:

输出状态信号引脚。

转换开始时,STS达到高电平,转换过程中保持高电平。

转换完成时返回到低电平。

AD574A的控制信号的组合控制功能如表2所示。

表2AD574A的控制信号的组合控制功能表

CE

A0

工作状态

0

×

×

×

×

禁止

×

1

×

×

×

禁止

1

0

0

×

0

启动12位转换

1

0

0

×

1

启动8位转换

1

0

1

接1脚(+5V)

×

12位并行输出有效

1

0

1

接地

0

高8位并行输出有效

1

0

1

接地

1

低4位加上尾随4个0有效

必须指出

端与TTL电平不兼容,故只能用通过布线接至+5V或0V上。

另外A0在数据输出期间不能变化。

如果要求AD574A以独立方式工作,只要将CE、

端接入+5V,

和A0接至0V,将

作为数据读出和数据转换启动控制。

=1时,数据输出端出现被转换后的数据,

=0时,即启动一次A/D转换。

在延时0.5μs后STS=1表示转换正在进行。

经过一次转换周期Tc(典型值为25μs)后STS跳回低电平表示A/D转换完毕,可以从数据输出端读取新的数据。

启动AD574A转换的时序图如图7所示,AD574A的读周期时序图如图8所示。

沈阳大学

课程设计说明书NO.8

图7图8

AD574A有单极性和双极性两种模拟信号转换方式,这主要通过改变AD574A引脚8、10、12的外接电路来实现。

图9左侧所示为单极性转换电路,可实现输入信号0~10V或0~20V的转换,其系统模拟信号的地线应与引脚9相连,使其地线的接触电阻尽可能小,图9右侧为双极性转换电路,可实现输入信号-5V~+5V或-10V~+10V的转换。

图9

沈阳大学

课程设计说明书NO.9

2.2.2AD574与单片机连接

图10中将转换结束状态线STS与单片机的P1.1相连,故该接口采用查询方式。

由于AD574A片内有时钟,故无需外加时钟信号。

由于AD574A内部含有三态锁存器,故可直接与单片机数据总线接口。

AD574A是12位向左对齐输出格式,所以将低4位DB3~0接到DB11~8,第一次读出高8位DB11~4,第二次读出低4位,此时DB7~4为0000。

图10中,片选信号由P0.7控制,由于图中高8位地址P2.7~P2.0未使用,故只使用低8位地址,采用寄存器寻址方式。

设启动AD574A的地址是7CH,读取高8位数据的地址为7EH,读取低4位数据的地址为7FH。

图10

沈阳大学

课程设计说明书NO.10

2.2.3单片机模块

1、AT89S51单片机的简介

AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决方案。

AT89S51具有如下特点:

40个引脚,8kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不一样产品的需求。

AT89S51与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89S51运行,结果一样。

AT89S比AT89C51新增了一些功能,支持在线编程和看们狗是其中主要特点。

它们之间主要区别在于以下几点:

1.引脚功能:

管脚几乎相同,变化的有,在AT89S51中P1.5,P1.6,P1.7具有第二功能,即这3个引脚的第二功能组成了串行ISP编程的接口。

2.编程功能:

AT89C51仅支持并行编程,而AT89S51不但支持并行编程还支持ISP再线编程。

在编程电压方面,AT89C51的编程电压除正常工作的5V外,另Vpp需要12V,而AT89S51仅仅需要4-5V即可。

3.烧写次数更高:

AT89S51标称烧写次数是1000次,实为1000-10000次,这样更有利开始学习者反复烧写,降低学习成本。

4.工作频率更高:

AT89C51极限工作频率是24MHZ,而AT89S51最高工作频率是33MHZ,(AT89S51芯片有两中型号,支持最高工作频率分别为24MHZ和33MHZ)从而具有更快的计算速度。

沈阳大学

课程设计说明书NO.11

5.电源范围更宽:

AT89S51工作电压范围,达4-5.5V,而AT89C51在底于4.8V和高于5.3V的时侯则无法正常工作。

6.抗干扰性更强:

AT89S51内部集成看门狗计时器(WatchdogTimer),而AT89C51需外接看门狗计时器电路,或者用单片机内部定时器构成软件看门狗来实现软件抗干扰。

2、AT89S51引脚及功能介绍

AT89S51引脚图如下图11所示:

图11

沈阳大学

课程设计说明书NO.12

AT89S51芯片的40个引脚功能为:

VCC:

电源电压。

GND:

接地。

RST:

复位输入。

当RST变为高电平并保持2个机器周期时,将使单片机复位。

WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。

DISKRTO位缺省为RESET输出高电平打开状态。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡放大器的输出。

P0口:

一组8位漏极开路型双向I/O口。

也即地址/数据总线复用口。

作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输

出一个电流(IIL)。

Flash编程和程序校验期间,P1接收低8位地址。

P1口部分端口引脚及功能如表3所示。

表3P1口特殊功能

P1口引脚

特殊功能

P1.5

MOSI(用于ISP编程)

P1.6

MOSI(用于ISP编程)

P1.7

SCK(用于ISP编程)

沈阳大学

课程设计说明书NO.13

P2口:

一个带内部上拉电阻的8位双向I/O口。

P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。

在访问8位地址的

外部数据存储器时,P2口线上的内容在整个访问期间不改变。

Flash编程和程序校验期间,P2亦接收低8位地址。

P3口:

一个带内部上拉电阻的8位双向I/O口。

P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写“1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。

作输入端口使用时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3所示。

P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。

表4P3口特殊功能

P3口引脚

特殊功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

(外部中断0)

P3.3

(外部中断1)

P3.4

T0(定时器0外部输入)

P3.5

T1(定时器1外部输入)

P3.6

(外部数据存储器写选通)

P3.7

(外部数据存储器读选通)

沈阳大学

课程设计说明书NO.14

PSEN/:

程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉冲。

当访问外部数据存储器,没有两次有效的PSEN/信号。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

Flash存储器编程时,该引脚加上+12V的编程电压VPP。

注:

I/O口的读写

P0~P3口都可以作为普通的I/O口来使用。

当作为输入口使用时,必须先向该口的锁存器中写入“1”,然后再从引脚缓冲器中读入引脚状态,这样的读入结果才正确。

当作为输出口使用时,可能要经常修改输出口各引脚的状态,为此在AT89S51单片机的指令系统中,设置有“读-修改-写”指令。

例如,逻辑与指令“ANLP1,A”就属于这类指令。

该指令的执行过程是:

CPU先读入P1上的数据,然后与累加器A中的数据按位进行逻辑与操作,最后将与的结果送回P1口,完成对P1口各位状态的修改。

这类指令中,读入P1口的数据是前一次写入P1口输出锁存器的数据,而不是P1口的实际状态,两者不一定相同。

例如,用P1的一根线去驱动一个晶体管的基极,当向此口线写入“1”时,晶体管导通,并把引脚上的电平拉成低电平“0”。

这时若从引脚上读取数据(引脚缓冲器),会读错成“0”,而不是先前输出的“1”。

为此,在P0~P3口每一根线的结构上都设有一个读锁存器缓冲器,当执行这类指令时,读入的数据时锁存器的输出状态。

3、复位电路设计

RES引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即两个机器周期)以上。

若使用频率为6MHz的晶振,则复位信号持续时间应超过4us,才能完成复位。

复位操作有上电自动复位和按键手动复位两种方式。

本设计采用上电复位,如图12所示。

沈阳大学

课程设计说明书NO.15

图12

上电自动复位电路是在加电瞬间电容通过充电来实现的。

在通电瞬间,电容C3通过电阻充电RST端出现正脉冲,用以复位。

上电瞬间,RST端的的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。

上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。

4、晶振电路设计

AT89S51芯片内部有一个高增益反相放大器,用于构成振荡器。

反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器,如图13所示。

电容器C1和C2通常取30pF左右,可稳定频率并对振荡频率有微调作用。

本设计中采用6MHz的晶振构成单片机的时钟电路。

晶振频率也就是振荡电路的脉冲频率,也称振荡频率。

(振荡脉冲频率范围为0~24MHz)

图13

沈阳大学

课程设计说明书NO.16

此振荡器由XTAL1端向内部时钟电路提供一定的频率时钟源信号。

另外,振荡器的工作还可由软件控制,当对单片机内电源控制寄存器PCON中的PD位置1时,可停止振荡器的工作,使单片机进入省电工作状态,此振荡器称为内部振荡器。

晶振频率是单片机的一项重要性能指标。

因为单片机的时钟信号是通过振荡信号分频得到的,所以竞争频率直接影响时钟信号的频率。

晶振频率高,系统的时钟频率就高,单片机运行速度也就快。

然而晶振频率高对存储器等的速度和印刷电路板的工艺要求也高。

晶振频率不但影响速度,而且对单片机的工作电流也有一定影响,所以在选择晶振频率是,要兼顾速度、功耗和线路工艺。

片内振荡器对构成并联谐振电路的外接电容C1和C2要求并不严格,外接晶体时,C1和C2的典型值为30pF左右。

而且,在设计印刷电路板时,晶体(或陶瓷谐振器)和电容应尽可能安装得靠近单片机,以减少寄生电容,保证振荡器的稳定和可靠性。

2.2.4输出电路设计

输出电路采用数码管显示,显示方法为动态扫描显示。

动态显示驱动:

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

显示部分的原理图如下图14所示,利用8255A扩展的4位LED动态显示器接口电路。

图中将所有位的段选线相应地并联在一起,PB口作为段数端口,经同相驱动器后接

沈阳大学

课程设计说明书NO.17

显示器各个极,形成段选线的多路复用,而PA3~PA0作为扫描口线,经反相驱动器75452接显示器公共阴极。

在每一时刻使PA3~PA0中有一位为高电平,即4位显示器中仅有一位公共阴极位低电平,其他位为高电平,同时,段选线上输出相应位要显示的字符字型码。

这样同一时刻,4位LED中只有选通那一位显示出字符,而其他位熄灭的。

同样,下一时刻,只让下一位的选线处于选通状态,而其他位处于关闭状态,同时,在段选线上输出相应位将要显示字符的字型码。

如此循环下去,就可以使4位显示出要显示的字符。

图14

沈阳大学

课程设计说明书NO.18

3、软件系统设计

3.1主程序流程图如图14所示

 

图14主程序流程图图15A/D转换子程序流程图

3.2A/D转换流程图如图15所示

3.3A/D转换数据处理程序

本设计中,以查询方式实现A/D转换。

查询方式A/D转换程序如下:

ORG0200H

START:

MOVDPTR,#9000H

MOVP1,#0FFH

沈阳大学

课程设计说明书NO.19

MOVR0,#07CH

MOVX@R0,A

LOOP:

JBP1.1,LOOP

INCR0

INCR0

MOVXA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

MOVXA,@R0

MOVX@DPTR,A

HERE:

AJMPHERE

RET

3.4显示子程序

根据LED显示器的结构原理,显示不同的字符需要不同的字形码。

本设计选用共阴极数码管,由PA口控制LED信号灯的显示。

数码管显示的真值表如下表所示:

表4数码管显示真值表

显示字符

共阴极接法

共阳极接法

显示字符

共阴极接法

共阳极接法

0

3FH

C0H

C

39H

C6H

1

06H

F9H

D

5EH

A1H

2

5BH

A4H

E

79H

86H

3

4FH

B0H

F

71H

8EH

4

66H

99H

P

73H

8CH

5

6DH

92H

U

3EH

C1H

6

7DH

82H

T

31H

CEH

7

07H

F8H

Y

6EH

91H

8

7FH

80H

H

76H

89H

9

6FH

90H

L

38H

C7H

A

77H

88H

“灭”

00H

FFH

B

7CH

83H

沈阳大学

课程设计说明书NO.20

LED显示程序为:

DISPLAY:

MOVDPTR,#NUMTAB

MOVR0,#2

DP1:

MOVR2,#150;设置动态显示次数

LOOP3:

MOVA,#0EH;选通点亮第1位数码管

MOVP0,A

MOVA,R1

MOVCA,@A+DPTR

MOVP2,A

ACALLDIMS

SETBP0.0;选通点亮第2位数码管

CLRP0.1

MOVA,50H

MOVCA,@A+DPTR

MOVP2,A

CLRP2.7

ACALLDIMS

SETBP0.1;选通点亮第3位数码管

CLRP0.2

MOVA,51H

MOVCA,@A+DPTR

MOVP2,A

ACALLDIMS

SETBP0.2;选通点亮第4位数码管

CLRP0.3

MOVA,52H

MOVCA,@A+DPTR

MOVP2,A

ACALLDIMS

SETBP0.3

DJNZR2,LOOP3

DJNZR0,DP1

RET

DIMS:

MOVR7,#00

DJNZR7,$

RET

沈阳大学

课程设计说明书NO.21

3.5多路数据采集系统主程序

具体程序如下:

STBITP3.5

OEBITP3.4

EOCBITP3.3

ORG0000H

AJMPSTART

ORG0030H

START:

MOVR5,#0

SETT:

MOVA,R5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

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

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