电工测量复用表设计_第1页
电工测量复用表设计_第2页
电工测量复用表设计_第3页
电工测量复用表设计_第4页
电工测量复用表设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1引言传统的电工量(电压、电流、频率、功率因数、各种功率、纹波系数等)测量使用各种各样的测量仪表,但计算机技术的发展已经为新型电工测量系统的设计提供了可能。对用户负载的电压、电流进行取样,应用数据采集与数据处理技术可以方便地给出电压(电流)的各次谐波成分的幅度、频率与相位,从而利用计算方式可以一次性地给出前述众多电工量,实现一机多用。1.1课题研究的背景电学参数测量技术涉及范围广,特别是微电压、微电流、高电压以及待测信号强弱相差极大的情况下,既要保证弱信号的测量精度又要兼顾强信号的测量范围,在技术上有一定的难度。传统的低成本仪表在测量电压、电流时都采用手动选择档位的方法来转换量程。在使用中,当忘记转换档位时,会造成仪表测量精度下降或损坏。现代电子测量对系统的精度要求越来越高且智能化程度也越来越高。近十几年来,单片机作为微计算机一个很重要的分支,应用广泛,发展迅速,已经对人类社会产生了深远的影响。单片机在生产过程控制、自动检测、数据采集及处理、科技计算、商业管理及办公室自动化等方面获得了广泛的应用。单片机具有体积小、重量轻、耗能省、价格低可靠性和通用灵活性等特点,尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性好、结构简单、价格低廉、易于使用等优点,在我国已经得到广泛的应用。由于MCS-51单片机易于学习、掌握、性能价格比高,另外以MCS-51单片机的基本内核为核心的各种扩展型、增强型的单片机不断推出,所以在今后若干年内,MCS-51系列单片机仍是我国在单片机应用领域中首选机型。单片机技术在自动控制领域中有着十分广泛的应用。如汽车、航空、电话、传真、视频等,很多行业设计自动控制情况下,通常会涉及单片机技术。1.2课题研究的意义电压、电流是基本的物理量,对电压、电流进行测量的要求是普遍存在的,无论在科学研究生产实践,或是在日常生活中,人们都需要对电压进行测量。不仅电量,即使是非电量也常常是借助电压、电流测量的方法来进行研究。本设计的最基本的功能就是实现一定范围内的电压、电流的测量。功率因数是交流电路的重要技术数据之一。功率因数的高低,对于电气设备的利用率和分析、研究电能消耗等问题都有十分重要的意义。因此,在电力系统和工业生产中,功率因数的在线精确检测对电量计算及无功功率补偿计算十分重要。所谓功率因数,是指任意二端网络(与外界有二个接点的电路)两端电压U与其中电流I之间的位相差的余弦。在二端网络中消耗的功率是指平均功率,也称为有功功率,它等于由此可以看出,电路中消耗的功率P,不仅取决于电压V与电流I的大小,还与功率因数有关。电路的功率因数定义为有功功率P与视在功率功率S的比值,即:其中,角表示功率因数角,代表了电压U与电流I之间的夹角。功率因数也就是功率因数角的余弦,因此,测出电压与电流间的相位差,就可以计算出功率因数。功率因数的大小,取决于电路中负载的性质。对于电阻性负载,其电压与电流的位相差为0,因此,电路的功率因数最大();而纯电感电路,电压与电流的位相差为,并且是电压超前电流;在纯电容电路中,电压与电流的位相差则为,即电流超前电压。在后两种电路中,功率因数都为0。对于一般性负载的电路,功率因数就介于0与1之间。功率因素的测量是本课题设计的一个比较重要的功能。在交流电路中,由电源供给负载的电功率有两种:一种是有功功率,一种是无功功率。有功功率是保持用电设备正常运行所需的电功率,也就是将电能转换为其他形式能量(机械能、光能、热能)的电功率。无功功率比较抽象,它是用于电路内电场与磁场的交换,并用来在电气设备中建立和维持磁场的电功率。它不对外做功,而是转变为其他形式的能量。凡是有电磁线圈的电气设备,要建立磁场,就要消耗无功功率。无功功率决不是无用功率,它的用处很大。电动机需要建立和维持旋转磁场,使转子转动,从而带动机械运动,电动机的转子磁场就是靠从电源取得无功功率建立的。变压器也同样需要无功功率,才能使变压器的一次线圈产生磁场,在二次线圈感应出电压。因此,没有无功功率,电动机就不会转动,变压器也不能变压,交流接触器不会吸合。在正常情况下,用电设备不但要从电源取得有功功率,同时还需要从电源取得无功功率。如果电网中的无功功率供不应求,用电设备就没有足够的无功功率来建立正常的电磁场,那么,这些用电设备就不能维持在额定情况下工作,用电设备的端电压就要下降,从而影响用电设备的正常运行。无功功率对供、用电产生一定的不良影响,主要表现在:(1)降低发电机有功功率的输出。(2)降低输、变电设备的供电能力。(3)造成线路电压损失增大和电能损耗的增加。(4)造成低功率因数运行和电压下降,使电气设备容量得不到充分发挥。从发电机和高压输电线供给的无功功率,远远满足不了负荷的需要,所以在电网中要设置一些无功补偿装置来补充无功功率,以保证用户对无功功率的需要,这样用电设备才能在额定电压下工作。这就是电网需要装设无功补偿装置的道理。由此可见通过仪器测量电路中的有用功率和无用功率,从而改变电路中的有用功率和无用功率的比例,对于电器设备的正常工作显得十分的重要。1.3智能仪表国内外发展概况智能仪器/仪表是计算机技术向测量仪器移植的产物。是含有微计算机或微处理器的测量仪器。由于它拥有对数据的存储、运算、逻辑判断及自动化操作等功能,有着智能的作用(表现为智能的延伸或加强等),因而被称之为智能仪器。这一观点已逐渐被国内外学术界所接受。如我国电磁测量信息处理仪器学会于1988年正式成立“自动测试与智能仪器专业学组”,1986年IMECO(InternationalMeasurementConfederation,国际测量联合会)以“智能仪器”为主题召开了专门的讨论会,IFAC(InternationalFederationofAutomaticControl,国际自动控制联合会)1988年的理事会正式确立“智能元件及仪器”(IntelligentComponentsandInstruments)(TC25)(C&I)为其系列学术委员会之一。此外,1989年5月在我国武汉召开了第一界测试技术与智能仪器国际学术讨论会(ISMT1189),自从1971年世界上出现了第一种微处理器(美国Intel公司4004型4位微处理器芯片)以来,微计算机技术得到了迅猛的发展。测量仪器在它的影响下有了新的活力,取得了新的进步。电子计算机从过去的庞然大物己经可以在某种特定条件下缩小到可以置于测量仪器之中,作为仪器的控制器、存储器及运算器,并使其具有智能的作用。概括起来说,智能仪器在测量过程自动化、测量结果的数据处理及一机多用(多功能化)等方面己经取得巨大进步。到80年代,可以说,在高准确度、高性能、多功能的测量仪器中已经很少有不采用微计算机技术的了。总的来说,传统仪表的不断的改进,新型仪表也不断的出现,传统的手持式仪表表,在采用了单片微机控制之后,功能更加多样,使用更加方便、可靠,而且准确度大为提高。1.4本课题的主要工作随着电子技术的飞速发展,以前的机械式的电压、电流、功率因素、有用功率和无用功率测量仪表已经渐渐的被电子仪表所替代。而且现在的电子产品的一个显著的特点是:体积越来越小,功能越来越多元化,性能越来越好。鉴于目前的电子产品的发展趋势,本课题设计一个电工测量复用系统,该系统可以同时完成电压、电流、功率因素角、有用功率、无用功率等物理参数的测量和计算。同时可以通过按键的选择在LED数码管上面显示的参数值。本课题的主要工作和设计内容如下:1. 查阅电工测量仪表的相关资料;2. 检索复用表资料;3. 掌握多通道信号的取样与数据采集技术;4. 掌握各种电工量的概念;5. 设计完成此复用表;6. 复用表程序设计;2总体方案的设计及组成2.1系统的基本功能一般来说,电子测量仪器的硬件组成包括:模拟信号输入部分、信号处理部分、模数转换部分和人机交互部分。但每一部分的具体实现方法应结合仪器所需完成的功能、成本及相关技术的发展与成熟程度等因素综合考虑。本课题考虑设计一个系统,该系统能完成电压测量、电流测量、功率因素测量、有用功率测量和无用功率测量的要求。主要的设计思路是对用户负载的电压、电流模拟量进行取数字样,应用数据采集与数据处理技术可以方便地给出电压(电流)的各次谐波成分的幅度、频率与相位,通过比较电压、电流的相位差,计算出功率因素角,最后利用计算方式可以得到有用功率和无用功率,从而实现一个仪器测量众多电工量。2.2设计方案比较根据以上系统所需完成的功能和特点,本设计提出方案1和方案2,并进行比较最后得出方案1比较适合这次的毕业设计。2.2.1设计方案一在方案1中,电工测量复用表系统设计的核心芯片采用的MCS-51系列单片机。本电工测量系统选用AT89C51单片机作为系统的核心。该单片机具有两个外部中断,两个定时中断,方波输入接入其中一个中断,当用低脉冲到来,触发外部中断0,同时定时器0开始计数,通过计算得到功率因素角。模拟数字转换芯片采用的是8位串行AD转换芯片ADC0832,利用该芯片实现把电压和电流模拟信号转换为数字信号。通过前面得到的电压、电流和功率因素角等值,然后计算得到有用功率和无用功率,最后通过按键选择显示内容。系统主要分为:电源部分、模拟数字转换部分、方波输入电路、晶振电路、显示电路、复位等电路。图1为基于MSC-51单片机的设计框图。

图1基于MSC-51单片机设计框图2.2.2设计方案二在方案2中,电工测量复用表系统设计的核心芯片采用的PIC系列单片机。选用PIC16C74单片机作为系统的核心。该单片机内置具有8路10位A/D转换,3个硬件定时器,方波输入接入其中一个中断,当用低脉冲到来,触发外部中断0,同时定时器0开始计数,通过计算得到功率因素角。外部电压和电流接入到其中的两个AD转换AN0和AN1。通过前面得到的电压、电流和功率因素角等值,然后计算得到有用功率和无用功率,最后通过按键选择显示内容。系统主要分为:电源部分、电压输入、电流输入、方波输入电路、晶振电路、显示电路、复位等电路。图2为基于PIC单片机的设计框图。图2基于PIC单片机设计框图2.2.3方案1采用的是MSC-51系列单片机,该系列单片机没有集成AD转换的功能,所以需要外接一个AD转换芯片,这样硬件电路比较复杂,但是由于MSC-51是大多数高校的单片机的入门课程,而且其开发工具也比较多,也有很多人已经自制出一套免费的开发工具,所以开发成本比较低廉,比较适合学生毕业设计选用。方案2采用的是PIC系列单片机,该系列单片机集成了8路10位AD转换的功能,不需要外接AD转换芯片,这样硬件电路十分简单,但是由于PIC系列单片机的开发工具费用比较昂贵,前期一次性投入比较大,比较适合公司的选用。综合分析,本次毕业设计采用方案1进行设计。2.3系统的设计原则电工测量复用表是科学研究生产实践,日常生活的重要保证,其功能、测量设备和技术都应遵循以下原则:系统设计满足现行《电子仪表技术规范》的要求。先进性。系统将在了解国内外发展动态,吸收其经验和成果的基础上进行方案设计,使系统的技术性能和水平具有明显的先进性。可靠性。系统运行安全可靠,性能稳定,可以在恶劣环境下长期工作。通用性。在设计时,应充分考虑其应用对象的共性,使系统具有较强的通用性。扩展性。系统的设计容量要足够大,满足系统今后扩充需要。经济性。系统的造价经济合理,性能价格高。操作维护方便。在软件方面,要求人机界面友好,操作简便;在硬件方面,要求维护检修方便。3硬件结构与设计电工测量复用表设计分为硬件设计部分和软件设计部分,硬件是软件的基础,软件是硬件的灵魂,下面我们对硬件设计进行简单的描述。3.1AT89C51单片机简介单片机是一个单芯片形态,面向控制对象的嵌入式应用计算机系统。它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。从此,计算机技术在两个重要领域—通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,支持ISP在线下载程序,功能强大AT89C主要性能参数:与MCS-51产品指令系统完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz-24MHz三级加密程序存储器128×8字节内部RAM32个可编程I/O口线2个16位定时/计数器6个中断源可编程串行UART通道低功耗空闲和掉电模式AT89C51的引脚图如图3图3AT89C51VCC:提供电源GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILI)。Flash编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILI)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(ILI)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表1所示:表1P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的l/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.2电路设计工具选择随着计算机在国内的逐渐普及,EDA(ElectronicDesignAutomatic,电路设计自动化)软件在电路行业的应用也越来越广泛,目前国内最为常用的EDA软件有:PROTEL、ORCAD、PSPICE、EWB和Proteus等。PROTELPROTEL是PORTEL公司在20世纪80年代末推出的电路行业的CAD软件,它当之无愧地排在众多EDA软件的前面,是电路设计者的首选软件。它较早在国内使用,普及率也最高,有些高校的电路专业还专门开设了课程来学习它。几乎所有的电路公司都要用到它。早期的PROTEL主要作为印刷板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行。它的功能较少,只有电原理图绘制与印刷板设计功能,印刷板自动布线的布通率也低。在PROTEL99成为经典至今仍然广泛被人使用之后,现在的PROTEL已发展到PROTELDXP,是个庞大的EDA软件,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷电路板设计(包含印刷电路板自动布线)、可编程逻辑器件设计、图表生成、电路表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多层印制线路板的自动布线,可实现高密度PCB的100%布通率。ORCADORCAD是由ORCAD公司于20世纪80年代末推出的EDA软件。它是世界上使用最广的EDA软件,每天都有上百万的电路工程师在使用它,相对于其它EDA软件而言,它的功能也是最强大的,由于ORCAD软件使用了软件狗防盗版,因此在国内它并不普及,知名度也比不上PROTEL,只有少数的电路设计者使用它。早在工作于DOS环境的ORCAD4.0,它就集成了电原理图绘制、印制电路板设计、数字电路仿真、可编程逻辑器件设计等功能,而且它的界面友好且直观。它的元器件库也是所有EDA软件中最丰富的,在世界上它一直是EAD软件中的首选。它集成了电原理图绘制,印刷电路板设计、模拟与数字电路混合仿真等功能。它的电路仿真的元器件库更达到了8500个,收入了几乎所有的通用型电路元器件模块但同时它的售价也不菲。PSPICEPSPICE是较早出现的EDA软件之一,1985年就由MICROSIM公司推出。在电路仿真方面,它的功能可以说是最为强大,在国内被普遍使用。整个软件由原理图编辑、电路仿真、激励编辑、元器件库编辑、波形图等几个部分组成,使用时是一个整体,但各个部分各有各的窗口。PSPICE发展至今,已被并入ORCAD,成为ORCAD-PSPICE,但PSPICE仍然单独销售和使用,是功能强大的模拟电路和数字电路混合仿真EDA软件。它可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出、数据输出、并在同一个窗口内同时显示模拟与数字的仿真结果。无论对哪种器件哪些电路进行仿真,包括IGBT、脉宽调制电路、模/数转换、数/模转换等,都可以得到精确的仿真结果。对于库中没有的元器件模块,还可以自已编辑。它在INTERNET上的网址与ORCAD公司一样。EWBEWB(ELECTRONICSWORKBENCHEDA)软件是交互图像技术有限公司(INTERACTIVEIMAGETECHNOLOGIESLtd)在20世纪90年代初推出的EDA软件,但在国内开始使用却是近几年的事。相对其它EDA软件而言,它是个较小巧的软件,功能也比较单一,就是进行模拟电路和数字电路的混合仿真,但你绝对不可小瞧它,它的仿真功能十分强大,几乎100%地仿真出真实电路的结果,而且它在桌面上提供了万用表、示波器、信号发生器、扫频仪、逻辑分析仪、数字信号发生器、逻辑转换器等工具,它的器件库中则包含了许多大公司的晶体管元器件、集成电路和数字门电路芯片,器件库中没有的元器件,还可以由外部模块导入。在众多的电路仿真软件中,EWB是最容易上手的,它的工作界面非常直观,原理图和各种工具都在同一个窗口内,未接触过它的人稍加学习就可以很熟练地使用该软件。对于电路设计工作者来说,它是个极好的EDA工具,许多电路你无须动用烙铁就可得知它的结果,而且若想更换元器件或改变元器件参数,只须点点鼠标即可,它也可以作为电学知识的辅助教学软件使用,利用它可以直接从屏幕上看到各种电路的输出波形。ProteusProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:1.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。3.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。4.具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。由于本次毕业设计不仅需要原理分析,还需要进行硬件设计和调试,故本次毕业设计采用的比较常用的设计工具Protell99SE。3.3电源部分对于现在一个电子系统来说,电源部分的设计也越来越重要。对于一个实际的电子系统,要认真的分析它的电源需求。不仅仅是关心输入电压,输出电压和电流,还要仔细考虑到总的功耗,电源实现的效率,电源部分对负载变化的瞬态响应能力,关键器件对电源波动的容忍范围以及相应的允许的电源纹波,还有散热问题等等。本次电工测量复用表设计系统中使用到了+5V的电源,电源设计的原理图如图4,输入是+12V的直流电源。电路中使用到稳压的芯片是7805,7805是5伏的稳压芯片,这种芯片的好处是应用比较的简单,只需要接上几个电容就可以使用了。而且如果前段如果电源有轻微的波动几乎对后面的输出没有影响,这种芯片具有自己调节功能,电路中1N5819的作用是防止电源接反,C1、C2、C3、C4、C5、C6的作用是电源滤波。图4电源基于MSC-51单片机设计框图实现原理图3.4ADC0832模数转换本次毕业设计的电压、电流模拟量的采集是通过串行AD转换芯片来实现。串行AD转换芯片选用ADC0832,ADC0832是是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。3.4.1A8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0~5V之间;工作频率为250KHZ,转换时间为32μS;一般功耗仅为15mW;8P、14P—DIP(双列直插)、PICC多种封装;商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为.40°Cto+85°C;3.4.2CS_片选使能,低电平芯片使能。CH0模拟输入通道0,或作为IN+/-使用。CH1模拟输入通道1,或作为IN+/-使用。GND芯片参考0电位(地)。DI数据信号输入,选择通道控制。DO数据信号输出,转换数据输出。CLK芯片时钟输入。Vcc/REF电源输入及参考电压输入(复用)。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。3.4.3单片机对ADC0832正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。图5为ADC0832与单片机AT89C51的连接电路图。图5ADC0832应用电路图3.5复位电路随着测量技术的发展和微处理器的广泛应用,单片机系统的电路越来越复杂,而系统的可靠性问题也越来越突出,一般的单片机系统在工业现场等恶劣的环境下容易死机,要求系统在这些场合可靠稳定的工作,就必须外加监视电路。MCS-51的复位是由外部的复位电路来实现的。MCS-51单片机片内复位为,复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,图6兼有上电复位和按钮复位的电路。复位电路软件程序跑飞或者硬件发生错误的时候产生一个复位信号,控制MCS-51单片机从0000H单元开始执行程序,重新执行软件程序。图6上电复位电路在单片机设计中,若有外部扩展的I/O接口电路需初始复位,如果它们的复位端和MCS-51单片机的复位端相连,复位电路中的R、C参数要受到影响,这时复位电路中的R、C参数要统一考虑以保证可靠的复位。如果单片机MCS-51单片机与外围I/O接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围I/O接口电路的复位也可以不和MCS-51单片机复位端相连,仅采用独立的上电复位电路。一般来说,单片机的复位速度比外围I/O快些。若RC上电复位电路接MCS-51单片机和外围电路复位端,则能时系统可靠地同步复位。为保证系统可靠复位,在初始化程序中应用到一定的复位延迟时间。3.6晶振电路时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。内部时钟方式电路图如下图7所示:图7内部时钟电路MCS-51单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。电路中的电容C1和C2典型值通常选择为30PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz-12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。MCS-51单片机常选择振荡频率6MHz或12MHz的石英晶体。外部时钟方式:外部时钟方式电路图如下图8所示,外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。外部的时钟源直接接到XTAL2端,直接输入到片内的时钟发生器上。由于XTAL2的逻辑电平不是TTL的,因此要外接一个4.7k-10k的上拉电阻。图8外部时钟电路这次的设计采用MCS-51的内部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51单片机同时工作。在这次设计中只用一个MCS-51单片机,不需要振荡脉冲信号。3.7单片机基本工作电路本设计的核心是单片机电路,考虑到我们需要两个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,我们选用了常用的AT89C51单片机。AT89AT89C511、+5V电源;2、晶振电路;3、复位电路;4、上拉电阻;其最简单的工作原理图如图9:图9AT89S51单片机工作电路3.8显示电路8段数码管属于LED发光器件的一种。LED发光器件一般常用的有两类:数码管和点阵。8段数码管又称为8字型数码管,分为8段:A、B、C、D、E、F、G、P。其中P为小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共端,两根之间相互连通,如图所示:图10LED的管脚和电路原理从电路上,数码管又可分为共阴和共阳两种。用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示。图11显示电路静态显示就是显示驱动电路具有输出锁存功能,单片机将所有要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的I/O接口,该接口用于笔划段字型代码。这样单片机只要把要显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机在发送新的字形码。另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画段a-h同名端连在一起,而每一个显示器的公共极COM各自独立的受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM段,而这一段是由I/O控制的,由单片机决定何时显示哪一位了。动态扫描用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余晖效应,给人的印象就是一组稳定的显示数据。本次毕业设计需要4个数码管,所以采用动态的显示的方式。3.9按键电路按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图12就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。图12按键电路按键消抖:通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号小型如下图。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如下图13。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。图13按键过程按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动,可用硬件或软件两种方法。

硬件消抖:在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。图14RS触发器图14中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。软件消抖:如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。4软件设计4.1软件设计概述软件设计是一个创造性的过程,对一些设计者来说需要一定的资质,而最后设计通常都是由一些初步设计演变而来的。从书本上学不会设计,只能经过实践,通过对实际系统的研究和实践才能学会。对于高效的软件工程,良好的设计是关键,一个设计得好的软件系统应该是可直接实现和易于维护、易懂和可靠的。设计得不好的系统,尽管可以工作,但很可能维护起来费用昂贵、测试困难和不可靠,因此,设计阶段是软件开发过程中最重要的阶段。直到最近,软件设计在很大程度上仍是一个特定过程。一般用自然语言给定一个需求集,预先作非正式设计,常常用流程图的形式说明,接着开始编码,当系统实现时设计还需修改。当实现阶段完成后,设计往往已与起初形式相去甚远以至于设计的原始文档完全不适合对系统的描述。4.1.1软件设计的步骤大型的软件设计是一个庞大的系统工程,需要前期的市场调查、需求分析,还需要各个行业的支持。本次毕业设计的程序是一个很简单的过程,所以步骤也相对应的简单了许多。第一步:分析整个系统可以由几个子系统组成,并考虑几个子系统之间的内在的关系。第二步:编写各个子系统的程序,最后组合在一起,得到整个系统。第三步:编译,查错,改错(包括语法错误、逻辑错误)第四步:把编译,看是否得到我们需要的结果,如果得不到结果就回到第三步,直到最后得到我们想要的结果。4.1.2软件设计任务软件设计主要是针对硬件设计里面的控制部分的,这里指AT89C本次毕业设计采用汇编语言编程,软件部分需要完成的任务:单片机初始化、ADC0832电压、电流采样,功率因素角测量、功率因素计算、有用功率计算、无用功率计算、显示参数、按键处理、外部中断、延时程序、定时程序。4.2单片机编程集成环境KeilC51本次毕业所选用KeilC51中的编译/连接器软件KeiluVision2作为编译器/连接工具,使用万利公司Medwin软件作为集成开发环境。Medwin是万利电子有限公司的软件,Medwin是一个具有MicrosoftVisualStudio窗口风格的集成开发环境。支持带语法分析的彩色文本显示、源程序断点设置记忆、实时程序计数器、PC显示、仿真器断电自动重载、自适应连接仿真器等功能,并且支持全空间程序代码和数据空间的模拟仿真、TraceBuffer跟踪器。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.2.1KeilC51单片机软件开发系统的整体结构C51工具包的整体结构,如图所示,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。图154.2.2KeilC51功能介绍4.2.2.1

KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编

器,实时操作系统,项目管理器,调试器。uVision2

IDE可为它们提供单一而灵活的开发环境。C51

V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51

V7版本无疑是8051开发用户的最佳选择。5.2.2.2uVision2集成开发环境项目管理

:工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。

uVision2包含一个器件数据库(device

database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定

微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra

data

pointer)或者加速器(math

accelerator)的特性。

uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。

集成功能:uVision2的强大功能有助于用户按期完工。a.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。b.文件寻找功能:在特定文件中执行全局文件搜索。c.工具菜单:允许在V2集成开发环境下启动用户功能。d.可配置SVCS接口:提供对版本控制系统的入口。e.PC-LINT接口:对应用程序代码进行深层语法分析。f.Infineon的EasyCase接口:集成块集代码产生。g.Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision24.2.2.2源代码编辑器

:uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。

断点:uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributes

column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。调试函数语言:uVision2中,你可以编写或使用类似C的数语言进行调试。

a.内部函数:如printf,

memset,

rand及其它功能的函数。b.信号函数:模拟产生CPU的模拟信号和脉冲信号(simulate

analog

and

digital

inputsto

CPU)。c.用户函数:扩展指令范围,合并重复动作。变量和存储器:

用户可以在编辑器中选中编程来观察其取值。双层窗口显示,可进行以下调整:

