[工学]MCS51单片机在三相交流电量参数测量中的应用----软件.doc

上传人:音乐台 文档编号:1976653 上传时间:2019-01-27 格式:DOC 页数:47 大小:494.50KB
返回 下载 相关 举报
[工学]MCS51单片机在三相交流电量参数测量中的应用----软件.doc_第1页
第1页 / 共47页
[工学]MCS51单片机在三相交流电量参数测量中的应用----软件.doc_第2页
第2页 / 共47页
[工学]MCS51单片机在三相交流电量参数测量中的应用----软件.doc_第3页
第3页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[工学]MCS51单片机在三相交流电量参数测量中的应用----软件.doc》由会员分享,可在线阅读,更多相关《[工学]MCS51单片机在三相交流电量参数测量中的应用----软件.doc(47页珍藏版)》请在三一文库上搜索。

1、摘 要MCS51单片机在三相交流电量参数测量中的应用-软件摘 要随着电力系统的快速发展,电网容量不断增大,结构日趋复杂,电力系统中实时监控、调度的自动化显得尤为重要,而电力参数的数据采集又是实现自动化的重要环节,如何快速准确地采集系统中各元件的电参数(电压、电流、功率、频率等)是实现电力系统自动化的一个重要因素。基于此,此次设计采用单片机AT89C51实现电力监控系统的交流采样,即系统采集的是交流电压和电流,不需变送器进行交直流转换。模数转换器AD574A对三相交流电压和电流分时进行模数转换,把得到的数字量送单片机进行数据处理,然后通过LED数码管显示电压和电流,频率,功率,功率因数等的实时值

2、。文中论述了该系统实现电参数测量的工作原理,着重介绍了该系统的实现过程,在此基础上,详细介绍了整个系统的软件开发过程。关键词:电力系统;交流采样;单片机;电参数测量43AbstractThe application of MCS51 single-chip microcomputer in the measurement of three-phase AC power parametersSoftwareAbstractWith the rapid development of electric power system, network capacity is increasing, and

3、 the growing complexity of the structure, electric power system real-time monitoring and Scheduling Automation is particularly important. The data acquisition of the electric parameters is also an important part of automation. How quickly and accurately acquisition the electrical parameters (voltage

4、, current, power, frequency, etc.) of system components is an important factor to achieve power system automation. Based on this,the paper adopts AT89C51 SCM to achieve AC sampling of electric parameters. That the acquisition system is AC voltage and current, transmitter without AC-DC conversion。The

5、 A/D converter AD574A makes three-phase AC voltage and current be transformed to digital quantity from analog quantity at different times . The SCM finishes data processing .Meanwhile, the real-time value of voltage and current , frequency, Power , Power factor are displayed through LED display. In

6、the article elaborated this system to realize the electrical parameter survey principle of work, introduced emphatically this system realized the process, based on this, introduced overall systems software compilation process and various subroutines realization in detail.Key words: Electric Power Sy

7、stem;AC sampling;Single-Chip Microcontroller, Digital Electrical Parameter Comprehensive Meter西安工业大学学士学位论文目录目 录摘 要(I)Abstract(II)1 绪论(1) 1.1论文的选题背景(1) 1.2论文的研究意义(1) 1.3交流电量采集的现状及发展(1) 1.4课题的主要内容(2)2 系统总体设计原理(3) 2.1交流采样法(3) 2.2 交流采样原理及相关算法(4) 2.3 系统的工作过程(5)3 基础知识(6) 3.1单八路模拟开关CD4051(6) 3.2 AD574A的性能特

8、点(7) 3.3定时器/计数器(8) 3.4中断系统(10)4 系统软件设计(13) 4.1系统软件的编译环境(13) 4.2系统软件总流程图(14) 4.3部分功能程序的实现(16)西安工业大学学士学位论文 4.3.1数据采集子程序流程图(16) 4.3.2 数据处理程序流程图(17) 4.3.3 LED显示(23)5 系统组装调试(25)6 结论(26)致 谢(27)参考文献(28)1 绪论附录:源程序1 绪论1 绪论1.1论文的选题背景现代社会电能是一种使用最为广泛的能源,其应用程度是一个国家发展水平的主要标志之一。随着科学技术和国民经济的发展,对电的需求量日益增加,同时对电网运行的稳定

9、性要求也越来越高,对电网的实时监控就显得非常重要。随着我国电力行业的迅猛发展,电网供电品质越来越受到电力部门以及用户的关注。 在电力监控系统中,为了维护电网运行的稳定和安全,保证用户用电的可靠性,需要电网中各种电参量维持稳定值不变。这就需要实时的采集各种电参量,用来监控以保证电网的稳定。 1.2论文的研究意义在微机技术发展初期,电力监控系统普遍采用经过变送器的直流采样方法,即经过变送器整流后的直流量。这种方法软件设计简单,对采样值只需作一次比例变换即可得到被测量的数值,因而采样周期短。由于以上特点,该方法在微机应用初期得到了广泛的应用。但经过变送器的直流采样方法存在一些问题,如测量精度直接受变

10、送器的精度和稳定性的影响,设备复杂,监控系统造价高等。随着科技的发展,仪器仪表的发展更新越来越进步。作为工业自动化技术工具的自动化仪表与控制装置,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。微机技术的发展,使微机系统主频提高,指令功能变强,模数转化芯片技术的提高,成本的降低,使得交流采样的运用成为可能。 由于交流采样去掉变送器,按一定的规律对被测量的瞬时值进行采样,用一定的算法求得被测量,即用软件的功能代替硬件的功能,从而降低了系统造价。所以,研究运用交流采样技术实现电量的数据采集具有很大的意义。1.3交流电量采集的现状及发展在微型机应用初期,电力系统的参数普遍采用直流采样技

11、术。直流采样,即通过变送器采样经过整流后的直流量,此方法软件设计简单,计算简便,对采样值只需作一次比例变换即可得到被测量的数值。但直流采样方法存在一些西安工业大学学士学位论文问题,比如:测量精度直接受整流电路的精度和稳定性的影响;整流电路调整困难,而且受波形因素的影响较大等。此方法计算容易,计算量小,准确度较高(取决于变送器的精度)。但因变送器多,造价较高,占用体积也较大,也无法实现实时信号采集。随着技术的发展,现阶段用于电量测量仪表中的越来越多的采用交流采样算法。交流采样技术是将被测电流、电压直接送入数据采集装置,在装置中经弱电用精密电流、电压互感器( SA/O.OSA, 100V/SV)变

12、成小电压(或小电流)在标准电阻上的压降,通过A/D转换和CPU计算得到电流、电压的有效值、有功功率、无功功率、有功电度和无功电度等值。此方法可省去各种变送器和电度表,造价较低,准确度也很好,具有较好的实时性。交流采样技术将以往用硬件来实现的电参量计算用软件来实现。采用交流采样技术的好处有:(1)可以减少变送器等硬件设备的投入,省去了直流采样必须的交直流转换硬件单元,提高了计算速度;(2)可以充分的利用一些计算机算法本身具有的滤波功能,省略实际的滤波电路,而且计算机算法本身又具有计算精度高的优点。基于交流采样技术的优点以及微机技术的发展,电力监控系统越来越多的采用交流采样技术进行电参量的测量。电

13、力系统交流电量采集是指把电力系统的交流电压及电流等经过变换、滤波、S/H 及 A/D 转换后得到对应该交流电量的离散化数据序列,并存放到存储器中的过程。交流电量的同步采集是指在电力系统的不同采样点同时开始采样,使不同采样点的采样结果在时间上具有同步性。电力系统随着自身的发展变得越来越复杂,电力系统的各种监测与保护装置都要用到交流电量采集这个环节,并且在诸多场合都要求交流电量的同步采集,这对电力系统继电保护、故障判断和系统稳定的分析与控制等都具有重要意义。1.4课题的主要内容本课题研究的主要内容是MCS-51单片机在交流电量参数测量中的应用,在该课题中采用MCS-51单片机实现电力参数的交流采样

