您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于RS-485数据采集系统下位机设计

基于RS-485数据采集系统下位机设计

来源:九壹网
兰州交通大学毕业设计(论文)

基于RS-485总线的数据采集系统下位机软硬件设计

摘要

轮对压力机作为机务检修中的重要组成部分,其在整个检修过程中起着不可忽视的作用。现当今,诸多机务检修期间,多采用简单的人工或半自动压力数据采集,导致精度不高而且进展缓慢。

随着电子技术和微型计算机的推广,微机测量和控制技术得到了迅速地发展。单片机因其具有处理能力强、运行速度快、功耗低等优点,从而在数据采集与控制方面得到了广泛的应用。

基于这种局面,所以做出对轮对压力的数据采集系统的设计。

本文详细阐述了基于RS485总线的数据采集系统下位机软硬件的设计。硬件设计中以ATC51单片机为控制核心,采用PPM226-LS2-2型压力传感器进行压力的检测,使用ADS7824进行A/D转换,从而实现轮对压力数据的采集;并辅以DS1302实现时间数据的采集,采用MAX485芯片实现TTL电平的转换,从而实现与上位机(即PC机)的串行通信。

在本系统的设计中,程序设计采用了C51编程语言,其主要包括数据采集模块,时间提取模块。

关键词:数据采集;ATC51;ADS7824;DS1302;MAX485

1

兰州交通大学毕业设计(论文)

The software and hardware design of

Data acquisition system based on RS-485 bus computer

ABSTRACT

As the most important part of the locomotive maintenance, the wheel press plays an innegligible aspect in whole process of the maintenance. Nowdays the use of simple artificial or semi-automatic pressure data collection have an negative influence in the accuracy of measurement .

As the electronic technology and microcomputer promotion, computer measurement and control technology get the quick development. SCM processing power because of its strong, fast and low power consumption advantages, thus in the data acquisition and control in a wide range of applications.

Based on this kind of situation, the design of system of pressure date of wheel appears.

This Thesis put eyes on the design of the hardware of data acquisition system based on RS485 bus. To achieve date of pressure, The design of hardware ,in which ATC51 is its core part ,include not only PPM226-LS2-2 to acquisition date of pressure but also ADS7824 to transform between analogy imformation and digital imformation , this system use DS1302 to attain date of time, and use MAX485 chip to realize Level conversion,

In this system the design of software ,the program ,which are realized by language of c51,include Data acquisition modules and Timing extraction module.

Key Word:Data Acquisition; ATC51; ADS7824; DS1302; MAX485

2

兰州交通大学毕业设计(论文)

目录

1 绪论 ................................................................................................................................. 1

1.1 小型集散测控系统现状 ......................................................................................... 1 1.2 课题研究背景及任务 ............................................................................................. 1 1.3 本设计的主要结构与内容 ..................................................................................... 1 2 数据采集系统下位机总体设计方案 ............................................................................. 3

2.1 设计思路 ................................................................................................................. 3 2.2 系统网络结构框图 ................................................................................................. 3 3 系统硬件电路设计 ......................................................................................................... 5

3.1 ATC51介绍 .......................................................................................................... 5

3.1.1 ATCXX系列单片机的内部结构 .............................................................. 5 3.1.2 ATC51单片机的引脚功能 ....................................................................... 6 3.1.3 中断有关的概念 ........................................................................................... 9 3.2 数据采集模块设计 ............................................................................................... 12

3.2.1 PPM226-LS2-2压力传感器 ........................................................................ 12 3.2.2 ADS7824转换电路设计 ............................................................................. 15 3.2.3 时钟芯片DS1302 ....................................................................................... 18 3.3 串口通信电路设计 ............................................................................................... 21

3.3.1 RS232和RS485简介 ................................................................................. 21 3.3.2 与串行口有关的SFR简介 ........................................................................ 23 3.3.3 MAX485简介与应用设计 .......................................................................... 26 3.4 其他硬件电路设计 ............................................................................................... 29

3.4.1 单片机存储器的扩展 ................................................................................. 29 3.4.2 复位电路设计 ............................................................................................. 30 3.4.3 时钟电路设计 ............................................................................................. 30

4 系统软件设计 ............................................................................................................... 32

4.2 压力数据采集程序设计 ....................................................................................... 32 4.3 DS1302时钟芯片驱动程序 .................................................................................. 33 4.4 通信程序设计 ....................................................................................................... 36

I

兰州交通大学毕业设计(论文)

总 结 ................................................................................................................................. 39 致 谢 ................................................................................................................................. 40 参考文献 ............................................................................................................................. 41 附 录 ................................................................................................................................. 42

II

兰州交通大学毕业设计(论文)

1 绪论

1.1 小型集散测控系统现状

在工业测控领域中,采用PC机与多台单片机构成主从式结构的小型集散测控系统越来越多。它们既利用了单片机价格低、功能强、抗干扰能力好、温限宽和面向控制等优点,又结合了PC机具有丰富的硬件和软件资源,特别是它的汉字图形功能,为用户提供一个非常友好的人机界面等特点,而PC机和单片机之间的数据交流则采用串行通信方式来实现。通常以PC机(上位机)作为主站,而采用单片机(下位机)作为从站,构成主从式多机通信。

通信模块多采用MAX485总线通信模块,这种模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台PC和多台单片机之间的串行通信,而且RS-485的最长的传输距离为1200m,适合中距离的传输。

1.2 课题研究背景及任务

由于轮对压力机是机务检修中的重要组成部分,所以其在整个检修过程中起着不可忽视的作用。现当今,诸多机务检修期间,多采用简单的人工采集或半自动压力数据采集,导致精度不高而且进展缓慢。有介于此,所以开发设计了该数据采集系统。

基于分布式控制结构的小型集散测控系统和工程设计的具体情况,该系统的主要任务是:研究以单片机为控制核心的串行通信系统,确定有效的多机通信方法,设计基于RS-485总线的数据采集系统下位机软硬件,实现轮对压力机压力的自动采集、相关数据的显示,并通过串行通信向上位机反馈相关信息。

1.3 本设计的主要结构与内容

在该设计中,通过PPM226-LS2-2 型压力传感器采集压力,然后使用MAX485通信模块,将采集到的压力传输到上位机(电脑端的接收端),从而在电脑上(VB界面)显示采集到的压力。

系统中使用到的主要材料有:MAX485通信模块,PPM226-LS2-2 型压力传感器.在实际检测时,主要通过PPM226-LS2-2 型压力传感器的压力采集功能,以及MAX485通信模块的多机串行通信功能,去实现多组压力在电脑端的显示。

1

兰州交通大学毕业设计(论文)

本设计主要分为四个部分。其中,设计的第一章(即绪论)中介绍了当前工业测控领域中的小型集散测控系统的应用和本设计背景与任务;第二章介绍数据采集系统下位机的总体设计方案;第三章简要介绍了系统的硬件电路设计;第四章介绍了系统的软件设计,主要是各模块软件设计的流程图。

2

兰州交通大学毕业设计(论文)

2 数据采集系统下位机总体设计方案

2.1 设计思路

系统采用RS-485构成远程分布式控制网络,该网络的拓扑结构采用总线结构,而传送数据采用主从式多机通信。以PC机(上位机)作为主站,ATC51单片机(下位机)作为从站,采用PC机的RS-232C串行口与从站进行通信,传输介质为四芯屏蔽电缆。