当前函数的局部变量

b.用户在两个不同watch窗口页面上的自定义变量

c.堆栈调用(call

stack)页面上的调用记录(树)(call

tree)

d.不同格式的四个存储区4.2.2KEIL

C51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。存储器和特殊功能寄存器的存取:C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字——at,还能把变量放入固定的存储器.存储模式(大,中,小)决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以

支持应用程序的调试。中断功能:C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。

灵活的指针

:C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。

4.2.2.4代码优化

通用代码优化

:常量重叠(constant

folding)通用子表达式删除(common

subexpression

elimination)

长度缩减速(reduction)控制流优化(control

flow

optimization)寄存器变量使用(register

variable

usage)

寄存器间参数传递(parameter

passing

in

register)

循环(loop

rotation)死码删除(dead

code

elimination)

通用Tail

Merging通用子程序块打包(block

subroutine

packing)

8051特殊优化

:a.孔颈优化(peephole

optimization)b.跳转-分支优化(switch-case

optimization)c.中断函数优化(interrupt

function

optimization)d.数字覆盖(overlaying)e.扩展入口优化(extended

access

optimization)

寄存器优化:C51为函数参数和局域变量分配了9个CPU寄存器。寄存器间最多可传递三个参数。P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。

C语言实时库:C51实时库含100多种功能,其中大多数是可再入的。库支持所有的ANSI

