摘 要
本设计提出了一种基于ATC51单片机开发的低频数字相位测量仪的方案。主要包括相位测量模块、单片机最小系统、显示模块、电源模块的设计。可以对低频率范围的信号进行相位等参数的精确测量,测相绝对误差不大于1°。相位测量模块采用对输入的两路信号(同频率、不同相位)通过比较器整形、鉴相器异或之后得到的相位差,输入到单片机的中断口进行数据采集处理;采用数码管显示被测信号的相位差。硬件结构简单,软件采用汇编语言实现,程序简单可读写性强、效率高。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高的优点。
关键词 相位差 单片机 低频 误差
1.1 课题研究内容
我们设计的数字式相位测量系统电路,主要是由MCU芯片和小规模的集成电路构成。
两路待测信号(同频率、不同相位的两路信号)通过整形电路,变成矩形波信号,再通过鉴相器,得到两路波形的正脉冲宽度,也就是所要测量的两路信号的相位差所对应的时间差。以上部分构成了相位测量系统的相位测量电路[3]。
将其送到MCU外部中断口,再通过MCU处理数据(数字滤波、计算、送数据、键盘处理等),最后得到我们所要的相位值,并将其通过数码管显示出来。
2 方案选择
2.1 设计方案论证
从功能角度来看,相位测量仪要完成信号相位差的测量。相位测量仪有两路输入信号,也是被测信号,他们是两个同频率的正弦信号,频率范围为20Hz~20KHz(正好是音频范围),幅度为UPP=1~5V(可以扩展到0.3~5V),但两者幅度不一定相等。
相位和相位差的概念[4]:
令正弦信号为:
(2.1)
2.1式中Am称为幅值(最大值),且,A称为有效值;称为相位,称为初相位,称为角频率。Am、、称为正弦量的三要素。
只有两个同频率的(正弦)信号才有相位差的概念。不妨令两个同频率的正弦信号为:
(2.2)
则相位差:
(2.3)
由2.3式中可看出,相位差在数值上等于初相位之差,是一个角度
不妨令,其中是相位差对应的时间差,且令为信号周期,则有比例关系:
(2.4)
可以推导得到:
(2.5)
式子2.5中可以说明,相位差与一一对应,可以通过测量时间差及信号周期,计算得到相位差,这就是相位差的基本测量原理。
由于相位差的基本测量原理可知,相位差的测量本质上是时间差及信号周期的测量,也就是时间的测量,而时间的测量不可避免地要用到电子计数器。
时间的测量有多种方法,而设计题目关于相位测量仪的技术指标要求会影响到我们对方案的选择,MCU应用系统一般能较好的实现各种不同的测量及控制功能,往往还能满足一些设计要求比较高的技术指标,因此,我们在进行电子系统设计时,可用MCU实现系统功能,完成系统指标。
2.2 相位差测量方案选择
相位差测量的基本原理[5]主要有三种:对信号波形的变换和比较、对傅氏级数的运算及对三角函数的运算,其实现方法如下:
过零点检测法[6]:这是一种将相位测量变为时间测量的方法,其原理是将基准信号通过零的时刻与被测信号通过零的时刻进行比较,由二者之间的时间间隔,推算出两信号之间的相位差。这种方法的特点是电路简单,对启动采样电路要求不高,同时该方法还具有测量分辨率高、线性好、易数学化等优点。
倍乘法:任何一个周期函数都可以用傅氏级数表示,在这里运算器是一个乘法器,两个信号是频率相同的正弦数,相位差为一个角度,运算结果再经过一个积分电路,得到直流电压:
(2.6)
电路的输出和被测信号相位差余弦成比例,因此其测量范围在45°以内,欲使测量范围扩展到360°,需要附加一些电路才能做到。这种方法由于应用了积分环节,可以滤掉信号波形中的高次谐波,抑制了谐波对测量准确度的影响。
矢量法:任何一个正弦函数都可以用矢量来表示,如两个正弦信号幅度相等、频率相同,运算器运用减法器则合成矢量的模:
(2.7)
这种方法用于测量小角度,灵敏度较好,可行度也较好;而在靠近180°附近灵敏度降低,读数困难也不准确。由于输出是一余弦或正弦函数,因此这种方法适用的频带范围是较宽的信号。
上述三种测量相位的方法,各有优缺点,从测量范围、灵敏度、准确度、频率特性和谐波的敏感性等技术指标来看,过零点检测法比较好,它输出正比于相位差的直流电压和相位差的脉冲数,还易于实现数字化和自动化,现代的数字相位表多采用这种原理构成。
3 系统原理
3.1 原理框图
以单片机为核心的相位测量仪原理框图如图3-1所示:
图3-1 以MCU为核心的相位测量仪原理框图
两路待测信号经整形后变成了矩形信号A、B,且可以认为A和B是同频率、不同相位的矩形波。
3.2 相位差的测量
鉴相器就是异或门,在鉴相器的输入波形中,正脉冲宽度就是要测量的A和B相位差所对应的时间差,如图3-2所示(其中波形C为鉴相器即异或门的输出波形):
图3-2 鉴相器的输出及输入波形图
在测量相位差时还应该考虑超前、滞后两种情况(图中所示为A超前B)。把波形中的正脉冲作为门控信号,控制闸门的启闭,即控制MCU内部定时器/计数器的 启动/停止,从而达到测量时间差的目的,再根据公式
(3.1)
从而计算得到相位差。
另外,由图3-2可知,信号是A信号的二倍频(A与B同频),由此可见,对于同频不同相的两个信号,经过异或门后可得到二倍频的信号。因此从这个意义上讲,异或门可以实现信号的二倍频。
3.3 MCU测量时间差及周期
下面详细谈谈MCU测量时间差、周期[7]的方法。
工作原理:MCU—51单片机的芯片内部集成了两个16bit的硬件定时器/计数器,他们是、。MCU芯片内部的硬件定时器/计数器有三个特点:
第一:定时器/计数器可以与CPU并行工作;
第二:定时器/计数器可以采用中断方式与系统协调工作;
第三:定时器/计数器可以有软件或硬件控制启动和停止。
单片机的定时器/计数器受TMOD及TCON的控制,如图3-3所示:
图3-3 TMOD和TCON
若GATE=0,则由TRI控制定时器/计数器的启动和停止,为纯软件控制方式。
若GATE=1,TRI=1,则由INTI引脚的外部信号控制定时器/计数器的启动和停止,是纯硬件控制方式。
若GATE=1,则由TRI和INTI引脚的外部信号混合控制定时器/计数器的启动和停止,是软、硬件结合的控制方式。
定时器/计数器工作在定时工作方式时,其计数器对内部机器周期进行加1技术,而定时器/计数器的工作启动、停止采用外部硬件控制。
4 系统硬件电路设计
本系统采用以MCU为核心的方案来完成低频相位测量仪的设计[8]。本设计将硬件电路分为相位测量模块、单片机最小系统电路、显示电路模块和电源电路模块四部分。通过相位测量电路采集到得两个同频正弦信号的相位差所对应的时间差以及信号周期,送到单片机的外部中断口,让单片机最小系统完成读取数据,并能根据所读取的数据计算出两路同频信号之间的相位差,这就充分的发挥了单片机控制运算能力强的特点。最后,由显示模块显示出所测量计算的相位差。
4.1 相位测量模块设计
相位测量电路主要包括输入电路的设计和鉴相器电路部分的设计。其中输入电路起到了波形转换及整形的功能。
4.1.1 输入电路设计
4.1.1.1 输入电路
被测信号是周期相同、幅度和相位不同的两路正弦信号,为了准确地测量出正弦信号的相位差,需要对输入波形进行整形[9],使输入信号变成矩形波信号,并送给鉴相器进行处理。
另外,在相位差测量的过程当中,不允许两路被测输入信号在整形输入电路中发生相对相移,或者应该是的两路被测信号在整形输入电路中引起的附加相移是相同的,因此,我们对A、B两路信号采用了相同的整形电路。
同时,为了避免出现被测信号在过零点时含有干扰,我们选用施密特触发器组成的整形电路。由于施密特触发器是在单门限电压比较器的基础上引入了正反馈网络,因为正反馈的作用,它的门限电压随着输出电压U0的变化而变化,从而使施密特触发器有两个门限电压,所以可以提高输入电路的抗干扰能力。如图4-1所示,电路中我们使用两个施密特触发器对两路被测输入信号进行整形。在图4-1中,比较器LM339连接成了施密特触发器的形式。为了保证输入电路对相位差的测量不带来误差,必须保证两个施密特触发器的两个门限电平对应相等,这可以通过调节电位器R8来实现。
图4-1 由施密特触发器构成的整形电路
4.1.1.2 LM339的特性分析
LM339集成块内部装有四个的电压比较器,该电压比较器的特点是: (1)失调电压小,典型值为2mV;
(2)电源电压范围宽,单电源为2-36V,双电源电压为±1V-±18V;
(3)对比较信号源的内阻较宽;
(4)共模范围很大,为0~(Ucc-1.5V)Vo;
(5)差动输入电压范围较大,大到可以等于电源电压;
(6)输出端电位可灵活方便地选用。
LM339集成块采用C-14型封装,图4-2为外型及管脚排列图。由于LM339使用灵活,应用广泛,所以世界上各大IC生产厂、公司竟相推出自己的四比较器,如IR2339、ANI339、SF339等,它们的参数基本一致,可互换使用。
图4-2 LM339外型及管脚排列图
LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻,选3—15K)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。
4.1.2 鉴相器
鉴相器就是我们所说的异或门电路[11],在相位测量电路中起到了测量时间差的作用。在这里我们选用的是74LS86芯片。
74LS86为四组 2 输入端异或门,管脚图如图4-3所示:
图4-3 74LS86管脚图
引出端符号:
1A - 4A ,1B - 4B为输入端;
1Y -4Y为输出端。
其逻辑表达式为:
(4.1)
所以,其真值表如表4-1所示:
表4-1 74LS86真值表
| 输入 | 输出 | |
| A | B | Y |
| L | L | L |
| L | H | H |
| H | L | H |
| H | H | L |
由前面所说的相位和相位差的概念及联系,以及相位差与时间差之间的比例关系为:
(4.2)
可以通过测量时间差及信号周期,计算得到相位差。
4.1.3.1 相位测量原理
结合我们设计的相位测量电路原理图4-4所示,当输入信号UA、UB经过运算放大器N1、N2过零检测之后,其输出信号UC、UD分别通两JK触发器,两个JK触发器的输出信号UE、UF经过异或门,而异或门的输出信号UG是一个脉冲宽度与UA、UB两信号之间相位查成正比的脉冲序列信号。再将此脉冲序列信号送入到单片机外部中断口,进行数据处理[12]。
图4-4 相位测量电路电路图
其各点的输出波形如图4-5所示:
图4-5 相位测量电路各点波形图
4.1.3.2 单元电路的工作原理
JK触发器1、2的工作原理一样,这里我们以JK触发器1为例来说明一下它们的工作原理:
JK触发器的J端、K端和电源端均接高电平+5V上(注意JK触发器1处在计数状态)。清除端通过R10接到电源+5V上,并清除端通过C1接地,当接通电源瞬间,清除端通过C1处于低电平,使Q端置于低电平;C1逐渐充电完毕,这时清除端通过R10处于高电平。如果触发端C端接收触发脉冲时,Q端由低电平变为高电平;再来下一个脉冲,Q端又由高电平变为低电平,如此不断反复。
4.1.3.3 74LS113的特性分析
74LS113为双下降沿J-K触发器(有预置端)的简要说明:
74S113 为带预置的两组J-K触发器,其主要电特性的典型值如表4-2所示:
表4-2 74LS113主要电特性
其管脚图如图4-6所示:
图4-6 74LS113管脚图
引出端符号:
/CP1、/CP2 时钟输入端(下降沿有效)
J1、J2、K1、K2 数据输入端
Q1、Q2、/Q1、/Q2 输出端
/SD1、/SD2 直接置位端(低电平有效)
功能表如表4-3所示:
表4-3 74LS113功能表
| 输入 | 输出 | ||||
| PR | /CP | J | K | Q | /Q |
| L | X | X | X | H | L |
| H | ↓ | L | L | QO | /QO |
| H | ↓ | H | L | H | L |
| H | ↓ | L | H | L | H |
| H | ↓ | H | H | /QO | QO |
| H | H | X | X | QO | /QO |
4.2 单片机最小系统设计
这部分是由单片机、晶振电路、按键电路等组成。在设计中,我们充分利用单片机具有较强的运算能力和控制能力这一特点,使用单片机外部中断INT0、INT1接收外部送来的对应于被测信号的时间、周期差,并在单片机内部完成相应的处理及相关运算。另外,在设计中使用单片机串口UART,,将待显示信息送给显示模块显示。
设计中的单片机是ATC51[13],是美国ATMEL公司生产的8位单片机,它的主要特性有:与MCS—51兼容,其内部有4KB可编程Flash存储器;128*8位内部RAM,有1000次写/擦循环;0——24MHz全静态工作模式;32根可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内含有振荡器和时钟电路。因此,它完全可以满足本系统设计的需求。图4-7为ATC51单片机最小系统图。
图4-7 ATC51最小系统电路图
4.2.1 ATC51的特性分析
4.2.1.1 主要参数
C51具有4个I/O口,32根I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,ATC51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存了RAM中的内容,但振荡器停止工作并禁止其他所有部件工作指导下一个硬件复位。
4.2.1.2 引脚功能说明
电源和晶振:
VCC:运行和程序校检时加+5V。
GND:地。
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:反相放大器的输出,输入到内部时钟发生器。
I/O口:
P0:P0口是一组8位漏极开路的双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1:P1口是一个带内部上拉电阻的8位准双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IU)。
Flash编程和程序校验期间,P1接收低8位地址。
P2:P2口是一个带内部上拉电阻的8位准双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IU)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(例如执行MOVX @RI指令)时, P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器中的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3:P3口是一组带有内部上拉电阻的8位准双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可以作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IU)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表4-4所示:
表4-4 c51—P3口功能表
| 端口引脚 | 第二功能 |
| 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(外部数据存储器读选通) |
RXD、TXD:分别为串行输入口、输出口,分别作输入和输出用。
、:外部中断0、1,输入。
控制线:
RST:复位输入信号,高电平有效。在振荡器工作时,RST引脚出现两个机器周期以上高电平使单片机复位。
:地址锁存允许信号,输出。当访问外部程序或数据存储器时,ALE(地址所存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可以对外部时钟或用于定时母的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲()。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
:片外程序存储器选通信号,低电平有效。程序储存允许()输出是外部程序存储器的读选通信号,当ATC51由外部存储器读取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的信号不出现。
:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H——FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接端),CPU则执行内部程序存储中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V的编程电压VPP。
4.2.2 时钟电路
计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作,单片机内部电路就在惟一的时钟信号控制下严格的按时序进行工作。要给单片机提供时序要有相关的硬件电路,即振荡器和时钟电路,因此选择了内部时钟方式。利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路如图4-9所示,单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。外接晶振时,C5和C6值通常选择为30PF左右。C5,C6对频率有微调作用。晶体CR的频率范围可在1.2~12MHZ之间选择。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。
图4-9 ATC51振荡电路
分析可知,只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。那么提供给定时器的计数源就是由单片机的晶振经过12分频后获得的一个脉冲源,计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。
4.2.3 复位电路
由图4-10可以看出,是单片机的按键电平复位电路,相当于按复位键后复位端通过电阻与Vcc电源接通。复位是单片机的初始化操作,单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。晶振工作时,RST引脚持续2个机器周期高电平将使单片机复位,当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。因而,复位是一个很重要的操作方式,但单片机本身是不能自动进行复位的,必须配合相应的外部电路来实现。这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作。
图4-10 ATC51复位电路
4.3 显示模块设计
显示电路[14]由4个共阳极7段LED数码管和4片串入/并行的移位寄存器74LS1芯片组成。这种显示方式不仅可以简单得到较为简单的硬件电路,而且可以得到稳定的数据输出显示,不仅占用单片机端口少,而且可以充分了利用单片机芯片内部的串行口资源,简化软件编程。
多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路。通常,需要扩展器件管脚的较多,价格较高。在这里我们利用单片机的一个并行I/O口实现多个LED显示的简单方法。图4-11所示是该电路的显示模块电路原理图。其中,74LS1是8位并行输出门控串行输入移位寄存器,LED采用共阳极数码管。
显示时,其显示数据以串行方式从ATC51的P3.0(RXD)口输出送往移位寄存器74LS1的A、B端,然后将变成的并行数据从输出端Q0~Q7输出。然后再将输出的LED段选码同时送往数码管LED1~LED4。
图4-11 显示模块电路原理图
4.3.1 74LS1的特性分析
74LS1 为 8 位移位寄存器,其主要电特性的典型值如下:
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。
引脚功能:
CLOCK : 时钟输入端
CLEAR: 同步清除输入端(低电平有效)
A、B : 串行数据输入端
QA-QH: 输出端
封装图如图4-12所示:
图4-12 74LS1管脚图
74LS1所需电源电压约为5V左右,其逻辑真值表如表4-5所示:
表4-5 74LS1逻辑真值表
| 输入 | 输出 | ||||||
| Clear | Clock | A | B | QA | QB | … | QH |
| L | X | X | X | L | L | … | L |
| H | L | X | X | QAO | QBO | … | QHO |
| H | ↑ | H | H | H | QAN | … | QGN |
| H | ↑ | L | X | L | QAN | … | QGN |
| H | ↑ | X | L | L | QAN | … | QGN |
4.3.2 数码管显示原理
LED 数码显示器是由若干个发光二极管组成的,当发光二极管导通时,相应的点或线段发光,将这些二极管排成一定图形,控制不同组合的二极管导通,就可以显示出不同的字形。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
4.3.2.1 数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
在这里,我们采用共阳极数码管,静态显示驱动。
4.3.2.2 共阳极数码管
见图4-13共阳极结构中,各段发光二极管的阴极连在一起,将此公共点接+5V电源,某一段发光二极管的阴极为低电平时,该段发光。
图4-13 共阴极数码管结构
共阳极字段码:LED显示0~9某个字符时,则要求在a~dp送固定的字段码,如要使LED显示:“0”,则要求a、b、c、d、f各引脚为高电平,g和dp为低电平,字段码为“C0h”。
dp g f e d c b a
0 0 1 1 1 1 1 1 C0h
共阳极字符0~9七段码如表4-6所示
表4-6 共阳极字符表
| 字符 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 字符码 | C0h | F9h | A4h | B0h | 99h | 92h | 82h | F8h | 80h | 90h |
一般数码管的压降为2V左右,电流有大约在5mA~10mA之间。电流为5mA时,就已经很亮了,则:
R=U/I=(5-2)/0.005=500(Ω) (4.3)
所以,在这里我们选用510Ω的限流电阻。
4.4 电源模块设计
电路提供+5V的稳定电源,主要用于单片机(ATS51)及周边外围电路、数码显示等。它由电源变压器T1,桥式整流电路D2,滤波电容,防止自激电容和固定式三端稳压器LM7805,极为简捷方便地连接的。
图4-14 电源模块电路图
图4-14所示,电源电路采用三端集成稳压管LM7805进行稳压。交流电压经降压整流成9V,再通过LM7805,输出电压为5V。在电源电路图中接入了放光二极管D3,作为电源状态指示灯。电路输出的5V电压直接可用到单片机与显示模块上。
4.4.1 LM7805的特性分析
LM7805是美国四家半导体公司生产的三端固定稳压集成电路,用于将输入的电压稳压集为5V后提供给有关电路,其应用相当广泛,在视频、音频、计算机、游戏机等各种电器上均有应用。
LM7805是我们最常用到的稳压芯片了,它使用方便,用很简单的电路即可以输入一个直流稳压电源,它的输出电压恰好为5V,刚好是51系列单片机运行所需的电压,他有很多的系列如KA7805,ADS7805,CW7805等,性能有微小的差别,用的最多的还是LM7805,下面我简单的介绍一下它的3个引脚以及用它来构成的稳压电路的资料。其引脚图如图4-15所示。
图4-15 LM7805引脚图
LM7805有三个引脚分别为:
Vin:输入引脚,电压为9V左右;
Vout:输出引脚,电压为5V;
GND:接地。
4.4.2 电源原理
稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图4-16所示。
图4-16 电源方框及波形图
4.4.2.1 整流和滤波电路
在图4-16中,整流作用是将交流电压U2变换成脉动电压U3。滤波电路一般由电容组成,其作用是脉动电压U3中的大部分纹波加以滤除,以得到较平滑的直流电压U4。
整流电路的工作原理:
由图4-17可看出,电路中采用四个二极管,互相接成桥式结构。利用二极管的电流导向作用,在交流输入电压U2的正半周内,二极管D1、D3导通,D2、D4截止,在负载RL上得到上正下负的输出电压;在负半周内,正好相反,D1、D3截止,D2、D4导通,流过负载RL的电流方向与正半周一致。因此,利用变压器的一个副边绕组和四个二极管,使得在交流电源的正、负半周内,整流电路的负载上都有方向不变的脉动直流电压和电流。
图4-17 桥式整流电路图
4.4.2.2 稳压电路
由于得到的输出电压U4受负载、输入电压和温度的影响不稳定,为了得到更为稳定电压添加了稳压电路,从而得到稳定的电压U5。
5 软件设计
系统连续几次测量时间差和周期,每一次测量时间差和周期占用两个待测信号周期T的时间。ATC51在处理数据(数字滤波、计算、送数据显示、键盘处理)期间,使用软件停止定时器工作。显示部分采用UART方式0串行送数据给74LS1,由74LS1驱动LED数码管显示,这样可以减轻CPU的负担[15]。系统主程序框图如图5-1所示:
图5-1 主程序框图
相位测量电路的主程序:
ORG 00H
LJMP 100H
ORG 100H
MIAN: MOV 2FH, #01H
MIANWC: LCALL X3600 ;相位计算数据
LCALL MULNM
MOV 4AH, 5AH ;调用乘法子程序求3600乘以时间差
MOV 4BH, 5BH ;将上述乘积送入到除法的被乘数缓冲区
MOV 4CH, 5CH
MOV 4DH, 5DH
MOV 4EH, 5EH
MOV 4FH, 5FH
MOV 5FH, DATAL ;装入被测周期T的数据
MOV 5EH, DATAH
MOV 5DH, DATA3
LCALIDIDVDI ;调用除法子程序计算得到相位差值
MOV 35H, 4FH ;压缩BCD格式的相位差值存放在4FH-4DH中,4FH中的为最低位
MOV 34H, 4EH
MOV 33H, 4DH
MOV 32H, #0
LCALL BCDST ;将二进制数据转换为压缩格式的BCD码
MOV R0, #30H
MOV R1, #3FH
MOV R7, #04H
MOV 30H, #0
MOV 31H, #0
MOV 32H, #0
MOV 33H, #0
MOV 34H, #0
MOV 35H, #0
MOV 36H, #0
LCALL BCD2BCD ;由压缩BCD码转化为单字节BCD码
MOV 78H, #16
MOV 79H, 30H
MOV 7AH, 31H
MOV 7BH, 32H
MOV 7CH, 33H
MOV 7DH, 34H
MOV 7EH, 35H
CHCHu: LCALLDISP ;调用显示子程序
KEYCOD: JB P1.7, MIAN11 ;查询按键S1
LCALLDELAY1 ;软件延时消抖
JNB P1.7, $ ;等待S1释放
CPL 2FH.0 ;取反标志位2FH.O
LCALL DELAY2
MIAN1: LCALLDELAY1
LCALLDELAY1
LCALLDELAY1
LJMP MIAN1 ;继续主程序循环
结束语
参考文献
[1]田秀丰,何继爱,李敏.低频数字式相位测量仪的设计[J].无线通信技术,2008,(2):55-61.
[2]姚远,王丽婷,郭佳静.低频数字式相位测量仪(C题)[J].电子世界,2004,(5):39-41.
[3]徐柳娟,郑文卓,水永炜.低频数字式相位测试仪[J].电子技术与应用,2004,(11):56-57.
[4]李洋.现代电子设计与创新[M].北京:中国电力出版社,2007.119-130.
[5]丁邦俊,王小娟.基于ATC52低频数字式相位测量仪的设计与实现[J].无锡商业职业技术学院学报,2004,(7):4-6.
[6]史国清,倪晋平.基于单片机的低频数字相位测量仪的设计[J].现代电子技术,2005,(8):80-81.
[7]张俊谟.单片机中级教程原理及应用[M].北京:北京航空航天大学出版社,2006.13-40.
[8]孙笑雨.用单片机实现高精度数字频率计[J].沈阳电力高等专科学校学报,1999,(1):9-20.
[9]卢文科.实用电子测量技术及其电路分析[M].北京:国防工业出版社,2000.82-86.
[10]张超,刘开培.基于CPLD的相位差测量仪[ J ].电子技术,2003,(5) :13-17.
[11]臧春华.电子线路设计与应用[M].北京:高等教育出版社,2004.39-44.
[12]李青鹏,路军,李俊杰.基于单片机和DDS 的高精度频率信号实现[J].电子技术应用,2002,(7);28-50.
[13]黄智伟.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2005.143-152.
[14]唐俊翟,许雷,张群瞻.单片机原理与应用[M].北京:冶金工业出版社,2003.225-236.
[15]王振红,钱飞.基于VHDL语言的数字频率计设计[J].微电子学,2002,(3):234-245.
[16]马衷梅.单片机应用程序设计[M].北京:北航出版社,1998.
[17]陆坤.电子设计技术[M].北京:电子科技大学出版社,2001.
[18]沙战友.新编实用数字化测量技术[M].北京:国防工大出版社,2000.
[19]HAMMOND JM, LEC RM.A noncontact piezoelectric torque sensor[J].IEEE International Frequency Control Symposium, 1998.
[20] paull CJ.Phase Measuring with Increased Accuracy[M]. Electron.Eng ,1971.
[21] JACUB Millman.Integrated electronics[M].Mcgraw2Hill Inc ,1971.
附 录下载本文