下位机硬件设计包括数据采集模块设计与串口通信技术两大主要部分,其中在数据采集模块中,详细介绍了该系统中各个主要硬件的基本参数性能及其应用;而在串口通信技术中,介绍了RS485,MAX485等基础构成的原理及应用。软件设计包括压力数据采集程序设计,系统时间采集程序设计和通信程序设计三个部分。

2.2 系统网络结构框图

数据采集系统下位机的网络结构框图如图2.1所示。

PC RS-485总线 RS232转 485接口

485 ···n··· 485 485 P3.0 P3.1 ATC51 P3.0 P3.1 ATC51 P3.0 P3.1 ATC51 压力传感器 压力传感器 压力传感器

图2.1 系统网络结构框图

2.3 各主要功能模块简介

(1) PPM226-LS2-2 型压力传感器测量范围:0~400…600t;允许过负荷:150%FS;综合精度:±0.1%FS、0.2%FS、±0.5%FS;工作温度范围:-30~+70℃/+85℃/最高250℃。

3

兰州交通大学毕业设计(论文)

(2) 51系列单片机采用ATC51单片机。

(3) 本系统选用ADS7824转换器,其内部带有采样保持器(SHA),采用12位逐次逼这(SAR)模/数转换方式;数据可并行或串行输出,并带有三态输出缓冲电路,可直接与各种微处理器相连;在模拟信号转数字信号时具有连续转换模式;差分电压输入范围为±10V,同时带有四通道多路选择器;采用单+5V电源供电。正常工作情况下的功耗为50mW,能耗低。

(4) 时钟芯片DS1302是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态 RAM,采用 SPI 三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM数据。且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源)。

(5) 通信模块采用了MAX485总线通信模块,这种模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台PC和多台单片机之间的串行通信,而且RS-485的最长的传输距离为1200m,适合中距离的传输。

4

兰州交通大学毕业设计(论文)

3 系统硬件电路设计

3.1 ATC51介绍

3.1.1 ATCXX系列单片机的内部结构

ATMEL系列(以下简称AT)单片机是美国ATMEL公司生产的8位高性能单片机,其主要技术优势是内部含有可编程Flash存储器,用户可以很方便地进行程序的擦写操作,在嵌入式控制领域中被广泛的应用。内部结构如图3.1所示

时钟电路 T0 T1 T2 ROM RAM 定时/计数器 数据总线 地址总线 控制总线 并行接口 CPU 串行接口 中断系统 P0 P1 P2 P3 TXD RXD INT0 INT1 图3.1 MCS-51系列单片机的内部结构图

下面对各功能部件作进一步的说明:

(1) 数据存储器(RAM):片内为128个字节(单元),ATC51单片机内部有256个字节的RAM数据存储器,片内最多可外扩K字节。

(2) 程序存储器(ROM/EPROM):803l无此部件,8051为4KROM,8751则为4K EPROM。ATS51单片机内部有4 KB的闪存程序存储器(Flash),当不够使用时,可扩展为 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。

(3) 中断系统:具有5个中断源,2级中断优先权。

(4) 定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。

5

兰州交通大学毕业设计(论文)

(5) 串行口:一个全双工的串行口,具有四种工作方式。 (6) Pl口、P2口、P3口、P0口:为4个并行8位I/O口。

(7) 特殊功能寄存器(SFR):共有21个,用于对片内各功能模块进行管理、控制、监视。它们实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM区。

(8) 微处理器(CPU):为8位的CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。8位机在数据采集、运算处理有明显的长处。

ATMEL52子系列功能增强的具体如下四个方面: (1) 片内ROM从4 KB增加到8 KB。 (2) 片内RAM从128 B增加到256 B。 (3) 定时/计数器从2个增加到3个。 (4) 中断源从5个增加到6个。

3.1.2 ATC51单片机的引脚功能

ATC51(如图3.2)是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。ATC2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的ATC51是一种高效微控制器,ATC2051是它的一种精简版本。ATC单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7ATC51 图3.2 ATC51引脚

6

兰州交通大学毕业设计(论文)

(1) ATC51主要特性

·与MCS-51 兼容

·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 (2) I/O端口线输入输出引脚

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入。P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入,并因此作为输入时。P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门

7

兰州交通大学毕业设计(论文)

电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL),这是由于上拉的缘故。 P3口也可作为ATC51的一些特殊功能口,如表3.1所示:

表3.1 P3的第二功能

引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD TXD INT0 INT1 T0 T1 WR RD 信号名称 串行数据接收 串行数据发送 外部中断0申请 外部中断1申请 定时/计数器0的外部输入 定时/计数器1的外部输入 外部RAM写选通 外部RAM读选通 注:P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时要保持RST两个机器周期的高电平时间。 (3) 控制线控制引脚

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出,可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

8

兰州交通大学毕业设计(论文)

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 (4) 振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

3.1.3 中断有关的概念

所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求,CPU暂时中止现行程序,转去对随机发生的更紧迫事件进行处理,处理完毕后,CPU自动返回原来的程序继续执行。

中断允许软件设计不需要关心系统其它部分的定时要求,算术程序不需要考虑隔几个指令检查I/O设备是否需要服务。相反,算术程序编写时好像有无限的时间做算术运算而无其他工作在进行。若其它事件需要服务时,通过中断告诉系统。

ATC51单片机有5个中断源,有2个中断优先级,每个中断源的优先级可以编程控制。中断允许受到CPU开中断和中断源开中断的两级控制 (1) 中断源

中断源是指任何引起计算机中断的事件,一般一台机器允许有许多个中断源。增加很少的硬件就可把各种硬件中断源“线或”成为一个外部中断输入,然后再顺序检索引起中断的特定源。

ATC51单片机的5个中断源是: 外部中断请求0,由INT0(P3.2)输入; 外部中断请求1,由INT1(P3.3)输入; 片内定时器/计数器0溢出中断请求; 片内定时器/计数器1溢出中断请求; 片内串行口发送/接收中断请求。

1) 为了了解每个中断源是否产生了中断请求,中断系统对应设置多个中断请求触发器(标志位)实现记忆。这些中断源请求标志位分别由特殊功能寄存器TCON和SCON的相应位锁存。

定时器/计数器控制寄存器TCON(Time/counter Control Register)如表3.2.

9

兰州交通大学毕业设计(论文)

表3.2 TCON寄存器

D7 TF1 D6 D5 TF0 D4 D3 IE1 D2 IT1 D1 D0 IE0 IT0 IT0、IT1:外部中断0、1触发方式选择位,由软件设置。

1一一下降沿触发方式,INT0/INT1管脚上高到低的负跳变可引起中断。 0一一电平触发方式,INT0/INT1管脚上低电平可引起中断。 IE0、IE1:外部中断0、1请求标志位。

当外部中断0,1依据触发方式满足条件产生中断请求时,由硬件置位(IE0/IE1=1). 当CPU响应中断时,由硬件清除(IE0/IE1=0)。

TF0、TF1:定时器/计数器0,1(T/C0,T/C1)溢出中断请求标志。 当T/C0,l计数溢出时,由硬件置位(TF0/TF1=1)。 当CPU响应中断时,由硬件清除(TF0/TF1=0)。 2) 串行口控制寄存器SCON如表3.3.

表3.3 SCON寄存器

