您的当前位置:首页正文

变电站远方终端RTU设计论文

2022-05-05 来源:个人技术集锦


变电站远方终端RTU设计

摘 要

变电站远方终端(RTU)是变电站自动化的基础控制单元,对实现变电站自动化乃至配电自动化起着十分重要的作用。本论文设计了一种以通用型8位单片机为核心处理单元、具有高性能价格比的变电站自动化远方终端(RTU)的硬软件设计。

论文详细的介绍了变电站自动化的应用现状和发展情况和变电站远方终端(RTU)完成的功能。利用AT89C51设计RTU控制器,此控制器包括了单片机最小系统、电压电流测量电路、开关量检测和控制电路、通信电路等。给出了RTU控制器硬件原理图、元器件清单和软件流程图。同时焊制了硬件电路板,搭建了实验平台,完成了电压电流的采集实验。实验结果精度较高,与预期结果相吻合。

关键词: AT89C51;单片机;RTU;变电站自动化;数据采集

I

Abstract

Substation Remote Terminal Unit (RTU) is the basic control unit of substation automation. It plays a very important role to the realization of substation automation and even distribution automation. This paper designs a kind of hardware and software about the substation automation remote terminal Unit(RTU), which uses the general-purpose 8-bit microcontroller as the core processing unit, with high cost performance.

This paper describes the application status and development situation of substation automation and the accomplished function of substation remote terminal Unit(RTU) in detail. Using AT89C51 designs a RTU controller, which includes a minimum system of microcontroller, voltage and current measurement circuit, switch monitoring and control circuits and communication circuits. It shows the RTU controller hardware schematics, parts lists and software flow chart. At the same time, it has welded the hardware circuit board, built an experimental platform, and completed the acquisition of voltage and current experiments. It gets a high precision result, which is consistent with the expected results.

Keywords:AT89C51;MCU;RTU;Substation Automation;Data Acquisition

II

目 录

摘要 ........................................................................................................................................... I ABSTRACT ........................................................................................................................... II 1绪论 ....................................................................................................................................... 1 1.1引言 .................................................................................................................................... 1 1.2变电站自动化综述 ........................................................................................................ 1 1.3国内外现状及水平 ........................................................................................................ 2 1.4课题目的及意义............................................................................................................. 2 1.5论文的结构及章节安排............................................................................................... 3 2变电站远方终端RTU ...................................................................................................... 4 2.1变电站远方终端RTU发展状况 .............................................................................. 4 2.2 RTU功能 .......................................................................................................................... 4 2.3 RTU技术指标 ................................................................................................................... 6 3变电站远方终端RTU硬件系统设计 ......................................................................... 8 3.1总体方案设计 ................................................................................................................. 8 3.2 AT89C51单片机最小系统设计 .............................................................................. 10 3.3开关量输入及输出电路设计 ............................................................................... 10 3.4模拟量输入电路设计 ................................................................................................. 16 3.5人机接口单元设计 ...................................................................................................... 23 3.6通信电路设计 ............................................................................................................... 25 4变电站远方终端RTU软件系统设计 ....................................................................... 27 4.1软件系统设计思路 ...................................................................................................... 27 4.2 软件系统的程序流程图 ............................................................................................ 28 4.3提高RTU控制器可靠性的措施 ............................................................................ 33 5 RTU电压采集实验 ........................................................................................................ 36 总结 ......................................................................................................................................... 37 参考文献................................................................................................................................ 38 附录1 系统硬件原理图 ................................................................................................ 39 附录2 元器件清单 ......................................................................................................... 40 附录3 A/D转换源程序 ................................................................................................ 41 附录4 大学期间主要科研成果 .................................................... 错误!未定义书签。 致 谢 ...................................................................................................... 错误!未定义书签。

1 绪论

1.1 引言

随着国民经济的发展和人民物质文化生活水平的不断提高,对电力需求越来越大,促使电力事业迅速发展,用户对供电质量和供电可靠性要求也越来越高。“传统的技术和管理手段已经不能适应新形势的发展需要,变电站自动化就是为了这一目的而提出来的。变电站自动化可以大大提高变电站测量的准确度和控制的可靠性,提高电能的质量,降低劳动强度,充分利用现有设备,从而对于用户和电力公司均能带来可观的经济和社会收益。

1.2 变电站自动化综述

变电站自动化是一种以计算机为主、将变电站的一、二次设备(包括测量、信号、控制、保护、自动、远动等)经过功能组合形成的标准化、模块化、网络化的计算机监控系统。变电站自动化系统代替了常规的测量和监视仪表,代替了常规控制屏、中央信号系统和远动屏,用微机保护代替了常规的继电保护屏,解决了常规的继电保护装置不能与外界通信的问题。变电站自动化系统可以采集到比较齐全的数据和信息,利用计算机的高速计算能力和逻辑判断功能,可以方便地监视和控制变电站内各种设备的运行和操作,它具有功能综合化、结构微机化、操作监视屏幕化、运行管理智能化的显著特点。通过利用先进的综合自动化技术,提高了供电质量、提高了电压合格率、提高了变电站的安全可靠性和系统的运行管理水平,缩小了变电站占地面积、降低了造价、减少了总投资、减少了维护工作量、减少了值班员劳动强度[1]。

变电站自动化是一项提高变电站安全、稳定和可靠运行水平,降低运行维护成本,提供高经济效益,向用户提供高质量电能的一项技术措施。随着计算机技术、自动控制技术、网络及通信技术的飞速发展,一方面综合自动化系统取代或更新传统的变电站二次系统己经成为必然的趋势,微机保护不再只考虑实现单纯的继电器功能,而是在保证安全可靠的前提下增加了许多远动功能,从而以综合装置的形式融入到综合自动化的体系结构;另一方面,保护本身也需自检测、故障录波、事件记录、运行监视和控制管理等更强大的功能,变电站自动化可以很好地融合这些要求。以调度中心为核心的变电站自动化系统,不仅仅有同步通讯、计算机综合应用、负荷监控、节能、电网规约等[2],可归纳为如下几个方面:

(1)可靠安全的供电网络包括电源点。应保证电力输送线路的经济运行,开关变压器等设施的可靠性。

1

(2)对故障的自动判断和隔离。在人工或自动条件下恢复非故障线路的供电,对故障点进行自我隔离和诊断。

(3)判断系统的运行状况进行实时监控。采用分布式的SCADA,对变电站或变电所所需的信息进行处理,对各种信息的上发下传,及时反应运行状况和事故的处理分析能力。

1.3 国内外现状及水平

国外变电站自动化的研究工作始于20世纪前七十年代,最早的用微机型远动装置代替布线逻辑型的远动装置;同时变电站监控系统的功能在扩大,供电网的监控功能正以自动化为目标迅速发展[3]。在1975年,日本开始研究用于配电变电站的数字控制系统,1980年开始商品化。该系统按功能分为三个子系统:①继电保护系统;

②测量字系统;③控制子系统。

我国变电站自动化的研究始于80年代中期,1987年,清华大学电机工程系研制成功第一套符合国情的变电站综合自动化系统,在山东威望岛变电站成功地投入运行。该系统的成功运行表明:微机技术可以全面、系统、可靠地应用于变电站自动化工程中。同时也证明了变电站自动化对提高变电站的运行管理水平及技术水平缩小占地面积减少值班员抄表和记录,以及减少维护工作量等方面有显著的优越性。因此

80年代后期,投入变电站自动化研究的高等院校、研究单位和生产厂商逐步增加。90年代,变电站自动化已成为热门话题,研究单位和产品如雨后春笋般蓬勃发展。

规模较大的有南瑞公司、四方公司等。

近年来,大规模集成电路技术和通信技术的迅猛发展,给变电站自动化技术水平的提高,注入了新的活力。16位,32位单片机及pentium微处理器的问世,活跃了计算机市场;网路技术、现场总线技术等的出现,给广大科技工作者创作了大显才能的条件。因此,近年来研究贬低你在自动化进入了高潮,其功能和性能也不断完善。变电站自动化将成为今后新建变电站的主导技术。

1.4 课题目的及意义

变电站自动化实现的目标可以归结为:提高变电站安全、稳定和可靠运行水平,降低运行维护成本,提供高经济效益提高电网供电可靠性,切实提高电能质量,确保向用户不间断优质供电;提高城乡电力网整体供电能力。

从以上这些目标可以看出,对于电力企业,配电自动化的实施的具体意义在于:

2

近期可以大幅度提高供电安全,可靠性,同时具有减员增效,降低经营成本的作用;远期的意义即针对在良好一次网络的基础上的自动化系统可优化运行,保持能量平衡,减少尖峰负荷,进而具有推迟新建项目的潜在经济效益。对于国家整体,在我国目前经济和供电条件下它更能作为一种基础设施的优化促进国民经济发展,并起到实现经济和社会双重效益的作用[4]。

1.5 论文的结构及章节安排

论文主要包括以下内容:

第一章 综述变电站自动化和国内外发展现状,以及课题设计的目的和意义。 第二章 详细对RTU的功能、性能要求做了介绍。

第三章 给出变电站自动化远方终端RTU的硬件原理图,并对RTU各部份的功能和构成进行了说明。

第四章 给出程序流程图以及部分应用程序的开发,并对RTU抗干扰等问题做了一定的介绍,提出了相应的解决措施。

第五章 完成电压电流采集实验,对实验结果进行了分析。

3

2 变电站远方终端RTU

2.1 变电站远方终端RTU发展状况

变电站远方终端RTU是SCADA系统的基本组成单元,是电网监视和控制系统中安装在变电站的一种远动装置,它负责采集变电站电力运行状态的模拟量和状态量,监视并向调度中心传送这些模拟量和状态量,执行调度中心发往所在变电站的控制和调度命令,实现调度中心对电网的遥测、遥信、遥控、遥调“四遥”功能。RTU的发展历程是与“三遥”工程技术相联系地。所谓“三遥”工程技术是指遥测、遥控、遥调技术,是研究远处人们不易到达的地点,对物理变化过程、生产过程进行检测(遥测)、调节(遥调)、控制(遥控)的一门学科。服务于变电站自动化的RTU还具有了配电故障信息采集与处理、电能质量测量、断路器在线监测等功能,以达到调度自动化对用户可靠优质供电的最终目标。

随着计算机技术、通信技术和电子技术的迅猛发展,电力系统自动化程度日益提高,电气测量仪表无论在原理、结构和准确度上都产生了巨大变革[5],计算机技术的引入使仪表的原理、结构和功能大为改观。能够实现对交流电力参数(电流、电压、功率等)精确测量和分析并具有多种功能的新型RTU成为自动化领域的主攻方向和热门课题[6]。

2.2 RTU功能

在电网监控系统中,远方终端的功能是指终端对电网的监视和控制能力,也包括终端的自检自调和自恢复的能力。由于电网监控系统面对一个庞大而错综复杂的对象,远方终端的任务不仅数量多,而且复杂。通常的远方终端功能可划分为远方功能和当地功能[7]。

2.2.1 远方功能

远方终端是安装在发电厂,变电站或线路上的一种远方终端,它与调度中心相距遥远,与调度中心计算机同多信道相连接。远方终端与调度中心之间通过远距离信息传输所完成的监控功能称为远方终端的远方功能。

(1)遥测(Tele-measurement)

遥测即远程测量,它将采集到的被监控发电厂,变电站或线路,配电变电站的主要参数按规约传送给调度中心。这些测量参数可能是发电厂或变电站中的发电站组,调相机组,变压器,输电线,配电变压器等通过的有功功率和无功功率,传输线路中

4

重要之路的电流和重要母线上的电压,频率等,还可能是电压器油温等非电参量。通常一台远方终端可以处理几十个甚至上百个遥测量。

数字值是指直接以数字的形式输入给远方终端的一些物理量。它通常指电力系统中电能累计量,水力发电厂的水库水位等。远方终端按规约将这些数字量送往调度中心。

计数脉冲(Counter Pulse):RTU所采集的脉冲量是指反映电能量的脉冲信号量。RTU能直接接收和累计这些脉冲信号,将其处理成电能信息,定时发送给调度中心。一台RTU一般可接收多大几十路电能量脉冲信号。

事故记忆(Accident Look back):当RTU检测到检测范围发生故障时,记录故障发生前,发生后的电压,电流量,组织为事故追忆报告,发送至调度中心,供调度人员进行事故分析。

(2)遥信(Tele-indication,Tele-signaliazation)

遥信即远程信号,它将采集到的被监控发电厂或变电站的设备状态信号,按规约传动给调度中心。这些设备状态可能是断路器,隔离开关的位置状态,继电保护和自动装置的动作状态,发电机组,远方设备的运行状态等。通常,一台RTU可能处理几十个甚至几百个遥信量。

事件顺序记录(SOE):当RTU检测到发生遥信状态变味时,应立即组织变位信息,即时优先相调度中心传送,同时记录发生遥信变位的时刻,变位状态和变位开关或变味设备序号,组成事件记录信息向调度中心传送。

(3)遥控(Tele-command)

遥控即远程命令,它从调度中心发出改变运行设备状态的命令。这种命令包括操作发电厂或变电站各级电压回路的断路器,投切补偿电容器和电抗器,发电机组的开停等。因此这种命令只取有限个离散值,通常只取两种状态命令,如断路器的“合”或“分”命令。一台RTU可以实现对几十个设备的远方操作。

(4)遥调(Tele-adjusting)

遥调即远程调节,它从调度中心发出命令实现远方调整发电厂或变电站运行参数。这种命令包括改变变压器分接头的位置,以调节电力系统运行电压;改变机组有功和无功成组调节器的整定值,以增减机组的功率;以调节电力系统运行电压;改变机组有功和无功成组调节器的整定值,以增减机组的功率;对自动装置整定值的设定等。一台RTU可以实现对几个甚至十几个这类装置的远方调节。

(5)电力系统统一时钟

5

在电力系统中因设备或输电线路的故障等,可能引起一系列的跳,合闸动作。为区别事件的前因后果,分布在同一个电网中的不同发电厂或变电站应按同一时钟取记录发生事件的时标量,分布在各处的电能计量装置的同步计量,这就要求电网内的时钟是统一的。为了及时纠正远方终端时钟运行的误差,远方终端必须具备对时功能。

(6)转发

转发先接收别的远方终端送来的远方信息,然后根据上级调度的需要,按规约编辑组装后转发给指定的调度中心。

(7)适合多种规约的数据远传

远方终端与调度中心之间的远距离信息交换是按一定规约传送的。按照规定远方终端应符合远方任务配套标准IEC60870-5-101,以实现与调度中心及与之联网的其他职能设备通信。

2.2.2 当地功能

远方终端的当地功能是指远方终端通过自身或连接的显示,记录设备,实现对电网的监视和控制的能力。

(1)CRT显示

与远方终端相连接的CRT显示器,可以显示所在发电厂或变电站的电气主接线图。在这个主接线图上可实时显示发电机组的运行状态,断路器的位置状态等重要遥信量,也可在线显示发电机组的运行参数。同时,事故变位遥信和遥测越限告警也可通过CRT显示器醒目地显示出来。

(2)汉子报表打印

与RTU相连接的打印机,可以实现数据信息打印记录,存档一杯查索。通常打印机可完成三种类型的打印任务,即定时指表打印,召唤打印和事件记录打印。

(3)本机键盘,显示器

远方终端都有一块操作面板,在面板上带有小键盘和显示器,通过操作小键盘。在显示器显示有关信息,以实现寻测,定测,选侧,显时等功能。

(4)远方终端的自检与自调功能

其反映了远方装置的可维护能力。可维护能力越强,远方终端的可用率将越高。远方终端的程序自恢复能力是指在收到某种干扰影响而使程序“走飞”时,能够自行恢复正常运行的能力。

2.3 RTU技术指标

根据《中华人民共和国国家标准地区电网数据采集与监控系统通用技术条件》,

6

该标准适用于地区电网及各类供电网的数据采集与监控系统[8],系统的技术指标如下:

(1)电源参数

交流额定电压:AC220V/1A; 额定频率:50Hz;

直流额定电压:DC24V/10A。 (2)容量配置 模拟量输入:15路; 数字量输入:8路; 数字量输出:8路。 (3)测量精度

三相电压、电流:0.5级;

有功功率、无功功率、视在功率、功率因数:l级; 谐波检测精度:l级; 频率测量误差:≦±0.01Hz。 (4)控制输出

触电容量:AC220V/1A。 (5)事件数序记录分辨率 事件数序记录分辨率:2ms。 (6)数据处理可靠性

遥控正确率100%,遥控成功率>99.9%;

遥信正确率100%,遥调正确率100%,遥调成功率>99.9%。 (7)装置运行环境条件 工作温度范围:-40℃~+75℃; 相对湿度:5%~95%。 (8)装置功耗

正常工作时功耗不大于15W,线路故障时不大于18W。 (9)故障整定值误差 不超过5%。

(10)输入输出回路对地和各回路之间绝缘电阻在正常实验条件下,不低于

10OMΩ,湿热条件下不低于lMΩ。

7

3 变电站远方终端RTU硬件系统设计

本设计中选择AT89C51处理器作为系统的数据计算和控制核心,硬件电路的设计分为处理器核心模块和外围设备模块两部分。外围设备模块上设计了其外围电路,包括电源模块电路、模拟量采集模块、开关的状态量输入模块、通信电路模块等。

3.1 总体方案设计

作为一个基于单片机的系统设计,需要从以下几个方面来考虑[9]。

(1)确定功能指标:根据RTU设计要求和环境的实际情况,从控制器的可靠性、通用性、可维护性和成本等方面进行综合的考虑,参考国内同等产品的相关资料,确定各模块的性能指标,使其符合相关标准。

(2)微处理器的选择:在设计中,应根据所设计RTU的功能、可靠性、能耗等指标选择一个性价比合理的微处理器,应该从微处理器的运行速度、片内资源、扩展能力、保密性和特殊功能等方面考虑,在市场上提供的微处理器中选择性价比高、货源足的芯片。

(3)元器件选择:在选择好微处理器后,片内资源仍不足时,要进行选择系统扩展和配置所需要的元器件,如:存储器、显示器、通讯接口和稳压电源等器件,但是这些器件的选择应该符合我们所设计系统的要求。

(4)软/硬件功能分配:软件、硬件的功能是可以互换的,有些硬件的功能是可以用软件来实现的。使用硬件来实现功能可以提高系统的工作速度,减少软件的开发时间,但是会增加成本。如用软件代替硬件的功能,可以节省硬件的开支,但增加了软件的复杂性和研发周期。要对硬件和软件功能做出很好的分配。

通过对总体设计的全面考虑,结合实际情况,本设计中主要有两方面技术要求:一本文设计的RTU要求有很好的通用性,能够适用于多种工作场合,所以要能够采集种类型的信号;二是结构要模块化,主板上有各种类型的数据采集接口,设计有串行通信接口、以太网接口,别的通信方式通过串口来扩展。

为了使电路设计合理,在硬件电路设计时需注重以下几点[10]:

(1)低功耗。作为RTU至关重要的指标之一,这是在设计电路时必须考虑的。因为RTU的工作环境一般都在户外比较的恶劣,所以必须尽可能降低设备的功耗,为了达到低功耗的目的,我们在以下方面采取措施:一是在满足设计需求的同时选择低功耗的CPU处理器;二是严格筛选元器件,电路设计时全部使用低功耗器件;三是设计电源管理电路;四是通过软件设计,使得RTU能在需要的时候进入低功耗模式。RTU平常工作在休眠状态,当RTU需要进入工作状态时,可以通过继电器、

8

电子开关动作或者软件、定时器控制实现唤醒,如信号输入唤醒、通信端口唤醒、定时报讯、增量加报、人工唤醒等。

(2)尽可能选择典型电路。因为典型电路是经过实践检验的,更加合理。同时也为硬件系统的模块化、标准化提供了方便。

(3)多参数数据采集。根据实际的传感器的信号输出特征,需要配置增量、并行、串行、模拟等相应信号的输入接口,为了实现RTU的通用性还必须预留适量的输入接口。

(4)在系统与外围设备进行扩展时应充分满足系统的功能要求,并留有二次开发的余地。

(5)多种通信设备的连接。为了能够实现不同领域的应用、灵活组网,所以要为多种通信方式提供接口。

(6)硬件结构设计时应结合应用软件方案一并考虑。因为有些功能软硬件都可以实现,考虑的原则是:软件能实现的功能尽可能由软件来实现,以简化硬件结构。但由软件实现的硬件功能缺陷是:其响应时间要比直接用硬件实现长,且占用CPU时间。所以设计时要综合考虑选择方案[11]。

(7)状态检测电路。由于远程终端单元是有人看管、无人值守,所以必须要求

RTU能将设备的工作状态(包括电池及设备状态等)报告给中心站,以便实现远程

诊断和维护。

(8)防干扰、防雷电路。RTU一般安装在野外,暴雨与雷往往是相伴的,为了防止外部环境的干扰以及雷电对设备的破坏,RTU必须有完善的保护措施,所有的接口和I/O端口应该有光电隔离装置。

(9)看门狗电路。系统难免会碰到一些不确定因素,导致不能返回正常工作状态。要能够保证系统重返正常状态,需要设计看门狗电路,使经过定时延时后,自动产生复位信号。

(10)硬件设计中还需要考虑到可靠性和抗干扰系统,以下方面都需要考虑:芯片以及器件的选择、去耦滤波、印刷电路板布线、通道隔离等。 3.1.1 RTU系统框图

RTU硬件设计中包括微处理器、外设等。为了实现RTU的测控功能,需扩展

大量外围接口电路,为了实现本设计变电站RTU,将系统进行模块化设计。根据模块化的设计思想,设计RTU硬件系统框图如图3.1所示,系统硬件原理图见附录1。

本论文中硬件设计方案各模块功能如下:复位电路:可完成系统上电复位;电源

9

电路:向系统提供+5V电压;并设计了通信口RS232;I/O端口实现开关量的输入输出;A/D实现数据采集传输时的模数转换。论文方案中部分模块设计的方案选择如下:处理器采用熟悉的AT89C51。A/D转换芯片采用通用ADC0809。

硬件设计就是根据系统的设计要求,使用选定的微处理器和元器件,设计出系统电路原理图等,并作一些实验来验证电路图的正确性。

开关量输出TV光电耦合晶振开关量输出电压形成回路电压形成回路...光电耦合多路转换开关TA变换器低通滤波低通滤波...采样保持...A/D采样保持电源AT89C51RS232PC显示看门狗图3.1 RTU硬件系统框图

3.2 AT89C51单片机最小系统设计

3.2.1 AT89C51芯片简介

AT89C51单片机的引脚排列如图3.2所示。AT89C51是一种带4K字节闪烁

可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read

Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机[12][13]。该器件

采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,

ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵

活性高且价廉的方案。

AT89C51单片机采用的是8051单片机的内核,即AT89C51单片机的内部CPU技术与8051单片机相同,所以都具有一样的指令系统。它与8051单片机的

不同在于,AT89C51单片机比8051单片机在片内存储器空间和功能单元方面有所补充。4K字节闪烁可编程可擦除只读存储器,增加了在线编程功能,使程序的修改和调试及其方便,而且编程和校验也更加方便。

10

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.7 图3.2 AT89C51单片机的引脚排列 (1)AT89C51单片机的主要工作特性如下:

①8051CPU;

②4KB的快速擦写Flash存储器,用于程序存储,可擦写次数为1000次; ③256字节的RAM,其中高128字节地址被特殊功能寄存器SFR占用; ④32根可编程I/O端口线:P0,P1,P2,P3;

⑤2个可编程16位定时器,一个可编程的全双工串行通信:3口的第二功能; ⑥具有6个中断源,5个中断矢量,两级优先权的中断系统; ⑦1个数据指针DPTR;

⑧具有“空闲”和“掉电”两种低功耗工作方式; ⑨可编程的3级程序锁定位; ⑩工作电源的电压为(5±0.2V);

(2)AT89C51单片机的内部结构如图3.3所示

AT89C51单片机的CPU是8位字长,主要包括运算器和控制器两个部分。运

算器的功能是进行算术逻辑运算,位处理操作和数据的传送,主要包括有算术/逻辑运算单元、暂存器TMP1和TMP2、累加器ACC、寄存器B、程序状态字寄存器

PSW。控制器是控制读取指令,识别指令并根据指令的性质协调、控制单片机各组

成部件有序工作的重要部件,是CPU乃至整个单片机的中枢神经。中主要有程序寄存器PC、指令寄存器IR、指令译码器ID、堆栈指针SP数据指针寄存器DPTR。

11

P0.0~P0.7P0口驱动器P2.0~P2.7P2口驱动器RAM地址寄存器RAMP0口锁存器P2口驱动器程序地址寄存器ACCB寄存器TMP2ALU定时与控制指令寄存器PSWTMP1SP中断,串行定时器/计数器端口模块缓冲器程序计数器程序增量器程序增量器 图3.3 AT89C51单片机内部结构

振荡器P3口锁存器看门狗P3口驱动器P3.0~P3.7P1口锁存器ISP口P1口驱动器P1.0~P1.73.2.2 晶振电路

复位电路使其进入复位状态。单片机复位后对其内部的所有组成部件初始化,使其处于某种确定的初始状态,从而保证单片机能稳定可靠地工作。

AT89C51的晶振电路如图3.4所示。

C133pFC233pFX1CRYSTAL 图3.4 AT89C51的晶振电路

在AT89C51芯片内有一个高增益的反向放大器,用于构成振荡器。反向放大器的输入端为XTAL1,输出端为XIAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。系统可以以较低的外部时钟信号获得较高的工作频率,从而降低因高速开关时钟所造成的高频噪声。电容C1和C2是选取30pF,可稳定频率并对振荡频率有微调作用,振荡脉冲频率为12MHz。

12

3.2.3 复位电路

复位对于一个系统来说很重要,各个单元要进入正常工作状态,需要可靠的位,而一旦处理器处于未知状态,比如程序“跑飞”或进入死循环,就需要强行将统复位。正常情况下,一般有上电复位和手动复位。如果电源电压出现波动,系统会正常复位,这时候会发生复位时间不够从而造成一些错误甚至死机,所以复位监控电也是有必要的。它具备如下功能[14]:

(1)上电复位保障上电时能正确地启动系统。

(2)掉电复位当电源失效或电压降到某一电压值以下时复位系统。 本系统的复位电路如图3.5所示。电容的值C1为10μF,电阻R1=8.2k。可保障系统在不同的异常条件下可靠地复位,防止系统失控。

+5V接单片机C110uFR18.2k 图3.5 AT89C51的复位电路

3.2.4 电源电路

电源是RTU系统必不可少的组成部分,一个良好的电源对于系统的正常工作至关重要,其设计的性能优劣直接关系到系统的技术指标和能否安全可靠的工作。如何保持电源的稳定性、减少系统的功耗和外界的干扰往往成为工程师最为头疼的问题。目前常用的直流稳压电源分为两种,一种是线性稳压电源,另一种是开关稳压电源。本设计采用开关稳压电源,从而可以减少系统的体积和降低功耗[15]。+5V开关稳压电源的电路原理图如图3.6所示。

在图3.6中,C1=220μF,C2=0.47μF,C3=0.1μF,C4=1000μF。为了达到最佳的滤波效果,除了选择合理的电路结构以外,在安装时,应尽量将滤波器的输入和输出端远离开始端。经验表明,电源的接地阻抗越小,负载间的耦合就越少。较为经济的做法是采用负载分离供电的方法。也就是说,如果是单纯的最小系统,应尽量减少电源接地阻抗,否则,就应当将其他负载与最小系统分离供电。

13

TAC220VVD1 ~VD4C1C27805INOUTGNDC3C4U0=5V

图3.6 电源电路原理图

电源接地是一种较为简便易行的抗干扰措施,但同时,它又是需要很多实践经验和分析能力的技术。单片机工作的环境含有不同性质的电源(如数字地、模拟地),并且,环境中不同设备的工作电压、电流和功率也有较大差异,安全合理接地关键地位突现,尤其在PCB设计中,能够采取适当的接地措施,结合经验,在接地问题上可以考虑使用如下方法:分别给数字地和模拟地、交流和直流地建立接地通路,保证其相互隔离,减少线间耦合;采取一点接地,即进行PCB布线时将几条接地通路接到电源公共点上,保证电源电路的低阻抗;电源接地时,应尽可能使接地通路连接到阻抗最低的接地导体上避免横向导通。

3.2.5 单片机系统存储器扩展

由于AT89C51只有一个256KB RAM可能无法满足整个系统对程序存储、数据存储的要求,所以必须对AT89C51存储器扩展[16]。单片机外接EPROM和

RAM电路如图3.7所示。

AD15CSAD8~AD1580C198KBAD0~AD7EAADVRDWROEOEWE74LS373 高8位地址 数据EPROM低8位地址1CS高8位地址数据ARM低8位地址 图3.7 单片机外接EPROM和RAM电路

本系统采用6264RAM芯片作为数据存储器。6264RAM是容量为8K×8静态

RAM芯片,采用CMOS工艺制作,为双列直插式封装,共28只引脚。其中地址

线为A0~A12, 使用单一+5V电源,额定功耗为220mW,典型存取时间为200ns。

采用2712EPROM芯片作为程序存储器。2712EPROM芯片是容量为16K×8的EPROM芯片紫外线擦除,电编程,采用双直插式封装,有28只引脚。其中地

14

址线有14根,工作电压为+5V,编程电压为+21V。标准的27128读取时间为250ns,最大工作电流150mA。

采用74LS373作为锁存器。它有1个使能端G,1个输出控制端E,8个输入端1D~8D,8个输出端1Q~8Q。该芯片又称作透明的D型锁存器。“透明”是指当使能端G端为高电平时,输出端Q端将随输入端D端的变化而变化,锁存功能体现在当使能G端为低时,Q端的输出将锁存在已建立的电平状态,而不管此时输入端D的状态。

3.3 开关量输入及输出电路设计

开关量分为开关量输入和开关量输出两个部分,在本系统中,开关量主要是断路

器,刀闸的合、分闸信号,开关状态等信号,由于开关信号传输的距离比较远,容易受到外界的干扰,确保开关动作的可靠性至关重要,所以开关量的输入输出应确保可靠,并具有良好的抗干扰的能力,本系统通过采用电容滤波和光电隔离的方法来提高输入输出信号抗干扰能力的[17]。开关量输入原理如图3.8所示。 +24V+5VD1SW1SW-SPSTDIODER210kU11652R31KR1400IN04OPTOCOUPLER-1 图3.8 开关量输入原理图 本设计中实现了8路开关的检测和控制功能。从RTU控制器端子箱引入的开关量(常开)图中的SW1表示,在输入端接有电阻与二极管并联的电路主要起保护作用,经光电隔离进入单片机的输入接口,由CPU读取,当开关打开时,光敏三极管关闭,输出为高电平,对应位为1,当开关闭合时,光敏三极管导通,输出为低电平,对应位为0。CPU可以通过软件查询,随时知道外部开关量的状态。开关量保护信号和闭锁信号经光电隔离后输入单片机的高速输入口,每个高速输入口电平的跳变都可以产生中断,这可以使CPU对保护信号和闭锁信号做出快速反应,最大限度地提高控制器的可靠性。 开关量输出原理如图3.9所示。开关量输出主要包括保护的跳闸出口以及本地和中央信号等,一般都采用并行接口的输出来控制有触点继电器(干簧或密封小中间继

15 电器)的方法,但为提高抗干扰能力,最好也经过一级光电隔离。

只要通过软件使单片机的P2.2输出为1,光敏三极管导通,驱动继电器动作,从而产生输出接点的动作,同时要有效消除由于干扰问题而产生的误动作。此外,在动作指令发出之后,CPU要监测动作的执行情况,一方面是看动作指令是否产生了相应继电器接点的动作,另一方面是看控制对象(线路上的开关)是否正确动作,如有异常情况立即闭锁装置并报警[18]。

+5VRL1U10P2.216524OPTOCOUPLER-4DIODER1410k220VD8 图3.9 开关量输出原理图

3.4 模拟量输入电路设计

在变电站自动化中,模拟量采集是非常重要的一部分,RTU正确采集模拟量通过运算判断变电站目前的运行情况,据此发出正确的控制动作。模拟量输入电路的主要作用事故隔离,规范输入电压及完成模/数变换,以便与CPU接口,完成数据采集任务[19]。

在本设计中模拟量输入采用交流采样技术,模拟量输入原理框图如图3.10所示。

TV多路转换开关TA变换器电压形成回路电压形成回路...低通滤波低通滤波...采样保持...A/D采样保持

图3.10 模拟量输入原理框图

(1)电压形成回路:由于RTU装置要从TV、TA取的信息,但是这些互感器的二次侧电流或电压是5A或100V交流信号,不能适应模/数变换器的要求,故需对他们进行变换。一般采用中间变换器将由一次设备电压互感器二次侧的电压进一步降低,将一次设备电流互感器二次侧引来的电流变成交流电压。再经过低通滤波器及双向限幅电路将中间变换器降低或转换后的电压变成后面环节中A/D转换芯片所允

16

许的电压范围。

电压形成回路除了起电量变换作用外,另一个重要的作用是将一次设备的电流互感器TA,电压互感器TV的二次回路与A/D转换系统完全隔离。

(2)低通滤波器:由采样定理,为防止出现频谱“混叠效应”信号最高频率不能超过采样频率的1/2,低通滤波器的作用是要滤除输入信号中高于1/2采样频率的高频成分。

(3)采样保持:它的作用是使输入模拟量的采样值在A/D转换的过程中保持稳定。在本设计中每个模拟通道都设置了一个采样保持器,这些采样保持器由一个信号控制,以实现对不同模拟通道的同时采样,从而消除因电压电流采样不同时而产生的测量误差。

(4)多路转换开关:为简化硬件,控制器只使用了1个A/D转换器件,在同一时刻只能对1路模拟量进行转换,多路开关的作用是将多路模拟量分时输入A/D转换器,使其一一转换。 3.4.1 电压及电流测量电路 电压及电流测量电路对变压器高压侧和低压侧的线电压及相电流进行测量,硬件结构如图3.11所示。 +5V+5V+5VP2.3R7母线电压检测10k32U31D3DIODE4U41234V+OFF/ADJIPV-LF198LOGICLOGIC/REFCHOP8765C10.01uFIN211LM324RV120kC21nFTVR820kD4DIODE-5V-5V(a) 电压测量电路 +5V+5V+5VP2.7R8母线电流检测10k3211U51D5DIODE4U61234V+OFF/ADJIPV-LF198LOGICLOGIC/REFCHOP8765C30.01uFIN3R910kLM324RV220kC41nFTAR1020kD6DIODE-5V-5V (b)电流测量电路 图3.11 电压及电流测量电路原理图 本测量电路由放大、电平提高、钳位、滤波、采样保持电路五部分电路组成。

17

(1)放大电路:利用LM324构成同相比例放大电路,将电流和电压按一定比例放大。其特点是输入阻抗高。电路的电压放大倍数仅由外接电阻决定,本电路为放大倍数可调,最大为2。

(2)钳位电路:在放大器输出端上下各加一个二极管,是为防止电压或电流过大而对电路采取的保护措施,这样时电路后面环节的采样保持器,A/D转换芯片的电压被钳位在+5.7V ~ -0.7V之间。

(3)滤波电路:电力系统在故障的暂态期间,电压和电流含有较高的频率成分,如果要对所有的高次谐波成分均不失真地采样,那么其采样频率就要取得很高,这样就对硬件速度提出很高的要求,使成本增高,这是不现实的。实际上,大多数RTU原理反映工频分量的,或者是反映某种高次谐波(例如5次谐波分量),故可以在采样之前将最高信号频率分量限制在一定的频带内,即限制输入信号的最高频率,以降低采样频率fs,一方面降低了对硬件的速度要求,另一方面对所需的最高频率的采样不至于发生失真。

要限制输入信号的最高频率,只需要在采样前用一个模拟低通滤波器,将fs的频率分量滤掉。这样做使得输出的波形趋于平滑。电压测量电路输入电压取于电压互感器的二次侧,电流测量电路的输入电流取于电流互感器的二次端,最终通过该电路实现将交流电压或电流变为直流电压输入单片机中的目的。