C的程序,与嵌入式应用程序的限制相符。固有程序为硬件提供特殊指令,如:nop,

testbit,

rol,

ror。

A51宏汇编:

A51宏汇编支持标准宏和MPL宏。要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。

在新的A51

V7版本中,允许用户C包含的头文件来定义常量和SFR。如今,一个单一头文件可被应用到X程序和汇编程序中。4.2.2.5测试程序uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能.DDE界面和shift语言支持自动程序

测试。

CPU和外设模拟装置:

uVision2为8051及衍生产品提供了高速CPU模拟功能和片上扩展口.在对话框内可直接观察和修改I/O值,也可以用预装的C-LIKE

宏指令书写符号函数来提供动态输入。

目标监控器

:uVision2含一个可配置的监控器,可测试目标器件上的软件体。监控器用uVision2的调试器直接工作,可支持代码区。它要求目标系统具备6字节堆栈空间,6KB的代码ROM和256字节Xdata

RAM。

MCB517/251启动工具包:

在开始一项8051工程时,MCB启动工具会对你有很大帮助。每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。用

户可在检测8051性能的同时,查看开发工具的可行性。

MCB517AC板含高性能InfineonC517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位数据指针,一个高速运算单

元。同时包含对81C90CAN控制器和代码区的支持。

4.3软件设计流程图流程图是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程线来指示算法的执行方向。由于它简单直观,所以应用广泛,特别是在早期语言阶段,只有通过流程图才能简明地表述算法,流程图成为程序员们交流的重要手段。4.4程序设计具体分析4.4.1主程序主程序主要完成的任务是:系统初始化、调用电压采样子程序、调用电流采样子程序、调用扫描键盘子程序、调用显示参数子程序。主程序流程图如图16:图16主程序流程图系统初始化主要完成单片机中断的开启和关闭,本设计主要用到了单片机的外部中断,开启和关闭单片机中断的方式主要是置位或者清零IE寄存器的某些位。具体参考MSC-51单片机教材。主程序如下:;*********初始化主程序*********INIT:MOVIE,#80H;中断允许MAIN:MOVR0,#02HLCALLADCONV;读取电压值MOV40H,R0;读取电压值存放在40HMOVR0,#03HLCALLADCONV;读取电流值MOV41H,R0;读取电流值存放在41H;(00H:CH0+CH1-,01H:CH0-CH1+,02H:CH+,03H:CH-)MOV43H,#00H;清除上一次的功率因素角MOVTL0,#00HMOVTH0,#00HSETBEX0;启动外部中断,计算功率因素角LCALLDEPLAY;等待中断到来LCALLKSCAN;扫描按键LCALLDIS;显示参数LJMPMAIN;循环执行4.4.2读取电压和电流电压和电流采样都是通过串行AD转换芯片ADC0832来实现的,ADC0832是双通道的AD转换芯片,所以电压采用和电流采用的子程序可以设计成一个子程序,最后通过选择不同的通道来选择是电压采样还是电流采用。在介绍具体的子程序设计之前,我们首先介绍一些与ADC0832相关的知识。ADC0832是美国模拟器件公司生产的8位串行模数转换芯片,其数据输出采用SPI串行输出,与单片机连接时只需要占用三个普通I/O口。SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。图17为ADC0832的读写数据的时序图,在读写数据前,CS必须要拉低,然后连续两个CLK的上升沿读取通道的值,接下来的连续的8个CLK的下降沿输出采样值,高位在前,地位在后,最后的8个CLK的下降沿输出相同的采样值,低位在前,高位在后。图17ADC0832读写数据时序图图18为读取电压和电流的流程图,流程图中描述了ADC0832的读写数据的过程,根据此流程图很容易编写出读写数据的程序。图18读取电压和电流子程序流程图主程序如下:;******ADC0832读数据子程序******ADCONV:SETBP1.3;初始化通道选择NOPNOPCLRP1.0;拉低/CS端NOPNOPSETBP1.1;拉高CLK端NOPNOPCLRP1.1;拉低CLK端,形成下降沿MOVA,R0MOVC,ACC.1;确定取值通道选择MOVP1.3,CNOPNOPSETBP1.1;拉高CLK端NOPNOPCLRP1.1;拉低CLK端,形成下降沿2MOVA,R0MOVC,ACC.0;确定取值通道选择MOVP1.3,CNOPNOPSETBP1.1;拉高CLK端NOPNOPCLRP1.1;拉低CLK端,形成下降沿3SETBP1.3NOPNOPMOVR7,#8;准备送下后8个时钟脉冲AD_1:MOVC,P1.2;接收数据MOVACC.0,CRLA;左移一次SETBP1.1NOPNOPCLRP1.1;形成一次时钟脉冲NOPNOPDJNZR7,AD_1;循环8次MOVC,P1.2;接收数据MOVACC.0,CMOVR0,A;前8位MOVR7,#8AD_13:MOVC,P1.2;接收数据MOVACC.0,CRRA;左移一次SETBP1.1NOPNOPCLRP1.1;形成一次时钟脉冲NOPNOPDJNZR7,AD_13;循环8次CLRCSUBBA,R0JNZADCONV;数据校验SETBP1.0;拉高/CS端CLRP1.1;拉低CLK端SETBP1.2;拉高数据端,回到初始状态RET4.4.3功率因素角中断程序前面介绍了功率因数角,代表了电压U与电流I之间的夹角,即电压与电流间的相位差。图为电压和电流之间经过相与得到的波形,其中T2表示电压或者电流的周期,T1表示电压和电流的时间差,所以相位差。下降沿到来时触发外部的中断0,同时计数器开始计时,程序进入等待查询中,当检测到上升沿到来时候计数器停止计数。读取计数器TH0和TL0的值,时间T1=(TH0*256+TL0)us。相位差,为了方便程序设计,电压或者电流的周期选用92.16ms,即T2=9616000us。又由于单片机对浮点数数据处理能力不强,我们这里相位差取整数,得到相位差。图19输入的方波波形图20为功率因素角中断子程序流程图,在进入中断前,首先要保护好程序中断现场,进入中断后开始计数器开始计时,应用循环等待的方式等待上升沿的到来。根据此流程图编写中断子程序。图20功率因素角中断子程序主程序如下:;********INTT0中断子程序******INTT0:PUSHACCPUSHPSWSETBTR0;开始计时CCK:SETBP3.2JNBP3.2,CCKCLRTR0;停止计时MOV43H,TH0;计算功率因素角POPPSWPOPACCRETI4.4.4计算有用功率和无用功率前面已经对电压和电流进行了采集,经过外部中断,功率因素角也计算出来。我们可以利用采集得到的电压、电流和功率因素角计算出有用功率和无用功率。有用功率,无用功路。4.4.5扫描按键子程序由于本系统是实现的一机多用途的功能,需要显示的参数有电压、电流、功率因素角和有用功率。如果这些参数同时显示,占用的资源比较多。所以采用通过按键选择的方式来轮流显示。系统一共有两个按键,一个按键的作用是:显示后一个参数;另一个按键的作用是:显示前一个参数;显示的顺序是电压、电流、功率因素角、有用功率和无用功率。显示的顺序存放在单片机的寄存器的R1中,R1的取值在00H~04H。R1=00H显示电压,R1=01H显示电流,R1=02H显示因素角,R1=03H显示有用功率,R1=04H显示无用功率,图21为扫描按键子程序流程图。图21扫描按键流程图按键扫描程序如下:;*********扫描按键子程序******KSCAN:SETBP1.5MOVC,P1.5JCKS_1CJNER1,#04H,KS_2INCR1RETKS_1:SETBP1.6MOVC,P1.6JCKS_2CJNER1,#00H,KS_2DECR1KS_2:RET4.4.6二进制转BCD子程序前面已经通过采用和计算得到了电压、电流、因素角、有用功率和无用功率,但是要通过数码管显示出来,还需要把前面的参数的二进制转变成BCD码。图22为显示内容流程图。图显示内容子程4.4.7一般的显示有LED灯、数码管、液晶显示。LED灯有亮和灭2种状态,所以一般用来显示状态;数码管可以显示0~9和小数点,一般用来显示数字;液晶一般用来显示比较复杂的内容。本次毕业设计需要显示得参数不是很复杂,采用4位的数码管能够满足要求。由于考虑节省资源,本设计采用动态扫描的方式显示参数。图23为显示流程图,根据此流程图编写程序。图23显示流程图显示子程序如下:;*********显示子程序***********DIS:MOVDPTR,#TABMOVP2,#20HMOVA,50HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示个位MOVP2,#08HMOVA,51HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示十位MOVP2,#10HMOVA,52HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示百位MOVP2,#04HMOVA,53HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示千位RET;*******共阴数码管表***********TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;8段共阴数码管4.4.8在等待上升沿的到来的时候,程序需要延时等到,在显示的时候也需要延时。图24为延时子程序流程图,根据流程图编写程序。图24延时流程图延时程序如下:;*********延时子程序***********DELAY:MOVR7,#0FFHLOOP0:MOVR6,#0FFHLOOP1:DJNZR6,LOOP1DJNZR7,LOOP0RET4.5综合程序有了前面的对整个系统的软件设计的具体分析后画出的流程图,下面的工作就是根据流程图编写程序。编写程序是一个相当复杂的过程,要求编程人员具有很强逻辑思维,而且要在对整个系统工作原理相当熟悉的基础上面才能完成任务。在编写程序的时候要养成作注释的习惯,这样既利于自己以后的修改,又利于以后程序的维护。尤其是使用汇编语言编写程序的时候更是要注释,因为汇编语言是一门比较低级的语言,跟我们的高级语言不同,汇编语言比较的烦琐。当然编写程序遇到困难的时候还需要很大技巧。本次电工测量复用表设计见附2。总结近十几年来,单片机作为微计算机一个很重要的分支,应用广泛,发展迅速,已经对人类社会产生了深远的影响。单片机在生产过程控制、自动检测、数据采集及处理、科技计算、商业管理及办公室自动化等方面获得了广泛的应用。单片机具有体积小、重量轻、耗能省、价格低可靠性和通用灵活性等特点,尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性好、结构简单、价格低廉、易于使用等优点,在我国已经得到广泛的应用。由于MCS-51单片机易于学习、掌握、性能价格比高,另外以MCS-51单片机的基本内核为核心的各种扩展型、增强型的单片机不断推出,所以在今后若干年内,MCS-51系列单片机仍是我国在单片机应用领域中首选机型。单片机技术在自动控制领域中有着十分广泛的应用。如汽车、航空、电话、传真、视频等,很多行业设计自动控制情况下,通常会涉及单片机技术。随着电子技术的飞速发展,以前的机械式的电压、电流、功率因素、有用功率和无用功率测量仪表已经渐渐的被电子仪表所替代。而且现在的电子产品的一个显著的特点是:体积越来越小,功能越来越多元化,性能越来越好。通过半年来的努力,主要完成了系统的电源设计、ADC0832模数转换、复位电路、晶振电路、单片机基本工作电路、显示电路、按键电路的设计;软件部分完成了单片机初始化、ADC0832电压、电流采样,功率因素角测量、功率因素计算、有用功率计算、无用功率计算、显示参数、按键处理、外部中断、延时程序、定时程序。此次课程设计着重提高学生在单片机应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。我们通过电路设计、编程、仿真、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉了开展科学实践的程序和方法。在文中也综合系统详细的给出了线路图和程序清单。致谢在本次毕业设计中,我从指导老师××老师身上学到了很多东西。××老师认真负责的工作态度,严谨的治学精神和深厚的理论实践水平都使我们深感敬佩。他无论是在理论上还是在实践中,都给予我很大的帮助,使我们得到不少的提高,尤其是他对我的关心所明了他的责任心和为人师表所具备的爱心,在这次毕业设计表现无疑。这对于我以后的学习和工作都是一种帮助,感谢他细心又耐心的辅导。还有我的师姐××对我的帮助,只有她帮助我才能更好的完成本次的毕业设计。非常感谢答辩委员会的全体老师对本文的评审,并提出了宝贵的意见和建议。谨此向老师和所有关心、帮助过我的同学、朋友表示最诚挚的谢意!深深感谢我的父母,他们的爱和关怀是激励我奋发前进的不朽动力!