D7 D6 D5 D4 D3 D2 D1 D0 T1 R1 RI:串行口接收中断请求标志位。

当串行口接收完一帧数据后请求中断,由硬件置位(RI=1)。RI必须由软件清零。 TI:串行口发送中断请求标志位,TI必须由软件清零。 当串行口发送完一帧数据后请求中断时,由硬件置位(TI=1)。 (2) 终端的控制

中断的控制主要实现中断的开关管理和中断优先级的管理,这个管理主要通过对特殊功能寄存器IE和IP的编程实现。

1) 中断允许寄存器IE如表3.4.

表3.4 IE寄存器

D7 EA D6 D5 ET2 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0 EX0、EX1:外部中断0、1的中断允许位。

1一外部中断0、l开中断。 0一外部中断0,1关中断。 ET0、ET1:定时器/计数器0、1(T/C0、T/C1)溢出中断允许位。

10

兰州交通大学毕业设计(论文)

1-T/C、T/C1开中断。 0-T/C0、T/C1关中断。.

ES:串行口中断允许位。1-串行口开中断,0一串行口关中断。 ET2:定时器/计数器2(T/C2)溢出中断允许位。 1一T/C2开中断,0一T/C2关中断。

EA:CPU开/关中断控制位。1一CPU开中断,0一CPU关中断。

ATC51复位时,IE被清“0”,此时CPU关中断,各中断源的中断也都屏蔽。若系统需用中断方式进行事件处理,则系统初始化程序中需编程IE寄存器。若仅一个定时器用来提供中断,其它定时器中断可被屏蔽。若程序中所有中断都不使用时,使用EA禁止。

2) 中断优先级寄存器IP(如表3.5)

当系统中多个中断源同时请求中断,CPU按中断源的优先级别,由高至低分别响应。ATC51单片机有两个中断优先级,高优先级和低优先级,每个中断源都可以编程为高优先级或低优先级。这可以实现两级中断嵌套,嵌套的原则是:一个正在执行的中断服务程序可以被较高级的中断请求中断,而不能被同级或较低级的中断请求所中断。两级中断通过使用IP寄存器设置。

表3.5 IP寄存器

D7 D6 D5 D4 D3 PS PT1 D2 PX1 D1 PT0 D0 PX0 PX0、PX1:外部中断0、1中断优先级控制位。PS:串行口中断优先级控制位。 PT0、PT1:定时器/计数器0、1中断优先级控制位。 其中上面所有都是:1一高优先级,0一低优先级。

ATC51复位时,IP被清“0”,5个中断源都在同一优先级,这时若其中几个中断源同时产生中断请求,则CPU按照片内硬件优先级链路的顺序响应中断。硬件优先级由高到低的顺序如下:

外部中断0(IE0) 定时器/计数器0(TF0) 外部中断1(IE1) 定时器/计数器1(TF1) 串行口中断(RI十TI) (3) 中断响应

11

兰州交通大学毕业设计(论文)

ATC51的CPU在每个机器周期采样各中断源的中断请求标志位,如果没有下述阻止条件, 则将在下一个机器周期响应被激活了的最高级中断请求。

阻止条件如下:

1) CPU正在处理同级或更高级的中断;

2) 现行机器周期不是所执行指令的最后一个机器周期; 3) 正在执行的是RETI或是访问IE或IP的指令。 CPU在中断响应后完成如下的操作: 1) 硬件清除相应的中断请求标志;

2) 执行一条硬件子程序,保护断点,并转向中断服务程序人口; 3) 结束中断时执行RETI指令,恢复断点,返回主程序。

3.2 数据采集模块设计

在数据采集模块设计中,主要包括PPM226-LS2-2型压力传感器,ADS7824转换器和时钟芯片DS1302三大部分。

3.2.1 PPM226-LS2-2压力传感器

在对轮对的压力测量中,因采集数据范围要求500T,所以选择PPM226-LS2-2型压力传感器。

PPM226-LS2系列应变式拉压力传感器,采用圆筒式结构,精度高,稳定性好,可拉压两用,采用激光焊接密封,改善了传感器的防潮能力,抗偏载能力强,应用于各类电子称、港口吊装、火车头拉力测试以及各种工业系统中,也可配套显示控制仪表和动静态应变仪作拉、压、称重、测力用。

该型号压力传感器的实物如图3.3,测量范围与尺寸对照表如表3.6,性能指标如表3.7,

图3.3 PPM226-LS2-2型压力传感器实物图

12

兰州交通大学毕业设计(论文)

表3.6 测量范围与尺寸对照表

测量范围 外形尺寸(mm) 连接螺纹(mm) t kN ΦA×L×B M 0~0.2…1 2~10 Φ52×84×68 M16×1.5 0~1.5…7 15~70 Φ70×115×90 M24×1.5 0~10…20 100~200 Φ90×160×110 M36×3 0~30…50 300~500 Φ117×210×132 M45×4.5或M×3深70 0~70…100 700~1000 Φ130×224×145 M56×4或M72×4 0~150…200 1500~2000 Φ200×420×215 M110×6 0~250…300 2500~3000 Φ238×500×255 M130×6 0~400…600

4000~6000 Φ300×556×315 M200×10

13

兰州交通大学毕业设计(论文)

表3.7 性能指标

主要技术指标 承载方式 传感器 拉式、压式、拉压式 两线4~20mA 、三线0~5VDC、 三线0~10VDC 变送器输出灵敏度 2±0.05mV/V 准确度 ±0.1%FS、0.2%FS、±0.5%FS (线性+滞后+重复性) ±0.1%FS、0.2%FS、0.5%FS (线性+滞后+重复性) 蠕变 温度对零点影响 温度对量程影响 输出电阻 绝缘电阻±0.03%FS/30min ±0.03%FS/℃ ±0.02%FS/℃ 350±3Ω ≥3000MΩ 5~15VDC(推荐10VDC) -30~+70℃/+85℃/最高250℃ 150%FS IP67 ±0.03%FS/℃ ±0.02%FS/℃ ≤9kΩ ≥1000MΩ 12~36VDC(推荐24VDC) -30~+70℃/+85 ℃ 150%FS IP67 供桥电压 允许温度范围 允许过负荷 防护等级 接线方式 电源:(+)红线 电源:(-)黑线 输出:(+)绿线 输出:(-)白线 可选配PPM432-TC1(0.05%精度)显示控制仪表,PPM系列动/静态应变仪 显示控制仪表 可选配PPM-TC1CT(E)(0.2%、0.05%精度)显示控制仪表

14

兰州交通大学毕业设计(论文)

3.2.2 ADS7824转换电路设计

ADS7824是美国BB公司推出的种低功耗4通道12位并行/串行模数转换芯片。该芯片是一种开关电容式逐次逼近模数转换芯片,其内部自带采样保持器(SHA)、时钟源、+2.5V参考电压及与微处理器的并行/串行接口。同时,它还可以在连续转换模式下对外部4通道模拟输入信号进行顺序转换。与其它ADC相比,ADS6724具有非常低的功耗和丰富的片上资源,且内部结构紧凑,集成度高,工作性能好,可在-40~80℃范围内正常工作,非常适用于仪器仪表及便携式探测器使用。 (1) ADS7824基本参数与特点:

*内部带有采样保持器(SHA),采用12位逐次逼这(SAR)模/数转换方式。 *采样频率为40kHz,最大采样与转换时间为25μs。