14、。通过LED显示器显示频率、功率、功率因数、三相电压和电流的实时值。在系统的软件设计中,采用模块化设计方法使得程序结构清晰,便于今后进一步扩展系统的功能。系统软件有以下模块构成:主程序、时钟中断服务程序、键盘查询服务程序、数据采集处理子程序、显示程序等。另外,我们还应考虑到电网存在谐波,还会有各种瞬时干扰,而采用硬件滤波存在硬件电路复杂等诸多弊端,因此在此系统中求取电力参数实行数字滤波方法祛除干扰,此外,系统中还应采用指令冗余等抗干扰措施,以使系统具有良好的抗干扰性能。2 系统总体设计原理2 系统总体设计原理2.1交流采样法随着电力系统的快速发展,电网容量不断增大,结构日趋复杂,电力系统中实时

15、监控、调度的自动化就显得十分重要,电量的数据采集是实现自动化的重要环节,尤其是如何准确、快速的采集系统中各元件的模拟量(电压、电流、功率等),是电力系统自动化的一个重要因素。根据采样信号的不同,可以分为直流采样和交流采样两大类。所谓直流采样是把交流电压、电流信号转化为 05V 的直流电压,这种方法的主要优点是算法简单,便于滤波,但是由于其投资较大,维护复杂,无法对信号进行实时采集,因而在电力系统中的应用受到了限制。交流采样是把交流量转化为 5V(或 05V)的交流电压进行采集,交流采样实时性好、相位失真小、便于维护,随着计算机和集成电路技术的发展,交流采样原有的困难如算法复杂、提高精度难、对

16、A/D 的速度要求高等已逐步得到克服。交流采样法具有响应速度快、投资省、工作可靠和维护简单等优点,但交流采样所得到的是信号的瞬时值,是随时间而变化的交变量,人们无法直接识别其大小和传送方向(指功率),这就需要通过一定的算法把信号的有关特征电量计算出来。交流采样方法主要有同步采样、准同步采样和异步采样。同步采样的具体作法是将信号的一个整周期(或多个周期)进行均匀离散,在每一离散点处取其瞬时值。如被测信号频率有偏移,常利用锁相环电路或过零检测环节以保证采样同步。同步采样对采样速率 N 及采样周期的选择既要满足采样定理的要求,又要满足实时处理的要求。同步采样中由于 N 次均匀采样间隔 h 之和很难与

17、一个周期 T 或 m 个周期 mT严格相等,它们之间的差异 dhNmT,称作同步误差。在实际测量中,很小的同步误差也会产生较大的测量误差。为了减小同步误差对采样的限制,准同步采样的方法便应运而生。准同步采样是在多个周期内均匀采样,然后根据特定的数值求积公式进行递推运算,它是以较多的数据及较长的运算时间作为代价来减小同步误差对测量的影响,而且在采样期间要求信号波形必须稳定。同步、准同步采样适用于已知信号在某种频率范围内变动的情况,若要对频率范围很宽的信号采样,则宜采用异步采样的方法。异步采样采取等间隔采样方式,在较多周期上利用高采样率获取大量数据,对其求平均值,这样即使存在同步误差,其影响也将大

18、为缩小。西安工业大学学士学位论文2.2 交流采样原理及相关算法工频参数的计算要用到电压、电流的有效值,功率等参数,而测量系统的 CPU 从A/D 转换器读取的数据是电压、电流的瞬时值,因此应根据电压、电流的瞬时值,计算出电压、电流的有效值、功率等参数。将电压有效值公式(2.1) 式(2.1) 离散化,以一个周期内有限个采样电压数字量来代替一个周期内连续变化的电压函数值,则 式(2.2) 式(2.2)中:为相邻两次采样的时间间隔;为第m-1个时间间隔的电压采样瞬时值;N为1个周期的采样点数。若相邻两采样的时间间隔相等,即为常数 ,考虑到N=(T/)+1,则有 式(2.3)式(2.3)就是根据一个

