




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机功率因数自动检测软件设计 单片机功率因数自动检测软件设计内容提要:本文详细论述了利用单片机自动测试局部供电系统的功率因数, 然后根据测得的功率因数数值自动投切补偿电容的硬件装置和软件流程。该装置能随着功率因数的变化恰当地进行补偿,始终保持功率因数在0.95 左右,达到最佳补偿效果。这对充分发挥供电设备的效益,节约电能是十分有益的。this paper discusses in detail the use of mcu automatic test the local supply system power factor, then, based on the numerical aut
2、omatic power factor compensation capacitor switching hardware and software installation process. the device can power factor with appropriate changes to the compensation, and always maintain the power factor in the 0.95% compensation to achieve the best results. this play on the full power equipment
3、 efficiency, saving energy is very useful. 关键词: 检测、功率、因数、过补偿、欠补偿detection, power factor, over compensation owed compensation 目录第1章功率因数的自动检测(3)1.1 tx的计量(3)1.2 补偿电容自动投切(4)第2章硬件装置(5)2.1 硬件装置特点(5)2.2 硬件装置各部分电路分析(6)2.2.1 单片机部分电路(7)2.2.2 单片机时钟电路(8)2.2.3 单片机复位电路(8)2.2.4 信号提取电路(8)2.2.5 波形变换电路(10)2.2.6 定时电路(
4、10)2.2.7 计数电路(10)2.2.8 投切控制电路(13)2.2.9 串行显示电路(13)第3章程序设计(18)3.1 初始化程序(18)3.2 中断服务程序(18)3.3 运算与控制程序(18)3.4 源程序(20)结束语、致谢、参考文献(29)第一章 功率因数的自动检测1.1 tx 的计量要检测供电系统中的功率因数cos,只要测量电压与电流的相位差,既测量两个同频率正弦信号的相位差,如图 1 所示。电网中的交流电压周期 t 被认为是固定的,只要能测量出 tx 值,就可以用下式求得相位差:。=(tx/t) x 360uac图1电压与电流的时间差 tx其中tx为电压信号与电流信号过零的
5、时间差。因此,问题的关键是求tx的时间值。为此,把两个正弦交流信号通过过零检测转换为相同频率的方波信号。取其正半周,其波形如图 所示图2电压电流由正弦信号变成方波信号利用电压方波的上升沿起动一个对固定周期为tc的脉冲进行计数的计数器,而利用电流方波的上升沿停止该计数器,由于tc是已经知道的。计数器可读得计数值n,则tx=ntc。这样就测得了 tx的值。1.2 补偿电容自动投切一个供电系统的功率因数值通常是随负载的大小而变化。当负载大时,功率因数较低,为了提高功率因数就要及时投入补偿电容。当负载较小时,就要及时切除补偿电容,否则会造成过补偿,同样降低功率因数的值。 利用单片机实时测量功率因数值,
6、并控制补偿电容的自动投切,能达到最佳的补偿效果。补偿电容的容量要根据用电系统的容量和补偿前后的功率因数值来确定。将补偿电容分成若干组,组数多一些,补偿的效果就好一些。第二章硬件装置2.1 硬件装置特点利用单片机自动地补偿功率因数, 是通过硬件与软件密切配合完成的。 由于单片机是把微型 计算机主要部件都集成在一块芯片上, 即一块芯片就是一个微型计算机。 因此,单片机具有 以下特点:1) 有优异的性能价格比。目前国内市场上,有些单片机的芯片只有几元人民币,加上少量外围元件,就是构成一台功能相当丰富的智能化控制装置。2) 集成度高,体积小,可靠性好。单片机把个功能部件集成在一块芯片上,内部采用总线结
7、构,减少了各芯片之间的连线, 大大提高了单片机的可靠性与抗干扰能力。而且,由于单片机体积小,易于采取电磁屏蔽或密封措施,适合于在恶劣的环境下工作。3) 控制能力强,单片机指令丰富,能充分满足工业控制的各种要求。4) 低功耗,低电压,便于生产便携产品。5) 易扩展。可根据需要并行或串行扩展,构成各种不同应用规模的计算机控制系统。片内有足够的 flash rom,可避免扩展外 rom ,成为名副其实的单片机扩展外rom既增加了应用技术,又增加了线路的复杂性,降低可靠性,一般来说,对于一个中等规模的单片机应用系统,有 8kb左右的rom,已经够用了, at89c51系列单片机有 4-20kb可供选
8、择,已完全胜任绝大多数单片机应用系统对rom容量的要求。6) flash rom修改程序十分方便。 atmel89系列单片机内的 flash rom可榛写1000 次以上,应用并不复杂的通用rom写入器就能方便地榛写。一般来说,单片机应用系统在开发阶段,程序修改十分频繁,即使在产品定型生产后, 程序修改和软件升级也是常有的事。这是单片机产品与一般电子产品的区别,单片机产品可以在硬件电路维持不变的情况下,通过修改程序升级产品档次,扩展产品的功能。7) 具有在片程序 rom二级保密系统。在许多情况下,单片机产品需要保护程序存储器 rom中的程序,防止被非法剽窃。一般 eprom型单片机芯片只有一级
9、保密系统,如 8751 即只有一个封锁位,对其编程后,可防止任何外部方式访问内rom。榛除eprom ,保密位也同时被榛除89c51系列单片机内rom具有二级保密系统,即具有3个保密位,对其编 程后可呈现3种不同方式的保密功能,表 2-6为89c51系列单片机程序封锁位及其功能。封锁方式序号程序封锁位保密功能lb1lb2lb31uuu不设程序加密2fuu不允许在片外内rom代码:禁止即侬一步编码3ppu除j具有方式2功能外,同时禁止内rd喉验4ppp除了具有方式3能外,同时禁止内r。取行注:lb1 , lb2, lb3为3个封锁位p=被编程u=未编程8) at89c52-at89c55芯片与8
10、0c51系列单片机中的 80c52芯片相同,有定时、计算器3个,中断源6个,片内ram256b,其中128b与特殊功能寄存器地址空间重叠, 均为80h-ffh 读写区方法是:读写特殊功能寄存器用直接寻地址或寄存器地址,同89c51读写内ram高128b 用ri间接寻址。9) at89c51系列单片机还有相应的低电压芯片at89lv51、at89lv52、at89lv53、at89lv54、at89lv55、最低工作电压为 2.7v。10) at89c51系列单片机时钟频率最高可为24mhz。2.2 硬件装置各部分电路分析其硬件装置的作用是对电压信号、电流信号采样,把它们转换成适合单片机测量的信
11、号,在设计具体电路时要考虑便于与单片机连接。硬件装置的总体框图如图3所示图3硬件装置的总体框图|tlll ilfliiillllllll 111 iat89c512.2.1 单片机部分电路图4单片机部分电路2.2.2 单片机时钟电路80c51单片机内有一高增益反相的放大器,按图连接即可构成自激振荡电路,振荡频率取决于石英晶体振荡频率,范围可取1.2-12mhz, c1, c2主要起频率微调和稳定作用,电容值可取 10-30pf。当采用外振荡输入时,8051 (hmos)可按图2-8b连接,80c51 (hmos )可按图2-8bc连shape * mergeformat2.2.3 单片机复位电
12、路图2-12a为80c51上电复位电路。rc构成微分电路,在上电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80c51将复位。为保证微分脉冲宽度足够大,rc时间常数应大于两个机器周期。一般取22科f电容,1k电阻。图2-12b是按键复位电路。该电路有上电复位功能外,若要复位,只需按下图中rest键r1c2仍构成微分电路,按下 rst端产生一个微分脉冲复位,复位完毕c2经r2放电,等待下一次按下复位按键。2.2.4 信号提取电路图5信号提取电路一般的局部供电三相交流系统,其三相负载是不平衡的。为了能真实地反映三相电功率因数的值,从a、c相取电位差uac为电压信号,从而 b取电流信号ib,这
13、样能基本上取其功 率因数平均值。根据三相交流点电中相带奶牙之间的相位关系(见图6),可知uac与ub是正交,若系统的功率因数是 1,那么ub与i b一定相同,也就是 uac与ib正交,即uac超 前ib90 ;若性同的功率因数不为1,则u b与i b (i b)间一定有一个夹角土 。由于。值不可能等于或超过 90。,所以电压信号 uac总是超前于电流信号ib90。土的。在该系统 中,实际测量的是 uac与ib之间的相位角,若此夹角小于 90。,即90 -(),则电流ib超前于电压ub。角,是容性负载,过补偿。若此夹角大于90 ,即900 +。,则电流ib落后于电压ub。角,是感性负载,欠补偿。
14、在一般供电系统中,都是 感性负载。图6电压信号uac与电流信号ib的相位关系uac通过变压器变成 5v,而电流信号ib通过一个并联小电阻的电流互感器转换成同相位的 电信号,如图6所示。2.2.5 波形变换电路从变压器与电流互感器取得的电压与电流信号,送到lm339过零检器中,转换成ttl电平 的方波信号(见图 2) 。2.2.6 定时电路供电系统中, 功率因数瞬间波动的幅度有时是很大的, 为了能准确地测量功率因数, 求得较平稳的变化趋势, 要控制适当的测量间隔和采取多次测量求平均功率因数植的方法。 定时电路的功能是控制测量时间的间隔。通过修改程序参数,控制时间可以在很大范围内调整。计数脉冲的周
15、期是1us,它是由系统时钟12m得到的,计数脉冲在电压信号uu的上升沿送入计数器,而在电流信号ui 的上升沿停止计数脉冲。计数器对计数脉冲进行计数,从而确定系统的功率因数(见图2 ) 。2.2.7 计数电路计数电路的实质是相位差测量电路。它是利用单片机定时器来实现的。计数器电路有两个8位计数器组成。 t0 的两个 8 位计数器是th0 和 tl0 , th0 是高 8 位, tl0 是低 8 位; t1是两个 8 位计数器 th1 和 tl1 ,合起来是16 位计数器。定时时间和计数值可以编程设定, 其方法是在计数器内设置一个初值, 然后加 1 计满后溢出。调整计数器初值,可调整从初值到溢出的
16、数值,即调整了定时时间和计数值。需要指出的是,定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入,t0 的外部事件脉冲应从p3.4 引脚, t1 的外部脉冲应从p3.5 引脚输入, 从其他引脚无效。 且外部脉冲的最高频率不能超过时钟频率的 1/24。例如 fosc=12mhz 则外部事件脉冲的频率不能高于 500khz ,因为 cpu 确认一次脉冲跳变需要两个机器周期。定时 / 计数器的控制寄存器80c51 定时 /计数器时可编程的,其编程操作通过两个特殊功能寄存器tcon 和 tmod 的状态设置来实现。1.定时 /计数器控制寄存器tcontcon 的结构和各位名称、位地址如表tco
17、nt1中断标志t1运行控制t0中断标志t0运行控制/int1中断标志/int1触发方式/int0中断标志/int0触发方式位名称tf1tr1tf0tr0ie1it1ie0it0位地址8fh8eh8dh8ch8bh8ah89h88htcon 的低 4 位与外中断/int0 、 /int1 有关,已在中断系统中介绍。高4 位与定时/计数器 t0 、 t1 有关,介绍如下:1) tf1 定时 / 计数器 t1 溢出标志。 当 t1 被允许计数后, t1 从初值开始加 1 计数至最高位产生溢出时, tf1 置“ 1” ,即表示请求中断。 cpu 响应中断后由硬件自动对tf1清 0。也可在程序中用指令查
18、询tf1 或置“ 1 ”、清“ 0” 。2) tf0 定时/计数器t0溢出标志。其意义与功能与tf1相似3) tr1 定时/计数器t1 运行控制位。 tr1=1 , t1 运行( t1 是否运行还有其他条件) ; tr1=0 , t1 停。4) tr0 定时 / 计数器 t0 运行控制位,其意义与功能与tr1 相似。tcon 的字节地址为88h ,每一位有位地址,均可操作。2.定时 /计数器工作方式控制寄存器tmodtmod 用于设定定时/计数器的工作方式,低 4 位用于控制 t0, 高 4位用于控制 t1 。 tmod的结构和各位名称、功能如表高 4 位控制t1低 4 位控制t0门控制计数
19、/定时方式选择工作方式选择门控位计数 /定时方式选择工作方式选择gatec/tm1m0gatec/tm1m01) m0m1 工作方式选择位。 m1m0 2 位二进制数可表示4 种状态,因此m1m0 可 选择 4 种工作方式,如表m1m0工作方式功能 m1m0 工作方式 功能 00 方式 0 13位计数器 10 方式 28 位计数器,初值自动装入01方式 116位计数器11方式 3两个 8 位计数器,仅用于t02) c/t tf数/定时方式选择位。c/t=1 ,为计数工作方式,对外部事件脉冲计数,负跳变脉冲有效。c/t=0 ,为定时工作方式,对片内周期脉冲计数,用作定时器。3) gate门控位。
20、gate=0 ,定时/计数器的运行只受tcon 中运行控制位tr0/tr1 的控制。gate=1 ,定时/计数器的运行同时受tr0/tr1 和外中断输入信号( /int0/int1 )的双重控制,只有当 /int0/int1=1 且 tr0/tr1=1 时 t0/t1 才能开始运行。以 t0 为例, gate=0 时, tr0=1 , t0 运行; tr0=0 , t0 停。 gate=1 时, tr0=1 , 且 /int0为高电平时, to 运行。两个条件有一个不满足, t0 就不能运行。tmod 字节地址为89h ,不能位操作。因此,设置tmod 须用字节操作指令。定时 / 计数器是单片
21、机系统的一个重要的部件,其工作方式是灵活,编程简单,使用方便,可用来实现定是控制,延时,频率测量,脉冲测量,信号发生,信号检测等。此外,定时/计数器还可以作为串行通信中波特率发生器。80c51 单片机的内部有两个定时/ 计数器 t1/t2 ,其核心是计数器,基本功能是加1。对外部事件脉冲(下降沿)计数;对片内机周脉冲计数,是定时器。因为片内机周脉冲频率是固定的,是fosc的1/12。若fosc=12mhz , 1机周为1us;若fosc=6mhz , 1机周为2us,机周脉 冲时间乘以机周数就是定时时间。通过对定时器编程可以确定其计数功能。2.2.8 投切控制电路投切控制电路的功能是执行补偿电
22、容机会均相等地参加补偿。 由单片机输出的控制信号经过功率放大,通过小型继电器、交流接触器来执行对电容的投切。2.2.9 串行显示电路80c51 串行口80c51 系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。1.串行口特殊功能寄存器80c51 有关串行通信的特殊功能寄存器有串行数据缓冲器sbuf 、 串行控制寄存器scon 和电源控制寄存器pcon1)串行数据缓冲器sbuf80c51 单片机串行口是由发送缓冲寄存器sbuh , 接收缓冲寄存器sbuh 和移位寄存器三部分组成。sbuh 是串行口缓冲寄存器。 包括发送寄存器和接收寄
23、存器, 以便能以全双工方式进行通信。此外, 在接收寄存器之前还有移位寄存器, 从而构成了串行接收的双缓冲结构, 以避免在数据接收过程中出现桢重叠错误。与接收数据情况不同,发送数据时,由于cpu 是主动的,不会发生桢重叠错误,因此发送电路就不需双重缓冲结构。在逻辑上, sbuh 只有一个,即表示发送寄存器,又表示接受寄存器。具有不同一个单元地址 99h 。在物理上, sbuh 有两个,一个是发送缓冲寄存器,另一个是缓冲寄存器。在完成串行初始后,发送时,只需将发送数据输入 sbuh , cpu 将自动启动和完成串行数据的发送;接收时,cpu 将自动把接收到的数据存入sbuh ,用户只需从sbuh
24、中读出接收数据。2)串行控制寄存器scon串行控制寄存器sbuh 的结构和各位名称、位地址如表:scond7d6d5d4d3d2d1d0位名称sm0sm1sm2rentb8rb8tiri位地址9fh9eh9dh9ch9bh9ah99h98h功能工作方式选择多机通信控制接收允许发送 9 位发送中断接收中断各位功能说明如下: sm0 sm1 串行口工作方式选择位。其状态组合所对应的工作方式如表:表1sm0 sm1工作方式 功能说明000同步移位寄存器输入/输出,波特率固定为fosc/120118 位 uart ,波特率可变( t1 溢出率 /n, n=32 或 16) 1029 位 uart ,波
25、特率固定为 fosc/n , ( n=64 或 32 )1139 位 uart ,波特率可变( t1 溢出率 /n, n=32 或 16) sm2 多机通信控制位。在方式 2和方式3中,若sm2=1 ,且rb8 (接收到的第九数据) =1 时,将接收到的前8 位数据送入 sbuh ,并置位 ri 产生中断请求;否则,将接收到的 8 位数据丢弃。而当 sm2=0 时,则不论第九位数据为 0 还是为 1,都将前 8 位数据装 入 sbuf 中,并产生中断请求。在方式 0 时, sm2 必须为 0。 ren 允许接收控制位。ren位用于对串行数据的接收进行控制:ren=0,禁止接收; ren=1 ,
26、允许接收。该位由软件置位或复位。 tb8 方式 2 和方式 3 中要发送的第九位数据。在方式和方式3 时, tb8 是发送的第九位数据。在多机通信中,以 tb8 位的状态表示主机发送的是地址还是数据: tb8=0 表示数据, tb8=1 表示地址。该位由软件置位或复位。tb8 还可用于奇偶校验位。 rb8 方式2和方式3中要接收的第9位数据。在方式 2或方式3时,rb8存放接 收到的第 9 位数据。 ti 发送中断标志。当方式0 时,发送完第8 位数据后,该位由硬件置位。在其他方式下,遇发送停止位时,该位由硬件置位。因此ti=1 ,表示桢发送结束,可软件查询 ti位标志,也可以请求中断。 ti
27、 位必须由软件清0。 ri 接收中断标志。当方式0 时,接收完第 8 位数据后,该位由硬件置位。在其他方式下,当接收到停止位时,该位由硬件置位。因此ri=1 ,表示桢发送结束,可软件查询ri 位标志,也可以请求中断。 ri 位必须由软件清0 。3)电源控制寄存器pconpcon 主要是为 chmos 型单片机电源控制而设置的专用寄存器,其中最高位smod 是串行口波特率的倍增位,当 smod=1 时串行口波特率加倍。系统复位时, smod=0 。 pcon寄存器不能进行为寻址。如表:pcond7d6d5d4d3d2d1d0 位名称smodgf1gf0pdidl2.串行工作方式80c51 串行通
28、信共有4 种工作方式,由串行控制寄存器scon 中 smosm1 决定,如表11)串行工作方式0在方式0下,串行口是作为同步移位寄存器使用。这时以 rxd (p3.0)端作为数据移位的输入 /输出端,而 txd ( p3.1 )端输出移位脉冲。移位数据的发送和接近以 8 位一桢,不设起始位和停止位,无论输入/输出,均低位在前高位在后。其桢格式如表在使用方式0 可将串行输入输出数据转换成并行输入输出数据。 数据发送一数据传送方向d0d1d2d3d4d5d6d7串行口作为并行输出口使用时, 要用 “串入并行” 的移位 寄存器 (例如 cd4094 或 74hc164)其典型连接电路如图在以位时钟脉
29、冲( txd )的控制下,数据从串行口 rxd 端逐位移入 74hc164sa、 sb 端。当 8 位数据全部移出后, scon 寄存器的 ti 位被自动置1。其后 74hc164 的内容即可并行输出。 74hc164/clr 为清 0端,输出时/clr 必须为 1,否则 74hc164q0q7 输出为 0。 数据接收如果把能实现 “并行串出”功能的移位寄存器 (例如 cd4014 或 74hc165 ) 与串行口配合使用,就可以把串行口变为并行输入口使用,如图74hc165s/l 端为移位/置入端,当s/l=0 时,从 d0d7 并行置入数据。在80c51 串行控制寄存器 scon 中的 r
30、en=1 , txd 端发出移位时钟脉冲,从rxd 端串行输入 8 位数据。当接收到第 8 位数据 d7 后。置位中断标志r1 ,表示一桢数据接收完成。 波特率方式 0 时,移位操作的波特率是固定的,为单片机晶振频率1/12 。以 fosc 表示晶振频率,则波特率=fosv/12 ,也就是一个机器周期进行一次移位。若fosc=6mhz ,则波特率为500kbit/s ,即 2vs 移位一次。如 fosc=12mhz ,则波特率为1m (bit/s ) ,即 1vs 移位一次。shape * mergeformat 利用 74ls161 移位寄存功能(分频)对单片机输出的串行数据逐级分频, 从第
31、一级到最后一级总共分2 次, 这样就把单片机输出的串行数据转换为并行数据, 74ls161 的译码显示功能,对数据进行频段译码,分 8 段进行数码显示,直观明了。本电路设计简单,避免了并行输出线路复杂,不易布线的问题。图 7 数码管显示局部电路第三章 程序设计功率因数的补偿是通过硬件和软件结合起来实现的。其整个程序可以分为几个功能段。3.1 初始化程序初始化是为测量功率因数准备,主要包括对部分ram 工作区清零,关闭测量计数信号,然后对定时器进行初始化, 设置定时器的工作方式, 开中断。然后打开测量计数信号,调用显示的程序,在显示过程中,当电流信号到达时,引起定时器通道中断。3.2 中断服务程
32、序定时器的中断服务程序的主要功能是读取定时器的测量值。 然后对测量结果进行处理, 因此这时不应再返回显示子程序中去。3.3 运算与控制程序此程序是功率因数自动补偿的核心。 对测量结果进行运算分析, 决定是否投切补偿电容。 执行此程序时,首先对此次的测量进行分析,确定是否合理,不合理返回重新测量。 并检验测量次数。没有达到预定的测量的测量次数,返回接着测量;达到测量次数, 对多次测量结果进行计算,取其平均值,查表求得功率因数值。接着判断是欠补偿还是过补偿。是过补偿,置标志为负,这时应切除一组电容。寻找循环切除补偿电容的序号,输出相应命令,执行切除一组电容,然后返回显示子程序。如果是欠补偿,置符号
33、为正,当求得功率因数的实际值与理想值 0.96 的差的绝对值为小于(或等于) 0.03 时,说明此时功率处于0.930.99之间,是最佳状态,既不投入电容也不切除电容,返回程序。当该绝对值大于0.03 时,此时功率因数值只能小于0.93,应投入一组补偿电容组的序号,输出命令,执行投入一组电容, 然后返回进行下一组数据测量。其流程图如图 8 所示。图 8 控制与运算程序框图lm339 集成块简介:lm339 是电压比较器,利用它将电压与电流转换成与ttl 相同的方波信号。是设计中的重要器件。lm339 集成块内部装有四个独立的电压比较器,该电压比较器的特点是:1)失调电压小,典型值为 2mv ;
34、2)电源电压范围宽,单电源为2-36v ,双电源电压为 1v- 18v ;3)对比较信号源的内阻限制较宽;4)共模范围很大,为0 ( ucc-1.5v ) vo;5)差动输入电压范围较大,大到可以等于电源电压;6 )输出端电位可灵活方便地选用。lm339 集成块采用 c-14 型封装, 下图第一张为外型及管脚排列图。 由于 lm339 使用灵活,应用广泛, 所以世界上各大ic 生产厂、 公司竟相推出自己的四比较器, 如 ir2339 、 ani339 、sf339 等,它们的参数基本一致,可互换使用。图 9 llm339 引脚与内部框图3.4 源程序org 0000hth1h equ 10h
35、;定内 ram 的存储单元tl1l equ 11hpual equ 12hcstat equ 18hcutcw equ 19hupcw equ 1ahcutcn equ 1bhupcn equ 1chstart: ljmp starorg 000bh ;定时器 t0 中断服务程序clr tr0clr tr1 ;停止 t0 , t1 运行clr p2.0clr p2.1 ;系统清 0inc 30hretistar: mov r3,#40h ;清内 ram 区从 00h3fhmov r0,#01hmov a,#00hloopg: mov r0,ainc r0djnz r3,loopgmov cst
36、at,#6fh ;清功率因数体mov a,#99hmov pual+01h,a ;存入功率因数最大值call displ y ;调用显示程序nextl: call delay ;调用延时程序clrf0;清补偿标志clrp2.0;清检测命令停止检测clrp2.1;清显示setb p2.0;检测开始setb p3.3;设输入脉冲高电平cjne r7,#3eh,nextm ; r7 存放测量次数等3eh ,将其清 0mov a,#00hmov r7,anextm: nopmovtmod,#91h ;testplus ;初始化定时器 t0, t1movtl1,#00h; t1 计数初值movth1,#
37、00hmovdptr,#time;取定时时间mova,r7movc a,a+dptr;初始化 t0 的定时时间movth0,aincr7mova,r7movc a,a+dptrmovtl0,aincr7;次数加1setb et0;开中断et0 , easetb easetb tr0;启动定时器t0 , t1setb tr1setb p2.1clrp2.1jb p3.3,$ ;输入脉冲为高电平一直等待输入脉冲为高电平一直等待clrtr1 ;是低电平停止计数是低电平停止计数mova,tl1movtl1l,a;存定时器计数值存入指定单元mov20h,amova,th1movth1h,amov21h,
38、amovpual,pual+1;newtola ;替换功率因数值tt:mov r3,#03hloop1: clr c;计算脉冲宽度转换成功率因数值mova,tl1lrlcamovtl1l,amova,th1hrlcamovth1h,adjnz r3,loop1mov r4,aclr c;+and-subb a,#9ch ;5ms ;判断是否是5msjc loopn ;小于5ms 转mov r6,aclr csubb a,#4ehjnc loopm5ms 说明是过补偿sjmp loop2loopn: setb f0 ;-flag ;置补偿标志过补偿cpl aaddc a,#00h ;计算过补偿值
39、mov r6,aclr csubb a,#4ehjnc loopmsjmp loop2loopm: mov a,#4fhsjmp loop3loop2: mov a,r6 ;欠补偿loop3: mov dptr,#pda tamovc a,a+dptr mov pual+1,a anl a,#0fh mov pual+4,a mov a,pual+1 swap aanl a,#0fh mov pual+5,a jb f0,condir mov a,#99h subb a,pual+1 jz loopl call incc;取新的功率因数值,存入指定单元;过补偿转去处理;欠补偿处理;调增加投入电
40、容子程序loopl: call displ y;调显示子程序ljmp nextl ;转去测量下一次condir: call decc;调减少投入电容子程序sjmp loopldisply: mov r3,#04h ;displ y led ;显示子程序利用串行口显示mov r0,#pual+2mov dptr,#ledtblloopd: mov scon,#00h ;mode-0mov a,r0movc a,a+dptrcjne r3,#03h,loopumov a,cstatloopu: cjne r3,#01h,loopforl a,#80hloopf: mov sbuf,ajnb ti,
41、$clr tiinc r0djnz r3,loopdretincc: mov a,upcnmov r4,ainc amov upcn,amov a,r4call conwmov upcw,acpl aanl a,cstatmov cstat,aretdecc: mov a,cutcnmov r4,ainc amov cutcn,amov a,r4call conwmov cutcw,aorl a,cstatmov cstat,aretconw: cjne a,#00h,incc2mov a,#01hsjmp inceincc2: cjne a,#01h,incc3mov a,#02hsjmp inceincc3: cjne a,#02h,incc4mov a,#04hsjmp inceincc4: cjne a,#03h,incc5mov a,#08hsjmp inceincc5: cjne a,#04h,incc6mov a,#10hsjmp inceincc6: cjne a,#05h,incc7mov a,#20h;增加电容子程序;减少电容子程序;确定增加或减少补偿电容的子程序sjmp inceincc7: cjne a,#06h,incc8mov a,#40hsjmp inceincc8: mov a,#0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽毕业就业协议书
- 媒体账号转让协议书
- 宾馆合作开发协议书
- 委托代管商铺协议书
- 媒体服务合同协议书
- 夫妻婚后经营协议书
- 家长同意加班协议书
- 安全外出培训协议书
- 展会布置安全协议书
- 学生监管责任协议书
- 安徽省1号卷A10联盟2025届高三5月最后一卷化学试题及答案
- 2022《农产品质量安全法》全文解读与学习
- 工程总承包的试题及答案
- 《电磁感应原理解析》课件
- 成都输液剂项目可行性研究报告参考范文
- 2025年二级注册建筑师资格考试《建筑结构、建筑物理与设备》真题卷(附答案)
- 锂电池基础知识培训课件
- 【部编版】六年级语文下册《语文园地五》精美课件
- 登革热防控知识培训
- 2025年新能源汽车实训基地建设方案范文
- 糖尿病患者血脂管理中国专家共识(2024版)解读
评论
0/150
提交评论