复费率智能电表的单片机软件设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

国防科学技术大学本科生学位论文基于单片机的复费率智能电能表软件系统设计姓名:王付生申请学位级别:本科专业:电子计算机19950620目录摘要第一章引言§1.1单片机的发展§1.2复费率表的需求背景§1.3复费率表目前的技术状况§1.4设计的基本目标、实现状况、后续开展第二章MCS-51系列单片机及其AT89C51简介§2.1MCS-51系列单片机§2.2AT89C51之新特点第三章硬件的基本构成及软硬接口§3.1系统的大致硬件结构§3.1PCF8583日历时钟芯片简介§3.3软硬件之间的接口第四章软件总要及关键技术分析§4.1软件总体思想§4.2软件组成§4.3各模块功能分配及调用关系§4.4几处关键算法的说明§4.5关键技术分析第五章软件模拟I2C通讯§5.1I2C总线规约§5.2软件模拟I2C的实现§5.3出现的问题及其解决第六章键处理§6.1键之功能安排§6.2键盘监控程序设计方法综述§6.3键分析法及安排第七章软件采用的抗干扰及容错技术§7.1可靠性设计综述§7.2抗干扰及容错技术简介§7.3系统采用的抗干扰容错措施第八章系统评价附录1参考书目2致谢3软件文档及程序清单摘要本文主要论述了如何用AT89C51单片机构复费率智能电能表的计费模块设计,而且主要涉及其中的软件问题。复费率表的主要特点是随时段变化将电量计入不同的计量单元。本文主要论述了采用AT89C51单片机作为分时计量之核心,将其计量模块的时段编制、分时计量、数据显示、数据处理及下电保存和上电恢复给以有效实现的一般技术。这其中之关键问题有:一、时段的准确切换。二、数据的可靠计量与安全保存。为了保证系统实时时钟的精度,该系统采用了飞利浦PCF8583日历时钟芯片,并通过软件模拟I2C总线实现了89C51与PCF8583的有效通讯,为系统提供了精确的实时时钟和掉电时数据在PCF8583里的可靠保存。在系统监控程序的编制中,成功地用软件模拟了I2C的通讯;在分析已有的直接分析法、图解法、状态分析法等的基础上,提出并成功地使用了一种新型键分析技术;综合采取了软件WATCHDOG、数据冗余、软件陷肼等多种软件抗干扰容错措施。通过对系统硬件资源的合理配置使用及软件的精心设计安排,该系统较好地解决了编程、显示、下电保存、上电恢复等,取得了满意的效果。关键词:89C51单片机PCF8583日历时钟复费率表软件模拟I2C通讯键分析技术软件抗干扰容错技术软件WATCHDOG第一章引言我们这次毕业设计主要任务是利用AT89C51单片机研制开发一种新型复费率智能电能表。设计的硬件部分由唐靖飙同学完成,我则负责其中的软件部分。下面对这次设计的背景做一些介绍。§1.1单片机的发展本世纪40年代以来信息和微电子技术的飞速发展,给人类的生活带来了深刻的影响。而70年代大规模集成电路的发展更为自动化技术的革新迎来了黎明前的曙光----单片机诞生了。单片微型计算机(SingleChipMicrocomputer)简称单片机,又称微处理器(Microcontroller),是将计算机的基本部件微型化,使之集成在一块芯片上的微机。片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等等。单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪表、过程控制和家用电器等领域得到日益广泛的应用。近年来,单片机结合专用集成电路ASIC(AppliedSpecificIntegratedCircuit)和精简指令集计算机RISC(ReducedIntructionSetComputer)技术发展成嵌埋式处理器(EmbeddedProcssor),使得单片机可集成众多的软件和硬件,而成为更深意义上的单片应用机型,使其更强的功能深入到数据、数值分析,信号处理,智能机器人及图象处理等高技术领域。自1974年美国德克萨斯仪器公司推出第一块单片机以来,许多家公司参与了单片机的研制和生产的竞争。目前通用型单片机至少有50多个系列400多个品种。其中最具代表性的典型机种为Intel公司的MCS-51系列,Motorola公司的MC6805系列和Zilog公司的Z8系列及其派生的各种产品。而我国应用最多的是MCS-51系列,它为我国单片工作者所最熟悉,而且有多种性能完善的开发工具,在各个技术领域的科研和技术改造、产品开发中起着越来越大的作用。同时,这也为我们开发研制新型复费率智能电能表提供了良好的基础。§1.2复费率表的需求背景随着我国国民经济的迅猛发展,电力资源的紧张日显突出。而且众所周知,电力生产的特点是发、供、用电同时完成,加之电能存储既困难成本又高,因而在一般情况下,发电量是由用电量多少决定的。电力的使用又有明显的时段性:在用电集中时,要求发电量增加形成电网负荷高峰;反之,当用电负荷大量减少时,则要求减少发电量形电网负荷低谷。这种运行状况不仅很不经济,有时甚至危及电网的安全。为了平衡负荷,电力部门采取了许多措施,实行多部电价就是主要措施之一。所谓多部电价就是根据用电的时段性特征,在用电高峰期提高电价,限制用电;在低谷期降低电价,以鼓励用电。这样,对于供电部门有利于提高电网的效率;对于用电部门来说可适当减少电费开支,并避免在用电高峰期的拉闸限电现象。这对于双方都是有利的。因此就需要有可以将不同时段的用电情况分别记量的复费率电表。而我国目前生产的电表多为机械式总量表,不具备复费率功能,从国外引进的不仅价格十分昂贵,许多质量也不稳定。电力部门迫切需要研制与生产我们自己的复费率表,以期多部电价顺利实施,并对电能的使用管理起到许多积极作用。§1.3复费率表目前的技术状况复费率表(MultitariffWattHourMeter)最早出现于七十年代后期的美国,我国于八十年代初期进行了有限的引进。其主要特点是按时段不同将电量计入不同的计量单元,以提供按多部电价收费的依据和给电力技术经济管理提供数据。从国内外的各种复费率电表生产情况来看,各厂家设计的结构、选用的元件、所采用的技术措施方式很多,因此表的品种也较繁多,性能不一,但总的来说大都是在机械母表的基础上增加分时计量和显示功能而成。其发展过程中大致出现过以下几种:㈠按工作原理分类:*采用全机械传动的机械式;*分时计量和时钟控制均采用电子线路实现的电子式;*采用电子时钟电路和机械计时部件与机械计数部件的机电混和式;㈡按分时计量模块和机械母表的结合方式分类:*两相合一的一体式;*两相分离的分离式;㈢按电能→计数的转换方式分类:*机械式;*感应脉冲式;*光电转换式;在各种表的种种不同中,核心内容是工作原理的区别。从复费率表的特点和功能可知,任一复费率表都必须有以下四个基本组成部分:①电能测量部分,②时间控制部分,③电量分别计录装置和切换部分,④控制及时控电源。采用何种技术措施来将其给以有效的实现就是问题之根本点。复费率表刚刚出现之时,由于技术上的不成熟,最为简单的机械式和机电混和式占很大部分。而近年来随着单片机技术的广泛应用和日趋完善,采用单片机作为其分时计量的核心单元的复费率表成了技术上的主流,其余的都已经和正在被淘汰。而且,由于用户需求的不断提出,复费率表已不仅仅是分时计量和显示,而成为集计量、显示、编程、电力数据统计、负荷控制信号传送等于一体的智能仪器,其组成部分大都要求有:光电脉冲电能信号转换、单片机时控、分时计量、需量功能、红外抄表、数码管/液晶板显示、RS232/RS485接口以实现与微机联网和远程抄表等等。但目前市场上出现的复费率表(包括从国外进口的一些表)往往都存在着这样或那样的不足,如:时钟误差较大、数据可靠性不高、与微机联网的接口不完善等。基于此,我们决定研制开发一种各方面较为完善的新型复费率智能电能表。§1.4设计的基本目标、实现状况、后续开展㈠基本目标基于对新型复费率智能电能表的需求,我们决定采用以AT89C51单片机和飞利浦PCF8583日历时钟芯片作为主要器件,而这次设计的基本目标就是完成其中软件部分的时段编制、分时计量、数据显示、数据处理及下电保存和上电恢复。由于PCF8583日历时钟芯片是通过I2C接口与外界通讯,而AT89C51没有I2C接口,所以软件还要完成模拟I2C通讯的任务。㈡实现情况由于银河计算技术发展中心已经开发并投放市场了一种复费率电能表(采用的是专用单片机。软时钟技术),设计开发的新型表要和原有的保持功能兼容,设计中就基本按照原有产品说明,将其显示和编程完全给以实现,并将时段由八个增加为十个。软件顺利实现了模拟I2C通讯,为系统提供了高精确度的实时时钟。至此,新型表软件模块的设计已基本完成。㈢后续开展这次毕业设计由于时间紧,任务重,软件设计简化掉了红外抄表和RS485串行通讯,但留下了较好的接口,使得红外遥控只需将键码分析出来就可使用已有程序完成功能,RS485串行通讯也正着手编制加入,争取早日将新型复费率智能电能表推上市场。第二章MCS-51系列单片机及AT89C51简介§2.1MCS-51系列单片机MCS-51系列单片机根据片内有无程序存贮器及存贮器的形式,分为3种基本产品:8051,8751和8031。8051单片机片内含有掩膜ROM型程序存贮器;8751片内含有EPROM型程序存贮器,其程序可多次擦除重写;8031片内没有程序存贮器,但可外部扩展一片或多片含用户程序的EPROM,使用较为灵活。它们之间除程序存贮器的形式不同外,其它结构与功能全都相同。MCS-51系列单片机的主要特征如下:*适合于控制应用的8位CPU;*64K外部程序存贮器地址空间;*64K外部数据存贮器地址空间;*128/256Byte内部RAM;*32~56位双向可分别寻址的I/O线;*2~4个16位定时/计数器;*全双工异步串行口(UART);*5~19个中断源/5~11个向量的中断结构;*片内时钟振荡器;*布尔处理器。§2.2AT89C51之新特点AT89C51是一种低功耗。高性能的8位CMOS微处理器芯片,片内含有4K字节的闪速可编程及可擦除只读存贮器(FlashProgrammableandErasableROM,简写为PEROM),128字节的RAM,32条I/O线,2个16位定时/计数器,一个全双工异步串行口(UART),一个五源两级的中断结构,片上振荡器与时钟电路。经我们实验认为,AT89C51是一种很可靠的性能非常优良的芯片,它的使用给我们这次设计提供了很多便利。第三章硬件的基本构成及软硬接口§3.1系统的大致硬件结构★系统使用了一片带有4K字节的闪速可编程及可擦除只读存贮器的AT89C51单片机作为中央控制器;★采用一片飞利浦PCF8583日历时钟芯片作为系统硬时钟,并使用其中的256个ByteRAM作为掉电时数据保存区;★采用8位LED七段显示器作为显示部件,4个发光二极管作为峰平谷和电能脉冲指示灯;★用七个按钮接到P2.0~P2.6作为系统控制键;★用光电头得到电能脉冲信号,以外部中断方式INT1将脉冲信号送入89C51;★用一块7705得到上电复位和掉电中断信号,掉电信号从INT0接入89C51;★用变压器作为系统正常工作电源,用一个高能锂电池作为掉电时PCF8583备用电源以维护系统实时时钟和数据。§3.2PCF8583日历时钟芯片简介PCF8583是一个低电压源的日历时钟芯片和RAM电路,它的主要功能特性如下:*4年日历时钟,24或12点格式;*具有串行I2C总线接口;*256字节RAM,自动字节地址增量;*具有可编程的闹钟.定时和中断功能。RAM的头8个字节单元(地址为00~07)作为可寻址的寄存器,其中地址为00的单元为控制/状态寄存器,01~07单元为时钟计数器,地址为的08~0F的单元可编程为空闲单元或闹钟寄存器。由于我们只用到了它的计时功能,所以下面只简单谈一下时钟计数器和控制寄存器。00单元:复位后状态为的00H,此时为32.767kHz时钟方式,取消了起闹功能,读5至6单元时不屏蔽。装入实时时间时应先给00单元送80H

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功