模拟低通滤波器的幅频特性的最大截止频率,必须根据采样频率fs的取值来确定。例如,依据采样定理,当采样频率是1000Hz每周期采20个点,则要求模拟低通滤波器必须滤除输入信号大于500Hz的高频分量;而采样频率是600Hz时,则要求必须滤出输入信号大于300Hz的高频分量。

(4)采样保持电路:在数据采集模块中是采用等时间间隔采样的,实现连续信号采样形成离散时间信号。连续时间信号的采样及其保持是指在采样时刻上,把输入模拟信号的瞬时值记录下来,并按所需的要求准确地保持一段时间,供模/数转换器

A/D的数据采集系统,因模/数转换器A/D的工作需要一定的转换时间,因此,需要

使用采样保持器[20]。

图3.12所示为一个实际的采样保持电路LF198的电路结构图,图中A1、A2是两个运算放大器,S是模拟开关,L是控制S状态的逻辑单元电路。采样时令UL=1,

S随之闭合。A1、A2接成单位增益的电压跟随器,故U0= U0'=Ui。同时U0'=1通

过R2对外电容Ch充电使Uch=Ui。,因电压跟随器的输出电阻十分小,故对Ch充电很快结束。采样结束时UL=0V,S断开,由于Uch无放电通路,其上电压值基本不

18

变,故使U0值得以保持,即将采样结果保持下来。

30ΚΩR1-A1+Ui+ D1Uo' D2S-A2+R2 300ΩChULL + Uo

图3.12 采样保持电路

图中3.12还有一个由二极管D1、D2组成的保护电路。在没有D1和D2的情况下,如果在S再次接通以前Ui变化了,则U0'的变化可能很大,以致于使A1的输出进入饱和状态,U0'与Ui不再保持线性关系。接入D1和D2以后,当U0'比U0所保持的电压高出一个二极管的正向压降时,D2将导通,U0'被钳位于Ui'+UD2。这里的

UD2表示二极管D2的正向导通压降。当U0'比U0低一个二极管的压降时,D1导通,

将U0'钳位于Ui'-UD1。UD1为D1的正向压降。在S接通的情况下,因为U0'= U0,所以D1和D2都不导通,保护电路不起作用。

(5)模拟多路开关转换开关(MPX):在实际的数据采集模块中,被测量可能是几路或几十路,对这些回路的模拟量进行采样和A/D转换时,为了共用A/D转化时,为了共用A/D转换器而节省硬件,可以利用多路开关轮流切换各被测量与A/D转换电路的通路,达到分时转换的目的。在模拟输入通道中,其各路开关是“多选一”,即其输入时多路待转换的模拟量,每次只选通一路,输出只有一个公共端接至A/D转换器。

下面以常用地方16路多路转换开关芯片AD7506为例,说明多路转换开关的工作过程。AD7506的内部结构示意图如图3.13所示,其引脚的功能分述如下:

A0,A1,A2,A3:通道的选择,由CPU赋值,赋予不同的二进制码可选通

16路中对应电子开关SA,当某一路被选中,此路的SA闭合,将此路输入接通到

输出端。

Ui0~ Ui15:输入端共16路,可以接入16个输入量。 U0:输出端。

EN:使能端,只有EN为高电平时,AD7506才能正常工作。

19

ENA0A1A2A3Upp译码/驱动UssSA0 ......SA15uio~ui15输入 图3.13 AD7506内部结构图

AD7506功能表如表3-1所示。

表3-1 AD7506功能表

EN 1 1 … 1 0 A0,A1,A2,A3 0 0 0 0 0 0 0 1 … 1 1 1 1 × × × × 选通通道 0 1 … 15 禁止 选中开关 SA0 SA1 … SA15 无 输出 u0= ui0 u0= ui1 … u0= ui15 无输出 从AD7506功能表中可以看出,当CPU按顺序赋予不同的二进制地址,多路转换开关通过译码电路选通相应的地址时,就将相应路径接通,使输出电压u0等于相应路径的输入量uin。

3.4.2 A/D转换器的工作原理

RTU系统只能对数字量进行运算或逻辑判断,而电力系统中的电流和电压等信

号均为模拟信号。因此,必须用模/数转换器(ADC)将连续变化的模拟信号转换为数字信号,以便RTU系统进行处理,存储,控制和显示。

A/D变换器主要有以下几种类型:积分型、逐次逼近型、并行比较型,∑—△

型和流水线型等转换器。在选用A/D变换器时,主要应根据使用场合的具体要求,按照转换速度,精度,价格,功能以及接口条件等因素而决定选用哪种类型。本设计中采用逐次逼近型芯片ADC0809。

20

逐次逼近式A/D转换器是由逐次逼近寄存器,D/A转换器,比较器,和缓冲寄存器等组成。当启动信号由高电平变为低电平时,逐次逼近寄存器清0,这时,D/A转换器输出电压V0也为0,当启动信号变为高电平时,转换开始,同时,逐次逼近寄存器进行计数。

逐次逼近寄存器工作时与普通计数器不同,它不是从低位往高位逐一进行计数和进位,而是从最高位开始,通过设置试探值来进行计数。具体讲,在第一个时钟脉冲到来时,控制电路把最高位送到逐次逼近寄存器,使它的输出为1000000,这个输出数字一出现,D/A转化器的输出电压就成V0为满量程值128/255。这时,V0 > Vi则作为比较强的运算放大器的输出就成为低电平,控制电路据此清除逐次逼近寄存器中的最高位;V0转换结束以后,控制电路送出一个低电平作为结束信号,这个信号的下降沿将逐次逼近寄存器中的数字量送入缓冲寄存器,从而得到数字量输出。

3.4.3 A/D转换器主要技术参数

A/D转换器是把模拟量转换成数字量的线性电路器件,已做成集成芯片。由于实

现这种转换的原理和电路结构及工艺技术有所不同,因而出现各种各样的A/D转换器。目前,国外市场已有上百种产品出售,他们在转换速度。转换精度。分辨率以及使用价值上都各具特色。

衡量一个A/D转换器的性能的主要参数有: (1)分辨率

是指A/D转换器能够转换的二进制数的位数,位数多分辨率也就越高。

(2)转换时间

指模拟量输入到完成转换,输出达到最终值并稳定为止所需的时间。一般在几

ns到几百ns之间。逐次逼近型A/D转换器的转换时间为1至200μs。 (3)转换精度

指A/D转换器实际输出电压与理论值之间的误差,有绝对精度和相对精度两种表示法。

(4)量程

量程是指所能转换的电压范围。如5V或10V等,用户在使用时遥通过调理电路将输入信号调制到量程范围以内。

(5)工作温度范围

21

较好的A/D转换器的工作温度为-40到85°C,较差的为0到70°C。应根据具体应用要求去查器件手册,选择使用的型号。超过工作温度范围,将不能保证达到额定精度指标。

3.4.4 A/D转换器ADC0809

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近

式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。

(1)主要特性如下:

①8路输入通道。 ②具有转换起停控制端。

③转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)。 ④单个+5V电源供电。

⑤模拟输入电压范围0~+5V,不需零点和满刻度校准。 ⑥工作温度范围为-40~+85摄氏度。 ⑦低功耗,约15mW。 ⑧输出带锁存器。 ⑨逻辑电平与TTL兼容。

⑩8位A/D转换器,即分辨率为8位。

(2)外部特性(引脚功能)

ADC0809的引脚排列如图3.14所示,

U12627281234567910111216IN0IN1IN2IN3IN4IN5IN6IN7STARTEOCOUTPUT ENABLECLOCKVCCVREF(+)VREF(-)ADC0809ADD AADD BADD CALE2 -1MSB2 -22 -32 -42 -52 -62 -72 -8LSBGND2524232221201918815141713 图3.14 ADC0809引脚排列图

其主要功能如下:

22

IN0~IN7:8路模拟量输入端。 2-1~2-8:8位数字量输出端。

ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一

路。

ALE:地址锁存允许信号,输入,高电平有效。

START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其

启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平

(转换期间一直为低电平)。

OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入

一个高电平,才能打开输出三态门,输出数字量。

CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。 REF(+),REF(-):基准电压。 Vcc:电源,+5V。

+5VADC0809与AT89C51连接如图3.15所示。

U1IN0IN1IN2IN326272812345679CLK10111216IN0IN1IN2IN3IN4IN5IN6IN7STARTEOCOUTPUT ENABLECLOCKVCCVREF(+)VREF(-)ADC080974LS3274LS14ADD AADD BADD CALE2 -1MSB2 -22 -32 -42 -52 -62 -72 -8LSBGND2524232221201918815141713P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0R14.7K12WRU4:A33U3:B474LS14U5P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.73478131417181CLK11D0D1D2D3D4D5D6D7OELE74LS373Q0Q1Q2Q3Q4Q5Q6Q725691215161974LS32INT1CS-08091U3:A274LS146U4:B46RD55U3:CC91930pFU2XTAL1P0.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/RD393837363534333221222324252627281011121314151617P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7X1CRYSTAL18XTAL2C1030pF9RSTR111kC1122uF293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图3.15 ADC0809与AT89C51连接

3.5 人机接口单元设计

3.5.1 键盘

键盘是计算机应用系统的重要组成部分,对于一些人工干预的计算机控制系统来

23