19、周期各采样瞬时值及每周期采样点数计算电压信号有效值的公式。同理,电流有效值计算公式如下: 式(2.4) 计算一相有功功率的公式 式(2.5)离散化后为 式(2.6)式(2.6)中: 、为同一时刻的电流、电压采样值。功率因数可由下式求 式(2.7)但在实际的测量中,上式的算法很难实现,所以本文拟采用一种与接线无关的三相功率因数检测方法。具体内容会在第4章中详细讲叙。对于频率的测量,是将交流信号经OP07电压比较器变成方波后送到89C51的P3.2脚(外中断0),由89C51计数器0在方波的一个周期内计数,然后乘以系统内部时钟就得到方波周期T,所以频率就为1/T。2.3 系统的工作过程系统交流采样

20、某一工频电力参数的过程如下:(1)通过电压互感器 PT 和电流互感器 CT 获得输配电线路上的电压、电流交流信号;(2)对电压、电流交流信号进行选择、采样/保持;(3)进行 A/D 转换;(4)单片机对 A/D 转换信号进行数据处理,即采样数据处理,标度变换以及输出等操作;(5)LED显示器来实现系统功能西安工业大学学士学位论文3 基础知识3 基础知识3.1单八路模拟开关CD4051模拟多路开关是一种重要的器件,在多路被测信号共用一路 A/D转换器的数据采集系统中,通常用来将多路被测信号分别传送到 A/D 转换器进行转换,以便计算机能对多路被测信号进行处理。 模拟开关是一种三稳态电路,它可以根

21、据选通端的电平,决定输入端与输出端的状态。当选通端处在选通状态时,输出端的状态取决于输入端的状态;当选通端处于截止状态时,则不管输入端电平如何,输出端都呈高阻状态。模拟开关在电子设备中主要起接通信号或断开信号的作用。由于模拟开关具有功耗低、速度快、无机械触点、体积小和使用寿命长等特点,因而,在自动控制系统和计算机中得到了广泛应用。本次设计的系统中用到的是CD4051,具体内容如下:单八路模拟开关CD4051CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。其真值表见表3.1。“INH”是禁止端,当“INH”=1时,各通道均不接通。此外,CD4051还设有另外

22、一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达15V的交流信号。例如,若模拟开关的供电电源VDD=5V,VSS=0V,当VEE=5V时,只要对此模拟开关施加05V的数字控制信号,就可控制幅度范围为5V5V的模拟信号。表3.1 4051真值表输入状态接通通道INHCBA0000“0”0001“1”0010“2”0011“3”0100“4”0101“5”0110“6”0111“7”1均不接通西安工业大学学士学位论文3.2 AD574A的性能特点将模拟量转换成数字量的过程称为模数转换,即

23、A/D转换,A/D转换是数据采集系统的重要环节。 常见的A/D转换器有四种类型:计数式A/D转换器;逐次逼近型A/D转换器,双积分型A/D转换器和并行A/D转换器。A/D转换器的品种繁多,性能各异,但从使用的角度看,各类A/D转换器的外特性都包括:模拟信号输入端;数字信号并行输出端;启动转换的外部控制信号;转换完毕转换器发出的转换结束信号等。在将这些信号与CPU接口时要涉及到A/D转换器的输出方式和对启动信号的要求。在数据采集系统中以逐次逼近式A/D转换器在与微型计算机接口时用得最广、最普遍,因此,本系统使用的即是这种A/D转换器,下面介绍其工作原理。AD574A的性能特点AD574A是AD公

