1. 引言 ............................................................................................................ 1 2. 数字频率计方案设计 ...................................................................................... 1 2.1 测量频率的方案分析 ................................................................................. 1 2.2 本次设计采用的方案 ................................................................................. 2 3. 设计原理分析(硬件部分) ............................................................................ 2 3.1 信号放大整形电路 .................................................................................... 3 3.2 分频电路 ................................................................................................... 3 3.3 四选一电路 ............................................................................................... 3 3.4 51单片机部分 ........................................................................................... 4 3.5 显示电路 ................................................................................................... 4 4. 系统程序设计(软件部分) ............................................................................ 5 4.1 测频软件实现原理 .................................................................................... 5 4.2 软件流程图 ............................................................................................... 5 4.3 系统的仿真和调试 .................................................................................... 6 4.4 系统的改善 ............................................................................................... 6 5. 总结与体会 ..................................................................................................... 6 参考文献 ............................................................................................................. 7 附录一:系统整体电路图 .................................................................................... 8 附录二:电路PCB图 ......................................................................................... 9 附录三:系统整体程序.......................................................... 错误!未定义书签。
题目 数字频率计
班级 应教061 姓名 陈辉
摘 要:随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行缓慢,而且测量频率的范围比较小。考虑到上述问题,本论文设计一个基于单片机技术的数字频率计。首先,我们把待测信号经过放大整形;然后把信号送入单片机的定时计数器里进行计数,获得频率值;最后把测得的频率数值送入显示电路里进行显示。本文从频率计的原理出发,介绍了基于单片机的数字频率计的设计方案,选择了实现系统得各种电路元器件,并对硬件电路进行了仿真。
关键词:单片机,频率计,测量
1. 引言
随着电子信息产业的发展,信号作为其最基础的元素,其频率的测量在科技研究和实际应用中的作用日益重要,而且需要测频的范围也越来越宽。传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量范围低,精度低。因此,随着对频率测量的要求的提高,传统的测频的方法在实际应用中已不能满足要求。因此我们需要寻找一种新的测频的方法。随着单片机技术的发展和成熟,用单片机来做为一个电路系统的控制电路逐渐显示出其无与伦比的优越性。因此本论文采用单片机来做为电路的控制系统,设计一个能测量高频率的数字频率计。用单片机来做控制电路的数字频率计测量频率精度高,测量频率的范围得到很大的提高。
2. 数字频率计设计方案
2.1 测量频率的方案分析
测频方法主要有以下几种:脉冲数定时测频法(M法)、脉冲周期测频法(T法)、脉冲数倍频测频法(AM法)、脉冲数分频测频法(AT法)、脉冲平均周期测频法(M/T法)、多周期同步测频法。下面是几种方案的具体方法介绍。
脉冲数定时测频法(M法):此法是记录在确定时间Tc内待测信号的脉冲个数Mx,则待测频率为:
Fx=Mx/Tc
脉冲周期测频法(T法):此法是在待测信号的一个周期Tx内,记录标准频率信号变化次数Mo。这种方法测出的频率是:
Fx=Mo/Tx
脉冲数倍频测频法(AM法):此法是为克服M法在低频测量时精度不高的缺陷发展起来的。通过A倍频,把待测信号频率放大A倍,以提高测量精度。其待测频率为:
1
Fx=Mx/ATo
脉冲数分频测频法(AT法):此法是为了提高T法高频测量时的精度形成的。由于T法测量时要求待测信号的周期不能太短,所以可通过A分频使待测信号的周期扩大A倍,所测频率为:
Fx=AMo/Tx
脉冲平均周期测频法(M/T法):此法是在闸门时间Tc内,同时用两个计数器分别记录待测信号的脉冲数Mx和标准信号的脉冲数Mo。若标准信号的频率为Fo,则待测信号频率为:
Fx=FoMx/Mo 2.2 本次设计采用的方案
根据频率的定义,频率是单位时间内信号波的个数,因此采用上述各种方案都能实现频率的测量。但是本次设计的是一个用单片机做为电路控制系统的数字式频率计,采用脉冲定时测频法,则在低频率的测量时误差会大一些。本次设计由于个人水平有限,因此,本次设计根据需要,采用脉冲定时测频法。
3. 设计原理分析(硬件部分)
为了得到一个高性能的数字频率计,本次设计采用单片机来做为数字频率计的核心控制电路,辅之于少数的外部控制电路。因此本此设计的系统包括信号放大整形电路、分频电路、单片机AT89C51和显示电路等。本系统让被测信号经过放大整形后,进入单片机开始计数,利用单片机内部定时计数器定时,在把所记得的数经过相关处理后送到显示电路中显示。其系统框图如图3.1所示。
图3.1数字频率计总体方框图
由上面的内容可看到,本次设计的基于单片机的数字式频率计包括波形整形电路、分频电路、多路数据选择器、单片机和显示电路等几个模块。所以本次设计的数字式频率计的电路由以下几块构成:由施密特触发器构成的波形整形放大电路、由74LS90构成的分频电路、由74LS153四选一电路构成的四选一电路、AT89C51单片机以及由74LS138译码电路、三极管上拉电路和八段数码显示电路构成的数码显示电路构。
2
3.1 信号放大整形电路
因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。
该部分由LM358和一级高频信号放大电路以及由74LS00连接成的施密特触发器组成。其电路如下图所示。
图3.2信号预处理电路
3.2 分频电路
本次设计采用的是脉冲定时测频法,由于考虑到单片机的定时计数器得计数能力有限,无法对过高频进行测量,所以我们对待测信号进行了分频,这样能提高测量频率的范围,还能相应的提高频率测量的精度。所以我们需要把待测信号进行分频。在本次设计中,因为我们要进行的是十分频、一百分频,所以我们选用74LS90电路,经过正确的连接后就可以进行十分频,进行二次十分频就可以得到分频一百次的信号。信号经过分频电路74LS90,其频率将减小到原信号的十分之一和百分之一。其组成电路如下图所示。
图3.3由74LS90组成的分频电路
3.3 四选一电路
3
本次设计需要用到一个四选一电路,用来选择输入单片机进行计数的待测信号。数据选择器有多个输入,一个输出。其功能类似于单刀多掷开关,故又称为多路开关(MUX)。在控制端的作用下可从多路并行数据中选择一路送输出端。
74LS153是双四选一数据选择器,其中有两个四选一数据选择器,它们各有四个数据输入端:1 C 3、1 C 2、1 C 1、1 C 0和2 C 3、2 C 2、2 C 1、2 C 0。一个输出端1Y、2Y和一个控制许可端G。系统控制端G为低电平有效。当控制许可端G=1时,传输通道被封锁,芯片被禁止,Y=0,输入的数据不能传送出去;当控制许可端G=0时,传输通道打开,芯片被选中,处于工作状态,输入的数据被传送出去A、B是地址选择端,两路选择器共用。
图3.4四选一电路
3.4 51单片机部分
单片机作为控制系统和计数器,是本次设计的最重要的部分,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。所以本次设计采用AT89C51单片机。 3.5 显示电路
这次设计中采用LED数码管,采用一个74LS138译码器来控制各个数码管,采用三极管来做上拉电路,使数码显示管有足够的电压进行显示。显示电路由数码管和74LS138组成,在本次设计中,由74LS138连接数码管的接地端,由此来控制数码管的亮和灭。
74LS138译码器有三个地址输入端A、B、C和八个译码输出端Y0~Y7,当输入为000时,Y0输出端为0,其他输出端都为1;同理可推出其他输出状态,即只有输出变量下标对应的二进制代码与输入代码相等的输出端为0,其他的输出端都为1。由于单片机输出的显示数据电压不够高,无法直接送到数码管上直接显示,因此需要用一个上拉电路来提高输出数据的电压值,以便送到数码管显示。
4
图3.5 LED显示电路
4. 系统程序设计(软件部分)
4.1 测频软件实现原理
测频软件的实现是基于电路系统来进行设计的。本次设计采用的是脉冲定时测频法,所以在软件实现上基本遵照系统的设计原理,进行测频软件设计的基本思路是:1、把要用到的内部存储器的地址运用伪指令标号,方便后面设计中运用;2、跳转到中断程序进行初步数据采集;3、开始主程序,首先判断是否有待测信号,无信号就等待信号,有信号则进行下一步;4、判断是否定时到1S,若没有到达1S定时,则执行下面的5和6步得操作,若达到1S,则执行第6步以后的操作;5、判断是否第一次,若是,则判断当前的档位是否设置合适,若合适则直接跳转到返回主程序,若不合适,则进入第6步;6、调整档位,重新进入中断开始初步计数;7、判断档位是否合适,合适则把测得的数据转换为十进制数据,根据当前的档位相应的调整数位,并取表找到相应的显示数据,然后执行第10步操作;8、若上一步中判断出档位不合适,则根据频率进行相应的档位调整。9、恢复初值,重新开始计数;10、返回主程序。 4.2 软件流程图
根据上一节所叙述的电路设计的基本思路,我们可画出系统流程图如图4-1所示。
5
图4.1 系统软件流程图
4.3 系统的仿真和调试
为了保证系统能正常工作,我们需要对电路中关键的电路部分进行仿真,下面我们对波形整形电路和分频电路进行了仿真。
Proteus 是一款非常不错的单片机模拟软件。虽然电子模拟软件不少,但是能很好的模拟单片机的只有proteus软件。该软件能模拟 51 单片机,avr单片机,pic 单片机,以及部分arm 芯片。支持的外围器件也很多包括A/d,LCD,LED 数码管,温度,时钟等芯片。本次设计所有的电路都采用proteus对电路进行仿真。 4.4系统的改善
本次设计由于本人知识的有限,所以设计的系统并不是最理想的。例如可以采用脉冲数定时测频法和脉冲周期测频法相结合,在高频的时候采用脉冲数定时测频法,在低频率的时候采用周期测频法。此法可保证测频过程中精度一直很高,但实现的电路和程序都将很复杂。还可以用外部计数器和单片机定时计数器共同计数来代替用单片机的定时计数器来进行定时,这样测量的精度可以进一步提高,但相对的端口分配和控制会相对复杂一些。
由于时间紧迫,还有部分元件没有提供。所以很多应该完成的工作并没有完成。使得系统的性能不能通过硬件电路来实际的显示出来。而且,还有很多好的想法无法实现,所以系统还有很大的改进空间。
5. 总结与体会
本次设计的过程和结果都给了我很多感触。在设计的过程中,我一方面澄清了先前的一些错
6
误理解,另一方面也真正的体会到了书本知识转化为实践时的困难,往往很不起眼的一件事情,就是设计的关键,必须得搞清楚。为了查找相关的技术文献资料,我们上网,去学校图书馆查找资料,虽然辛苦一点,但是令人欣慰的是学到了书本上学不到的东西,并且掌握了设计的一般方法。通过本次设计,对电路的设计和研究有了更深刻的体会;让我了解到软件的设计是建立在对硬件了解的基础上的,特别是对单片机的功能,引脚定义和内部结构要有较为详细的了解,此外对电路板中所用到的各个芯片的引脚和功能,也要进行了解;在编写程序时,进行模块化设计,以严谨的态度进行编程,避免出现低级错误,养成为程序添加注释和说明的好习惯,以便自己的修改和阅读者轻松的了解程序的各部分及整体的功能。在本次系统的研究和设计过程中,我得到了老师和同学们的热情帮助。在此,对他们表示衷心的感谢。
参考文献
[1] 李雷等编.集成电路应用实验.国防工业出版社2003 [2] 李雷等编.电子技术应用实验教程.电子科技大学出版社,2006 [3] 李朝青编.单片机原理及接口技术.北京航空航天大学出版社,2005
[4] 徐惠民、安德宁等编.单片微型计算机原理接口及应用.北京邮电大学出版社,2000
7
附录一:系统整体电路图
8
附录二:电路PCB图
9
附录三:系统整体程序
ORG 00H
ANL P1,#0FFH START: CLR P2.0 CLR P2.1 CLR P2.2 MOV A,R2 DJNZ R3,NEXT MOV R7,#02 L2: MOV A,R5 ADD A,R5 MOVX @R0,A WAIT: JB P2.7,ADC CALL DISP JMP WAIT ADC: MOVX A,@R0 CALL L1 MOV R1,#0FFH DISP1: CALL DISP DJNZ R1,DISP1 JMP START L1: CLR C MOV R5,#00H MOV R4,#00H MOV R3,#08H NEXT: RLC A MOV R2,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 MOV R4,A
DISP: DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,L2 RET
MOV A,R5 ANL A,#0FH MOV R0,A CALL D_BCD MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CLR P3.2 CALL DELAY SETB P3.2 MOV A,R5 ANL A,#0F0H SWAP A MOV R0,A CALL D_BCD
10
MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CLR P3.3 CALL DELAY SETB P3.3 MOV A,R4 ANL A,#0FH MOV R0,A CALL D_BCD MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CLR P3.4 CALL DELAY SETB P3.4 MOV A,R4 ANL A,#0F0H SWAP A MOV R0,A CALL D_BCD MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CLR P3.5 CALL DELAY SETB P3.5 CLR A RET
DELAY: MOV R6,#6 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET
;*************************** ; 十进制转换为BCD码程序 * ;*************************** D_BCD: MOV A,R0 MOV B,#10 DIV AB SWAP A ORL A,B RET TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
1
因篇幅问题不能全部显示,请点此查看更多更全内容