说,键盘就成为人机联系的必要手段。因此,任何一个人工可干预的计算机开发或应用系统必须配置键盘输入设备。这样就可以随时将程序、数据、命令等输入到单片机中。 一般键盘接口有独立式按键和矩阵式按键。独立式键盘就是各按键相互独立,该方式的优点是电路配置灵活、软件结构简单,适用于按键较少或速度要求高的键盘。矩阵式键盘适用于按键数量较多的场合,它与独立式键盘相比要省很多的I/O口线。为了减速少I/O口的占用,本设计采用矩形式,采用3×3行列式键盘电路如图3.16所示。 P1.0P1.1P1.2P1.3P1.4P1.5R14k7R24k7R164k7+5V 图3.16 3×3行列式键盘 列线通过个电阻被上拉到Vcc,Vcc是+5V电压。行线与按键的一个管脚相连,列线与按的另一个管脚相连。平时列线被置成低电平,当没有按键被按下的时候,列线持高电平,而有按键被按下的时候,行线被拉成低电平,这时RTU控制器知道有按被按下,但只能判断出在哪一列,不能判断出在哪一行,因此接下来就要进行盘扫描,以确定具体是哪个按键被按下。键盘扫描的过程是将行线逐列置成低电平,然后读取列线状态,直到行线中出低电平,可知这时哪一行是低电平,然后将行线与列线的状态装入键码寄存器,行按键译码,得到按下的按键的相应编码,这样就完成了按键扫描过程。

3.5.2 指示灯

指示灯的显示直观、易引起注意等优点是其他显示器不可代替的,但指示灯也不宜过多,主要用于显示一些重要信息。本控制器设有5个指示灯,分别为电源指示、装置故障指示、装置闭锁指示、开关现地控制指示、开关自动控制指示。当控制器故障或闭锁时,指示灯配合蜂鸣器的声音可提醒运行人员注意,而开关现地控制、开关自动控制指示灯显示当前装置的控制状态,其中报警电路如图3.17所示。

24

VCC 5VRP1.010K 报警器 图3.17 报警电路 3.6 通信电路设计 RS-232是PC机与通信工业中应用最广泛的一种串行接口,许多设备都提供串行接口。在本设计中,串口一方面作为调试程序时的标准输入输出设备,另一方面,可以通过串口来与PC机进行通信。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,满足简单通信的需求。 要完成基本的通信功能,实际上只需RXD,TXD,GND即可。RS232标准接口有9芯或25芯的D型插头,本设计采用的是9芯的D型插头。本文MAX232的串口驱动芯片设计了3路三线制的UART串行口,波特率可高达1200bps~57600bps,有RS232电平转换功能。其中UART0和UART2可以和上位机连接,也可以接传感器。RS232接口电路如图3.18所示。 TXD11RXD12109MAX2321C1+T1INR1OUTT2INR2OUTR15100k1C14D111nFC12100nF3C1-T1OUTR1INT2OUTR2INVS+VS-C2+4C2-14137826+5VU1116273849P1DCDDSRRXDRTSTXDCTSDTRRIC15100nF C13100nF5C16100nFERRORRS232 图3.18 RS232接口电路

25 2D9D10MAX-232有2条线路与AT89C51单片机相连,分别为RXD(接收端口)、TXD(发送端口),其中RXD与单片机的端口10(RXD)相连,作为接收主站数

据的输入端;TXD与单片机的端口11(TXD)相连,作为向主站发送数据的输出端; MAX-3232芯片中另有3条线路与9针的串口相连,用作与外部的调制解调器接口。

通信过程的实现如下[21]: (1)数据采集过程

上位机PC和下位机RTU之间的通信采用Polling式异步完成查询以实现数据采集,PC为主,RTU为从。双方统一相同的通信字符格式,其中包括一个特殊的字符位——站号,用来区别收发不同的RTU的数据。RTU每次发一个命令,所有的RTU都中断响应,然后根据比较站号字符位的内容是否与自身站号相符来判断是否接收数据或发送数据。

为配合故障算法的实现,PC采用每间隔工频周期整数倍的时间(如100mS)对RTU发送一次数据采集命令,本系统采用的是间隔200mS。根据规定,电网允许的频率偏差为0.2Hz即0.4%,则100mS最大偏差为0.4mS,角度为7.2°,设一个RTU能管辖5个RTU,则数据采集过程循环一遍的相角差为5×7.2=36°,系统可以识别出18°~36°的相位差。

(2)控制操作过程

相间短路故障发生时,RTU自行判断电流超过阀值而对开关进行分闸操作,并等待PC来处理故障数据,PC取到故障数据即刻判断出来有故障,并举手传给终端调度中心。PC和终端调度中心分别判断故障点。然后将故障点两端的开关的RTU装置发分闸命令使得此2个开关保持分闸状态,对其他开关的RTU装置发合闸命令,这些RTU执行合闸操作。单相接地事故发生时,此时线路电流仍然为小电流,RTU不能判断存在故障,不能自主分闸,按电网运行规程规定系统允许短暂运行1h~2h。同时,RTU和终端调度中心取到数据后判断出故障所在点后,对故障点两端的开关的RTU装置发出分闸命令,这2个RTU执行分闸操作。

26

4变电站远方终端RTU软件系统设计

4.1软件系统设计思路

RTU复杂的算法是靠软件来实现的。同样的硬件加上不同的算法,就组成了不

同功能的系统,这给系统设计带来了很大的灵活性并缩短了系统开发周期。因此,软件设计在AT89C51系统的设计中是非常关键的。根据电力系统实际的需求,本RTU仍采用传统的程序设计,即采用顺序结构,程序运行中对中断进行响应。顺序结构软件由一个无限循环的主程序和若干个中断程序构成。为了提高实时性,要求中断得理程序尽量短,并采用设置标志位的方法。中断程序基本上只完成基本的工作,大部分工作由主程序完成。主程序循环查询各个标志位以确定是否发生过中断,是否需要做相应处理。

4.1.1 软件系统任务分类

本装置需要完成的任务有:模拟量的采集;电压,电流有效值的计算;通信数据的接收、发送和处理;开关量输入信号的采集;开关量输出信号的控制;通过串口对装置进行参数设置。

根据系统对任务的性质要求可以划分为内部任务和外部任务,根据各个任务的重要性和实时性,把用户程序可以分成6个不同优先级的任务,如表4.1任务优先级表所示。

表4.1 任务优先级表

任务号 1 2 3 4 5 任务功能 通信 开关监测 电参量计算 键盘处理 数据显示 实时要求 最高 很高 高 较高 一般 优先级 0 1 2 3 4 内部任务包括:开关量状态监测、计算电参数等。外部任务包括:开关控制、键盘处理、数据显示、通信等。

中断响应任务是由硬件中断申请,在中断服务程序中完成的任务包括INT0中断、串行口中断(RINT、XINT)、定时器中断(TINT)、异步发送接收中断TXEXINT等,这些任务全部为中断申请任务,也就是他们都是中断服务程序里完成,中断的优先级也就是这些任务的优先级。系统任务调度情况如图4.1所示。

27

中断服务程序异步串口中断A/D中断定时器中断多任务调度程序内部任务调度开关量监测电参量计算开关控制外部任务调度键盘处理数据显示通 信 图4.1 系统任务调度图

4.2 软件系统的程序流程图

软件系统以实时多任务调度系统为核心,对内部任务和外部任务调度和管理。整个系统的主程序流程图如图4.2所示。系统上电启动后,上电复位对整个硬件电路进行复位,先进行初始化和系统自检,然后就启动定时器定时,之后就进入任务调度程序,检查有没有任务被置位。

系统自检包括RAM自检、ROM自检和开关量输入输出自检。系统自检通过后,程序进入系统的初始化。系统初始化用以建立起应用软件所需的运行环境CPU初始化,即对I/O控制寄存器写入控制字,控制定时器的工作方式、选择复用引脚的功能、确定高速输入/输出口是否允许输入输出、写中断屏蔽寄存器并清除中断悬挂寄存器、开中断等。

开始系统初始化中断设置系统自诊、参数读取等待定时器中断,启动A/D转换进行采集处理液晶显示流、开关合分闸状态及其他参数采集是否完成是否有计算电流参数判断是否有无故障无读入开关电量和状态量以及其他参数合/分闸命令执行故障处理 图4.2 主程序流程图

如果有申请任务,则执行该任务;没有申请任务,返回任务调度程序重新检查。

28

当一个任务执行完毕后,也返回到调度程序检查有没有任务被置为就绪状态,有多个任务就绪时,执行优先级高的任务。在执行调度任务和申请任务的过程中,如果有中断,转去执行中断服务程序,执行完毕返回中断点执行被打断的程序。

系统子程序设计主要有A/D转换子程序,显示子程序,通信子程序 ,键盘扫描子程序等等。以下分别介绍了其中的主要模块。

4.2.1 A/D转换流程图

A/D转换流程图如图4.3所示。每进行一次A/D转换,则检测一次INT信号,

若INT出现低电平,则转换结束,否则继续进行转换,直到最后一个通道转换结束,系统自动给INT端一个低电平信号,表明转换工作结束,多路A/D转换的顺序是固定的,读取数据时也是顺序读取。

开始 初始化 启动A/D转换 完成A/D转换? 数据输出 延时 结束

图4.3 A/D转换流程图

4.2.1 数据处理模块