24、司出品的12位逐次逼近型模数转换器,本系统采用它来实现将采集到的模拟电压和电流转换成数字量。其主要特性如下: 具有内部参考电压源和内部时钟,输出带有三态输出缓冲器,因此使用方便,也便于和微机直接接口。 转换时间为25s,属于中档速度。 输入模拟信号范围可为010V和020V,05V和010V两档四种。 数模转换可以为12位,也可以为8位,故可适用于不同场合。输入控制信号有: : 片选端,低电平有效。 CE: 片使能端,高电平有效。必须和/CS同时有效时,AD574A才工作,否则处于禁止状态。 R/C: 读出和转换控制。当R/C=0时,启动模数转换过程;当R/C=1时,读出模数转换的结果。 A0

25、和12/8:这两个控制信号用来决定是进行12位转换还是进行8位转换。 STS:工作状态指示信号端。当STS=1时,表示转换器正处于转换状态;当STS=0时,AD转换结束。通过此信号可以判别AD转换器的工作状态,作为单片机的中断或查询信号之用。各控制信号的组合功能如表3.2所示:表3.2 AD574A逻辑控制真值表CER/C12/8A0工作状态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换101接+5VX12位并行输出有效101接0V0高8位并行输出有效101接0V1低4位并行输出有效3.3定时器/计数器 由于在本课题的设计中会用到单片机的定时/计数功能,所以在这里将

26、定时器/计数器的特点详细介绍。定时和计数是计算机控制系统中两个重要的功能,在实际系统中应用极为普遍,89C51单片机内部有两个16位可编程定时/计数器,即定时器T0和定时器T1。89C51单片机内部还有两个专用寄存器TMOD、TCON,可通过编程来设定有关参数,如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。(一)TMOD和TCNO寄存器89C51单片机内部设置的两个16位可编程的定时器/计数器T0和T1,它们可以处于计数方式或定时方式。可通过设置特殊功能寄存器TMOD中都有一个控制位来选择T0或T1位定时器还是计数器。其状态字均在响应的特殊功能寄存器中,通过对控制寄存器的编程

27、,用户可以方便地选择适当的4中工作模式中的一种。89C51单片机定时器/计数器的结构如图3.1所示。 图3.1 89C51单片机定时器/计数器的结构图 其中,特殊功能寄存器TMOD用于控制和确定个定时器/计数器的功能和工作模式;特殊功能寄存器TCON用于控制定时器/计数器T0、T1的启动和停止计数,同时包含定时器/计数器的状态。它们的内容靠软件设置。系统复位时,寄存器的所有位都被清零。1. 工作方式控制寄存器TMODTMOD用于设定定时器/计数器的工作方式及四种工作模式中的一种,其各位的定义如图3.2所示。 图3.2 TMOD寄存器个为定义TMOD地址为89H,高4位位定时器T1的方式控制字段

28、,低4位位定时器T0的方式控制字段。(1)门控位GATE:当GATE=0时,定时器/计数器只有软件控制位TR0或TR1来控制启停。TRi位为1,定时器启动开始工作;位0时,定时器调整工作。当GATE=1时,定时器/计数器的启动要由外部中断引脚和TRi为共同控制。只有当中断引脚和为高时,TR0或TR1置1才能启动定时器工作。(2)C/: C/=0为定时器方式,采用晶振脉冲的12分频信号作为计数器的计数脉冲,即对机器周期进行计数。若选择12MHz晶振,则定时器的计数脉冲为1MHz。从定时器的计数值便可求得技术时间,故称为定时器方式。 C/=1为计数器方式,采用外部引脚(T0为P3.4,T1为P3.

29、5)的输入脉冲作为计数脉冲。当T0(或T1)输入发生高到低的负跳变时,计数器加1,最高计数频率为晶振频率的1/14。M1 M0:定时器的工作方式由M1M0二位的状态确定,对应关系如下所示。M1 M0 工作方式 功能描述0 0 方式0 13位的计数器,TLi只用低5位0 1 方式1 16位的计数器1 0 方式2 8位的自动重装计数初值的计数器1 1 方式3 T0分成2个独立的8位计数器 2. 定时器/计数器控制寄存器TCON 控制寄存器TCON的主要功能是用于定时器的启动、停止以及在溢出时设定标志位和外部中断触发方式。它的字节地址位88H,位地址位88H8FH。其控制字各位的定义如图3.3所示。

