数据采集11副本.docx
- 文档编号:30317827
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:23
- 大小:212.39KB
数据采集11副本.docx
《数据采集11副本.docx》由会员分享,可在线阅读,更多相关《数据采集11副本.docx(23页珍藏版)》请在冰豆网上搜索。
数据采集11副本
一绪论1
(一)本设计的目的1
(二)意义1
(三)研究范围1
(四)设计原理1
二系统总体设计2
2.1硬件总体设计2
2.2软件总体设计4
三系统硬件设计5
3.1存储器RAM扩展5
3.2模拟量采集电路设计8
3.2.1温度传感器的选择8
3.2.2信号调理电路设计10
3.2.3A/D转换电路设计11
3.3脉冲量采集电路设计13
3.4RS-232C串行总线数据通信13
四软件设计14
4.1系统主程序14
4.2模拟量采集程序15
4.3开关量采集程序17
五设计小结18
参考文献19
一绪论
(一)本设计的目的
在于进行机务设备检修数据处理功能模块的设计,其主要功能在于数据采集,包括8路开关量、8路模拟量、1路脉冲量的数据采集。
(二)意义
在于对之前学过的多门专业基础课进行综合运用,以相对完整的设计方式来加深对专业知识应用的认知。
设计过程中,学会查阅相关资料,将硬件的设计、逻辑连接与软件编程结合,共同完成本次设计。
(三)研究范围
基于本科教学阶段的专业课程与相关参考书籍、文献,主要相关课程为单片机原理、传感器、智能仪器、传感器、测控电路、检测技术等,能够简单运用到本次设计所要检测的环境中。
(四)设计原理
根据任务书中提供的数据进行分析和计算,选择合适的单片机芯片组成测试、通讯系统,选用A/D转换器、信号调理电路、锁存器、多路开关选择器等元件。
模拟量的采集需要用传感器对实际物理量进行采集,转换成相关的电压或者电流,经过A/D转换器后输出对应数字量,进入单片机处理并保存在扩展的存储器中;数字量的采集需进行隔离放大之后将信号输入单片机处理并保存;脉冲量的采集需对信号进行防抖、放大处理,使输入信号转换成相应的TTL电平。
外加了人机交换接口,有键盘和LED显示器。
根据连接成型的硬件元件图进行软件设计,分配口地址并给出每个功能模块相应的程序段。
二系统总体设计
数据采集系统的总体设计包括硬件总体设计和软件总体设计两部分。
2.1硬件总体设计
本次课程设计是为了完成数据处理功能模块设计中的数据采集部分。
设备数据采集包括8路开关量的检测、8路模拟量的检测和1路脉冲量的检测。
数据采集系统基于单片机AT89C51进行设计的。
AT89C51单片机参数特点:
与MCS-51兼容;4K字节可编程闪烁存储器;寿命:
1000写/擦循环;数据保留时间:
10年;全静态工作:
0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路;其管脚配置如图2.1所示。
管脚说明:
VCC:
供电电压。
GND:
接地。
图2.1AT89C51的管脚图
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,可用作输入,P1口被外部下拉为低电平时,将输出电流。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,作为输入,作为输入时,P2口的管脚被外部拉低,将输出电流。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,用作输入,作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
根据设计要求,对系统硬件连接概况进行初步设计,对测量数据的采集需要扩展芯片存储器,对输入模拟信号进行A/D转换并调理使之符合信号输入要求,脉冲量采集则需要对信号进行隔离、放大、整流,使信号符合标准的TTL电平输入单片机处理。
由于模拟量和数字量采集均为8路,同时要考虑采用多路选择器进行多路信号采集、并行接口进行数据通信、以及LED显示器。
依据初步规划设计,对于硬件系统作出如图2.2所示的系统总体框图。
图2.2系统总体框图
2.2软件总体设计
选择汇编语言进行软件设计:
针对各功能模块实际实现功能,并运用已有的汇编语言知识进行相应程序编写。
先进行硬件逻辑图的连接,并分配口地址,对具体功能模块进行编程,最后再统一整合。
软件功能模块划分:
根据功能不同,对本次设计系统的软件部分划分为主程序模块、模拟量采集模块、开关量采集模块、脉冲量采集模块、显示器模块等常用子程序模块。
三系统硬件设计
3.1存储器RAM扩展
AT89C51单片机的芯片内部集成了计算机的基本功能部件,已具备了很强的功能。
AT89C51单片机内部集成了4KBROM,但片内RAM仅有128B,并行I/O端口,定时器及中断源等内部资源都还是有限的。
同时,为了使单片机能按要求工作,就必须将必要的命令和数据输入到单片机中;单片机运算或处理的结果也要通过一定的方式输出,这就需要配置一定的输入/输出设备。
虽然在单片机内部设置了若干并行I/O接口电路,用来与外围设备连接,但当外围设备较多时,仅有的几个内部I/O接口就不够用。
因此根据实际开发要求,需要对单片机进行外部功能扩展。
在对单片机外部功能进行扩展时,首先是配置外部存储器,包括程序存储器和数据存储器;由于单片机程序存储器空间和数据存储器空间是相互独立的,程序存储器空间扩至64KB,外部数据存储器(包括I/O口)的寻址空间也可以扩至64KB。
本次设计我们将外部RAM扩展为2KB足以。
图3.1为AT89C51与片外存储器的连接图。
图3.1AT89C51存储器扩展图
1)RAM扩展的原理
AT89C51对外部数据存储器的操作指令有如下四条:
①MOVXA,@Ri;((P2)(Ri))Ai=0/1读
②MOVX@Ri,A;(A)(P2)(Ri)i=0/1写
③MOVXA,@DPTR;((DPTR))A读
④MOVX@DPTR,A;(A)(DPTR)写
其中①②指令是以R0或R1作指针对外部数据存储器页面寻址,页号由当前P2口锁存器内容决定,这两条指令适宜于寻址容量较小的外部数据存储器。
③④指令是以16位的DPTR作指针的,可对64K字节的外部数据存储器寻址。
CPU在执行①②指令时,P2口输出P2锁存器的内容,P0口输出R0或R1的内容。
CPU在执行③④指令时,P2口输出DPH内容,P0口输出DPL内容。
CPU在访问外部数据存储器时,在ALE下降为低电平后,P2口输出的地址信息保持不变,而P0口转为浮空,原来的低8位地址信息丢失,因此也需要外部锁存器在ALE下降时把P0口地址信息锁存起来。
AT89C51在访问外部数据存储器时,一个机器周期中ALE只输出一个正脉冲;ALE返回低电平后,读信号
或写信号
有效,而
始终无效(保持高电平),所以AT89C51访外数据存储器时决不会访问外部程序存储器。
下面以62646为例,介绍它的引脚及功能。
如图3.2所示:
·A0~A12:
地址输入线;
·D0~D7:
双向三态数据线;
·
:
片选信号输入线,低电平有效;
·
:
读选通信号输入线,低电平有效;
·
:
写允许信号输入线,低电平有效;
·Vcc:
工作电源,电压为+5V;
·GND:
线路地。
图3.2RAM6264的引脚图
2)常用的地址锁存器
74LS373是一种输出三态门的8D锁存器,
为三态门输出允许控制信号输入端,低电平有效。
ALE为锁存信号输入端,高电平使74LS373接数,电平负跳时将D0~D7状态锁存起来。
74LS373的管脚图如图所示。
将74LS373的
接地、接AT89C51的ALE信号、74LS373的数据输入端D0~D7接AT89C51的P0口、74LS373的数据输出端Q0~Q7接到外部程序存储器低8位地址端。
这样,当ALE高电平时74LS373直通,使P0口输出的低8位地址和P2口输出的高位地址同时到达外部程序存储器的地址线,而当ALE将为低电平时,P0口低8位地址被74LS373锁存持
图3.374LS373的引脚持,使外部程序存储器的低8位地址信息维持不变,
P0口读到可靠的信息。
3.2模拟量采集电路设计
计算机数据采集系统一般由传感器、多路模拟开关、采样/保持(S/H)器、模/数(A/D)转换器和单片机系统组成。
如图3.4示。
本次设计选用的A/D转换器自身集成了采样/保持(S/H)器,所以不用再选用采样/保持(S/H)器。
图3.4AT89C51数据(8路模拟量)采集系统的基本组成
3.2.1温度传感器的选择
传感器的作用是把非电量的物理量(如速度、温度、压力等)转变成模拟电量(如电压、电流、电阻或频率)。
本设计涉及到的传感器是与温度和压力相关的,故选择以下两种传感器用于电路中。
1)温度传感器的组成
在工程中无论是简单的还是复杂的测温传感器,就测量系统的功能而言,通常由现场的感温元件和控制室的显示装置两部分组成,如图3.8所示。
简单的温度传感器往往是把温度传感器和显示器组成一体的,对这样一种传感器一般在现场使用。
图3.5温度传感器组成框图
2)常用的测温传感器
常用测温传感器的特点见表3-1所示:
表3-1测温传感器的比较
类型
优点
缺点
热电偶
易于使用、成本极低
极宽温度范围(-200℃~2000℃)
坚固耐用
有多种类型
中等精度(1%~3%)
低灵敏度(40~80μV/℃)
地响应速度(几秒)
高温时老化和漂移
非线性、低稳定性
需要外部参考端
热敏电阻
易于连接、快速响应
低成本、高灵敏度
高输出辐射、小尺寸
易于互换中等稳定性
窄温度范围(高达150℃)
大温度系数(4%/℃)
非线性、固有的自身发热
需要外部电流源
RTD
极高精度
极高稳定性、中等线性
许多种配置
有限的温度范围(高达400℃)、大温度系数、昂贵
需要外部电流源
IC温度传感器
(模拟和数字输出)
极高的线性、低成本
高精度(约1%)、高输出幅度
易于系统集成
小尺寸、高分辨率
低响应速度
有限的温度范围(-55℃~+150℃)、固有的自身发热
需要外部参考源
热电温度记录仪常以热电偶作为测温元件,由上表得知它广泛用来测量-200℃~2000℃范围内的温度;特殊情况下,可测2800℃的高温或4K的低温。
此次设计所测温度范围是0~400℃,故选择K型热电偶作为测温传感器。
输出电压范围为0~16.395mV;经放大器放大300倍,故最终输出电压满足0~5V要求。
K型热电偶是工业生产中最常用的温度传感器,具有结构简单、制造容易、使用方便、耐久性强,稳定性高及K型热电偶的热电势与温度有良好的线性关系所以传感
3.2.2信号调理电路设计
信号调理电路包括隔离、放大电路两部分,光电隔离电路的作用是在电隔离的情况下,以光为煤介传送信号,对输入和输出电路可以进行隔离。
因而能有效地抑制系统噪声,消除接地回路的干扰,有响应速度较快、寿命长、体积小耐冲击等好处,使其在强-弱电接口,特别是在微机系统的前向和后向通道中获得广泛应用。
而放大电路的作用是用来放大和缓冲输入信号。
由于传感器输出的信号较小(如:
常用热电偶的输出变化往往在几毫伏到几十毫伏之间,电阻应变片输出电压的变化只有几十毫伏,人体生物电信号仅是微伏量级),因此需要加以放大以满足大多数A/D转换器的满量程输入5~10V的要求。
此外,某些传感器内阻比较大,输出功率较小,这样放大器还起到阻抗变换器的作用来缓冲输入信号。
其信号调理原理如图3.6所示。
图3.6信号调理电路
3.2.3A/D转换电路设计
采样/保持电路输出的信号送至A/D转换器,A/D转换器是模拟输入通道的关键电路。
由于输入信号变化的速度不同,系统对分辨率、精度、转换速率及成本的要求也不同,因此A/D转换器的种类也较多。
早期的采样/保持电路和A/D转换电路需要数据采集系统设计人员自行设计,目前普遍采用单片集成电路,有的单片A/D转换器内部还包括含有采样/保持电路、基准电源和接口电路,这为系统设计提供了较大方便,因此在本次设计中运用了AD574转换器。
1)AD1674的介绍
AD1674是一种具有采样/保持功能的12位A/D转换器。
采用点和重新分配技术进行逐次逼近实现A/D转换。
可以方便的和8080、Z80、8086、8031等CPU系统连接。
它是ADC574、ADC674、ADC774的代替产品。
ADS774有内部时钟、微处理器接口、电容阵列、三态输出缓冲以及内部量程电阻等电路组成。
模拟输入范围可以是0~10V、0~20V、±5V或±10V。
最大转换时间不超过8.5μs,功耗小于120mW。
性能特点:
(1)具有采样/保持电路;
(2)可与ADC574A、ADC574、ADC674等互换;
(3)具有内部基准、时钟和微机接口;
(4)能够高速捕捉和转换,最大转换时间不超过8.5μs;
(5)采用+5V单电源操作;
(6)整个功耗小于120mW。
2)AD574的引脚
ADS574的外形采用28脚的DIP封装结构,引脚排列如图3.7所示。
其引脚已说明如下。
1脚:
+5V逻辑电源输入端。
2脚:
12/
,数据输出方式控制。
12/
=1对应12位并行输出;12/
0对应8位双字节输出,其中A0=0时,输出高8位,A0=1时,输出低4位,并用零补足尾随的的4位。
3脚:
芯片选择端,
=0时,选中;
=1时,未选中。
4脚:
A0,数据输出方式控制。
当A0=0时,启动转换,按完整的12位A/D转换方式工作;当A0=1时,启动转换,按8位A/D转换方式工作。
A0的控制一般要和12/
的信号结合使用。
5脚:
R/
,工作状态控制端。
R/
=0为启动转换命令;R/
=1为数据读出命令。
6脚:
CE,芯片选择端,高电平有效。
在正常使用时,只有CE=1且
=0时芯片才能工作。
7脚:
空脚。
8脚:
2.5V参考电压输出。
9脚:
AGND,模拟地。
10脚:
REFI,参考电压输出端;该电压可外接,也可以使用8脚提供的基准。
11脚:
VE,对于仿效方式连接,可接地也可接负电源;对于控制方式连接,可接+5V电源。
12脚:
BIPO,双极性偏置端。
13脚:
10VIN,0~10V模拟电压输入端。
14脚:
20VIN,0~20V模拟电压输入端。
15脚:
DGND,数字地。
16脚~27脚:
DB0~DB11,12位数据输入端。
28脚:
STS,工作状态输出端。
STS=1表示A/D转换正在进行;STS=0表示A/D转换已经完成,可以读出数据。
它可以作为微机的中断请求信号或A/D转换状态查询信号。
图3.7AD574的引脚图
3.3脉冲量采集电路设计
数据采集系统的输入信号除了模拟量和开关量外,还有一部分是离散量信号,主要是脉冲量,这一部分介绍脉冲量输入数据采集系统设计中的问题。
脉冲量测量中有两个最基本的参数:
频率和周期。
交流信号频率或周期的测量,是通过放大限幅,整形成脉冲量后再来测量的,由于频率量和周期量相对来说比较容易实现精密测量,信号预处理比较简单,频率信号与计算机接口比较容易,加上可以利用非电参数变化能引起频率变化的原理做成很多调频传感器,用频率量来表征非电参数,所以频率测量法用的越来越多。
特别是各种集成电压/频率变换器投放市场后,型号不断增加,价格不断下降,技术指标不断提高,很多模拟量输入的数据采集系统就可借助于电压/频率变换器和计数器作模数转换器实现高精度测量。
因单片机芯片内已含有计数器,加上可利用软件方便地产生各种必要的控制信号和进行标度变换等数据处理,所
以,单片机实现的脉冲量输入数据采集系统显示出独特的优越性。
3.4RS-232C串行总线数据通信
在实际的测量和控制过程中,经常需要进行信息的传输和交换。
数据传送的方式可分为并行传输和串行传输,相应的通信总线被称为并行总线和串行总线。
串行传输比并行传输所用的导线数少,传输距离比并行传输要远得多。
而且近年来,由于新型串行总线标准如USB、IEEE1394的出现,使串行总线的传输速度有了很大的提高,因此串行总线的应用越来越广。
RS-232C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识符,C表示修改次数。
RS-232C标准接口的全称是“使用二进制进行交换的数据终端设备(DTE)和数据通信设备(DCE)之间的接口”。
RS-232C总线标准规定了21个信号和25个引脚,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道。
对于一个双工通信,仅需几条信号线就可实现,包括一条发送线、一条接收线和一条地线。
四软件设计
此次课程设计不仅要求完成数据采集系统的硬件电路连接,而且应编写相应的程序来实现系统的采集与处理功能。
现根据上述篇幅中所设计的硬件电路连接采用汇编语言来设计程序。
据设计任务,软件部分的设计可分为以下四部分:
系统主程序、模拟量的采集、开关量的采集、脉冲量的采集、以及人机接口键盘与LED显示器程序的编写。
依照模块化的思想,应在了解系统功能和任务的前提下,将各个环节分别加以分析,并编写出相应的子程序。
4.1系统主程序
根据所设计的数据采集系统:
采集模拟量(8路)、采集开关量(8路)、采集脉冲量(1路)。
整个程序采用顺序执行的方法,由AT89C51单片机作为系统的控制器,管理整个数据采集系统。
主程序的流程如图4.1所示。
ORG0000H
LJMPMAIN
ORG0013H
LJMPMNLCJ
ORG001BH
LJMPKGLCJ
ORG0100H
LJMPMCLCJ
MAIN:
NOP
CLR00H
SETBIT1
SETBEX1
SETBEA
MAIN0:
JBKGLCJ
SJMPMAINO
图4.1系统主程序流程图
4.2模拟量采集程序
该数据采集系统要求采集8路的模拟量,整个采集过程由AT89C51单片机作为控制器。
整个采集过程的软件编程思想是:
将采集到的信号送入模数转换器AD574。
AD574是12位逐次逼近式模数转换器。
AD574单片机通过P1口控制模拟开关DG508的输入通道的选通端A、B、C,可以按顺序选通8个输入通道,也可以根据需要有选择的接通输入信号。
以下是模拟量采集的子程序以及如图4.2所示的流程图。
MNLCJ:
SAMPLE:
MOVRO,#38H
MOVB,#0H
MOVDPTR,#FF2FH
MOVX@DPTR,A
WBZD1:
PUSHACC
CLREA
WBZD2:
MOVDPTR,#FF3FH
MOVXA,@DPRT
MOV@R0,A
MOVDPTR,#FF7FH
INCR0
MOVXA,DPTR
MOX@R0,A
INCB
INCR0
CJNEB,#7,WBZD2
JX:
NOP
FH:
POPACC
SETBEA
SETB00H
RETI
图4.2模拟量采集流程图
4.3开关量采集程序
开关量通过光电耦合器隔离,减小干扰后进入74LS373,然后直接接入AT89C51进行处理,它的处理程序如下所示。
KGLCJ:
NOP
CLREA
MOVDPTR,#7DFFH
MOVXA,@DPTR
CPLA
CJNEA,#80H,KP1
LJMPKBS1
KP1:
CJNEA,#40H,KP2
LJMPKBS2
KP2:
CJNEA,#20H,KP3
LJMPKBS3
KP3:
CJNEA,#10H,KP4
LJMPKBS4
KP4:
CJNEA,#08H,KP5
LJMPKBS5
KP5:
CJNEA,#04H,KP6
LJMPKBS6
KP6:
CJNEA,#02H,KP7
LJMPKBS7
KP7:
CJNEA,#01HESC
LJMPKBS8
ESC:
CLROOH
SETBEA
LJMPMAIN0
五设计小结
通过本次课程设计—机务设备检修数据处理功能模块设计(数据采集),使我受益匪浅。
首先,这是对我们大学四年所学知识的一次较好的总结,在设计过程中涉及到许多课程的知识,例如:
单片机、传感器技术、微机原理钰接口技术、测控电路等。
通过查书面资料、网络资料、复习以前所学课程、请教老师和同学等途径对整个专业的知识框架有了更深的认识。
同时,我也深刻地认识到,在设计过程中,一定要注意每个设计步骤、每个细节的反复仔细检查,确保准确无误。
硬件连接时要充分考虑单片机的驱动能力、电平匹配等问题。
调试程序时,要结合集成开发环境的仿真功能,查看寄存器的输出,观察变量值,有利于快速找出程序的问题所在。
在整个课程设计的过程中,从开始到后来的资料查找,理论学习,软件应用的学习,甚至最后的程序调试,这一切经历的过程都使得我们的理论和动手实践能力大大地提高了,更深刻地体会到了控制理论、单片机技术、传感器技术的内涵。
在安装和调试过程中必然会遇到各种各样的问题,但我保持沉着冷
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据采集11 副本 数据 采集 11