电力参数的准确、快速测量对于实现电网调度自动化,保证电网安全与经济运行具有十分重要的意义。RTU的测量范围内(0.1~1.4倍额定值)的基本参数一电压、电流的精度要求是0.5级,保护范围内(l.2~2.0倍额定值)的精度要求是3级。为

29

达到所要求的技术指标,除需要有硬件保障外,在算法设计上还需要进行认真分析和选择。

电网中非线性设备的使用日益增多,所产生的高次谐波电流大量注入电力线路中,使得电网电压、电流波形发生畸变,同时,电网频率并不是固定不变的,而是在

20Hz附近波动,传统的直流采样算法己不能满足测量要求,特别是直流采样算法具

有较大的时间常数,不能及时反映被测量的突变。目前,电力参数的测量普遍采用交流采样的方法。交流采样按照其函数模型,大致可分为正弦模型算法和非正弦模型算法。其中正弦模型算法有最大值、单点、两点采样和半周期积分等算法;非正弦模型算法有傅立叶级数算法(DFT)、快速傅立叶变换算法(FFT)和真有效值(均方根)算法等。如下为常用的交流采样算法。

(1)全周波傅立叶算法

设u(t)为周期函数,并且满足狄里赫利条件,则可展开级数

UaoNu(t)(uancosntubnsinnt) (4.1)

2n1式中,

uan2Tu(t)cosntdt (n=1,2,3…) (4.2) oT2Tubnu(t)sintdt (n=1,2,3…) (4.3)

T0N离散化得

2 uanN2 ubnNuk1Nk1kcosn2k (4.4) N2k (4.5) Nuksinn22基波电压幅值 Umua1ub1 (4.6)

这样可求出第K次谐波电压的振幅、相角、有效值,即

22ubk振幅 Umkuak (4.7)

相角 narctgubk (4.8) uak22Umk(uakubk)有效值 Uk (4.9) 22

30

基波功率

ua1ia1ub1ib1UmcosImcos()UmsinImsin()

22 =UmIm(coscossincos)UmImcos2P (4.10)

同理,

ub1ia1ua1ib12Q (4.11)

根据奈奎斯特采样定理,采样频率应是最高信号频率的2倍或2倍以上,所以在一个工频周期T内等间距采样N个点,且能不失真恢复原信号的最高奇次谐波为:当N=2m(m为自然数)时,最高奇次谐波K=2m-1。式(3.10)中的sin和cos值可根据P的不同取值将其固化在存储器中,采用查表法取代三角函数法进行计算以提高计算速度。

(2)有效值算法

设采集电压为u(t),电流为i(t),则有

U1T21T2 udtIidt (4.12) 00TT离散化后其有效值可表示为

1N Uu(K)2 (4.13)

NK1I1Ni(K)2 (4.14) NK1式中,N为每周期等间隔采样次数,u(k)为第K次采样值。

同理,

1TPuidt (4.15)

T0离散化

1N Pukik (4.16)

NK11N QukiT (4.17)

NK1(k4)

31

由采样定理知,这种算法可以计及N/2次谐波。

在本课题设计中,由于不需要各次谐波的精确信息,选用了精度高、运算量相对较小的真有效值算法作为测量算法;保护算法则选用运算速度最快的半周期积分法。

4.2.2 显示输出模块

本模块包括显示功能和输出功能两部分内容。就显示而言,主要是在数码管上进行信息的显示。显示子程子如4.4所示。

开始系统初始化A=80HA=SBUFTI=0?NYTI清零调用延时A移位

图4.4 显示子程序

更多的信息在软件显示模块的设计中采用了分页技术,将要显示的信息分为几页,用光标键在各页之间相互切换。在控制器运行中,数码管上第一页实时显示母线电压和无功功率的测量值,第二页显示变压器分接头档位和各个电容器组的状态,当发生异常情况时,显示报警信息或出错信息,第三页显示时间,软件版本号等。另外,也可接入打印机实现信息的打印输出,控制器可在开始进入运行状态时自动打印自检结果,在运行中当控制器发出相应动作或发生异常情况时,则打印时间发生时间和有关信息。在控制器的菜单中还可以选择相关的打印操作,可打印控制器的运行方式、参数设置、线路开关的动作情况等信息。

4.2.3 通信模块

在RTU的应用中,需要把采集的数据定期传送到中心站,这样才能及时有效的

32

完成数据监测,并且对各种情况进行处理,本设计中,RTU通过RS232与PC调度中心通信。初始化程序流程框图如图4.5所示。

开始系统初始化NRI=0?YRI清零SBUF=AA=PIA=SBUFNTI=0?YTI清零

图4.5 初始化程序流程框图

4.3提高RTU控制器可靠性的措施

在RTU控制器的设计中,保证控制器运行的可靠性是最重要的问题。控制器在户外环境中运行,极易受到各种干扰,为保证控制器可靠运行必须进地抗干扰设计。本章首先讨论干扰及干扰信号的来源,提高抗干扰措施;然后介绍装置的自检测技术,最后介绍提高RTU控制器的软件可靠性的措施[22]。

4.3.1 RTU的干扰源

变电站内高压电器设备的操作,低压交流,直流回路内电气设备的操作,雷电引起的浪涌电压,电气设备周围静电场,电磁波辐射和输电线路故障所产生的瞬间过程等都会产生电磁干扰。这些干扰进入变电站内的综合自动化系统或其他电子设备,就可能引起自动化系统工作不正常,甚至损坏某些部位或元器件。

33

4.3.2 硬件设计中的抗干扰措施

国内外的大量研究表明,影响微机保护和自动装置的干扰源主要是通过端子从外界引入的浪涌。抗干扰措施一般可以分为硬件措施和软件措施。对于使用单片机组成的自动监控装置来说,最重要的抗干扰措施是防止各种干扰进入微机弱电系统,这主要通过硬件设计来实现,合理的硬件设计可以做到抑制干扰,使其不会引起微机系统的工作出现错误。本文控制器在硬件设计中采用了以下抗干扰措施。

(1)开关量输入/输出电路的抗干扰措施

第三章中曾介绍过在开关量的输入/输出电路加光电隔离,使控制器的外界限端子与单片机弱电系统之间没有电的联系;在模拟量输入电路也可以采用隔离措施,表

4.2给出的是各种端子与微机弱电系统之间可能的隔离措施。这些都是非常有效的技

术措施。

如果不采取这些措施,在存在较大干扰情况下,CPU可能执行一系列非预期的指令,有可能其中的某一条非预期指令,正好是跳闸指令而引起误操作。特别是对于跳闸出口等重要开关量的输口回路,开关量的输出必须加光电隔离电路。光电隔离电路通过一个与非门控制,要在与非门的2个输入端都满足条件时才驱动光电器件。而在程序初始化时与非门的2个输入都被置成相反的状态,对于开关量信息应连续进行2次读取,比较2次结果是否一致,以获取正确的开关量信息,避免因为干扰导致读取的开关量状态出错。

表4.2 输入电路加抗干扰电容

端子种类 模拟量输入端子 开关量输入端子 开关量输出端子 电源端子 隔离措施 使用电量隔离传感器,一次与二次隔离 光电隔离 光电隔离,继电器线圈与触点间的隔离 脉冲变压器一次与二次之间的隔离 (2)电源技术

在各种浪涌干扰中,最常见的是雷电浪涌电流和开关浪涌电压。此类干扰的特性体现为单击性脉冲和迅速衰减的振荡波。单击性脉冲的能量大,且振荡持续时间长。浪涌信号最容易通过电源线和端子排进入系统内部,因此为了免受浪涌侵袭,提高

RTU电源供电的可靠性,采取在供电回路的输出端并接压敏电阻,并在电源输出端

添加TVS瞬态电压抑止器。同样在模拟信号调理的输入端也并接了TVS,进行过压保护,防止后续电路的损坏。

34

4.3.3 软件设计中的抗干扰措施

硬件设计中的抗干扰措施是第一道防线,如果干扰突破这第一道防线,这时软件设计中的抗干扰措施将发挥作用,保证控制器不发生误动和拒动。控制器在软件设计中采用了以下抗干扰措施。

(1)软件去抖动

在开关闭合或跳开的瞬间要经过多次抖动,干扰也可能使开关量输入接口的某一位电平发生瞬间的变化,如果控制器在检测开关量时不考虑这些问题,就会引起误动作。为避免误动作的发生,采用了软件去抖动的方法,如果检测到有开关变位,延时几毫秒后再去检测,如果结果和先前一致则说明开关变位,如果不一致再延时,再检测判断,直至得到稳定的开关量信息。

(2)利用输入量与计算结果的合理性增强抗干扰能力

当控制器输入量在合理范围内才发出动作指令;当输入母线电压过高或过低时控制器将闭锁;同样输入电流量过低时也闭锁控制器。例如,在模拟量采样和计算过程中,由于干扰的作用也可能发生错误,可在装置的软件设计中增加核对环节,即在计算结束后,将数据窗移动一个采样值然后再进行计算,结果应与第一次计算十分接近,如果差别较大则第三次进行计算,取差别不大的计算结果作为正确值。此方法可以排除数据采样和运算中由于干扰造成的错误。

(3)程序出格后的自恢复