*数据可并行或串行输出,并带有三态输出缓冲电路,可直接与各种微处理器相连。

*积分非线性(INL)最大为±0.5LSB,无漏码的差分非线性(DNL)最大为12位。

*具有连续转换模式。 *转换无失码。

*典型信噪比(SNR)为73dB。

*孔径延迟(aperture delay)时间为40ns。

*内带+2.5V基准电压,也可选用外部+2.5V基准电压。 *差分电压输入范围为±10V,同时带有四通道多路选择器。

*采用单+5V电源供电。正常工作情况下的功耗为50mW;关闭模式下的功耗仅为50μW。

*采用28脚PDIP或SOIC封装形式。 (2) 内部结构及引脚说明

1) 结构原理

ADS7824采用的是具有固有采样/保持功能的电容式DAC(CDAC)转换方式,CDAC是根据电荷再分配的原理产生模拟输出电压的。它包括一列有N个按照二进制加权排列的电容,在采样阶段,阵列电容的公共端(所有电容连接的公共点)接地,所有自由端连接到输入信号;采样后,公共端与地断开,自由端与输入信号断开,这样可在电容阵列上有效的获得与输入电压成正比的电荷量;然后,所有电容的自由端

15

兰州交通大学毕业设计(论文)

接地以驱动公共端至一个负压-VIN。作为二进制搜索算法的第一步,MSB电容的自由端与地断开,并连接到VREF可驱动公共端电压向正端移动VREF/2,若此时该电压小于地电压,比较器输出为逻辑1,则预示MSB大于VREF/2,否则,比较器输出为逻辑0,此时预示着MSB小于VREF/2,接下来,下一个最大的电容与地断开,并连接到VREF,通过比较器确定下一位的数值,如此循环直到判定出全部数字位。

2) 引脚说明

ADS7824具有28个引脚(如图3.4),各引脚定义如下: AGND1(1)、AGND2(8):模拟地。

AIN0~AIN3(2,3,4,5):模拟信号输入通道0~3,其差分输入电压范围为±10V。 CAP(6):内部参考电压缓冲输出,通过2.2μF钽电容接地,可为CDAC在整个转换周期内提供适宜的开关电流。

REF(7):参考电压输入/输出端。

D7~D5(9,10,11):当PAR/SER端为高时,为8位并行数据高三位输出,为低时呈高阻态。

D4(12):当PAR/SER端为高时,该端输出8位并行数据bit 4,PAR/SER端为低时,该脚为串行时钟选择端。具体选择方式是:当该端输入高电平时,串行转换采用外部串行时钟;为低电平时,串行转换采用内部时钟。

D3(13):当PAR/SER端为高时,该端输出8位并行数据bit3,PAR/SER为低时,该端输出为同步信号SYN,当系统使用多个ADS7824S时,使用该引脚可实现各个芯片数据输出的同步。

DGND(14):数字地(隐藏不显示)。

图3.4 ADS7824引脚图

16

兰州交通大学毕业设计(论文)

当PAR/SER端为高时,该端输出8位并行数据bit2;PAR/SER为低时,为串行时钟信号输出。单片机通常通过两次读取操作来将数据读入,当R/C=1,CS=0,BYTE=0时,读取高8位;当R/C=1,CS=0,BYTE=1时,读取低4位。数据读取完成后,单片机将R/C和CS端置低40ns~12μs以启动下一次转换,此时BUSY输出为低电平。

D1(16):当PAR/SER端为高时,该端输出为8位并行数据bit1;PAR/SER为低时,该端为串行数据输出。

D0(17):当PAR/SER为高时,该端输出为8位并行数据bit0;PAR/SER为低时,该端为串行输出标记端。

A1、A2(18,19):输入信号通道选择端。 PAR/SER(20):并行/串行输出选择端。

BYTE(21):字节选择控制端。在读取期间,若BYTE为0,则高8位有效;若为1,则低4位有效。

R/C(22):读取/转换控制端。 CS(23):片选端。

BUSY(24):输出状态端。转换开始时,BUSY为低电平;转换完成后,该端输出为高电平。

CONTC(25):连续转换模式控制端。CONTC为5V时,ADS7824工作在连续转换模式,此时芯片可对4个输入通道信号进行连续采集和转换。

PWRD(26):电源关闭模式端,高电平有效。关闭模式时,系统将切断芯片内部模拟和数字电路的电源,以使芯片处于低功耗状态。

Vs1、Vs2(27,28):+5V电源输入端。 (3) ADS7824与单片机ATC51的并行接口

ADS7824转换器与单片机ATC51的并行接口如图3.5。

17

兰州交通大学毕业设计(论文)

图3.5 ADS7824与ATC51的并行接口

3.2.3 时钟芯片DS1302

(1) DS1302简介

DS1302是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态 RAM,采用 SPI 三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配如图3.6所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

18

兰州交通大学毕业设计(论文)

81VCC1X1VCC22576RSTSCLKI/OX2图3.6 DS1302的引脚分配

3 各引脚的功能为:

Vcc1:主电源;Vcc2:备份电源。当 Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。

SCLK:串行时钟输入,控制数据的输入与输出。 I/O:三线接口时的双向数据线。

CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE 开始控制字访问移位寄存器的控制逻辑;其次,CE 提供结束单字节或多字节数据传输的方法。

关于DS1302的读写时序说明:

DS1302是 SPI 总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与DS1302通信,首先要先了解 DS1302的控制字。DS1302的控制字如表3.8。

表3.8 DS1302的控制字

7 1 6 5 RAM ̅̅̅̅ 𝐶𝐾A4 4 3 2 1 A3 A2 A1 0 A0 RD ̅̅̅̅̅ 𝑊𝑅控制字的最高有效位(位7)必须是逻辑1。如果它为0,则不能把数据写入到 DS1302中。

位6:如果为0,则表示存取日历时钟数据;为1表示存取 RAM 数据。

19

兰州交通大学毕业设计(论文)

位5至位1(A4~A0):指示操作单元的地址。

位0(最低有效位):如为0,表示要进行写操作;为1表示进行读操作。 控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个 SCLK 脉冲的下降沿,读出 DS1302的数据,读出的数据也是从最低位到最高位。

电路原理图如图6.4,DS1302与单片机的连接也仅需要3条线: 引脚、CE、SCLK 串行时钟引脚、I/O 串行数据引脚,Vcc2为备用电源,外接32.768kHz 晶振,为芯片提供计时脉冲。

(2) DS1302与单片机的典型接口电路 DS1302与ATC51的接口电路如图3.7所示:

19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA81VCC1X1VCC2212345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7576RSTSCLKI/OX23 图3.7 DS1302与ATC51的连接

20

兰州交通大学毕业设计(论文)

3.3 串口通信电路设计

在单片机的应用系统中广泛采用异步串行通信的方式进行数据通信。然而,在进行串行通信的线路连接的时候,还需要选择标准接口,考虑电平转换、传输介质等问题。

通信的双方共同遵守某种约定,称为物理接口标准,包括电缆的机械特性、电器特性、信号功能及传输过程的定义。对于串行接口,目前用得比较多的是RS-232标准、RS-422标准以及RS-485标准等。在远距离、干扰大,或者和计算机进行串口通信的场合,需要考虑选用串行接口标准的问题。

3.3.1 RS232和RS485简介

RS-232标准是美国电子工业协会EIA与Bell等公司一起开发,于1962年公布,1969年最后修订的串行通信协议。它适合于0~20000b/s范围内的通信。字母RS表示Recommended Standard,232是识别代号。

RS-232标准最初是为远程通信连接数据终端DTE与数据通信设备DCE而制定的。目前,计算机与终端或外设之间的近距离连接,很多都采用RS-232接口,例如串口的鼠标、键盘,以及数据采集系统等。在RS-232标准中,对串行通信接口的信号功能、电器特性和机械特性等都做了明确的规定。由于RS-232在微机系统中的广泛使用,加上51系列单片机内部集成的异步串行通行接口,使得它们之间的连接很方便。

RS-232的机械特性主要规定了使用的连接器的机械规格和电缆长度。

由于在RS-232标准中只规定采用一对物理连接器,但对连接器本身的物理特性没有具体的定义,因此市场上出现了DB-25、DB-15和DB-9等各种类型的连接器,其引脚的定义也各不相同。目前使用最多的是DB-9型连接器,一般的计算机和测控仪器中都使用。DB-9型RS-232引脚结构,如图3.8所示。

图3.8 DB-9型RS232引脚结构

21

兰州交通大学毕业设计(论文)

表3.9是各管脚的说明

表3.9 RS232管脚说明 旧制JIS名称 FG TXD RXD RTS CTS DSR DTR CD SG 新制JI 名称 SG SD RD RS CS DR ER CD SG 全 称 说 明 Frame Ground Transmitted Data Received Data Request to Send Clear to Send Data Set Ready Data Terminal Ready Carrier Detect Signal Ground 连到机器的接地线 数据输出线 数据输入线 要求发送数据 回应对方发送的RTS的发送许可 告知本机在待命状态 告知数据终端处于待命状态 载波检出 信号线的接地线 现在通常计算机均配有这种标准的232接口,通常这种接口用于联接鼠标、MODEM或打印机等外部设备。

实际应用中,电子工程师在设计计算机与外围设备的通信时,通常在9针的基础再进行简化,只用其中的2、3、5三个管脚进行通信。这三个管脚分别是接收线、发送线和地线,在一般情况下即可满足通讯的要求,计算机和外部通讯的接线方法如图3.9。图中2、3两脚是交叉互联的,因为一个设备的发送线必须联接到另外一台设备的接收线上,反之亦然。

图3.9 计算机与外部通信电路图

22

兰州交通大学毕业设计(论文)

RS-485标准是一种平衡传输方式的串行接口标准。RS-485标准是一种多发送器的电路标准,允许在双导线上有多个发送器,也允许一个发送器驱动多个负载设备。

RS-485标准的特点是抗干扰能力强,传输距离远,速率高。如果采用双绞线传输信号,若最大传输速率为10Mb/s,传输距离为15m;在最大100kb/s的传输速率下,可以传输1200m;如果最大传输速率为9600b/s,则传输距离可达1500m。

RS-485标准最多允许在平衡电缆上连接32个发送器/接收器,特别适用于工业控制领域进行分布式管理、联网检测控件等,目前得到了很广泛的应用。

3.3.2 与串行口有关的SFR简介

(1) 串行通信控制寄存器SCON

SCON是串行口控制和状态寄存器,其格式如表3.10。

表3.10 SCON存储器

D7 SM0 D6 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 D0 T1 RI SM0、SM1:串行口工作方式控制位,具体工作方式如表3.11。

表3.11 SM0、SM1串行口 SM0 0 0 1 1 SM1 0 1 0 1 工作方式 0 1 2 3 说明 同步移位寄存器 10位异步收发器 11位异步收发器 11位一步收发器 波特率 fosc/12 由定时器控制 fosc/32或fosc/ 由定时器控制 SM2:多机通信控制位(方式2,3)。

1一一只有接收到第9位(RB8)为1,RI才置位;0一一收到字符N就置位。 REN:串行口接收允许位。

1一一允许串行口接收;0一一禁止串行口接收。

TB8:方式2和方式3时,为发送的第9位数据,也可以作奇偶校验位。 RB8:方式2和方式3时,为接收到的第9位数据;方式1时,为接收到的停止位。 TI:发送中断标志。由硬件置位,必须由软件清0。 RI:接收中断标志。由硬件置位,必须由软件清0。

23

兰州交通大学毕业设计(论文)

(2) 电源控制器PCON

PCON的第7位SMOD是与串行口的波特率设置有关的选择位。 SMOD:串行口波特率加倍位。

1——方式1,3波特率=定时器1溢出率/16;方式2波特率为fosc/32; 0——方式1,3波特率=定时器1溢出率/32;方式2波特率为fosc/。 GF0、GF1:两个通用标志位。

PD、IDL:CHMOS器件的低功耗控制位。 (3) 串行口的工作方式

1) 方式0

方式0为移位寄存器输入/输出方式。串行数据通过RXD输入/输出,TXD则用于输出移位时钟脉冲。方式0时,收发的数据为8位,低位在前。波特率固定为fosc /12,其中fosc为单片机外接晶振频率。发送是以写SBUF寄存器的指令开始的,8位输出结束时TI被置位。方式0接收是在REN=1和RI=0同时满足时开始的。接收的数据装入SBUF中,结束时RI被置位。

2) 方式1

方式1是10位异步通信方式,1位起始位(0),8位数据位和1位停止位(1)。其中的起始位和停止位在发送时是自动插入的。任何一条以SBUF为目的寄存器的指令都启动一次发送,发送的条件是TI=0,发送完置位TI。方式1接收的前提条件是SCON中的REN为1,同时以下两个条件都满足,本次接收有效,将其装入SBUF和RB8位。否则放弃接收结果。两个条件是:(1)RI=0; (2)SM2=0或接收到的停止位为1。

方式1的波特率是可变的,波特率可由以下计算公式计算得到:

波特率=2SMOD*(定时器1的溢出率)/32

其中的SMOD为PCON的最高位,定时器1的方式0,1,2,都可以使用,其溢出率为定时时间的倒数值。

3) 方式2和方式3

这两种方式都是11位异步接收/发送方式,它们的操作过程完全一样,所不同的是波特率:

波特率=2SMOD* (fosc/)

方式3波特率同方式1(定时器1作波特率发生器)。

方式2和方式3的发送起始于任何一条“写SBUF”指令。当第9位数据(TB8)输出之后,置位TI。

24

兰州交通大学毕业设计(论文)

方式2和方式3的前提条件也是REN为1。在第9位数据接收到后,如果下列条件同时满足:(1)RI=0;(2)SM2=0或接收到的第9位为1,则将已接收的数据装入SBUF和RB8,并置位RI;如果条件不满足,则接收无效。

ATC51串行口的不同寻常的特征是包括第九位方式,这允许在串行口通信增加的第九位用于标志特殊字节的接收。对简单网络,第九位方案允许接收单片机仅当字节具有一个第九位时才能被中断。用这种方法,发送器可以广播一个字节让第九位为高作为“每个人请注意”字节。字节可以为节点地址,地址相同的节点可以打开接收接下来的字符。所接续字节(第九位为低)不能引起其它单片机中断,因为未送它们的地址。用这种方式,一个单片机可以和大量的其它单片机对话而不打扰不寻址的单片机。这种系统必须工作在严格的主从方式,由软件进行取舍安排。 (4) 串行口的初始化 1) 串行口波特率

