基于AT89C51的频率和功率因数的测量

  • 格式:doc
  • 大小:408.50 KB
  • 文档页数:34
图3.3 TMOD寄存器个为定义
TMOD用于设定定时器/计数器的工作方式及四种工作模式中的一种,其各位的定义如图3.3所示。
TMOD地址为89H,高4位位定时器T1的方式控制字段,低4位位定时器T0的方式控制字段。
(1)门控位GATE:当GATE=0时,定时器/计数器只有软件控制位TR0或TR1来控制启停。TR1位为1,定时器启动开始工作;位0时,定时器调整工作。当GATE=1时,定时器/计数器的启动要由外部中断引脚和TR1为共同控制。只有当中断引脚 和 为高时,TR0或TR1置1才能启动定时器工作。
定时和计数是计算机控制系统中两个重要的功能,在实际系统中应用极为普遍,89C51单片机内部有两个16位可编程定时/计数器,即定时器T0和定时器T1。89C51单片机内部还有两个专用寄存器TMOD、TCON,可通过编程来设定有关参数,如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。
(一)TMOD和TCNO寄存器
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口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(2)TR1位定时器T1的运行控制位
该位由软件置位和复位。当GATE(TMOD.7)为0时,TR1为1时允许T1计数,TR1为0时禁止T1计数;当GATE为1时,TR1为1时而且 输入高电平时,才允许T1计数,TR1为0或 输入为低电平时禁止T1计数。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
3
74LS74内含两个独立的D上升沿双d触发器,每个触发器有数据输入(D)、置位输入( )复位输入( )、时钟输入(CP)和数据输出( 、 )。 、 的低电平使输出预置或清除,而与其它输入端的电平无关。当 、 均无效(高电平式)时,符合建立时间要求的D数据在CP上升沿作用下传送到输出端。
3.3
由于在本课题的设计中会用到单片机的定时/计数功能,所以在这里将定时器/计数器的特点详细介绍。
根据几何学中的余弦定理可得,
由式(2)可ห้องสมุดไป่ตู้,只要
(1)

由图2(b)可知,
所以
(2)
将电压 U1、U2、U3经过运算后就可求出负载的功率因数 。
(2)方案二通过电压互感器和电流互感器得到低压交流信号,然后通过整形电路将交流信号转换为TTL方波脉冲。相位差的计算原理是利用输入两路信号过零点的时间差,以及信号的频率来计算2路信号的相位差。
89C51单片机内部设置的两个16位可编程的定时器/计数器T0和T1,它们可以处于计数方式或定时方式。可通过设置特殊功能寄存器TMOD中都有一个控制位来选择T0或T1位定时器还是计数器。其状态字均在响应的特殊功能寄存器中,通过对控制寄存器的编程,用户可以方便地选择适当的4中工作模式中的一种。
图3.289C51单片机定时器/计数器的结构图
控制寄存器TCON的主要功能是用于定时器的启动、停止以及在溢出时设定标志位和外部中断触发方式。它的字节地址位88H,位地址位88H~8FH。其控制字各位的定义如表3.1所示。
低4位与外部中断有关,高4位的功能如下:
(1)TF1位T1的溢出标志位
当定时器T1溢出时,由硬件将TF1置1,并申请中断。当进入中断服务程序时,硬件又自动将TF1清零(也可以用软件清零)。
(2)C/ : C/ =0为定时器方式,采用晶振脉冲的12分频信号作为计数器的计数脉冲,即对机器周期进行计数。若选择12MHz晶振,则定时器的计数脉冲为1MHz。从定时器的计数值便可求得技术时间,故称为定时器方式。
C/ =1为计数器方式,采用外部引脚(T0为P3.4,T1为P3.5)的输入脉冲作为计数脉冲。当T0(或T1)输入发生高到低的负跳变时,计数器加1,最高计数频率为晶振频率的1/14。
(1)AT89C51的主要特性如下:
.与MCS-51兼容
.4K字节可编程快闪存储器
.寿命:1000次写/擦
.数据保留时间:十年
.128.8位内部RAM
.32可编程I/O线
.两个16位定时器/计数器
.五个中断源
.可编程串行通道
.低功耗的闲置和掉电模式
.片内振荡器和时钟电路
3.1.1特性概述:
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
(2)其管脚的具体说明如下:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
交流电压和电流信号通过电压电流互感器,然后经过过零比较器将处理后的信号输送到单片机内部,通过单片机的处理,再由显示电路显示频率和功率因数,单片机采用AT89C51,显示电路由LCD1602组成。
2.方案论证
由于频率的测量都是用相同的方法,故只讨论功率因数的测量
(1)方案一提取电压来检测功率因数
通过对电压的提取来检测功率因数的原理如图2(a)所示,首先采用 3个高精度的 WB系列数字式交流电压真有效值传感器分别对被测电路的电源电压 U1、附加可调电阻 RP两端电压 U2及负载电压 U3进行检测。可调电阻 RP的作用是使附加电阻尽可能小,以减小对被测负载的影响,又可得到数值适当的电压U2满足功率因数计算的要求。由电路理论,可画出电压U1 、U2 和U3 的相量图如图2(b)所示,则 即是被测负载的功率因数。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
89C51单片机定时器/计数器的结构如图3.2所示。
其中,特殊功能寄存器TMOD用于控制和确定个定时器/计数器的功能和工作模式;特殊功能寄存器TCON用于控制定时器/计数器T0、T1的启动和停止计数,同时包含定时器/计数器的状态。它们的内容靠软件设置。系统复位时,寄存器的所有位都被清零。
1.工作方式控制寄存器TMOD
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 备选功能
P3.0 RXD(串行输入口)
论文题目
基于AT89C51的频率和功率因数的测量
作者姓名
******8
学号
*******
所在院系
电气工程学院
学科专业名称
电气工程及其自动化
指导老师
李啸骢教授
基于AT89C51的频率和功率因数的测量

频率和功率因数是交流电路中的重要参数,是衡量电力系统是否经济运行的一个重要指标,也是供电线路在线监测系统的重要检测量,在功率因数补偿系统中需对其进行实时测量。因此设计出结构简单、检测精度高的频率和功率因数测量电路十分必要。以前的测量方法主要是模拟法,模拟法采用分离原件,简单经济,有些场合仍然适用,但是精度不高,维护麻烦。而此本研究课题中作者采用数字法,即采用单片机智能控制,可以对被测电路的电压、电流进行采样,利用波形在三个过零点之间就是一个整周期的特点,通过装置的过零比较器将波形转化为方波信号,测量两个上升沿,同时启动定时器计数,这样,两个上升沿之间定时器的计数差值即为一个整周期的计数值,在本课题中,测量一个周期内脉冲的个数就可以测量频率。利用单片机处理后的电压和电流间的相位差即可测量出功率因数。该方法具有测量精度高,速度快,操作简单,直接显示被测量,是比较好的频率和功率因数测量方法。
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
3
3.1 AT