当存在严重干扰时,CPU从EPROM中读取指令时出现错误,CPU可能将数据线上的数据当成指令,执行一条非预期的指令,从而使程序离开原来的轨道,这样会造成CPU停止工作或进入非预期的死循环。这种情况称为程序出格。当发生程序出格时,应尽量快地使其恢复正常。在控制器设计上可采用设置软件陷阱的方法,在

EPROM未用到的地址上都写入复位指令OFFH,一旦程序出格到这些地址上就会

使CPU复位,从而恢复正常工作。

(4)看门狗

看门狗,又叫WDT(watchdog timer),实际上是一个独立的定时器电路。在系统启动了看门狗后,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗定时器中计数寄存器,那么看门狗计数器就会溢出,从而引起看门狗中断,造成系统复位。所以,在使用看门狗时要注意及时清看门狗,即常说的“喂狗”。

35

5 RTU电压采集实验

RTU控制器系统的设计完成后,在实验室进行了电压等模拟量采集实验,焊制

了硬件电路。在实验搭建、软件调试后,电压采集实验能够稳定运行,并且各项技术指标也达到了设计的要求。图5.1为电压采集模块。

开始在使用单片机实验室+5V的开关电源模块作为电源的时候,信号受到开关电源的高频杂波的传导干扰影响较大,导致A/D采样器无法正确识别电压信号;在更换高品质的电源后,消除了干扰,达到了信号对硬件的要求。电压采集实验结果如图

5.2所示。

图5.1 电压采集模块

图5.2 电压采集实验图

36

总结

在变电站自动化系统中,RTU是SCADA系统的重要组成单元。随着信息技术和通信技术的发展,变电站自动化对RTU提出了越来越高的要求,本文经过全面的调查研究以后,设计出一种基于AT89C51单片机控制系统应用110kV变电站的

RTU。本设计的研究和设计成果主要体现在在以下几个方面:

(1)RTU的设计上严格遵循国家标准和相关行业标准功。能设计上完全满足以中华人民共和国电力行业标准中关于配电网自动化系统远方终端标准

DUT721—2000的要求,技术指标满足中华人民共和国电力行业标准中关于地区电

网调度自动化功能规范 DL/T550—94的要求。

(2)RTU系统采用AT89C51作为CPU,具有低功耗、高稳定性和实时性,满足当前电力系统的要求。

(3)RTU按照设计实现的功能分单片机最小系统模块、电压,电流测量模块、开关量输入输出模块、通信模块四个功能模块进行了芯片选型、原理图设计;RTU系统软件设计上使用结构化程序设计,将整个程序模块化。最后对系统的软硬件进行了调试。

本论文的研究及设计初步完成了利用单片机设计的变电站自动化远方终端基本实现了变电站自动化远方终端主控制器RTU的主要功能,由于时间关系,本次设计的RTU还有不完善的方面,还有几点不足需要改进。

(1)设计中在软件设计方面还有很多欠缺与不足,有待进一步深入研究,以便使RTU的性能更好,整个系统更合理。

(2)硬件电路部分虽然进行了大量的研究与设计,但仍需要对一些电路进行更好更合理的设计。

(3)接口部分为了操作方便,可以进行深入研究,如加入触摸屏。

37

参考文献:

[1]黄益庄.变电站综合自动化技术[M].中国电力出版社, 2004.

[2]G.Derekenaris, C.Makris. Integrating GIS, GPS and GSM Technologies for the Effective Management of Ambulances. Computers, Environment and Urban Systems, 2001,25. 102~11. [3]刘佩娟,陆天键.远方终端装置的现状和设计新产品的要求[J].电网技术, 1998,5:36-37. [4]杨兰,张艳平.电力系统自动化远方终端的研制[J].长沙理工大学学报, 2006.2. [5]柳永智,刘晓川.电力系统远动[M].中国电力出版社,2002.

[6]毕胜春.电力系统远动及调度自动化[M].中国电力出版社,2000.36-42. [7]张永健.电网监控与调度自动化(第二版)[M].中国电力出版社,2007.2:31-60. [8]中华人民共和国电力行业标准一地区电网调度自动化功能规范一DL/T550-94. [9]王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2003: 23-26. [10]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.

[11]De la Rosa R.,Carrillo J. Reelosing principle applieation on thelow voltage side of distribution transformers. Power Delivery. 1991,6(4):134-136.

[12]刘湘涛,江世明.单片机原理与应用[M],电子工业出版社,2006.7:32-45.

[13]李朝青编.单片机原理及接口技术(第三版),北京航天大学出版社,2005.45-60. [14]谢筑森.单片机开发与典型应用设计[M],北京:电子工业出版社,1997.67-70. [15]范立南,李雪飞.单片微型计算机控制系统设计[M].人民邮电出版社,2004.3.31-40. [16]刘湘涛.单片机原理及其应用[M].电子工业出版社,2005年第一版:158-160. [17]丁书文编著.变电站综合自动化原理及应用[M].中国电力出版社,2003.16-56. [18]李凌.馈线自动化技术方案研究[J].电力勘测设计,2003,4:57-61.

[19]GB/T13730-92[S]地区电网数据采集与监控系统通用技术条件.1992年. [20]王鲁进.基于嵌入式系统的变电站RTU研究设计[D].湖南:中南大学,2009. [21]王勇.嵌入式远程终端单元的研究与设计[D].山西:太原理工大学,2010. [22]龚强.变电站RTU运行稳定性问题探讨[J].电力自动化设备,第21卷第3期.

38

附录1 系统硬件原理图

39

附录2 元器件清单

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 名称 电参数模块 模数转换模块 采样保持模块 单片机模块 通信接口电路模块 通信接口电路模块 报警模块 显示模块 整流桥 稳压二极管 二极管 电阻 电容 开关 扩展模块 驱动模块 型号 LM-324 ADC0809 LF198 89C51 MAX-3232 RS232 DB SPEAKER 7SEG-MPX4 2W10G LM185 DIODE R C K 6264 74HC164 数量 2 1 2 1 1 1 1 1 1 1 9 若干 若干 若干 1 2 备注 构成同相比例放大电路,将电流和电压按一定比例放大 将模拟电气量转换为数字量 采样保持放大 数据处理、与PC之间远程通信等 进行电平转换 串口通信针脚 报警器 数码管显示 1kΩ, 10kΩ, 20kΩ 1nF, 0.01μF,0.1F

40

附录3 A/D转换源程序

#include

#define uchar unsigned char #define uint unsigned int #define Pindata P0 uint temp1;

//数码管引脚定义 sbit bai=P2^0; sbit shi=P2^1; sbit ge=P2^2; sbit P27=P2^7 ;

//0809引脚定义 sbit pinA=P2^3; sbit pinB=P2^4; sbit pinC=P2^5;

sbit pinSTART=P2^6;

//74hc373 sbit oe=P3^0;

//sa828引脚定义 sbit rst=P3^1; sbit cs=P3^2; sbit wr=P3^3; sbit setrip=P3^4; sbit ale=P3^5;

uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,

0x92,0x82,0xF8, 0x80,0x90};

void delay(uint z) {

uint x,y;

for(x=z;x>0;x--)

for(y=10;y>0;y--); }

41

//初始化寄存器 void write_in(uchar saddr,uchar sdata) {

oe=1;

cs=1; //初始化控制信号 ale=0; wr=1;

cs=0; ale=1;

Pindata=saddr; delay(1); ale=0; delay(1); wr=0; delay(2);

Pindata=sdata; delay(1); wr=1; delay(1); cs=1; oe=0; }

void initc() {

write_in(0xf8,0xd0); delay(1);

write_in(0xf9,0x81); delay(1);

write_in(0xfa,0x28); delay(1);

write_in(0xfc,0); }

void initc1( )

//控制寄存器 42

{

write_in(0xf8,0x36); delay(1);

write_in(0xf9,0x30); delay(1);

write_in(0xfa,0xcc); delay(1);

write_in(0xfb,0); delay(1); }

void desplay() {

uint a,b,c,count,temp; Pindata=0xff; oe=0;

temp1=Pindata; oe=1;

for(count=20;count>0; {

temp=temp1*1.91; a=temp/100; shi=1; ge=1; bai=0;

P1=table[a]; delay(80);

b=temp/10%10; ge=1; bai=1; shi=0;

P1=table[b]; delay(80);

43

//显示子程序count--)

c=temp%10; bai=1; shi=1; ge=0;

P1=table[c]; delay(80); } }

void StartADC() {

oe=0; pinA=0; pinB=0; pinC=0;

pinSTART=0; delay(1);

pinSTART=1; delay(1);

pinSTART=0; delay(1); Pindata=P0; }

void main() {

uchar sdata1,sdata2, uint TEMP; bai=1; shi=1; ge=1; rst=0;

initc( );

//启动ADC程序sdata3,Pindata_sav=0;44

initc1( ); rst=1;

while(1) {

StartADC(); desplay(); delay(100);

if(temp1!=Pindata_sav) {

Pindata_sav=temp1; TEMP=Pindata_sav*16; sdata1=TEMP%255;

sdata2=((TEMP/255)&0x0f)|0x30; sdata3=0xcc;

write_in(0xf8,sdata1); delay(1);

write_in(0xf9,sdata2); delay(1);

write_in(0xfa,sdata3); delay(1);

write_in(0xfb,0); } } }

45

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