参考文献谢自美主编。电子线路设计。试验。测试(第一版)。武汉:华中科技大学出版社,2000。张毅刚等编著。MCS-51单片机应用设计。哈尔滨:哈尔滨工业大学出版社,2003。康华光主编。电子技术基础数字部分(第四版)。北京:高等教育出版社,2003。王建校、杨建国、宁改娣等。51系列单片机及C51程序设计【M】北京:科学出版社。2002年。李戎,压力传感器的现状及发展趋势,西安工业学院学报,2002,22(3):241-243。刘广玉,传感器的现状和未来,测控技术,1999,18(3):1-4。PhillipcTodd.UC3854ControlledPowerFactorCorrectionCircuitDesign.UnitrodeApplicationNote.UI34PhillipcTodd.B(xtP0werFactorCorectorDesignwiththeuc3853[J].UnitrodeApplicationNote,UI59.李玉玲,吴健儿,张仲超.功率因数校正技术的控制策略综述[J].通信电源技术,2003,(12)高曾辉,吴昕.Ic~OSt型PFC的实验研究[J].西南民族学院学报(自然科学版),2002,(11).王玉峰,肖永江.单相BOOST功率因数校正主电路模型的建立[J].电气传动自动化,2002,(2).王兆安,杨君,等.谐波抑制和无功功率补偿[M],机械工业出版社,1998.HAORuixiang,CHENGZhiguang,YOUXiaojie。ANovelHarmonicsCurrentsDetectionMethodBasedonRotatingd-pReferenceFrameforActivePowerFilterElectronicsSpecialistConference[J].Aachen(Grmany)2004:3034-3038,GodoyM,Bimal2k.Neuralnetworkbasedestimationoffeedbacksignalsforavectorcontrolledinductionmotordrive[J].IEEETransonIA,1995,31(3):620-629.周雒维,江泽佳,吴宁.基于补偿电流最小原理的谐波与无功电流检测方法[J].电工技术学报,1998,13(3):33.36.HabroukM,DarwishMK.oDesignandimplementationofamodifiedFourieranalysisharmoniccurrentcomputationtechniqueforpoweractiveusingDSPs[J].IEEEProeElectrPowerAppL2001,148,(1):21-27.

附录附1:系统总体电路图附2:单片机汇编程序目录摘要 IVAbstract V第一章绪论 1HYPERLINK"file:///H:\\准备修改传百度文档\\合并2016121020160713\\ztf2017.11.11\\电气%20工科%20毕

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论