通常情况下,使用单片机的串行口时,选用的晶振比较固定6MHz,12MHz,11.0592MHz。常用于和微机的通信;选用的波特率也相对固定。串行口常用的波特率及相应的设置如表3.12所示:

表3.12 串行口波特率表

串行口工作方式 波特率 fosc=6MHz SMOD TMOD TH1 方式0 方式2 方式1或方式3 1MHz 375K 187.5K 62.5K 19.2K 9.6K 4.8K 2.4K 1.2K 600 300 137.5 110 1 × × 1 20 F3H 1 20 E6H 1 20 CCH 0 20 CCH 1 20 1DH 0 20 72H fosc=12MHz SMOD TMOD TH1 × × × 1 × × 0 × × : 20 FFH 1 20 F3H 1 20 F3H 0 20 E6H 0 20 CCH 0 20 98H 0 20 1DH 0 10 FEEBH fosc=11.059MHz SMOD TMOD TH1 1 20 FDH 0 20 FDH 0 20 FAH 0 20 F4H 0 20 E8H 0 20 D0H 0 20 A0H 0 20 2EH 0 10 FEFFH

25

兰州交通大学毕业设计(论文)

2) 初始化步骤

在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:

确定定时器1的工作方式(编程TMOD寄存器);

计算定时器1的初值(装载TH1、TL1)→启动定时器1(编程TCON中的TR1位)→确定串行口的控制(编程SCON)→串行口在中断方式工作时须开CPU和源中断(编程IE寄存器)。

3.3.3 MAX485简介与应用设计

在工业控制及测量领域较为常用的网络之一就是物理层采用MAX485通信接口所组成的工控设备网络,这种通信接口可以十分方便地将许多设备组成一个控制网络。从目前解决单片机之间中长距离通信的诸多方案分析来看,MAX485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。

MAX485是芯片接口的一种类型 ,MAX485接口芯片是Maxim公司的一种RS-485芯片。采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式,完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单,只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。

MAX485的特性、封装及特性:     

共模输入电压范围为-7V到+12V 三态输出

30ns传输延迟时间,5ns的的沿变化时间 半双工模式 5V电源

26

兰州交通大学毕业设计(论文)

 

总线最大允许负载32个收发器

过流保护、过热保护 ±15kV ESD保护

MAX485的框图与电路图如图3.10。

图3.10 MAX485引脚(管脚)图及工作电路

通信方式有三种:

⑴ 微机和智能仪器间基于RS485总线的主从方式点对多点通信,各为主/从属设备,被呼叫到时响应,或主发;主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。

⑵ 微机和智能仪器可作为主从设备,主从设备中建立了主设备查询和从设备回应消息的格式;在通信接收过程中如果发生一错误,或从设备不能执行其命令,从设备将建立一错误命令并把它作为回应发送出去。尽管网络通信方法是“对等”。如果一设备发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当主设备接收到一消息,它将建立一从设备回应格式并返回给发送的控制。

⑶ 通讯方式全兼容,采用异步通信,起始位1位,数据位8位,停止位1位,无校验。数据传输速率为1.2 kbps、2.4kbps、4.8kbps、9.6kbps、19.2kbps。

PC机通过串行口(COM1或COM2)来实现与通信MCU之间的通信。由于PC机的COM口输入/输出的是RS-232电平,往往只能用于实现单点通信,且传送距离有限,为了对其进行扩展,我们采用RS-232/RS-485接口转换器,将其转换为RS-485电平,从而通过RS-485总线实现与16个通信MCU之间的通信。由于单片机的通用

27

兰州交通大学毕业设计(论文)

同步/异步收发器(USART)采用TTL电平,与标准RS-485电平不匹配,我们采用MAXIM公司生产的MAX485芯片将其转换为RS-485标准电平,通过RS-485总线实现与PC机的对接。

MAX485通讯程序与MAX232通讯程序在本质上是一样的,只是MAX485通讯程序需要加上通讯方向控制。在本设计的通信中,晶振为外部11.0592M ,MAX485的DE和RE短接连P2.7口,单片机与MAX485的连接如图3.11所示。

19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7U101234ROREDEDIMAX485A6B7 图3.11 单片机与MAX485连接图

PC通过RS232与485转换接口与两个站点的单片机相连接,每个站点有一MAX485连接一个PPM226-LS2-2型压力传感器,并将站点的压力传送到PC 微机屏幕显示。PC与单片机的连接如图3.12所示。

TX

PC机 RX 232/485 转换器 A B MAX485 RX GND 单片机

图3.12 PC与单片机连接图

28

兰州交通大学毕业设计(论文)

3.4 其他硬件电路设计 3.4.1 单片机存储器的扩展

ATC51单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。

ATC51片内有256字节数据存储器RAM和4KB的程序存储器ROM。除此以外,还可以在片外扩展RAM和ROM,并且各有KB的寻址范围。也就是最多可以在外部扩展2×KB存储器。ATC51的存储器组织结构如图3.13所示。

FFFF

外部

ROM

FFFF FF RAM SFR

80

RAM 30 位寻址区 20 外部 工作 ROM 寄存器 EA=0 0---3组 00

图3.13 ATC51存储器组织结构

1000

OFFF

内部 ROM EA=1

外部

RAM

0000

ATC51最多可外扩K字节程序存储器,K程序存储器中有5个单元具有特殊用途。5个特殊单元分别对应于5种中断源的中断服务程序的人口地址,见表3.13。

表3.13 各种中断的子程序入口地址 中断源 外部中断 定时器0(T0)中断 外部中断1 定时器1(T1)中断 串行中断 入口地址 0003H 000BH 0013H 001BH 0023H 值得注意的是:单片机复位后程序计数器PC的内容为0000H,故系统必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般在0000H…0002H存放跳转指令,是程序被引导到跳转指令指定的程序存储空间去执行。

29

兰州交通大学毕业设计(论文)

3.4.2 复位电路设计

单片机的复位方式有自动复位和手工复位两种,其中C=22uF,R=200,𝑅k=1k。RST引脚是复位信号的输入瑞。复位信号是高电平有效。

3.4.3 时钟电路设计

单片机的晶振电路也叫时钟电路,是单片机时序的基础。单片机内部有振荡器,可以产生时钟。时钟可以由两种方式产生:内部方式和外部方式。

外部方式:可以通过XTAL1和XTAL2接入外部时钟。

内部方式(如图3.14所示):在XTAL1和XTAL2端外接入石英晶体作定时元件,内部振荡器自激振荡,产生时钟。时钟发生器对振荡脉冲进行二分频,因此,时钟是一个双相信号,由P1相和P2相构成。FOSC可在2MHz---12MHz选择。小电容可以取30pF左右。

C730pFU119XTAL1X1C830pF11.0592MHz18XTAL29RST 29PSEN30其中电容为30pF,这种无极性电容是使单片机易起振并保持串口通信,准确计ALE31EA图3.14 时钟电路

算出波特率。一般情况晶振选用12MHz,但串行通信时,使用11.0592MHz。

ATC51的时钟电路连接如图3.15所示。

1234567830

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7ATC51兰州交通大学毕业设计(论文)

C730pFU119XTAL1X1C830pF11.0592MHz18XTAL29RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7ATC51 图3.15 ATC51的时钟电路连接

31

兰州交通大学毕业设计(论文)

4 系统软件设计

4.1 通信协议

要想保证通讯成功,通讯双方必须有一系列的约定,即通讯协议。通讯双方必须遵从统一的通讯协议,在编程之前就应制定通信协议,并根据协议分别编制主、从站的通信程序。本文介绍的多机通信方法其通信协议可规定如下:

(1) PC机与单片机都可发送和接收数据;其通信波特率均为9600bps;通信采用偶校验;

(2) 通信帧格式如表4.1所示,共11位:1位起始位,8位数据位,1位奇偶校验位,1位停止位;

表4.1 通信帧格式

起始位 DATA.0 1 2 3 4 5 6 7 奇偶校验位 停止位 (3) 通信过程中,PC机为主动方(称为主站),各单片机为被动方(称为从站),各从站地址为00H~25H;各从站初始化时均将SM2和寻址标志位清“0”;

(4)主站发送的控制命令、从站发送的应答信息格式:

1) 主站给从站发送的控制命令格式:XXH(开始符),XXH(站号),XXH

(控制命令),XXH(结束符);

2) 从站对主站的控制命令的应答信息格式:XXH(开始符),XXH(站号),

XXH(应答信息特征符:表示当前从站有无数据组可发送,若有数据组要马上传送,主站接收到本条响应后应立即准备接收数据,在此期间不需要再向从站发送其他命令),XXH,XXH(这两字节是马上要发送的数据组的字节数),XXH(结束符);从站延时一定时间后,立即发送下面的上网数据组:XXH(开始符),XXH(站号),数据组(数据组各字节的意义由从站定义),XXH(结束符);

3) 主站对从站发送的数据组的响应信息格式:XXH(开始符),XXH(站号),

XXH(对接收到的数据组正确性检查的响应,接收数据出错,则要求从站重发),XXH(结束符)。

4.2 压力数据采集程序设计

PPM226-LS2-2的程序可按照以下三个步骤执行:1.初始化PPM226-LS2-2;2.ROM命令 (接着是任何需要的数据交换);3.PPM226-LS2-2函数命令 (接着是任何需要的数据交换)。

32

兰州交通大学毕业设计(论文)

具体读压力程序流程如图4.1。

复位

发CCH SKIP ROM 命令

发44H开始转换命令

延时

复位

发CCH SKIP ROM命令 发OBEH读存储器命令 连续读出五个字节数据(即压力) 设置通信产生波特率的定时器1 串行口控制和中断控制

图4.1 采集压力程序流程框图

发送压力 4.3 DS1302时钟芯片驱动程序

寄存器宏定义

#define WRITE_SECOND 0x80 #define WRITE_MINUTE 0x82 #define WRITE_HOUR 0x84 #define READ_SECOND 0x81 #define READ_MINUTE 0x83 #define READ_HOUR 0x85 #define WRITE_PROTECT 0x8E //位寻址寄存器与管脚定义 sbit ACC_7 = ACC^7;

sbit SCLK = P3^5; // DS1302时钟信号 7脚

33

兰州交通大学毕业设计(论文)

sbit DIO= P3^6; // DS1302数据信号 6脚 sbit CE = P3^7; // DS1302片选 5脚 //地址、数据发送子程序

void Write1302 ( unsigned char addr,dat ) {

unsigned char i,temp;

CE=0; //CE引脚为低,数据传送中止 SCLK=0; //清零时钟总线

CE = 1; //CE引脚为高,逻辑控制有效 //发送地址

for ( i=8; i>0; i-- ) //循环8次移位 {

SCLK = 0; temp = addr;

DIO = (bit)(temp&0x01); //每次传输低字节 addr >>= 1; //右移一位 SCLK = 1;

}

//发送数据

for ( i=8; i>0; i-- ) {

SCLK = 0; temp = dat;

DIO = (bit)(temp&0x01); dat >>= 1; SCLK = 1; }

CE = 0; }

//数据读取子程序

unsigned char Read1302 ( unsigned char addr )

34

兰州交通大学毕业设计(论文)

{

unsigned char i,temp,dat1,dat2; CE=0; SCLK=0; CE = 1; //发送地址

for ( i=8; i>0; i-- ) {

SCLK = 0; temp = addr;

DIO = (bit)(temp&0x01); addr >>= 1; SCLK = 1; }

//读取数据 for ( i=8; i>0; i-- ) {

ACC_7=DIO; SCLK = 0; ACC>>=1; SCLK = 1; } CE=0; dat1=ACC;

dat2=dat1/16; dat1=dat1%16; dat1=dat1+dat2*10; return (dat1); }

//初始化DS1302 void Initial(void)

//循环8次移位 //每次传输低字节 //右移一位 //数据进制转换 //十六进制转十进制 35

兰州交通大学毕业设计(论文)

