版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要随着现代工业的迅速发展以及人民生活水平的不断提高,对电能的需求越来越大,这对电量的计量与管理提出了新的要求:实施分时电价,实现自动抄表和收费等。为了能够满足上述要求,数字电能表应运而生。 本文从硬件和软件两个方面分别对数字电度表系统设计进行了较为全面的阐述。硬件方面,以电能计量专用芯片sm9903和at89c52微处理器芯片为核心,阐述了电能计量、控制部分、显示电路、电量信息传输、用电数据存储器扩展等五大模块的电路设计。软件方面,给出了主要子程序的设计流程图及部分程序的源代码清单,包括掉电能检测子程序、显示子程序、通信子程序及按键扫描子程序。 本设计为数字电度表的软件设计,因此重点分析了
2、软件设计,对硬件方面作了简单的介绍,并在结论中阐述了尚需进一步解决的问题以及下一步的工作内容。关键词:数字 电度表 sm9903abstractwith the rapid development of modern industry and the continuous improvement of peoples living standards, the growing demand for electricity, which is the measurement and management of electricity has made new demands: the use e
3、lectricity price, automatic meter reading and charges. in order to meet these requirements, digital power meter came into being.this article from the hardware and software were two aspects of digital power meter system design a more comprehensive exposition. hardware, energy metering to asic sm9903
4、and at89c52 microprocessor as the core, on the power measurement, control of the show circuit, information transmission of electricity, electricity and other five major data memory expansion module circuit design. software, is the main subroutine flow chart of the design process and some of the sour
5、ce code list, including the power-down routines can be detected, show routines, communications routines and keys scan routines. this design for digital electric meters software design, therefore the selective analysis software design, has made the simple introduction to the hardware aspect, elaborat
6、ed in the conclusion must further solve question as well as next step work content.key words: numeral power meter sm9903目 录1 前 言11.1 研究意义11.2 研究现状22 数字电度表概述32.1 数字电度表工作原理32.1.1 工作原理32.1.2 数字电度表工作过程42.2 电量信息传输方式42.3 数字电度表系统结构62.4 电能计量模块方案设计72.4.1 电能计量模块方案选择与确定72.4.2 有功电能计量的基本原理83 数字电度表的硬件设计113.1 数字电度
7、表硬件设计113.1.1 硬件设计概述113.1.2 sm9903简介113.1.3 sm9903构成的电能计量电路设计133.2 模块电路设计143.2.1 控制部分电路设计143.2.2 显示电路设计153.2.3 电能存储器设计173.2.4 掉电检测电路设计173.2.5 信息传输电路的设计184 数字电度表的软件设计204.1 软件系统概述204.2 系统软件主程序设计204.3 电能计量子程序设计224.3.1 定时器0初始化224.3.2 定时器0中断服务子程序设计244.4 功能检测子程序设计284.4.1 电能检测子程序设计284.4.2 显示子程序设计294.4.3 按键扫
8、描子程序设计314.4.4 通信子程序设计325 结论与展望35致谢36参考文献37附录:381 前 言电力作为动力资源在国民经济中占有举足轻重的地位,长期以来,由于供电能力不足,高电力市场供需矛盾突出,而且城乡部分企业,家庭偷电日趋严重。同时许多企业、家庭存在着欠交电费的问题。随着经济社会的发展,用电户大幅度增长,传统的抄表收费方式已经不能适应这种新形势的需求。1.1 研究意义随着电能管理向电子化、信息化方向发展,供电企业作为管理电力资源的主要单位,急需提高自己的管理能力。数字电度表应运而生,他不但实现了用电收费的电子化,而且改变了先用电后收费的不合理状况,完善了电力销售环节,从根本上解决了
9、人工抄表收费耗工费时的弊端,特别是可杜绝拖欠电费现象,加速了电力资金回笼,改善了供需关系,大大提高了用电计量、收费的科学化管理。普及数字电度表是提高现代化管理的最佳途径,推广使用势在必行。如今各种智能型的数字电度表已在智能小区、商场、学校等场所得到了广泛应用。数字电度表具有电能计量功能,能显示剩余电能值、已用电能值,还具有超负荷断电等功能。数字电度表可实现先付费,再用电,安全性高。电能的计量结果直接关系到供电部门和用户的经济利益,因此对计量的精度提出了较高的要求。由于电度表使用数量较多,成本控制显得也很重要。因此,开发出成本低、可靠性高、计量准确、安全的智能电度表具有重要意义。1.2 研究现状
10、长期以来使用的都是机械式感应电度表,它具有耗电多、笨重、需要手工抄表、防窃电性能低等缺点,随着微电子技术的迅速发展,微控制机(单片机)和大规模集成电路在电能计量领域的广泛应用,使电度表的技术水平和性能得到长足发展。智能抄表技术在国内外应运而生,国内外许多国家正在大力发展开发电能智能抄表系统的研制工作。在国外,如美国等发达国家已把智能抄表系统广泛应用于配电管理之中了。以色列尤尼克(unique)技术公司开发了collectric集中抄表系统,利用现有的电网和电表,以电力线作为信息传递媒介,建立数据采集通讯系统,通过电力线载波技术将信息远距离传送。而由英国自动化仪表公司本部策划,组织杭州沃制电力有
11、限公司研制的ic系列电表,可按用户需要装上通讯接口,利用rs-485接口,零电压脉冲继电器输出或420ma线性输出进行运程监制。德国d-tech公司为此专门开发了smi专用模块,用于电子式电能表的数据采集,以400脉冲/度或800脉冲/度向外输出数据,在国内,虽然我国对智能抄表技术的研究起步较晚,但是发展速度很快。华立(holley)集团、万胜(wellsun)电力仪表公司、华电总公司特瑞电力设备公司、杭州奥特电力电子有限公司等均对自动抄表系统的开发大量投入。 数字电度表虽然只是普通计量器具,但由于微控制器的引入,对设计者提出了很高的要求。这是因为由电源等引入的干扰很容易导致程序出错,可能引起
12、不可预测的后果,诸如剩余电能等数据的丢失或改变、电度表死机等情况。数字电度表的工作条件相当恶劣,因此,对其可靠性的要求也相对较高。现在数字电能表已逐步取代以往的机械式感应电度表。目前,电能的计量方法已经十分成熟,已有用于计量电能的专用集成电路,可将电功率转换成频率信号供计算机处理。2 数字电度表概述2.1 数字电度表工作原理2.1.1工作原理数字式电度表是一种用于测量交流电度量的电子仪表。该测量仪表采用了数字电子技术。其转换电路,控制电路和显示装置均由集成电路片构成,与常规的磁电式机械传动计数电度表相比具有测量精度高,功能多等优点。既可累计显示每小时用电量,又可累计显示,一日,一月,一年用电量
13、,并有相应的时间显示,是目前使用的磁电式电度表的换代产品。数字电度表主要实现电能计量信息与监控系统之间数据传输,确保电量信息能直接,快速被监控系统掌握,从而即时做出反馈信息,并通过电表显示系统使用户直接了解电量剩余情况,然后要求用户在电力控制中心直接购电,经过单片机的处理和控制,用户从电力管理部门购买的电量通过电力通信传输系统传递给电度表。单片机将新的购电量和原表内剩余电量相加得到新的剩余电量,存于可断电保存的芯片中,借用有功电能测量集成电路sm9903它能将正弦电压和电流相乘后,转换为频率输出。只需对输出脉冲累计计数,就可计量出电能。并通过液晶显示器显示剩余电量,每用一度电,单片机内剩余电量
14、减一度,当单片机内剩余电量减到不足20kw.h时,监控中心反馈信息通过表在液晶显示器上显示“请及时购电”以提醒用户余电不多,请及时购电。当表内剩余电能“0”时,内继电器切断用户供电,用户需到电力中心再次购电,方可得到供电。达到先购电后用电,方便电力部门收费管理的目的。2.1.2数字电度表工作过程(1)用户将在控制中心购买电能并通过电力传输系统传输电能量到电度表由显示系统总剩余电能值。(2)实现电能计量信息与监控系统之间数据传输,确保电量信息能直接,快速被监控系统掌握,从而即时做出反馈信息。(3)电度表正常工作时,液晶显示剩余电能值、己用电能值,使用户直观地了解电度表的工作是否正常及用电负荷的大
15、小。(4)用电时,能按二级表(误差为2)的精度计量电能,并随时改写剩余电能和已用电能。(5)当表内剩余电能不足20kw.h时,在液晶显示器上显示“请及时购电”以提醒用户余电不多,及时购电。(6)具有掉电保护功能。掉电时,自动把剩余电能从ram转存储在eeprom中。(7)当表内剩余电能为“0”时,自动断电,这时用户不能用电。在用户将重新购电的时,电度表完成上述第一项的功能,恢复供电。2.2电量信息传输方式电量传输方式的选择与确定电量信息传输是数字电度表将电量信息反馈给控制中心,当电量低于某一值时,通知用户购电。电量信息极为重要,他直接反映用户的用电信息,一旦出现差错或流失,后果十分严重,这要求
16、电量信息在传输时要准确无误,同时要考虑成本。方案1:基于rs485通信技术rs-485通信技术以rs485接口芯片为核心。rs485接口芯片广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。rs-485接口在不同的使用场合,对芯片的要求和使用方法也有所不同。使用者在芯片的选型和电路的设计上应考虑相关因素,由于某些芯片的固有特性,通信中有些故障甚至还需要在软件上作相应的调整。在rs-485总线构筑的半双工通信系统中,在整个网络中任意时刻只能有一个节点处于发送状态并向总线发送数据,其他所有节点都必须处于接收状态。如果有2个节点或2个以上节点同时向总线发送数据,将会导致所有发送方
17、的数据发送失败。因此,在系统的硬件设计中,考虑到数字电度表的实际需要,有时需要同时收发多个数据,如果选用rs-485作为通信方式,那么在通信中难免会出现数据收发失败或流失,这对通信准确性要求的数字电度表来说,是不能接受的。同时rs-485通信时,需要铺设专门的双绞线作为通信信道,这样不得不付出大量的额外费用,增加了成本。方案2:电力载波通信电力载波通信技术用现有交流电源线作通信线路, 省去不切实际的铺线工程, 具有通道可靠性高、投资少见效快、与电网建设同步等无法比拟的优越性, 现已成为电力系统应用最为广泛的通信手段。特别是利用相关芯片加以处理后的电力载波通信方式能满足多种要求,实现远程抄表的数
18、字电度表, 它能实现各个电力用户用电量的自动记录、传送等功能, 使得在供电局抄表中心便能查询用电情况, 自动抄收用户电表数、计算电费等, 由此带来的经济效益及社会效益都将非常可观。当它对用户用电情况进行实时监控管理时,是通过微机与用户电子电度表的全双工或半双工数据通讯实现的。微机作为监控管理中心与用户电子电度表之间数据信息的传输通道直接采用220v交流供电线路。显得经济、简便,其组成框图如图2.1。计算机电力调制解调器结合设备波阻器波阻器用户1用户n1用户n2用户2用户323213333232222n3用户n图2.1 信息传输方框图图示中用户即为具通讯功能的电子电度表。由于采用220v 交流供
19、电线路作为有线载波通讯的信道,因此在信道与调制解调器间设置有结台设备。一方面将载波信号传送到信道(即220v供电线路上),另一方面隔离220v50hz的工频交流电流入调制解调器。另一端的结合设备和调制解调器包含在用户电子电度表中。对于不属于管理范围内的用户,可以用高频波阻器进行隔离。高频波阻器阻止载波信号的通过,对220v50hz的工频交流电的通过无任何影响。这样监控管理中心便可对界定范围内之用户的用电情况进行实时监控管理(监视用电情况、对用户进行限电、断电、供电等功能)。综上所术,选择方案2能满足电量信息的传输的要求。2.3 数字电度表系统结构 数字电度表的硬件电路可分为电能计量模块、显示模
20、块和信息传输模块。硬件结构如图2.2所示。cpu电能计量模块显示模块信息传输模块图2.2数字电度表的系统图其中,电能计量模块完成电能测量等功能;信息传输模块主要是实现电量信息的传输;显示模块主要是显示电量信息。前者主要追求可靠性后者要求高安全性。下面分别对其方案进行设计和论证。2.4 电能计量模块方案设计2.4.1 电能计量模块方案选择与确定在实际应用中,电能计量模块主要存在功率累加式、电压频率转换式、机械电子式和模数转换式四种方案。其中,功率累加式比其他方案更具优势,由于本设计为单相预付费电度表的软件设计,所以对其他三种方案不一一详述,仅将功率累加方案介绍如下。将端口电流和电压先送入模拟乘法
21、器相乘,得到一个与功率成正比的模拟电压(或电流),再经过vf变换(或if变换)变成频率信号f。单片机对频率信号f进行累加便可得到电能。系统框图如图2.3所示。icpu液晶显示器控制键盘信息传输v/f转换器低通滤波器模拟乘法器i/u转换图2.3 方案四的系统图 这种方案对cpu的要求低,采用mcs-51系列单片机完全可以胜任。而且,现在已有集成电路(如:bl0932、sm9903)将模拟乘法器、低通滤波器和vf变换器集成,其性能指标都远远高于分立元件。其中,模拟乘法器、低通滤波器和vf变换器采用集成电路sm9903。cpu采用at89c52,它内部有8kb的程序存储器,应用于此系统绰绰有余。采用
22、液晶显示器,可大大减少功耗,并且可显示汉字,使界面清晰、明了。2.4.2 有功电能计量的基本原理 本设计采用有功电能测量集成电路sm9903,芯片内部包含了四象限模拟乘法器、积分器,电压/频率转换器vfc、计数器(分频器)及控制逻辑,它你将正弦电压和电流相乘后,转换乘频率输出。只需对输出脉冲累计计数,就可计量出电能。 sm9903内部电路模型如图2.4所示。u iu四象限模拟乘法器积分器v/f转换器pp图2.4 sm9903内部电路模型示意图在正弦稳态情况下,设正弦电压和电流分别为: u=ucost (2-1) i=icos(t-) (2-2)式中,u为交流电压瞬时值,i为交流电流瞬时值,u为
23、交流电压有效值,i为交流电流有效值,为交流电的角频率,ui为电压电流的相位差。经四象限模拟乘法器相乘后的瞬时功率为: p=ui=ucosticos(t-) =uicos+cos(2t-) (2-3)可见,瞬时功率有恒定分量uicos和正弦分量两部分,正弦分量的频率是电压(或电流)频率的两倍。图2.5所示为正弦电流、电压和瞬时功率的波形图。图2.5 波形图在图2.5中,u是瞬时电压,i是瞬时电流,p是瞬时功率。瞬时功率p经积分器后,得有功功率p,即 p=ucos+cos(2t-)dt =uicos=ui (2-4)一段时间t内的电能w为 w=pdt=uicosdt =tuicos=tui (2-
24、5)以上分析表明,有功功率p为恒定分量,将正比于p的电压经v/f变换后,输出的是频率随p变化的脉冲,只需将脉冲累计计数,则计数值n即为电能。3 数字电度表的硬件设计3.1 数字电度表硬件设计3.1.1硬件设计概述我们设计的数字电度表的硬件电路可分为电能计量电路、控制电路、存储电路、显示电路、掉电检测电路和电源几大模块如图。电量传输电路cpuat89c52显示电路电路计量电路电能存储电路掉电检测电路图3-1 数字电度表的结构原理图3.1.2 sm9903简介电能计量电路采用电子电度表专用集成电路sm9903。sm9903是将取自电阻网络的交流电压和交流电流信号进行放大。应用乘法器将功率转换成电压
25、,再通过vf(电压频率转换)型ad转换器等电路将电压信号转换成可供mcu读取和直接驱动步进电机的数字信号sm9903同时具有测量负向有功功率的功能,测量负向有功功率以正向有功功率计算,并通过ind(9脚)输出负电干以指示测量负向有功功率。sm9903其管脚定义如表3.1所示,管脚图如图3-2所示。表3.1 管脚定义管脚号符号说明1vi1电流取样信号输入2vi2电流取样信号输入3gada模拟地端4vv电压取样信号输入5nc与4脚内部互相连接6vr1参考电压1外调整端7 vr2参考电压2外调整端8pout有功功率计算输出脉冲9ind负相有功功率指示10tc测试控制器11vss负电源(5v)12gn
26、dd数字地端13dmo1脉冲电机驱动输出114dmo2脉冲电机驱动输出215oscin晶振输入16oscout晶振输出17vdd正电源(+5v)18c1积分电容119com积分电容公共端20c2积分电容2图3.2 sm9903管脚3.1.3 sm9903构成的电能计量电路设计 在本设计中,用sm9903构成的电能计量电路如图3.3所示。图3.3 电能计量电路在图3.3中,采用340的锰铜片作为电流采样电阻,用精密金属膜作为电压采样电阻。c4、r17、vdl、vd2、c8、c9、vzl、vz2为电容降压式电源,为sm9903提供5v的工作电压。32768112为表用晶体振荡器,为sm9903提供
27、时钟。c6,c7为积分电容。r8为参考电压调整电位器。本电路无须机械计数器。3.2 模块电路设计3.2.1控制部分电路设计 控制部分为整个电度表的心脏,实现电能脉冲、掉电信号、电量信息的采集和读写,完成显示驱动模块的控制和继电器的驱动等功能。 本设计选用atmel公司的at89c52,其内部有8kb的程序存储器,使硬件电路简单,电路如图3.4所示。 图3.4 由at89c52组成的主控电路 ic4与时钟电路(包括晶体振荡器、电容c14、c15和内部电路),上电复位电路(包括r23、c13、s2、vd10、c31、r50)构成单片机的最小系统。其中,晶体振荡器选用12mhz的高稳定无源晶体振荡器
28、,它与at89c52中的反向放大器构成振荡器,给cpu提供高稳定的时钟信号。电容c14、c15可起频率微调作用,电容值在5pf30pf之间选择,本电路选20pf。电源开启时,电源对电容c13充电,在cpu的复位端产生一高脉冲。只要高电子的维持时间大于两个机器周期,cpu就可复位。二极管vdl0的作用是当断电时。可使电容c13所储存的电荷迅速释放,以便下次上电时可靠复位。电容c31可滤除高频干扰,防止单片机误复位。电阻r30和按键s1构成键盘,用以实现显示内容的切换。电能脉冲由icl的8脚经光电耦合器ic2送到ic4的t0端,用以实现脉冲计数。3.2.2 显示电路设计本系统采用液晶显示器。其特点
29、是显示内容丰富,功耗小,可靠性高。电路简单。器件型号是:smg12232b-2,显示容量为12232点阵。采用总线方式连接,硬件电路如图3.5所示。图3.5 显示电路下面介绍一下液晶显示器smg12232b-2的相关知识。(1) 主要技术参数smg12232-b-2的主要技术参数如表3.2所示。表3.2 smg12232-b-2的主要技术参数显示容量12232点阵工作温度10oc+15 oc 芯片工作电压4.55.5v存储温度20 oc60 oc芯片工作电流5ma(5.0v)背光源类型el最佳工作电压5.0v背光源工作电压5.0v点尺寸0.8mm0.78mm背光源工作电流30ma (2)接口信
30、号说明smg12232-b-2的接口信号说明如表3.3所示。表3.3 smg12232-b-2的接口信号说明编号符号引脚说明编号符号引脚说明1rst复位端9db1数据口12vcc电源正极10db0数据口03db7数据口711gnd电源地4db6数据口612写信号5db5数据口513读信号6db4数据口414cs1片选ic1信号7db3数据口315cs2片选ic2信号8db2数据口216a0数据命令选择端el+背光源驱动电压输入端el背光源驱动电压输入端(3)smg12232-b-2控制器接口说明基本操作时序( l 为高电平,h 为低电平)读状态:输入a0=l,cs1 或cs2=l,rd=l,w
31、r=h 输出 db7-db0= 状态字写指令:输入a0=l, cs1 或cs2=l,rd=h,wr=l, db7-db0=指令码输出无读数据:输入a0=h, cs1 或cs2=l,rd=l,wr=h 输出db7-db0=数据写数据:输入a0=h, cs1 或cs2=l,rd=h,wr=l, db7-db0=数据输出无。在使用时,对控制器的每次读写操作之前,都必须进行读写检测。以确保sta7为0。3.2.3电能存储器设计 电能存储器由串行eeprom和上拉电阻组成,电路如图3.6所示。在串行时钟和数据端接了上拉电阻r25和r27,分别连接到ic4的p30和p3.1端。串行eeprom选用at24
32、c04,at24c04为低电压(2.5v5.5v)、长寿命(可擦写10万次以上)器件。在掉电时存储剩余电度数。图3.6 电能存储电路3.2.4 掉电检测电路设计掉电检测电路由比较器(运放lm393)、电压基准lm336r34、r35、r36和二极管vd7组成,电路如图3.7所示。图3.7 掉电检测电路r31为vz3提供合适的工作电流,vz3上端作为电压基准,r32、r33对5v电压分压,与vz做比较。电源电压正常时,v-v+时,比较器输出低电子,使微处理器产生外中断,做掉电处理(将剩余电能存入eeprom中)。vd7、r36为施密特电路,是为了避免电压在阈值左右波动时引起反复的写操作。3.2.
33、5信息传输电路的设计信息传输硬件电路如图3-8所示,在该电路中,使用了一种rs-485接口芯片sn75lbc184,它采用单一电源vcc,电压在35.5 v范围内都能正常工作。与普通的rs-485芯片相比,它不但能抗雷电的冲击而且能承受高达8 kv的静电放电冲击,片内集成4个瞬时过压保护管,可承受高达400 v的瞬态脉冲电压。因此,它能显著提高防止雷电损坏器件的可靠性。对一些环境比较恶劣的现场,可直接与传输线相接而不需要任何外加保护元件。该芯片还有一个独特的设计,当输入端开路时,其输出为高电平,这样可保证接收器输入端电缆有开路故障时,不影响系统的正常工作。另外,它的输入阻抗为rs485标准输入
34、阻抗的2倍(24 k),故可以在总线上连接64个收发器。芯片内部设计了限斜率驱动,使输出信号边沿不会过陡,使传输线上不会产生过多的高频分量,从而有效扼制电磁干扰。图3-8 信息传输电路4 数字电度表的软件设计4.1 软件系统概述如果说硬件决定了产品的造价,那么在硬件搭配合理的前提下,软件在很大程度上就决定了产品的性能。软件设计占据了整个产品的大部分时间,仅通过程序调试充其量只完成10的工作量,离产品还相距甚远。如该产品程序通过一个月就够了,但要变成产品起码要一年半的时间。因为程序调试是在操作规范、环境理想的条件下进行的,而产品实际运行中的情况要复杂得多。软件设计者要尽最大能力把各种可能的情况模
35、拟出来,把各种各样的干扰附加上去,这样会不断发现问题。短时间、个别样机运行未发现问题并不能说明产品是可靠的,需要经过很长的时间、一定批量的考验方能说明产品是成功的。这是非常耗时的,但又是设计者必须做的。软件界有句名言:“我们永远不能证明程序是正确的。”说明了软件设计是没有止境的。对于高可靠性要求的电度表更是如此4.2 系统软件主程序设计当系统上电后,主程序开始运行。首先对系统进行初始化,包括对内部存储器单元清零,特殊功能寄存器置初值,开中断,设置定时器t0方式并赋初值,从eeprom中读取系统参数并存入ram中,判断电表是否已开户,电表剩余电量是否达到报警电量值,从而确定用户用电源的断、通情况
36、以及是否报警,等待电能检测电路中断的进入,同时定期显示电表用电情况。流程如图4.1所示。开始初始化是否有电量信息是否有键按下读信息读键值显示ynyn图4.1 主程序流程图主程序源代码如下:main: mov sp,#60h ;堆栈设置 lcall dirrst ;执行显示复位程序 lcall keyrst ;执行键盘复位程序 lcall at24rst ;执行e2prom复位程序 lcall ddjcrst ;设置中断 lcall dlcsrst ;设置定时器0main1: lcall key ;执行键扫描程序 mov a,seer cjne a,see,main3 mov a,#1 cjne
37、 a,see,main2 sjmp main4main2: mov a,#2 cjne a,see,main5 sjmp main4main3: mov seer,see lcall lcdreset ;执行液晶显示器复位 mov a,#00h lcall lcdfillmain4: lcall dir ;执行显示程序4.3 电能计量子程序设计4.3.1定时器0初始化 设置t0门控制位为0,即只能利用控制位tr0来控制t0的启停。功能选择位设为1,为计数功能。m1,m0设为01,即工作于模式1:16位计数器。定时器0初始化子程序源代码如下:dlcsrst: mov tmod,#05h;t0为计
38、数功能模式0 mov th0,#0ffh mov tl0,#0ffh mov mrd,#00h;eeprom读缓冲区清零 mov sla,#0a0h mov numbyt,#7 lcall rdnbyt mov ydl1,mrd1 mov ydl2,mrd2 mov ydl3,mrd3 mov ydl4,mrd4 mov sdl1,mrd5 mov sdl2,mrd6 mov sdl3,mrd7 lcall zhcs mov a,sdl1 cjne a,#00h,dlcsrst1 mov a,sdl2 cjne a,#00h,dlcsrst1 mov a,sdl3 cjne a,#00h,dl
39、csrst1 setb dykg mov see,#9 retdlcsrst1: clr dykg mov del,#10 lcall dely setb ea ; 开中断总允许 setb et0 setb tr0 ret4.3.2 定时器0中断服务子程序设计图4.2所示为定时器0中断服务程序流程图,用以实现脉冲计数,从而实现电能的累加。用户用电时,单片机对脉冲进行累计,当累计脉冲数达到每度电的转数时,就对存储单元中的剩余电量和累计用电量进行处理并重新存入存储单元中。如果未达到每度电的转数,则将脉冲直接存入到存储单元中。中断入口中断中中断入口断入口保护现场剩余电能减1已用电能加1是否超负荷显示
40、“超负荷”,延时5min恢复现场中断返回yn中断入口图4.2 定时器0中断服务程序流程图定时器0中断服务程序如下:dlcs: push a push bzhcs: mov zy4,ydl4 mov zy3,ydl3 mov zy2,ydl2 mov zy1,ydl1 mov zs3,sdl3 mov zs2,sdl2 mov zs1,sdl1 mov r7,#32 clr a mov r2,a mov r3,a mov r4,a mov r5,a mov r6,aybcdt1: clr c mov a,zy4 rlc a mov zy4,a mov a,zy3 rlc a mov zy3,a
41、mov a,zy2 rlc a mov zy2,a mov a,zy1 rlc a mov zy1,a mov a,r6 addc a,r6 da a mov r6,a mov a,r5 addc a,r5 da a mov r5,a mov a,r4 addc a,r4 da a mov a,r6 anl a,#0fh mov see00,a mov a,r6 swap a anl a,#0fh mov see01,a mov r7,#24 clr a mov r2,a mov r3,a mov r4,a mov r5,asbcdt1: clr c mov a,zs3 rlc a mov z
42、s3,a mov a,zs2 rlc a mov zs2,a mov a,zs1 rlc a mov zs1,a mov a,r5 addc a,r5 da a mov r5,a mov a,r4 addc a,r4 da a mov r4,a mov a,r3 addc a,r3 da a mov r3,a mov a,r2 addc a,r24.4 功能检测子程序设计4.4.1电能检测子程序设计电能检测及读写程序在数字电度表程序设计中是一个很非常重要的模块,单片机工作时,采用定时扫描方式检测是否有电信号。当at89c52检测p1.2=0时,即有电。当没有电量时,先检查电表是否断电,如果没有
43、,继续执行检测,整个流程见图4.3。yn执行检测致信显示电量否继续检测提示购电电量为0,断电是否有脉冲是否20kw.h图4.3 电能检测及读写流程图4.4.2 显示子程序设计 电能表运行过程中,对用户的用电量进行不断累加,并写入eprom中。当用户需要查询电能表的运行状态时,只需按动显示按钮,即可显示用户当前时刻剩余电量、累计用电量和累计购买电量等信息。首先显示剩余电量,3秒钟后显示累计用电量,最后显示累计购买电量。流程图如图4.4所示。调显示程序lcd初始化清屏读出累计用电量、剩余电量和累计购电量显示剩余电量清屏显示累计用电量清屏显示累计购电量关显示返回图4.4 显示程序流程图4.4.3 按
44、键扫描子程序设计 按键扫描子程序设计中,首先为标志位keyw,及各寄存器赋初值。为防止误按键,引入了防抖动程序。接下来,从标志位keyw获取按键信息,进行与按键相对应的显示及操作回应。以下,为按键扫描程序源代码。键盘复位程序keyrst: setb s1 mov keyw,#01h mov seer,#0ffh mov see,#00h ret;-; 键扫描程序key: jb s1,key4 mov del,#26;防抖动程序 lcall dely jb s1,key4 mov a,keyw rl a mov keyw,a jnb keyw.03h,key1 setb keyw.00h clr
45、 keyw.03hkey1: jnb keyw.00h,key2 mov see,#0key2: jnb keyw.01h,key3 mov see,#1key3: jnb keyw.02h,key4 mov see,#2key4: retdely: push deldely1: push deldely2: push deldely3: djnz del,dely3 pop del djnz del,dely2 pop del djnz del,dely1 pop del djnz del,dely ret4.4.4通信子程序设计本设计的通信过程分为3个阶段: 主机询问、用户应答和链路释放。主机询问阶段,主机以帧的形式将用户地址码、命令、数据和校验码传送到指定用户;用户应答阶段,用户解释接收的命令码,并组织相应帧信息回送到主机;链路释放阶段,用户清除接收缓冲区及相关变量,准备与主机下次通信。任何一次完整的通信过程都是由主机方发起的,用户在被主机寻址前只能处于侦听状态,用户在接收到地址码的第2个字节后,立即判断是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度网络安全服务协议书
- 2024年度版权使用与授权合同
- 2024供水、供电合同范文
- 2024年建筑工程股权转让合同样本
- 2024城市轨道交通安检设备采购合同
- 文书模板-产品委外开发合作协议书
- 产业新城课件教学课件
- 2024年度企业品牌形象设计及VI手册整编合同
- 2024年度版权购买与授权合同具体内容
- 2024年废物回收居间买卖合同
- GB/T 12976.2-2008额定电压35 kV(Um=40.5 kV)及以下纸绝缘电力电缆及其附件第2部分:额定电压35 kV电缆一般规定和结构要求
- 你来比划我来猜大全非常大配图版
- 定岗定编基本原理与操作方法课件
- 斜坡地貌课件
- 端正学习态度 课件 心理健康-通用版
- 无形资产评估概述与评估方法概述课件
- 幼儿园《3-6岁儿童学习与发展指南》培训课件
- 英语板书设计(课件)
- 五年级家长会班主任ppt
- 【教学课件】正确行使诉讼权利-示范课件
- 幼儿园中班语言:《谁的尾巴》 课件
评论
0/150
提交评论