30、图3.3 TCON寄存器个位定义 低4位与外部中断有关,高4位的功能如下:(1) TF1位T1的溢出标志位 当定时器T1溢出时,由硬件将TF1置1,并申请中断。当进入中断服务程序时,硬件又自动将TF1清零(也可以用软件清零)。(2) TR1位定时器T1的运行控制位 该位由软件置位和复位。当GATE(TMOD.7)为0时,TR1为1时允许T1计数,TR1为0时禁止T1计数;当GATE为1时,TR1为1时而且输入高电平时,才允许T1计数,TR1为0或输入为低电平时禁止T1计数。(3) TF0为定时器T0的溢出标志位 当定时器T0溢出时,由硬件将TF0置1,并申请中断。当进入中断服务程序时,硬件又自

31、动将TF0清零(也可以用软件清零)。(4) TR0为定时器T0的运行控制位 该位由软件置位和复位。当GATE(TMOD.3)为0时,TR0为1时允许T0计数TR0为0时禁止T0计数;当GATE为1时,TR0为1而且输入高电平时,才允许T0计数,TR0为0或输入为低电平时,禁止T0计数。(二)定时器/计数器的初始化 定时器的功能是由软件来设置的,所以一般在使用定时器/计数器前均要对其进行初始化。 初始化的步骤1) 确定工作模式(是计数还是定时)、工作方式、启动控制方式,将其写入TMOD寄存器。2) 设置定时或计数器的初值:可直接将初值写入TH0、TL0或TH1、TL1中。16位计数初值必须分两次

32、写入对应的计数器。3) 根据要求是否采用中断方式:直接对IE为赋值。开放中断时,对应位置位;采用程序查询方式IE位应清0进行中断屏蔽。4) 启动定时器工作:可使用SETB TRi启动。若第一步设置为软启动,即GATE设置为0时,以上指令执行后,定时器即可开始工作。若GATE设置为1时,还必须由外部中断引脚(其中i为0或1)共同控制,只有当引脚电平为高时,以上指令执行后定时器方可启动工作。定时器一旦启动就按规定的方式定时或计数。3.4中断系统(一) 中断系统概述当CPU正在处理某事件时外界发生了更为紧急的请求,要求CPU暂停当前的工作,转而去处理这个紧急事件。处理完成后,再回到原来被中断的地方继

33、续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,请示CPU中断的请求源称为中断源。中断系统是使处理机对外界异步事件具有处理能力而设置的。功能越强的中断系统,其对外界异步事件的处理能力越强。89C51单片机有5个中断源,当中断源同时向CPU请求中断时,就存在CPU优先响应哪个中断源的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别,CPU总是最先响应级别最高的中断。它可分为两个中断优先级,即高级优先级和低级优先级;可实现两级中断嵌套。用户可以用关中断指令(或复位)来屏蔽所有的中断请求,也可以用开中断指令使CPU接受中断申请。即

34、每一个中断源的优先级都可以由程序来设定。(二) 中断源在89C51单片机中,有5个中断源:两个外部(P3.2)和(P3.3)输入的中断源、两个定时器T0和T1的溢出中断和一个串行发送/接收中断。1) 外部中断源:和89C51外部中断0和外部中断1的中断请求信号分别有P3.2和P3.3引脚输入。并允许外部中断源以低电平活负边沿两种中断取法方式来输入中断请求信号。请求信号的有效电平可由定时器控制寄存器TCON的IT0和IT1设置,如图3.4所示。图3.4 定时器控制寄存器TCON各位的定义89C51会在每个机器周期的S5P2时对和线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若8

35、9C51设定为电平触发方式(即IT0=0或IT1=0),则CPU检测到/上低电平时就可认定其上中断请求有效;若设定为边沿触发方式(即IT0=1或IT1=1时),则CPU会在相继的两个周期内两次检测/线上电平才能确定其上的中断请求是否有效,即前一次检测为高电平和后一次检测到为低电平时/上中断请求才有效。 由于外部中断信号每个机器周期被采样一次,有引脚和输入的信号应至少保持一个机器周期,即12个振荡周期。如果外部为边沿触发方式,则引脚出输入的信号的搞电平个低电平至少各保持一个周期,才能确保CPU检测到电平的调变;而如果采用电平触发方式,外部中断源应一直保持中断请求有效,直到得到响应为止。(三)中断

36、控制 CPU对中断源的开放和屏蔽,以及每个中断源是否被允许中断,都受中断允许寄存器IE控制。每个中断源优先级的设定,则由中断优先级寄存器IP控制。寄存器状态可通过程序由软件设定。 中断的开放和屏蔽 89C51没有专门的开中断和关中断指令,中断的开放和关闭是通过中断允许寄存器IE进行两级控制的。所谓两级控制是指有一个中断允许总控制位EA,配合各中断源的中断允许控制位共同实现对中断请求的控制。这些中断允许控制位集成在中断允许寄存器IE中,如图3.5所示为中断允许寄存器各位的定义。图3.5 中断允许寄存器IE现对IE各位的说明如下:EA(IE.7) 为CPU中断走允许位,EA=0,CPU关中断,禁止

37、一切中断。EA=1,CPU开放中断,而每个中断源是否开放还是屏蔽分别由各自的允许位确定。(IE.6) 保留位。ET2(IE.5) 为定时器2中断允许位,仅用于52子系列单片机中,ET2=1允许定时器2中断,否则禁止中断。ES(IE.4) 为串行口中断允许位。ES=1,允许串行口的接收和发送中断;ES=0禁止串行口中断。ET1(IE.3) 为定时器1(T1溢出中断)中断允许位。ET1=1,允许T1中断,否则禁止中断。EX1(IE.2) 为外部中断1()的中断允许位。EX1=1允许外部中断1中断;否则禁止中断。ET0(IE.1) 为定时器0(T0溢出中断)的中断允许位。ET0=1允许T0中断,否则

38、禁止中断。EX0(IE.0) 为外部中断0()的中断允许位。EX0=1允许外部中断0中断,否则禁止中断。中断允许寄存器IE的单元地址是A8H,个控制位(位地址为A8HAFH)也可位寻址,可以进行字节寻址也可位寻址。所以既可以用字节传送指令又可以用位操作指令来对各个中断请求加以控制。4 系统软件设计 4 系统软件设计4.1系统软件的编译环境本论文采用Keil51作为单片机的程序编译环境,它的环境界面如图4.1所示。与其它编译环境相仿,具有打开文件、加载文件、编译文件的功能,同时,Keil51还具有对程序的仿真功能,可以指定P0口、P1口、P2口、P3口的地址以及功能端口,可以对程序指定中断地址以

39、及T0、T1定时中断等 图4.1 编译程序环境Keil51的基本操作: (1) 打开新建文件(File),直接编写新的汇编程序并保存。保存文件以(.ASM)为后缀;(2) 点击工程(Project)菜单栏中的新建工程文件(New Project), 在对话框中写入刚才保存的文件名,最后点“保存”,这样就新建了一个工程文件;(3) 选择所需公司及芯片型号,本论文设计中用到的是AT89C51芯片。首先在选择芯片菜单栏中点击Atmel,再在子菜单中选择AT89C51芯片型号。如图4.2所示西安工业大学学士学位论文 图 4.2 选择芯片型号(4) 在新的编译环境中,添加已经保存的文件。右击“Souce

40、 Group”选择“Add File ToSouce Group”,然后选择文件,点击添加即可。 (5) 编好程序后,对所编程序进行编译,待编译提出无错误时进行下一步操作。(6) 从(1)到(5)部分结束后,可以创建16进制文件提供烧录。(7) 对程序仿真点击“debug”即可,“debug”中可以观察反汇编程序。此外,点击“debug”中的“step”,再打开相关寄存器和端口显示单步运行结果。4.2系统软件总流程图在系统的软件设计中,采用模块化设计方法,使得程序结构清晰,便于今后进一步扩展系统的功能。系统软件有以下模块构成:主程序、时钟中断服务程序、数据采集处理子程序、显示程序等。主程序主要

41、完成系统初始化,装置自检等任务。系统的初始化部分包括CPU各端口输入输出设置、外围驱动、译码电路的初始化、数据RAM的初始化等。 系统的数据采集处理子程序的功能是采集各相电压值、电流值。在定时中断服务程序中主要进行频率测量。另外,我们还应考虑到电网存在谐波,还会有各种瞬时干扰,而采用硬件滤波存在硬件电路复杂等诸多弊端,因此在此系统中求取电力参数实行数字滤波方法祛除干扰,此外,系统中还应采用指令冗余等抗干扰措施,以使系统具有良好的抗干扰性能。 系统的总流程图如下图4.3所示系统初始化关中断数据组计数器加1A/D转换结束?程序开始读数据N启动下一通道采样达16点?N三相测量结束?YN开中断触发中断

42、U,I,P,F,Cos数据处理显示YY图4.3 系统软件流程图4.3部分功能程序的实现4.3.1数据采集子程序流程图设计原理:根据离散化公式可知,由一个周期内不同时刻的电压、电流的采样值及每周期采样点数可计算出电压、电流、有功功率等值。工频交流电标准频率为50Hz,周期为20ms。根据89C51的12MHz主频和AD574的25s的转换速度,采样周期定为400s,即一个周期内采16个点。在1个信号周期内对一相电压、电流等时间间隔准确采样16个点并把结果存入片外数据存储器相应的存储页内 。数据采集流程图如下图4.4。初始化选三相中的一相进入4051N选通当前电压信号采样达16点?A/D转换Y结束

43、存储数据切换到电流信号A/D转换存储数据图4.4 数据采集流程图4.3.2 数据处理程序流程图一 电压处理模块。 将电压有效值公式(4.1) 式(4.1) 离散化,以一个周期内有限个采样电压数字量来代替一个周期内连续变化的电压函数值,则 式(4.2) 式(4.2)中:为相邻两次采样的时间间隔;为第m-1个时间间隔的电压采样瞬时值;N为1个周期的采样点数。若相邻两采样的时间间隔相等,即为常数 ,考虑到N=(T/)+1,则有 式(4.3)式(4.3)就是根据一个周期各采样瞬时值及每周期采样点数计算电压信号有效值的公式。根据式(4.3),我们画出电压处理程序的流程图如图4.5:开始sum1=sum1

44、/16赋初值sum1=0,counter=0U=求和sum=sum1+U(n)*U(n)返回计数增量count=count+1Ncount=15 ?Y图4.5 电压处理流程图西安工业大学学士学位论文二 电流处理模块。同电压计算方法一样,我们可以得到电流有效值的公式(4.4) 式(4.4) 我们画出电流处理流程图如图4.6: 开始赋初值sum2=0,counter=0求和sum2=sum2+U(n)*U(n)计数增量counter=counter+1Counter=15?sum2=sum2/16U=返回NY图4.6 电流处理流程图三 频率测量模块对于频率的测量,本设计拟采用中断方式。中断服务子程序启动计数器中断结束停止计数器计数读计数器的计数值计数器清零求工频频率下面画出频率测量的流程图,如图4.7图4.7 频率测量流程图对频率的测量是

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1