{

Write1302 (WRITE_PROTECT,0X00); //禁止写保护 Write1302 (WRITE_SECOND,0x56); //秒位初始化 Write1302 (WRITE_MINUTE,0x34); //分钟初始化 Write1302 (WRITE_HOUR,0x12); //小时初始化 Write1302 (WRITE_PROTECT,0x80); //允许写保护 }

4.4 通信程序设计

本系统中下位机通信采用的是单片机ATC51,这是在国内应用相当广泛的一款单片机,程序用C51来编写。从实时性角度来考虑,下位机的通信方式采用中断方式,这样下位机程序就包括了下位机主程序和下位机中断服务程序。主程序用于定时器T1初始化、串行口初始化和中断初始化,中断服务程序用于对上位机的通信。(1) 主程序流程图如图4.2。

串行口初始化,定时器T0初始化

串行口中断优先级为高

开CPU中断,启动定时器T0

等待

是否有接收中断 是

否 进入定时中断服务进入定时中断服务程序进行压力采集 程序进行压力采集图4.2 主程序流程图

36

进入定时中断服执行串行中断 务程序进行压力接收服务程序 采集 兰州交通大学毕业设计(论文)

以下是主程序代码: void main(void)

{ TMOD=0x21; //*设置定时器T1工作方式为2,定时器T0工作方式为1* TH0=(65536-2000)/256; //*定时器T0设置1ms中断初始值* TL0=(65536-2000)%256;

PCON = 0x00; //*电源控制寄存器的设置,串行口波特率加倍位为0*/ SCON = 0x50; //*串行口控制寄存器的设置,串行口工作方式为1*

IP=0x10; //*中断优先级寄存器的设置,串行口中断优先级为高* TH1=0xfd; TL1=0xfd; //*设置串行口波特率为9600,频率为11.0592MHz* CON_485=0; //*使MAX485处于接受状态* ES = 1; //*串行口中断开* ET1 = 0; //*开T/C1中断* TR1 = 1; //*启动T/C1* ET0=1; //*开T/C0中断* EA=1; //*开CPU中断* while(resetpulse());

writecommandtoPPM226-LS2-2(0xcc); //*跳过读序号列号的操作* writecommandtoPPM226-LS2-2(0x44); //*启动压力转换* TR0=1; //*启动T/C1* while(1) //*等待* { if(reflag6==1) //*是接受标志* { reflag6=0; //*清接受标志* fsdata(); //*调用发送函数* } }}

(2) 串行中断接收流程图:

所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求,CPU暂时中止现行程序,转去对随机发生的更紧迫事件进行处理,处理完毕后,CPU自动返回原来的程序继续执行。

37

兰州交通大学毕业设计(论文)

串行中断接收流程图如图4.3。

入口 关中断

是否接收中断 否

是站号否 是 接收数据,RI=0 TI=0

否 是 置接收标志,发送对应站号的压力

开中断 返回 图4.3 串行中断接收流程图

38

兰州交通大学毕业设计(论文)

总 结

毕业设计完成了,在与组员一起参加毕业设计的这段时间里,我学到了很多以前没有接触过的知识。我很感激学校给我这次机会,能够让我在离校之前,通过毕业设计来进一步夯实巩固我们这四年所学的测控专业的知识,为我们更好的踏入社会做一个铺垫。

大学四年里,我们学习的是测控专业的知识,看似基础扎实的我们,在毕业设计的过程中我们遇到了许多或大或小的问题,但因为我的专业知识不过关而认为很棘手。“书到用时方恨少”,扪心自问,这几年时间里我并没有尽心尽力的去学习,愧对我们的老师,愧对我们的父母。

我的毕业设计题目是《基于RS485总线的数据采集系统下位机软硬件设计》,一开始看到这个题目时我觉得很紧张,觉得对它很陌生,我对自己没有太大的信心,害怕做不好。现在回头想想,觉得其实自己想的太多了,一步一步,靠着平时的努力,我还是一步一步向课题靠近。记得曾听说过这样一句话:“怕字当头万事难”,现在我深有体会。

在毕业设计过程中,在卫晓娟老师的指导下,我学会了很多,认识和掌握了许多知识(ATC51、MAX485等),这对我都是一种补充。各个芯片的引脚功能,外围电路都是我们应该掌握的东西。从原理图总的框架到实际的电路图都凝结了我们的汗水,当然我们也走了很多的弯路,经过多次修改,我才完成现在的设计论文。这次毕业设计把我们的基础知识与创新意识相结合、个人作用与团队合作相结合,全方位、综合性的提高了我们的专业素质和专业动手能力,令我终身受益。

基于RS485数据采集系统可实现对多点压力的测量与传输,通过上位机的计算实现多点压力的监控的目的。PC机则因为丰富的软、硬件资源,被广泛应用于网络监控系统中。串行通信是计算机和外部设备进行数据交换的重要渠道,由于其成本低,性能稳定并遵循统一的标准,这都将在工程中被广泛应用。

39

兰州交通大学毕业设计(论文)

致 谢

在论文完成之际,我的心情万分激动。从论文的选题、资料的收集到论文的撰写编排整个过程中,我得到了许多的热情帮助。

四年大学生涯的学习,我所收获的不仅仅是愈加丰厚的知识,更重要的是在阅读、实践中所培养的思维方式、表达能力和广阔视野。很庆幸我遇到了许多恩师益友,无论在学习上还是生活上都给予了我无私的帮助和热心的照顾,让我在诸多方面都有所成长。感恩之情难以用语言量度,谨以最朴实的话语致以最崇高的敬意。

感谢我的导师卫晓娟老师。一直以来卫老师对我的学习要求非常严格,并给予了悉心的指导,使我受益菲浅。从老师身上我体味到了丰富的学养、严谨的作风、求实的态度,勤奋的精神,这都成为了我不断前行的动力和标杆。 您的谆谆教诲也铭记于我心,对此我深深感激。

她时刻关心我的毕业设计进程,并对我所遇到的问题进行了悉心的指导,使我能够不断地学习提高,并对我的毕业设计提出了很多宝贵的意见,使我的毕业设计有了目标和方向。最后,再次感谢卫老师对我的关心和指导, 在此表示最诚挚的谢意。

感谢和我一起学习生活的同学们,由于你们,生活过得精彩而又充实。 感谢在测控082一起度过美好时光的同学们。

最后,感谢所有关心我、帮助过我的老师、同学和朋友!

40

兰州交通大学毕业设计(论文)

参考文献

【1】刘璐 李岭松.Visual Basic程序设计与上机指导 [M].北京:清华大学出版社,2007.10 【2】蒋兆远 卫晓娟 郭佑民 李刚 范越.新型高速单片机原理及其应用系统设计 [M].北京:中国铁道出版社,2004.2

【3】陈振官 陈宏威等编著.光电子电路及制作实例[J].北京:国防工业出版社,2006 【4】 雷晓平等编.单片计算机及其应用[M].成都:电子科技大学出,2004

【5】李朝青.PC机及单片机数据通信技术 [M].北京:北京航空航天大学出版社,2008.5 【6】陈立元.Visual Basic与自动化系统监控[M]. 北京:清华大学出版社,2008.4

【7】马忠梅 籍顺心 张凯 马岩.单片机的C语言应用程序设计(第三版)北京:北京航空航天大学出版社,2006.7

【8】王为青 邱文勋. 51单片机开发案例精选[J].北京:人民邮电出版社,2001.5 【9】张鑫 华臻 陈书谦. 单片机原理及应用[J].北京:电子工业出版社,2008.5

【10】周润景 张丽娜. 基于PROTEUS的电路及单片机系统的设计与仿真[M] 北京:北京航空航天大学出版社,2006.5

【11】张洪润 张亚凡.单片机原理及应用[J]. 北京:清华大学出版社,2005.4

【12】黄智伟 凌阳.单片机课程设计指导[J]. 北京:北京航空航天大学出版社,2007.6 【13】 张金敏 董海棠 高博 卫晓娟.单片机原理与应用系统设计.成都:西南交通大学出版社,2010.8

【14】沙占友 孟志永 王彦朋.单片机外围电路设计.北京:电子工业出版社,2006.6 【15】 胡汉才.单片机原理及其接口技术.北京:清华大学出版社,2004.2

【16】李华编著.MCS-51系列单片机实用接口技术[J].北京:北京航空航大学出版社,1993.2 【17】边海龙 孙永奎. 单片机开发与典型工程项目实例详解[J].北京:电子工业出版社,2008.10

【18】杨自厚编. 自动控制原理, 北京:冶金工业大学出版社,1987

【19】蒋辉平 周国雄. 基于Proteus的单片机系统设计与仿真实例[M].北京:机械工业出版社,2009.

【20】范逸之 陈立元 孙德萱 程正孚.《利用Visual Basic实现串并行通信技术》,北京:清华大学出版社,2001.3

41

U8347813141718111D0D1D2D3D4D5D6D7OELE74LS373Q0Q1Q2Q3Q4Q5Q6Q725691215161910987654325242123220262722U7A0A1A2A3A4A5A6A7A8A9A10A11A12CECSWEOEC730pFXTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15212223242526272819U1X118XTAL23938373635343332D0D1D2D3D4D5D6D71112131516171819C811.0592MHz9RST兰州交通大学毕业设计(论文)

30pF293031PSENALEEA1nF8162静态RAMC3U6VCC1X1VCC25762附 录

DS1302ATC51A1A0PWRDCONTC2223242120AGND2AGND1C22.2uFU106ADIDERE7BMAX485RO3214R/CCSBUSYBYTEPAR/SERVCC910111213151617C12.2uFD7D6D5D4D3D2D1D0CAPREF67+12VAIN3AIN2AIN1VAAIN05432U5173R36210k电路总设计图:

27100kR184OP07VCC-12VR2500k42

12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD1011121314151617X2RSTSCLKI/OX232.768KHz318192625U3ADS782481 兰州交通大学毕业设计(论文)

43

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务