1、 目 录前 言11 绪论21.1论文的选题背景21.2论文的研究意义31.3 国内外现状31.4 本课题的主要工作及内容安排42.方案论证53 基础知识63.1 AT89C51单片机性能63.2触发器74LS74103.3定时器/计数器103.4中断系统133.5 LCD1602液晶显示164系统软件设计174.1系统软件的编译环境174.2系统软件总流程图205系统的硬件设计245.1 输入整形电路245.2 AT89C51主控制器模块256总结与展望286.1 总结286.2 展望28基于AT89C51的频率和功率因数的测量陈强(指导教师:张先鹤)(湖北师范学院机电与控制工程学院,中国 黄
2、石 435002)摘要:在电力系统管理过程中,有必要对功率因数和频率进行实时、准确的测量。电参量监测系统能详细记录电力系统运行过程中的电能质量指标、监测电能质量污染源,从而为电网电能质量的治理和改善提供依据,对保证电力系统的安全、经济及稳定运行有重要的意义。介绍了通过测量单相电流及电压之间的相位差来得到三相系统的功率因数的检测方法,并对该方法的原理作了详细的说明。文章阐述了基于AT89C51单片机频率和功率因数的测量,其中包括系统硬件和软件设计,实践表明该方法简单可靠,精度高,易于实现。关键词:AT89C51;频率;功率因数;相位差;交流中图分类号:TM92A Measurement Syst
3、em of Frequency and Power Factor Based on AT89C51 MicroprocessorChen Qiang(Tutor:Zhang Xianhe)(College of Mechatronics and Control engineering, Hubei Normal University, Huangshi, China 435002)Abstract : It is necessary to detect the power factor in the course of electric power system managementElect
4、ric parameter detection system can keep detailed records power quality indices、monitoring power quality pollution sources when the system running,Thus provides the basis for The governance and improve of power quality. It is important to ensure the safety of electric power system and Economic stabil
5、ity operation. The designing manner ofthepower factor detection ofthree-phase alternating current machine is presentedIt is counted by the phase difference of angle between onephase electric current and the same phase voltageThis paper illustrated the measurement and control system of frequency and
6、power factor based on AT89C51 microprocessor,including its hardware and software design Running results showed that it is simple,credible 、 precise and accessible to reality.Key words: AT89C51;frequency ;power factor ;phase difference ;AC湖北师范学院机电与控制工程学院2012届学士学位论文(设计)基于AT89C51的频率和功率因数的测量 陈强(指导教师:张先鹤
7、)(湖北师范学院机电与控制工程学院 中国 黄石 435002)前 言频率和功率因数是交流电路中的重要参数,是衡量电力系统是否经济运行的一个重要指标,也是供电线路在线监测系统的重要检测量,在功率因数补偿系统中需对其进行实时测量 。因此设计出结构简单、检测精度高的频率和功率因数测量电路十分必要。以前的测量方法主要是模拟法,模拟法采用分离原件,简单经济,有些场合仍然适用,但是精度不高,维护麻烦。而此本研究课题中作者采用数字法,即采用单片机智能控制,可以对被测电路的电压、电流进行采样,利用波形在三个过零点之间就是一个整周期的特点,通过装置的过零比较器将波形转化为方波信号,测量两个上升沿,同时启动定时器
8、计数,这样,两个上升沿之间定时器的计数差值即为一个整周期的计数值,在本课题中,测量一个周期内脉冲的个数就可以测量频率。利用单片机处理后的电压和电流间的相位差即可测量出功率因数。该方法具有测量精度高,速度快,操作简单,直接显示被测量,是比较好的频率和功率因数测量方法。交流电压和电流信号通过电压电流互感器,然后经过过零比较器将处理后的信号输送到单片机内部,通过单片机的处理,再由显示电路显示频率和功率因数,单片机采用AT89C51,显示电路由LCD1602组成。1 绪论1.1论文的选题背景现代社会电能是一种使用最为广泛的能源,其应用程度是一个国家发展水平的主要标志之一。随着科学技术和国民经济的发展,
9、对电的需求量日益增加,同时对电网运行的稳定性要求也越来越高,对电网的实时监控就显得非常重要。随着我国电力行业的迅猛发展,电网供电品质越来越受到电力部门以及用户的关注。 在电力监控系统中,为了维护电网运行的稳定和安全,保证用户用电的可靠性,需要电网中各种电参量维持稳定值不变。这就需要实时的采集各种电参量,用来监控以保证电网的稳定。近年来,随着我国经济和社会的发展,社会对电力的需求量与日俱增,电力供应日趋紧张,严重制约我国经济社会的发展,并且我国还将持续一段时间出现用电紧张情况,这一问题已经引起了国家有关部门的高度重视并颁布了相关标准,电力系统正常、安全、高效的运行对于国民经济和社会的健康发展有着
10、极为重要的意义。在当前情况下,为了能做到合理有效地利用有限的电力资源,这就需要对电力参数进行准确、实时地监测。众所周知,在工业生产和日常生活中,电力对社会和个人有着密切的关系和重要的意义,因为电流、电压过低过高,均能影响各种电器设备的正常使用功效及设备寿命,严重的还会危及人身安全,并且,对电压、电流、功率因数和频率等电力参数的准确、快速地检测、监控可以及时掌握供电线路和设备运行状态,及时发现电网中的故障或隐患,进而采取合理和有效的措施,保证电力系统及设备运行良好。近年来,随着电力电子技术的迅速发展,在化工、冶金、电力传送、电气化铁道等行业,以及家用电器中非线性负荷的使用日渐增多,特别是一些大功
11、率整流设备和电弧炉等的大量应用,导致在电力系统中产生大量的谐波,进而引起电压、电流波形发生畸变,电力谐波不仅会严重危害供用电设备和电气仪表,使供电质量不断下降,影响计量设备的测量控制,不能准确地反映电力系统运行的情况,损害用户的利益,也会对电力系统本身造成不良的影响和危害。在很长一段时间来我们还没有一套功能完整的装置来测量电力参数,通常关心的是电力供应量方面,较少关心电力参数和谐波情况,并且现有的一些检测器件还依赖于有百年历史的动圈式仪表和交流互感器之类的电工仪表,这些仪表只能显示电力参数的有效值和模拟值,误差大,精度低,不能满足实际测量的要求,有些也仅考虑了测量基波分量的情况,较少考虑对谐波
12、的测量,那么电力参数的实时准确的测量成了必须要解决的问题。1.2论文的研究意义在微机技术发展初期,电力监控系统普遍采用经过变送器的直流采样方法,即经过变送器整流后的直流量。这种方法软件设计简单,对采样值只需作一次比例变换即可得到被测量的数值,因而采样周期短。由于以上特点,该方法在微机应用初期得到了广泛的应用。但经过变送器的直流采样方法存在一些问题,如测量精度直接受变送器的精度和稳定性的影响,设备复杂,监控系统造价高等。随着科技的发展,仪器仪表的发展更新越来越进步。作为工业自动化技术工具的自动化仪表与控制装置,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。微机技术的发展,使微机系
13、统主频提高,指令功能变强,模数转化芯片技术的提高,成本的降低,使得交流采样的运用成为可能。 由于交流采样去掉变送器,按一定的规律对被测量的瞬时值进行采样,用一定的算法求得被测量,即用软件的功能代替硬件的功能,从而降低了系统造价。从以上可见,研制一种电力参数检测装置具有非常重要的意义,它能对如电压、电流、功率因数和频率等重要的电力参数进行实时检测,还要对电力系统中的高次谐波进行实时分析,从而使人们采取进一步的措施,保证电能质量,保证电力系统安全、可靠、经济地运行。1.3 国内外现状电能质量的标准和技术是随着电力系统的发展和用户需求的变化而变化和发展的。大量电力电子设备的使用是新技术的运用,同时也
14、是电能质量恶化的制造者和受害者。有目共睹,电力质量问题是严重的。近几十年来全球范围内因电能质量而引起的重大电力事故己达20多起,每年电能质量扰动和电力环境污染引起的国民经济损失高达300亿美元。其实,供电质量问题不仅对大型企业的正常生活影响较大,同时对重大活动,政治活动安全供电影响也较大。我们需要监察分析电力系统动态和稳态两大电能质量问题,为预防和减少电能质量引起的故障,需从统计数据方面提供采取措施的依据。国外对电能质量研究起步较早,目前有关电能质量控制的研究正掀起高潮,从所使用的理论到电能质量评价指标体系的建立;从全国性的电能质量普查、监测到用户终端电气环境的定义,各种电能质量问题分析方法的
15、提出,以及“用户电力技术”等电能质量控制技术的研究和装置的开发正深入进行。1996年,IEEE将每两年召开一次的电力谐波国际学术会议(ICHPS)更名为电力谐波与电能质量学术会议(ICHAP),把电能质量提高到一个新的认识高度。在从事电能质量产品的企业中,美国的FLUKE公司和瑞士的LEM公司的产品在全球都有广泛的应用。国内致力于电能质量产品研究的企业很多。总体来看,国内广泛采用统计型电压表监测电压质量水平,这些电压监测仪只能监测电压合格率,需要人工抄表,缺乏统计分析功能,而谐波和电压波动、闪变的测量则用便携式测量仪器,分别对变电所的各级母线电压、主变压器各侧的谐波电流、电容器组的谐波电流进行
16、测量、对大、中型非线性负荷用户和电厂以及低压配电网电流进行测量,然后根据测量数据进行汇总、统计分析,对电网的电能质量水平进行评估。这种电能质量监测手段和管理模式存在着实时性差、测量指标少、工作量大、测量误差大、效率低等明显的局限性。当前,电力参数检测仪器正朝着以下方向发展:(l)、体积小型化、功能多样化、功耗减小,维持电流降低化、采用新器件更高可靠性、显示方式普遍更新。(2)、实现网络化智能、在线监测。随着传感器技术、计算机技术、信息技术等发展,系统监测技术广泛采用这些先进的科研成果,使在线监测逐步走向实用化阶段:监测装置可作为接入访问平台进入网络,可以实现设备资源和数据资源共享及远程操作。(
17、3)、虚拟化。虚拟仪器是建立在标准化、系列化、模块化、积木化的硬件和软件平台上的完全开发的系统,结合电力系统的应用,开发应用虚拟仪器技术建立的高速、高效、大容量、多功能、智能化的实时监铷系统。1.4 本课题的主要工作及内容安排本课题从测量装置的硬件设计、软件设计、算法等角度进行研究主要完成测量装置的设计和各部分功能的软硬件调试,在论文中用原理图、流程图、框图、程序等详细介绍了装置电源、信号采集、通讯、控制等各部分功能单元的软硬件实现。第一章为绪论,介绍了本课题的研究背景、研究意义、国内外现状以及全文主要工作和内容安排。第二章为方案论证,给出了两种不同的测量方法,从中择优选取。第三介绍了一些基础
18、知识,对文中用到的基础知识做了简单的介绍,时读者在接下来的设计中更容易弄清其设计原理。第四章为测试仪的软件设计。主要阐述了测试仪的软件初始化设计、各种算法的实现以及外围设备的控制,并给出了主要处理子程序流程图第五主要对本装置的硬件进行简要的介绍,介绍的本装置的主要功能以及系统的总体框图,并对其原理流程作简要介绍。第六对全文进行总结。2.方案论证由于频率的测量都是用相同的方法,故只讨论功率因数的测量(1)方案一 提取电压来检测功率因数NLRpU22U1U3负载U3U1U2图 2 电压测量原理示意图与电压相量图(a)(b)通过对电压的提取来检测功率因数的原理如图 2 (a)所示,首先采用 3个高精
19、度的 WB系列数字式交流电压真有效值传感器分别对被测电路的电源电压 U1、附加可调电阻 RP两端电压 U2及负载电压 U3进行检测。可调电阻 RP的作用是使附加电阻尽可能小,以减小对被测负载的影响,又可得到数值适当的电压U2满足功率因数计算的要求。由电路理论,可画出电压 U1 、U2 和U3 的相量图如图 2(b)所示,则即是被测负载的功率因数。根据几何学中的余弦定理可得,由式(2)可知,只要 (1) 则由图2(b)可知,所以 (2)将电压 U1、U2、U3经过运算后就可求出负载的功率因数 。(2)方案二 通过电压互感器和电流互感器得到低压交流信号,然后通过整形电路将交流信号转换为TTL方波脉
20、冲。相位差的计算原理是利用输入两路信号过零点的时间差,以及信号的频率来计算2路信号的相位差。两路信号的相位差:其中,N为两路信号的上升沿分别触发计数器的差值,Fk为单片机时钟频率,T为输入信号的周期。测得相位差后,功率因数即为,具体设计参考本文的硬件和软件设计部分。方案一是一种比较可行的功率因数的测量方法,但需要应用到通信接口电路将被测功率因数进行远距离传输,所以硬件部分设计比较繁琐,实现起来的比较困难,而方案二简单、易于实现,并且具有比较高的测量精度,与我们所学的知识密切相关,故选择方案二。3 基础知识3.1 AT89C51单片机性能图3.1 AT89C51引脚图AT89C51是一种带4K字
21、节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方
22、案。(1) AT89C51的主要特性如下:与MCS-51兼容4K字节可编程快闪存储器寿命:1000次写擦数据保留时间:十年1288位内部RAM32可编程IO线两个16位定时器计数器五个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.1.1特性概述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计
23、数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(2) 其管脚的具体说明如下:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上
24、拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接
25、收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3
26、口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态A
27、LE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(3)振荡器特性:XTAL1和XTAL2分别为反向放大器
28、的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2触发器74LS7474LS74内含两个独立的D上升沿双d触发器,每个触发器有数据输入(D)、置位输入()复位输入()、时钟输入(CP)和数据输出(、)。、的低电平使输出预置或清除,而与其它输入端的电平无关。当、均无效(高电平式)时,符合建立时间要求的D数据在CP上升沿作用下传送到输出端。3.3定时器/计数器 由于在本课题的设计中会用到单片机的定时/计数功
29、能,所以在这里将定时器/计数器的特点详细介绍。定时和计数是计算机控制系统中两个重要的功能,在实际系统中应用极为普遍,89C51单片机内部有两个16位可编程定时/计数器,即定时器T0和定时器T1。89C51单片机内部还有两个专用寄存器TMOD、TCON,可通过编程来设定有关参数,如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。(一)TMOD和TCNO寄存器89C51单片机内部设置的两个16位可编程的定时器/计数器T0和T1,它们可以处于计数方式或定时方式。可通过设置特殊功能寄存器TMOD中都有一个控制位来选择T0或T1位定时器还是计数器。其状态字均在响应的特殊功能寄存器中,通过对
30、控制寄存器的编程,用户可以方便地选择适当的4中工作模式中的一种。图3.2 89C51单片机定时器/计数器的结构图89C51单片机定时器/计数器的结构如图3.2所示。其中,特殊功能寄存器TMOD用于控制和确定个定时器/计数器的功能和工作模式;特殊功能寄存器TCON用于控制定时器/计数器T0、T1的启动和停止计数,同时包含定时器/计数器的状态。它们的内容靠软件设置。系统复位时,寄存器的所有位都被清零。1. 工作方式控制寄存器TMOD图3.3 TMOD寄存器个为定义TMOD用于设定定时器/计数器的工作方式及四种工作模式中的一种,其各位的定义如图3.3所示。TMOD地址为89H,高4位位定时器T1的方
31、式控制字段,低4位位定时器T0的方式控制字段。(1)门控位GATE:当GATE=0时,定时器/计数器只有软件控制位TR0或TR1来控制启停。TR1位为1,定时器启动开始工作;位0时,定时器调整工作。当GATE=1时,定时器/计数器的启动要由外部中断引脚和TR1为共同控制。只有当中断引脚和为高时,TR0或TR1置1才能启动定时器工作。(2)C/: C/=0为定时器方式,采用晶振脉冲的12分频信号作为计数器的计数脉冲,即对机器周期进行计数。若选择12MHz晶振,则定时器的计数脉冲为1MHz。从定时器的计数值便可求得技术时间,故称为定时器方式。 C/=1为计数器方式,采用外部引脚(T0为P3.4,T
32、1为P3.5)的输入脉冲作为计数脉冲。当T0(或T1)输入发生高到低的负跳变时,计数器加1,最高计数频率为晶振频率的1/14。M1 M0:定时器的工作方式由M1M0二位的状态确定,对应关系如下所示。M1 M0 工作方式 功能描述0 0 方式0 13位的计数器,TL0只用低5位0 1 方式1 16位的计数器1 0 方式2 8位的自动重装计数初值的计数器1 1 方式3 T0分成2个独立的8位计数器 2. 定时器/计数器控制寄存器TCON 控制寄存器TCON的主要功能是用于定时器的启动、停止以及在溢出时设定标志位和外部中断触发方式。它的字节地址位88H,位地址位88H8FH。其控制字各位的定义如表3
33、.1所示。D7 D6 D5 D4 D3 D2 D1 D0表3.1 TCON寄存器个位定义TF1TR1TF0TR00OIE1IT1IE0IT0 低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
34、为定时器T0的溢出标志位 当定时器T0溢出时,由硬件将TF0置1,并申请中断。当进入中断服务程序时,硬件又自动将TF0清零(也可以用软件清零)。(4) TR0为定时器T0的运行控制位 该位由软件置位和复位。当GATE(TMOD.3)为0时,TR0为1时允许T0计数TR0为0时禁止T0计数;当GATE为1时,TR0为1而且输入高电平时,才允许T0计数,TR0为0或输入为低电平时,禁止T0计数。(二)定时器/计数器的初始化 定时器的功能是由软件来设置的,所以一般在使用定时器/计数器前均要对其进行初始化。 初始化的步骤1) 确定工作模式(是计数还是定时)、工作方式、启动控制方式,将其写入TMOD寄存
35、器。2) 设置定时或计数器的初值:可直接将初值写入TH0、TL0或TH1、TL1中。16位计数初值必须分两次写入对应的计数器。3) 根据要求是否采用中断方式:直接对IE为赋值。开放中断时,对应位置位;采用程序查询方式IE位应清0进行中断屏蔽。4) 启动定时器工作:可使用SETB TR1启动。若第一步设置为软启动,即GATE设置为0时,以上指令执行后,定时器即可开始工作。若GATE设置为1时,还必须由外部中断引脚(其中i为0或1)共同控制,只有当引脚电平为高时,以上指令执行后定时器方可启动工作。定时器一旦启动就按规定的方式定时或计数。3.4中断系统当CPU正在处理某事件时外界发生了更为紧急的请求
36、,要求CPU暂停当前的工作,转而去处理这个紧急事件。处理完成后,再回到原来被中断的地方继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,请示CPU中断的请求源称为中断源。中断系统是使处理机对外界异步事件具有处理能力而设置的。功能越强的中断系统,其对外界异步事件的处理能力越强。89C51单片机有5个中断源,当中断源同时向CPU请求中断时,就存在CPU优先响应哪个中断源的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别,CPU总是最先响应级别最高的中断。它可分为两个中断优先级,即高级优先级和低级优先级;可实现两级中断嵌套。用户可
37、以用关中断指令(或复位)来屏蔽所有的中断请求,也可以用开中断指令使CPU接受中断申请。即每一个中断源的优先级都可以由程序来设定。(一) 中断源在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会在每个机器
38、周期的S5P2时对和线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若89C51设定为电平触发方式(即IT0=0或IT1=0),则CPU检测到/上低电平时就可认定其上中断请求有效;若设定为边沿触发方式(即IT0=1或IT1=1时),则CPU会在相继的两个周期内两次检测/线上电平才能确定其上的中断请求是否有效,即前一次检测为高电平和后一次检测到为低电平时/上中断请求才有效。 由于外部中断信号每个机器周期被采样一次,有引脚和输入的信号应至少保持一个机器周期,即12个振荡周期。如果外部为边沿触发方式,则引脚出输入的信号的搞电平个低电平至少各保持一个周期,才能确保CPU检测到电平的调变
39、;而如果采用电平触发方式,外部中断源应一直保持中断请求有效,直到得到响应为止。(二)中断控制 CPU对中断源的开放和屏蔽,以及每个中断源是否被允许中断,都受中断允许寄存器IE控制。每个中断源优先级的设定,则由中断优先级寄存器IP控制。寄存器状态可通过程序由软件设定。 (1)中断的开放和屏蔽 89C51没有专门的开中断和关中断指令,中断的开放和关闭是通过中断允许寄存器IE进行两级控制的。所谓两级控制是指有一个中断允许总控制位EA,配合各中断源的中断允许控制位共同实现对中断请求的控制。这些中断允许控制位集成在中断允许寄存器IE中,如表3.2所示为中断允许寄存器各位的定义。表3.2 中断允许寄存器I
40、E现对IE各位的说明如下:EA(IE.7) 为CPU中断走允许位,EA=0,CPU关中断,禁止一切中断。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中断;否则禁止
41、中断。ET0(IE.1) 为定时器0(T0溢出中断)的中断允许位。ET0=1允许T0中断,否则禁止中断。EX0(IE.0) 为外部中断0()的中断允许位。EX0=1允许外部中断0中断,否则禁止中断。中断允许寄存器IE的单元地址是A8H,个控制位(位地址为A8HAFH)也可位寻址,可以进行字节寻址也可位寻址。所以既可以用字节传送指令又可以用位操作指令来对各个中断请求加以控制。3.5 LCD1602液晶显示1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每
42、行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。(1)管脚功能:1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯
43、电源。15脚背光正极,16脚背光负极。(2)1602LCD的特性n+5V电压,对比度可调n内含复位电路n提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能n有80字节显示数据存储器DDRAMn内建有192个5X7点阵的字型的字符发生器CGROMn8个可由用户自定义的5X7的字符发生器CGRAM(3)功能引脚说明表3.3 1602管脚接口说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.34系统软件设计4.1系统软件的编译环境频率的测量和功率因数的测量部分采用proteus软件仿真,Proteus软件是英国Labcenter electro
44、nics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、
45、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。其主界面如图4.1所示图4.1 Proteus主界面Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点(1)互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
46、还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。Proteus的基本操作:(1).选择元件:P按钮(常用元件所在库及名称)根据设计出的硬件图在Proteus的原件库里找到相应的元器件。(2).选择要使用的元件:在Pick Device窗口双击相应元件名称,即可将元件添加到主界面左侧的列表中(3).放置元件到绘图区:单击列表中的元件,然后在右侧的绘图区单击,即可将元件放置到绘图区。(每单击一次鼠标就绘制一个元件,在绘图区空白处单击右键结束这种状态)(4).删除元件:右击元件一次表示选中(被选中的元件呈红色),选中后再一次右击则是删除。(5).移动元件:右击选中,然后用左键拖动。(6).旋转元件:左下角旋转工具栏(7).元件连线:在引脚上鼠标指针变成X状,单击,移动到目的引脚,再次单击。(8).删除连线:同删除元件(9).绘制电源和地:单击工具栏上的左起第8个工具(Inter-Sheet Terminal),左侧工具栏显示TERMINALS,可在其中选择POWER或GROUND,像放置元件一样放置到绘图区。(10).在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS