




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 绪论近年来,随着科学技术的迅速发展,很多测量仪逐渐向“智能仪器”和“自动测试系统”发展这使得仪器的功能丰富而使用简单。低频数字式相位测试仪在工业领域中是经常用到的通用测量工具。相位检测技术的应用已深入到如多领域,广泛应用于国防、科研、学校和厂矿,传统的模拟指针式仪表显然不能够满足所需的精度要求,随着电子技术以及微机技术的发展,数字式仪表因其高精度的测量分辨率以及高度的智能化、直观化的特点得到越来越广泛的应用。同时,在电力系统中电网并网合闸时,要求两电网的电信号相同,这就要求精度的测量两工频信号之间的相位差。还有测量两列同频信号的相位差在研究网络、系统的频率特性中具有重要的意义。同时,微电子
2、技术的迅猛发展,给国民经济、生产活动和社会活动带来极大的变革。特别是集成电路和微电子技术的飞跃发展,更为设计、安装体积小、性能优越、功能全的装置创造了良好的条件。可以说,电子技术的应用水平是现代化进程的一个重要标志。微电子技术、计算机技术、通信技术、单片机原理技术等先进技术与具体应用对象相结合而设计的产品更是受世人青睐。本次设计即是利用单片机实现对低频相位差的测量,使得仪表更加数字化、智能化,功能比起采用电子或数字电路更加强大。在科学研究、实验或生产实践中,常常需要对低频移相网络的信号进行相位测量,但某些测量方法仅仅局限于测某一频率信号的相位,不能满足一定范围内任意频率信号的相位测量,总之低频
3、相位测量仪的现代科学技术中的应用越来越多,比如在电力系统中常常需要对两个同频率信号(如工频电压和工频电流)之间的相位关系进行准确的测量。“相位时间”法和“功率比例法”是两种比较传统的相位差测量方法,在现代技术领域中还对基于离散付里叶变换的相位测量原理进行了研究,并有了一定的成效,研究表明基于离散付里叶变换原理的相位测量方法具有测量精度高 抗干扰能力强 电路设计简单等特点。总之相位测量技术在我们生活中起到了不可忽视的。本低额教字式相位测量仪由AT89C51芯片和集成电路构成。由于AT89C51芯片的集成度高,智能程度高,功能强大,使得它实现起来比较简单,而且,具有体积小,性价比高、性能稳定的特点
4、。2 设计方案论证从功能角度来看, 看相位测量仪要完成信号频率和相位差的测量. 相位测量仪有两路输入信号, 也是被测信号, 它们是两个同频率的正弦信号,频率范围为20HZ20KHZ(正好是音频范围),幅度为U PP =15V(可以扩展到0.35V), 但两者幅度不一定相等。现在来讲解一下相位、相位差的概念。在“电路原理”课程中已经介绍过这些概念,不妨令正弦信号为A (t )=Am sin(t+0 ,式中A m 称为幅值(最大值),且A A m 2 ,A 称为有效值;(t )=t+0称为相位,0称为初相位,称为角频率。A m 、0称为正弦量的三要素。只有两个同频率的(正弦)信号才有相位差的概念。
5、不妨令两个同频率的正弦信号为A 1(t )=A1m sin(t+01 ,A2(t )=A2m sin(t+02 ,则相位差=(t+01- (t+02= 01-02,由此可看出,相位差在数值上等于初相位之差,是一个角度。不妨令=T,其中T 是相位差对应的时间差,且令T 为信号周期,则有比例关系T :360=T:可以推导得到=(T /T)×360,此式说明,相位差与T一一对应,可以通过测量时间差T 及信号周期T ,计算而得到相位差,这就是相位差的基本测量原理。由相位差的基本测量原理可知,相位差的测量本质上是时间差T 及信号周期T 的测量,也就是时间的测量,而时间的测量不可避免地要用到电子
6、计数器。时间的测量有多种方法,而设计题目关于相位测量仪的技术指标要求会影响到我们对方案的选择,由一般常识可知,单片机应用系统一般能较好地实现各种不同的测量及控制功能,因此,选择使用单片机实现系统功能,完成系统指标。2.1 原理框图以单片机为核心的相位测量仪原理框图如图2-1所示。两路待测信号经整形后变成了矩形波I 、V ,且可以认为I 和V 是同频率、不同相伴的矩形波。 图2-1 以单片机为核心的相位测量仪原理框图2.2 频率的测量单片机对信号频率的测量可以采用直接测频率的方法和测周期的方法。一般是信号频率较高时,采用直接测频率的方法,而信号频率较低时,采用测周期的方法。(1)用直接测频率的方
7、法获得信号频率。让定时器/计数器T1对外部事件计数,而让定时器/计数器T0定时1s, 只有在这1s 内T1启动对外部事件(即信号I )计数,则T1的计数值就是待测信号的频率。(2)用测周期方法获得信号频率。由图2-2可知,对I 进行2分频后的信号波形中,高电平宽度正好对应I 的周期,将此高电平信号作为单片机内部定时器的硬件启动/停止信号,便可测得周期T ,再由公式f=1/T,计算得到频率。 2.3 相位差的测量鉴相器就是异或门,在鉴相器的输出波形IV 中,正脉冲宽度就是要测量的I和V 相位差所对应的时间差T ,如图2-3所示。在测量相位差时还应考虑超前、滞后两种情况(如图2-3中所示为I 超前
8、V )。把I V 波形中的正脉冲作为门控信号,控制闸门的启闭,即控制单片机内部定时器/计数器的启动/停止,从而达到测量时间差T 的目的,再根据公式=T,计算得到图2-2 用测周期的方法获得信号频率相位差T 。另外,由图2-3可知,I V 信号是I 信号的二倍频(I 与V 同频),由此可见,对于同频不同相的两个信号,经过异或门后可得到二倍频的信号。因此从这个意义上讲,异或门可实现信号的二倍频。 2.4 单片机测量时间差、周期的方法下面详细谈谈单片机测量时间差、周期的方法。51系列单片机的芯片内部集成了两个16bit 的硬件定时器/计数器,它们是T0、T1。单片机芯片内部的硬件定时器/计数器有三个
9、特点:定时器/计数器可以与CPU 并行工作;定时器/计数器可以采用中断方式与系统协调工作;定时器/计数器可以由软件或硬件控制启动和停止。单片机的定时器/计数器受TMOD 及TCON 的控制,如图2-4所示。 图2-4 TMOD 和TCON若GATE=0,则由TR i 控制定时器/计数器的启动和停止,为纯软件控制方式。 若GATE=1,TR i =1,则由INT i 引脚的外部信号控制定时器/计数器的启动和停止,是纯硬件控制方式。若GATE=1,则由TR i 和INT i 引脚的外部信号混合控制定时器/计数器的启动和停止,软、硬件结合控制方式。定时器/计数器工作在定时工作方式时,其计数器对内部机
10、器周期进行加1计数,TCON而定时器/计数器的工作启动、停止采用外部硬件控制。电路图如图2-5所示,该电路由单片机、整形电路、门电路等组成。由定时器/计数器T0、T1分别测量周期、时间差。 图2-5 单片机测量时间差、周期的电路图时序图如图2-6所示。需要说明的是,由软件创建一标志位2FH.1,当输入引脚P3.6=0时,CPU 置位标志位2FH.1,而当P3.6=1时,CPU 在读取时间差数据后清零标志位2FH.1。 图2-6 时序图3 系统硬件设计本设计将硬件系统分为数据采样处理及单片机最小系统两个部分,这就充分发挥了单片机控制运算能力强的特点。数据采集由鉴相器完成,可以准确地采集到两个同频
11、正弦的相位差所对应的时间差以及信号的周期,从而提高系统的可靠性。由于单片机具有较强的运算、控制能力,因此,使用单片机最小系统完成读取鉴相器得到的数据,并根据所读取的数据计算待测信号的频率及两路同频信号之间的相位差。同时通过功能键切换,由显示模块可以显示待测信号的频率和相位差。3.1 输入电路设计输入电路起到波形变换及整形的功能,由于被测信号是周期相同、幅度和相位不同的两路正弦信号,为了准确地测量出两路正弦信号的相位差及其频率,需要对输入波形进行整形,使输入信号变成矩形信号,并送给鉴相器进行处理。我们设计了这两种整形输入电路方案。第一种方案是使用单门限电压比较器来完成,当输入信号电压每通过一次零
12、时限电压比较器的输出就要翻转一次,即比较器的输出端将产生一次电压跳变,它的正、负向幅度均受到供电电源的限制,因此,输出电压小型是具有正负极性的方波,这样就完成了电压波形的整形工作。但是通常情况下,输入信号往往会含有干扰,这对单门限电压比较器尤为不利,由于有干扰信号,导致单门限电压比较器在输入信号过零点时会产生多次触发翻转的现象,这样就会导致采集数据(计数)不准确,从而使单片机无法计算出正确的被测信号的频率和相位差数值。这种方案电路图如图3-1。 图3-1 采用单门限电压比较器的整形电路另外,在相位差测量过程中,不允许两路被测输入信号在整形输入电路中发生相对相移,或者应该使得两路被测信号在整形输
13、入电路中引起的附加相移是相同的,因此,我们对A 、B 两路信号采用了相同的整形电路。为了避免出现被测输入信号在过零点时多次触发翻转的现象,我们设计了第二种整形电路,即使用施密特触发器组成的整形电路。由于施密特触发器在单门限电压比较器的基础上引入了正反馈网络,因为正反馈的作用,它的门限电压跟着输出电压U 0的变化而改变,从而使施密特触发器有两个门限电压, 所以可以提高输入电路的抗干扰能力。第二种整形电路电路如图3-2所示,电路中我们使用两个施密特触发器触发器对两路被测输入信号进行整形。在图3-2中,比较器LM339连接成施密特触发器的形式。为了保证输入电路对相位差测量不带来误差,必须保证两个施密
14、特触发器的两个门限电平对应相等,这可以通过调节电位器R 8来实现。输入信号再通过各种门电路以便单片机完成相位差及周期的测量。 图3-2 由Schmitt 触发器构成的输入电路3.2 单片机电路的设计这部分电路由单片机、晶振电路、复位按键电路等组成。在设计中我们充分利用单片机具有的较强的运算能力和控制能力这一特点,对获取的输入信号的周期、相位差16bit 二进制数据进行处理及相关运算。P 1口的P 1.7、P 1.6接入两个轻触按键,结合软件编程实现频率与相位差的显示切换功能。另外,在设计中使用了单片机串口UART ,将待显示信息送给显示模块显示。设计中的单片机是AT89C51,它是美国ATME
15、L 公司生产的8位单片机,它的主要特性有:与MCS-51兼容;内部集成有4KB 可编程Flash 存储器;128×8位内部RAM ,有1000次写/擦循环;数据可保留10年;024MHz全静态工作方式;三级程序存储器锁定;32根可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内含振荡器和时钟电路。因此,它完全可以满足本系统设计的需要。单片机电路如图3-3所示,为了提高单片机的I/O口带负载能力,电路中采用了3个上接排电阻。 P1.6 图3-3 AT89C51电路图计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲是由单片机
16、控制器中的时序电路发出的。单片机的时序就是CPU 在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作,单片机内部电路就在惟一的时钟信号控制下严格的按时序进行工作。要给单片机提供时序要有相关的硬件电路,即振荡器和时钟电路,因此选择了内部时钟方式。利用芯片内部的振荡器,然后在引脚X1和X2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路如图3-4所示,单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。外接晶振时,C2和C3值通常选择为30PF 左右。C2,C3对频率有微调作用。晶体的频率范
17、围可在1.212MHZ 之间选择。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。 图3-4 AT89C51晶振电路分析可知, 只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。那么提供给定时器的计数源就是由单片机的晶振经过12分频后获得的一个脉冲源,计数脉冲的间隔与晶振有关,12M 的晶振,计数脉冲的间隔是1微秒。由图3-5可以看出,是按键电平复位电路,相当于按复位键后复位端通过电阻与Vcc 电源接通。复位是
18、单片机的初始化操作,单片机在启动运行时,都需要先复位,其作用是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。晶振工作时,RST 引脚持续2个机器周期高电平将使单片机复位,当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH 上的DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。因而,复位是一个很重要的操作方式,但单片机本身是不能自动进行复位的,必须配合相应的外部电路来实现。这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST 引脚上
19、为高电平,然后电源通过电阻对电容充电,RST 端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。 图3-5 复位电路3.3 显示模块的设计系统硬件电路中采用LED 数码管静态显示的方式。显示电路由6个共阴极7段LED 数码管和6片串入/并出的移位寄存器74LS164芯片组成。这种显示方式不仅可以得到较为简单的硬件电路,而且可以得到稳定的数据输出显示,不仅占用单片机端口少,而且可以充分利用单片机芯片内部的串行口资源,容易掌握其编程规律,简化软件编程。试验证明,这种显示模块具有较高的可靠性。设计出的显示模块电路图如图3-4所示。多位LED 显示时,常将所有位的段选线并联在一起,由一个8
20、位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路,通常,需要扩展器件管脚的较多,价格较高。本文将介绍一种利用单片机的一个并行I/O口实现多个LED 显示的简单方法。其中,74LS164是8位并行输出门控串行输入移位寄存器,LED 采用共阴极数码管。显示时,其显示数据以串行方式从89C51的RXD 口输出送往移位寄存器74LS164的A 、B 端,然后将变成的并行数据从输出端Q0Q7输出,以控制开关管WT1WT8的集电极,然后再将输出的LED 段选码同时送往数码管LED1LED6。LED1LED2LED5LED6 图3-4 显示模块电路图3.4 相
21、位测量仪整体电路综合上面的设计过程,相位测量仪整体电路图如附录所示。4 系统软件设计程序是为计算某一算式或完成某一工作的若干指令的有序集合。计算机的全部工作概括起来,就是执行这一指令序列的过程。为计算机准备这一指令序列的过程称为程序设计。可用于程序设计的语言可分为三种:机器语言、汇编语言和高级语言。在计算机中,所有的数符和指令都是用二进制代码来表示的。这种二进制代码表示的指令系统称为机器语言。计算机可以识别机器语言并加以执行。但对于使用者来说,不易看懂,不便记忆,容易出错。为了克服这些缺点,汇编语言出现了。程序设计自动化的第一阶段就是用英文字符来代替机器语言,这些英文字符被称为助记符。用助记符
22、表示指令系统的语言称为汇编语言,用汇编语言编写的程序称为汇编语言程序。但是,计算机不能直接识别在汇编语言中出现的字母、数字和符号,需要将其转换成用二进制代码表示的机器语言程序,计算机才能够识别和执行。汇编语言醒目、易懂、不易出错,即使出错,也容易被发现修改,执行速率高,本次设计就是采用汇编语言程序编写的代码。系统连续3次测量时间差和周期,每一次测量时间差和周期占用两个待测信号周期T 的时间。单片机在处理数据(数字滤波、计算、送数据显示、键盘处理)期间,使用软件停止定时器工作。显示部分采用UART 方式0串行送数据给74SL164,由74LS164驱动LED 数码管显示,这样可以减轻CPU 的负
23、担(相对于动态扫描而言)。键盘处理实际上就是通过按键S 1切换显示不同的内容,即显示频率和相位差。系统主程序是一个顺序执行的循环程序,框图如图4-1所示。子程序SUB1完成的功能是3次测量时间差、周期并保存到内存。了程序SUB1的流程图如图4-2所示。因这第一次测量时间差、周期的起始时刻表一定的随机性(这是由于软件启动定时器/计数器T 0、T 1第一次分别测得的周期、时间差是不准确的,故舍弃)。MCU 完成的任务有三个方面, 归纳为以下三点:(1)从鉴相器获取数据。单片机从鉴相器获取两种数据,一是待测信号的周期T (单位是1s),为16bit 无符号二进制数,二是待测信号的相位差对应的时间差T
24、 (单位也是1s),也为16bit 无符号二进制数。(2)对获取的数据进行处理:从前面分析可知频率f=1/T,=(T /T)×360,但89C51获得的周期数据单位是1s,而要测得的频率是在1s 内测得的频率值,所以可求得f=1/T/10-6,即可得到f=1000000/T。1)按照公式f=1000000/T计算频率,单位是Hz ,这是一个多字节除法运算问题。 2)按照公式=T/T×360计算相位差,单位是1,这是一个多字节乘法、除法运算问题。(3)将计算得到的频率值及相位差值送LED 数码管显示。在系统硬件设计时,显示模块中有6个LED 数码管,实际需要的LED 数码管个
25、数确定方法如下:题目要求相位差显示为0o 359o ,分辨率为1o ,则数码管选3个。 频率显示20Hz20kHz,20Hz20000Hz,则要5个数码管。综合考虑和两点,并考虑在显示频率、相位差时分别给出一个标志符号于最右边的数码管上,分别显示“o ”和“H”,则选定6个LED 数码管作为系统的显示器。这样,显示缓冲区(连续区域)为12Bytes (12个内存单元)。硬件电路中不需要的LED 数码管通过软件让其消隐而不显示。6位LED 数码管的工作情况为:根据显示选择设置(频率/相位差),CPU 从显示缓冲区取数据,通过UART 方式0串行输出数据,由74LS164接收数据并驱动6位LED
26、数码管显示。在软件编程时应解决无效数字“0”的消隐问题。不需要CPU 对LED 显示内容定时刷新(与LED 动态扫描显示不同)。4.1 程序流程图通过分析单片机应完成的任务可知,这些任务可以按顺序执行(没有对时序要求很严格的任务)。所以,整个单片机源程序由主程序及若干子程序组成,而主程序是一个循环执行的顺序程序。主程序流程图如图4-1所示,主程序主要完成待测信号的频率、相位差的测量,并由键盘作为功能键切换,由显示模块LED 显示出结果。具体思路:首先初始化程序,包括定义各内存空间,各标志位,初始化堆栈、寄存器等;由于程序要用到T/C,所以应首先使TR0和TR1置位,即由INT0和INT1引脚的
27、外部信号控制T/C的启动和停止;为使测量的频率、相位差准确,程序设计采用调用三次测量时间差、周期的子程序SUB1,并将测量到的时间差、周期保存到内存中;采了3个值后,使TR0和TR1复位,计平均数,再计算频率、相位差,即可得到较准确的相位差值;最后键盘作为功能键切换,由LED 显示出待测信号的频率和相位差。测量时间差、周期子程序的程序流程图如图4-2所示,计算频率子程序流程图如图4-3所示,键盘子程序流程图如图4-4所示,计算相位差子程序流程图如图4-5所示,显示子程序流程图如图4-6所示。显示子程序主要完成将待测信号的频率、相位差值在LED 上显示出来。具体思路:初始化程序时设频率显示缓冲区
28、首地址为70H ,相位差显示缓冲区首地址为78H ,进入显示子程序DISPLAY 后,先查询控制显示频率或相位差的标志位2FH.0,若2FH.0=0,则转去执行显示相位差;若2FH.0=1,则转去执行显示频率,不管显示频率还是相位差,都应先将显示缓冲区首地址赋给R0保存;接下来消隐去掉无效数字0;在LED 上显示结果,需查表求段码(一般用MOVC A ,A+DPTR的指令),并经UART 方式来发送段码,直至显示数码送完,这样,即可完成频率和相位差的显示。 图4-1 主程序流程图 图4-2 测量时间差、周期子程序流程图 图4-4 键盘子程序流程图图4-3 计算频率子程序流程图 图4-5 计算相
29、位差子程序流程图 图 4-6 显示子程序流程图4.2 单片机源程序用汇编语言编写的单片机源程序如下::*; 符号定义DATA1 EQU 40H ;16bit 周期T 的数据存放内存单元DATAH EQU 41HDATA2L EQU 43H ; 16bit相位差对应的时间差的数据存放内存单元 DATA2H EQU 44H;-; 除法占用单元及乘法占用单元AD0 EQU 30H ; 存放被除数(或被乘数)的字节数单元 AD1 EQU 31H ; 存放除数(或乘数)的字节数的单元ADA EQU 4FH ; 存放被除数(或被乘数)的末地址,即最低位低字节单元地址ADB EQU 5FH ; 存放除数(或
30、乘数)的末地址,即最低位低字节单元地址ADC EQU 4DHADE EQU 5DHKEY1 BITP1.7 ; 切换显示的按键S1 KEY2 BITP1.6 ; 未使用按键S2 ALA BIT P3.5 ; 未使用DISPBIT BIT 2FH.0 ; 控制显示频率或相位差的标志位 SAMP1A EQU 40HSAMP1B EQU 41HSAMP1C EQU 42HSAMP2A EQU 43HSAMP2B EQU 44HSAMP2C EQU 45HSAMP3A EQU 46H- 21 -SAMP3B EQU 47HSAMP3C EQU 48HSAMP4A EQU 49HSAMP4B EQU 4
31、AHSAMP4C EQU 4BHSAMP5A EQU 4CHSAMP5B EQU 3DHSAMP5C EQU 3EH*ORG 00HLJMP 100HORG 100HMAIN: MOV 2FH,#01HMAIN1: NOPSETBTR0 SETB TR1LCALL SUB1CLR TR0CLR TR1 LCALL ZZLBLCALL ZHUNBEIZHOUQI ; 装入频率计算数据(1000000及周期T )分别到4AH4DH及5DH5EH中CLR 2F H.3JNB 2F H.3,DIVDD1LJMP CHCHUDIVDD1:LCALL DIVD1 ; 调用除法子程序(4字节除以2字节)计算
32、频率MOV 6FH,4FH ; 二进制形式的频率值在4E 、4FH 中,最高位在4EH中- 22 - MOV 35H,4FHMOV 34H,4EHLCALL BCDST ; 将二进制数据转换成BCD 码MOV R0,#30HMOV R1,#3FHMOV R7,#04HMOV 30H,#0MOV 31H,#0LCALL BCD 2BCD; 将压缩BCD 码格式转换成单字节BCD 码格式 MOV 70H,#18; 频率值存放在30H31H中,最低位在30H 中,最高位在32H 中 MOV 71H,30H; 内存单元70H72H是频率值显示缓冲区,其中70H 是符号位 MOV 72H,31HMIAN
33、WC:LCALL X360; 装入相位计算数据 LCALL MULNM; 调用乘法子程序求360乘以时间差(2字节乘以2字节) MOV 4CH,5CH; 将上述乘积送入除法的被乘数缓冲区 MOV 4DH,5DHMOV 4EH,5EHMOV 4FH,5FHMOV 5FH,DATAL; 装入被测周期T 的数据 MOV 5EH,DATAHLCALL DIVD1; 调用除法子程序计算得到相位差值 MOV 35H,4FH; 压缩BCD 格式的相位差值存放在4FH4EH中,4FH 中的为最低位 MOV 34H,4EHLCALL BCDST; 将二进制数据转换为压缩格式的BCD 码MOV R0,#30H-
34、23 -MOV R7,#04HMOV 30H,#0MOV 31H,#0LCALL BCD 2BCD ; 由压缩BCD 码转换为单字节BCD 码MOV 78H,#16 ; 相位差值存放在30H31H中,最低位在30H 中,最高位在31H 中MOV 79H,30H ; 内存单元78H7AH是相位差值显示缓冲区,其中78H 是符号位MOV 7AH,31HCHCHu:LCALLDISP ; 调用显示子程序KEYCOD:JB P1.7,MIANI1 ; 查询按键S 1LCALL DELAY1 ; 软件延时消抖JNB P1.7,$ ; 等待S 1释放CPL 2FH.0 ; 取反标志位2 FH.0LCALL
35、 DELAY2MIANI1: LCALL DELAY1LCALL DELAY1LCALL DELAY1LJMP MIAN1 ; 继续主程序循环(主程序段到此为此)*SUB1:MOV R4,#4LOOP3: JNB P3.6,BZDJNZ 2F H.1,LCCJNZ R4,#4,SAVE JMP CTSA VE: MOV DATAL,TL0MOV DATAH,TH0- 24 -MOV DATA2L,TL1MOV DATA2H,TH1CT: CLR TR0CLR TR1CLR 2FH.1SUB R4,#1JMP LCBZ: SETB 2FH.1 LC: CJNZR4,#0,LOOP3 RET*ZZ
36、LB: POP APOP R0MOV R0,#SAMP1AMOV A,#01HMOV R0,AINC R0MOV A,#51HMOV R0,AINC R0MOV A,#50HMOV R0,AINC R0MOV A,#02HMOV R0,AINC R0MOV A,#56HMOV R0, A- 25 - INC R0MOV A, #12H MOV R0, A INC R0MOV A, #02H MOV R0, AINC R0 MOV A, #56H MOV R0, A INC R0 MOV A, #10H MOV R0, A INSER:MOV R2, #02H SORT:MOV A, R2 MO
37、V R3, A MOV R0, #SAMP1A LOOP:MOV A, R0 INC R0 MOV R1, A CLR C SUBB A, R0 JC DONE MOV A, R0 DEC R0 XCH A, R0 INC R0 MOV R0, A DONE: DJNZR3, LOOP DJNZR2, SORT INC R0MOV A, R0MOV R0, #SAMP1AINC R0INC R0MOV A, R0MOV 20H, APUSH R0PUSH ARETPROC ZHUNBEIZHOUQI ; 为了计算频率将被除数1000000装入4CH4FH单元中ZHUNBEIZHOUQI: ;
38、将除数(周期T )装入5EH51FH单元中MOV 5FH, DATALMOV 5EH, DATAHMOV 4FH, #40H ; 低位MOV 4EH, #42HMOV 4DH, #0FHMOV 4CH, #00HRETNOP ;PC 值出错处理NOP ; 空操作NOP ; 空操作LJMP MIAN ; 重新复位启动END*PROC DIVD1DIVD1: PUSH ACC ; 现场保护PUSH PSWPUSH BMOV A ,R2JNZ DIV1 ; 判断R2是否为0,若R2为0,则执行ERR0R1;若R2不为0,则执行除法DIV1ERR0R1: MOV A, R1JNZ DIV1 ; 判断R
39、1是否为0,若R1为0,则执行ERR0R ,若R1不为0,则执行除法DIV1DIV1: MOV A, R5CLR CSUBB A, R1MOV A, R6SUBB A, R2JNC DVOF ;R6R5-R2:R1,够减,转DVOF (溢出);不够减转DIV2DIV2: MOV R7, #10H ; 置循环次数16CLR C ;C 清零ROL R3 ; 被除数低16位左移1位ROL R4DIV3: ROL R5ROL R6MOV R0, C ; 将R6最高位放入R0中保存MOV A, R5;做R6:R5-R2:R1的减法,结果放入R6:R5中CLR CSUBB A, R1MOV R5, R5M
40、OV A, R6SUBB A, R2MOV R6, AJNC DIV4 ;C=0,说明够减,在R3最低位上商1MOV A, R5 ;C=1,说明不够减,恢复余数CLR CADD A, R1MOV R5, AMOV A, R6ADDC A, R2MOV R6, ACLR C ; 不够减,商0LJMP DIV5DIV4: SETB C ; 够减,商1DIV5: ROL R3ROL R4DEC R7CJNZ DIV3 ;R7不等于0,说明除法未完,转DIV3继续除CLR C ; 清C ,表示除法已除完DNE: POP B ; 现场恢复POP PSWPOP ACCRETDVOF: MOV B, #0F
41、FH ; 溢出标志LJMP DONEERR0R: RET ; 若除数为0,结束运算* PROC BCDSTBCDST: PUSH PSWPUSH ACC; 现场保护PUSH BMOV A ,R4;二进制整数送AMOV B ,#100 ;十进制数100送BDIV A B ;(A )/100,确定百位上的数MOV R5,A ;百位数存入R5中MOV A ,#10 ;将10送A 中XCH A ,B ;将10和B 中余数互换DIV A B ;(A )/10,得十、个位上的数,商是十位,余数是个位SWAP A ;将A 中商(十位数)移入商4位ADD A ,B ;将B 中余数(个位数)加到A 中MOV R
42、4,A ;将十、个位BCD 码存入R4中POP B ;恢复现场POP ACCPOP PSWRET*PROC BCD 2BCDBCD 2BCD:PUSH PSW ;现场保护PUSH ACCMOV A ,R5ANL A ,#0FHMOV R5,A ;R5中存高位单字节BCD 码MOV R3,R4ANL A ,#F0H;屏蔽低4位MOV R4,A ;中间位压缩BCD 码转为的单字节BCD 码存入R4中MOV A ,R3SWAP A ;交换中间位和低位ANL A ,#F0H;屏蔽低4位SWAP AMOV R3,A ;低位存入R3中PUSH ACCPUSH PSW*PROC X360X3600: MOV
43、60H, DATA2LMOV 61H, DATA2HMOV 62H, 68HMOV 63H, 01HRET * PROC MULNM:MULNM: PUSH A;PUSH BPUSH PSWMOV A, R0MOV B, R2MUL ABMOV R6, AMOV R7, BMOV A, R1MOV B, R2MUL ABMOV R4, AMOV R5, BMOV A, R7ADD A, R4MOV R7, AMOV A, R5ADDC A, #00HMOV R5, AMOV A, R0MOV B, R3MUL ABMOV R3, AMOV R4, BMOV A, R7ADD A, R3MOV
44、R7, AMOV A, R5ADDC A, R4MOV R5, AMOV A, R1MOV B, R3MUL ABMOV R3, AMOV R4, BMOV A, R5ADD A, R3MOV R2, AADDC A, #00HMOV R3, AMOV R1, R7MOV R0, R6POP PSWPOP BPOP ARET* DELAY: MOV 30H, #50D1: MOV 31H, #100DJNZ 31H, $DJNZ 30H, D1RET*DISPLAY: MOV DPTR, #TABMOV R7, #5JB 2FH.0, FREQXIANGWEI:MOV R0, #78HSJMP
45、 NEXTFREQ: MOV R0, #70HNEXT: MOV A, R0MOVC A, A+DPTRMOV SBUF, AJNB TI, $CLR TIINC R0DJNZ R7, NEXTRETTAB: DB 3FH, 06H, 5BH, 4FH, 66H;DB 6DH, 7DH, 07H, 7FH, 6FH;DB 77H, 7CH, 39H, 5EH, 79H, 7EH4.3 调试与仿真(1)编辑源程序。在Wave6000软件平台上编辑上述源程序。(2)编译源程序。在编译过程中可能有很多语法错误,要一一排除,最后通过编译。(3)仿真调试:1)软件仿真调试并获得通过。2)硬件仿真调试并获
46、得通过。(4)写目标程序到程序存储器中。在仿真调试获得通过后,便可以将目标程序通过通用编程器写到AT89C51芯片内部的程序存储器中。5 系统设计总结在完成上面的设计后,很有必要对自己做的设计总结一下,以便发现问题及时解决,发现不足及时补充,发现错误及时纠正。设计任务要求相位测量绝对误差小于或等于±2o 。相位差测量误差主要来自三个方面:整形电路;鉴相器产生的计数误差,由单片机运算引入的计算误差,计算误差很小可忽略之。由此可见,相位测量误差主要受输入信号整形电路的影响。整形电路的任务是把任意波形(一般是正弦波)变换成矩形波。在设计中,我们选用由LM339构成的斯密特触发器作为输入信号
47、的整形电路。斯密特触发器可以很好地消除抖动,但也给相位测量仪系统带来了相伴差的测量误差。如果两路待测输入正弦信号的幅度基本相等,且两个斯密特触发器的门限电压又很接近,斯密特触发器引入的相位误差不会对测量精度造成多大影响。但是,如果两路输入信号的幅度相差比较大的话,则由斯密特触发器构成的整形电路引入的相位测量误差可能会比较大。经计算表明,在极限情况下,斯密特触发器整形电路带来的相位差的测量误差可能达不到不能接受的程度。如果直接采用过零电压比较器作为输入信号的整形电路,那么,过零电压比较器在电位零点附近极有可能振荡!这是因为在零点电位附近的输入电压位于电压比较器的线性放大区,这样得到的整形后的信号
48、电压的跳变沿附近会有许多抖动,正是因为这种抖动使得系统测量工作根本无法正常进行。致 谢转眼间,我已经在美丽的郑州轻工业学院度过了两个年头。两年,这是我人生中非常重要的两年,我有幸能够接触到这些不仅传授我知识、学问,而且从更高层次指导我的人生与价值追求的良师。他们使我坚定了人生的方向,获得了追求的动力,留下了大学生活的美好回忆。感谢郑州轻工业学院两年来的培养,在此,我真诚地向我尊敬的老师们和母校表达我深深的谢意!这篇论文是在我的导师王新金老师的多次指导下完成的。从论文的选题到结构安排,从内容到文字润饰,都凝聚了他大量的心血。在这篇论文的写作过程中,王新金老师不辞辛劳,多次与我就论文中许多核心问题
49、作深入细致地探讨,给我提出切实可行的指导性建议,并细心全面地修改了我的论文。王新金老师对本论文从选题、构思、资料收集到最后定稿的各个环节给予细心的指引和教导, 使我对低频相位测量仪有了更加深刻的认识, 并最终得以完成毕业论文, 对此, 我打心眼里表示我最衷心的感谢. 王老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度、积极进取的科研精神以及诲人不倦的师者风范是我毕生的学习楷模。王老师的高深精湛的造诣与严谨求实的治学精神将永远激励着我。王老师这种一丝不苟的负责精神,使我深受感动。更重要的是王老师在指导我的论文的过程中,始终践行着“授人以鱼,不如授之以渔”的原则。他常教导我要
50、志存高远,严格遵守学术道德和学术规范,为以后的继续深造打好坚实的基础。在此,请允许我向尊敬的王新金老师表示真挚的谢意!感谢和我一起度过两年大学的朋友徐伟、张宝艺。是你在我失意时给我鼓励,在我失落时给我支持,感谢你和我一路走来,让我在人生这一驿站中倍感温暖!在论文的写作过程中,也得到了许多同学的宝贵建议,同时还得到许多社会人士的支持和帮助,在此一并致以诚挚的谢意。最后,衷心感谢所有老师对我的栽培、支持和鼓励,感谢所有朋友的关心和帮助。向在百忙中抽出时间对此论文进行评审并提出宝贵意见的各位专家表示衷心地感谢!衷心祝愿母校郑州轻工业学院的明天更加美好!低频相位测量仪软件设计 参考文献 1 马衷梅.
51、单片机应用程序设计. 北般出版社. 1998.1 2 陆坤. 电子设计技术. 电子科技大学出版社 .2001.1 3 沙战友. 新编实用数字化测量技术. 国防工大出版社 2000.8 4 刘公致. 一种较精确的相位测量方法. 杭州电子工业学院学报. 1999.3 5 李洋. 现代电子设计与创新. 中国电力出版社. 2007.7 6 黄智伟. 全国大学生电子设计竞赛训练教程. 电子工业出版社 2005.1 7 高有堂、翟天嵩、朱清慧. 电子设计与实战指导. 电子工业出版社 2007.4 8 黄智伟. 全国大学生电子设计竞赛电路设计. 北京航空航天大学出版社. 2006.12 9 David Ka
52、rlins. Build Your Own Web Site M. McGraw-Hill Osborne Media. 2003.1 10 何立民 单片机应用技术选编【C】 北京航空航天大学出版社 1998.8 11 刘国林,殷贯西.电子测量M.机械工业出版社.2003. 12 Dan Suciu, Gottfried Vosen. The World Wide Web and databases. Springer ,2001.1 13 李朝青. 单片机原理及接口技术. 北京航空航天大学出版社. 1994.8 14 刘国林、殷贯西. 电子测量. 机械工业出版社. 2003.6 15 赵新民、 王祁副. 能仪器设计基础. 哈尔滨工业大学出版社. 2002.1 16 熊静琪. 计算机控制技术. 电子工业出版社. 2003.4 - 36 - +5 LED1 DPY_7-SEG_DP LED2 DPY_7-SEG_DP LED5 DPY_7-SEG_DP LED6 DPY_7-SEG_DP 附 +5V DPY a a b c f b g d e e c d f dp g dp DPY a a b c f b g d e e c d f dp g dp DPY a a b c f b g d e e c d f dp g dp 录 10K
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态旅游区土壤补充与景观设计协议
- 二手小产权房买卖与使用权变更专项合同
- 区块链服务器托管机架租赁与多地区网络接入服务协议
- 物流运输公司派遣调度员服务合同书
- 智能合约数据加密技术实施合同
- 抖音火花小程序数据审核与分析服务协议
- 医疗技术授权分成补充合同
- 运动健身自媒体工作室合伙人合作项目与收益分成协议
- 《心血管医疗模板》课件
- 《系统性红斑狼疮治疗策略》课件
- A335P22(大管)焊接焊样作业指导书
- 空乘人员职业形象设计与化妆(169张课件)
- 设备年度维护保养计划表
- 皮内注射技术操作考核评分标准
- DB32-T 2665-2014机动车维修费用结算规范-(高清现行)
- 中专通用简历表
- 思想政治教育学原理整套课件完整版电子教案课件汇总(最新)
- 冲孔桩施工安全管理培训讲义
- 压力管道安全检查表参考范本
- 部编人教版小学五年级下册语文文言文阅读理解课后专项练习
- 皮肤管理--ppt课件
评论
0/150
提交评论