单片机的数字频率计设计方案.docx
《单片机的数字频率计设计方案.docx》由会员分享,可在线阅读,更多相关《单片机的数字频率计设计方案.docx(28页珍藏版)》请在冰豆网上搜索。
![单片机的数字频率计设计方案.docx](https://file1.bdocx.com/fileroot1/2023-4/20/a5b6654b-b899-4657-a972-a23b10fb9652/a5b6654b-b899-4657-a972-a23b10fb96521.gif)
单片机的数字频率计设计方案
兰州工业高等专科学校
毕业论文
课题:
基于单片机的数字频率计的设计
专业电气工程系
学生姓名张振鹏
班级电自08-1班
学号200802101148
指导教师李建民目录
摘要3
前言1
第一章绪论2
1.1课题背景2
1.2课题研究的目的和意义2
1.4数字频率计设计的任务与要求2
第二章数字频率计总体方案设计3
1.1方案比较3
1.2方案论证4
1.3方案选择4
第三章数字频率计的硬件系统设计5
3.1数字频率计的硬件系统框架5
3.2数字频率计的主机电路设计5
3.3数字频率计的信号输入电路设计8
3.4数字频率计显示电路的设计9
3.5数字频率计的计数电路的设计12
3.6数字频率计电源模块的设计15
第四章数字频率计软件系统设计16
4.1软件设计规划16
4.1.1信号处理16
4.1.2中断控制16
4.2.1定时器/计数器17
4.2.2定时工作方式018
4.3程序流程图设计18
4.3.1主程序流程18
4.3.2中断流程20
第五章数字频率计的仿真调试22
参考文献23
致谢24
附录<程序)25
附录:
数字频率计的系统原理图28
摘要
本方案主要以单片机为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分,设计以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。
利用单片机的计数器和定时器的功能对被测信号进行计数。
编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。
本设计以89C51单片机为核心,应用单片机的算术运算和控制功能并采用LED数码显示管将所测频率显示出来。
系统简单可靠、操作简易,能基本满足一般情况下的需要。
既保证了系统的测频精度,又使系统具有较好的实时性。
本频率计设计简洁,便于携带,扩展能力强,适用范围广。
[关键词]单片机,运算,频率计,LED数码管
朗显示对应的拉丁字符的拼音
字典-查看字典详细内容
前言
在电子测量领域中,频率测量的精确度是最高的,可达10—10E-13数量级。
因此,在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。
国际上数字频率计的分类很多。
按功能分类,测量某种单一功能的计数器。
如频率计数器,只能专门用来测量高频和微波频率;时间计数器,是以测量时间为基础的计数器,其测时分辨力和准确度很高,可达ns数量级;特种计数器,它具有特种功能,如可逆计数器、予置计数器、差值计数器、倒数计数器等,用于工业和白控技术等方面。
数字频率计按频段分类(1>低速计数器:
最高计数频率<10MHz;(2>中速计数器:
最高计数频率10—100MHz;(3>高速计数器:
最高计数频率>100MHz;(4>微波频率计数器:
测频范围1—80GHz或更高。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。
单片机的潜力越来越被人们所重视。
特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。
第一章绪论
1.1课题背景
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。
如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。
1.2课题研究的目的和意义
单片机数字频率计以其可靠性高、体积小、价格低、功能全等优点,广泛地应用于各种智能仪器中,这些智能仪器的操作在进行仪器校核以及测量过程的控制中,达到了自动化,传统仪器面板上的开关和旋钮被键盘所代替,测试人员在测量时只需按需要的键,省掉很多烦琐的人工调节,智能仪器通常能自动选择量程,自动校准。
有的还能自动调整测试点,这样不仅方便了操作,也提高了测试精度。
1.4数字频率计设计的任务与要求
单片机控制的数字频率计
1.测频范围:
10Hz~10KHz。
为保证测量精度分三个频段
10Hz~100Hz,100Hz~1KHz,1KHz~10KHz,有超量程指示。
2.输入波形:
函数信号发生器输出方波,矩形波,幅度为5V,能产生所需频率的脉冲信号。
3.测量误差:
≤1。
第二章数字频率计总体方案设计
1.1方案比较
方案一:
本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。
其原理框图如图2.1所示:
图2.1方案一原理框图
方案二:
本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。
其原理框图如图2.2所示:
图2.2方案二原理框图
1.2方案论证
方案一:
本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。
利用单片机的计数器和定时器的功能对被测信号进行计数。
编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。
方案二:
本方案使用大量的数字器件,被测信号经放大整形电路变成计数器所要求的脉冲信号,其频率与被侧信号的频率相同。
同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。
若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率Fx=NHz。
逻辑控制电路的作用有两个:
一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。
1.3方案选择
比较以上两种方案可以知道,方案一的核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。
与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。
如要测量高频的信号还需要加上分频电路,价格相对高了点。
基于上述比较,所以选择了方案一
第三章数字频率计的硬件系统设计
3.1数字频率计的硬件系统框架
数字频率计是一个将被测频率显示出来的计数装置,它主要由单片机89C51控制、7407、LED显示器、电源等组成。
该系统的功能是将信号输入P3.4口,通过单片机程序控制,对LED显示器进行段控和位控,实现动态显示。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
在进行有关电子技术的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。
图3-1为数字频率计方案框图。
图3-1数字频率计方框图
3.2数字频率计的主机电路设计
ATC89C51[可以完成ISP在线编程功能,ATC89C51内部有EEPROM,可以在程序中修改,断电不丢失。
还增加了两级中断优先级,STC推出的系列51单片机芯片是全面兼容其它51单片机的,而且51单片机是主流大军。
1.89C51芯片介绍
许多由关硬件设计中都使用到单片机89C51,其功能[7]比以往的单片机强大的多。
89C51引脚图如图3-2所示。
图3-289C51引脚图
芯片引脚功能:
主电源引脚Vcc和Vss
•Vcc<40脚):
接+5V电压;
•Vss<20脚):
接地。
89C51晶振接法如图3-3。
图3-389C51晶振接法图
选用6MHz频率的晶体,允许输入的脉冲频率为250kHz。
电容的大小范围为20pF~40pF,本设计选用30pF电容。
2.单片机复位状态
单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟震荡脉冲<2个机器周期)以上的高电平,单片机便实现初始化状态复位。
为了保证应用系统可靠地复位,在设计复位电路时,通常使RST引脚保持10ms以上的高电平。
只要保持高电平,则MCS-51单片机就循环复位;当RST从高电平变为低电平以后,MCS-51单片机从0000H地址开始执行程序。
在复位有效期间,ALE、引脚输出高电平。
89C51上电复位电路图。
图3-489C51上电复位电路图
单片机复位状态表。
表3-5单片机复位状态表
专用寄存器
复位状态
专用寄存器
复位状态
PC
0000H
TMOD
00H
ACC
00H
TCON
00H
B
00H
TH0
00H
PSW
00H
TL0
00H
SP
07H
TH1
00H
DPTR
0000H
TL1
00H
P0~P3
FFH
SCON
00H
IP
XXX00000B
SBUF
XXXXXXXXB
IE
0XX00000B
PCON
0XXXXXXXB
注:
XXX不定
复位后,P0口~P3口输出高电平,且使这些准双向口皆处于输入状态,并且将07H写入栈指针SP<即设定堆栈底为07H),同时,将程序计数器PC和其余的特殊功能寄存器清为0<不定的位除外)。
但复位不影响单片机内部的RAM状态
3.3数字频率计的信号输入电路设计
7414是六反相施密特触发器集成电路,其基本作用就是反相器,一般用于信号输入电路,用施密特触发器对输入信号进行波形整形。
其功能作用如图3-13所示。
图3-13输入-输出波形图
本设计为满足设计要求,被测信号是要进行波形的变换。
由第一级的零偏置放大器把正弦波样的正负交替波形变换成单向脉冲,再经过7414将放大器产生的单向脉冲变换成与TTL/CMOS电平相兼容的方波。
这样处理以后信号变成方波信号,以便后续的电路进行计数。
3.4数字频率计显示电路的设计
在单片机系统中,常用的显示器有:
发光二极管显示器,简称LED;液晶显示器,简称LCD;荧光管显示器。
而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分等。
LED段显示器结构与原理
LED显示器是由发光二极管显示字段组成的显示块,有7段和“M”字段之分。
这种显示块有共阳极和共阴极两种。
此外,显示块中还有一个圆点型发光二极管<在图中以dP表示)用于显示小数点。
通过发光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。
LED显示块中的发光二极管共有两种连接方法:
(1>共阳极接法
发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V,这样,阴极端输入低电平的段的发光二极管被点亮,相应的段被显示;而输入高电平的段则不点亮。
(2>共阴极接法
发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样,阳极端输入高电平的段的发光二极管被点亮,相应的段被显示;而输入低电平的段则不点亮。
数码管引脚如图3-6。
图3-6数码管引脚图
共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。
当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。
8个笔划段dP、g、f、e、d、c、b、a对应于一个字节<8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形代码。
例如,对于共阴LED显示器,当公共阴极接地<为零电平),而阳极dP、g、f、e、d、c、b、a各段为0111011时,显示器显示"P"字符,即对于共阴极LED显示器,“P”字符的字形码是73H。
如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100<8CH)。
用LED显示器显示十进制转换成十六进制数的字形代码在表3-7中列出。
表3-7LED十六进制的数字代码表
字形
共阳极代码
共阴极代码
字形
共阳极代码
共阴极代码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
BOH
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
3.5数字频率计的计数电路的设计
74LS290是异步十进制计数器。
它由一个二进制计数器和一个异步五进制计数器组成。
74LS290引脚图如图3-9所示。
图3-974LS290引脚图
当复位输入R0(1>=R0(2>=1,且置位输入S9(1>•S9(2>=0时,74LS290的输出被直接置零;只要置位输入S9(1>•S9(2>=1,则74LS290的输出将被直接置9,即=1001;只有当S9(1>和S9(2>不全为1,并且R0(1>和R0(2>不全为1时,输入计数脉冲CP,计数器开始计数。
计数脉冲由CP0输入,从Q0输出时,则构成二进制计数器;计数脉冲由CP1输入,输出为Q2Q1Q0时,则构成五进制计数器;若将Q0和CP1相连,计数脉冲由CP0输入,输出为Q3Q2Q1Q0时,则构成十进制<8421码)计数器;若将Q3和CP0相连,计数脉冲由CP1输入,输出为Q3Q2Q1Q0时,则构成十进制<5421码)计数器。
因此,74LS290又称为“二—五—十进制型集成计数器”。
异步清零端MR1,MR2为高电平时,只要置9端MS1,MS2有一个为低电平,就可以完成清零功能。
当MS1,MS2均为高电平时,不管其他输入端状态如何,就可以完成置9的功能。
当MR1,MR2中有一个以及MS1,MS2中有一个同时为低电平时,在时钟端/CP0,/CP1脉冲下降沿作用下进行计数操作。
a>十进制计数。
应将/CP1与Q0连接,计数脉冲由/CP0输入。
b>二、五混合进制计数。
应将/CP0与Q1连接,计数脉冲由/CP1输入。
c>二分频、五分频计数。
Q0为二分频输出,Q1~Q3为五分频输出。
引出端符号功能如下。
CP0二分频时钟输入端<下降沿有效)
CP1五分频时钟输入端<下降沿有效)
QA~QD输出端
MR1,MR2异步复位端
MS1,MS2异步置9端
74LS290的级联扩展如表3-10所示
表3-1074LS290级联扩展说明
CP输入端
输出端
进制
输出状态
分频端
CP0
Q0
二
0、1
Q0为二分频端
CP1
Q3Q2Q1
五
000~100
Q3为五分频端
CP0且Q0与CP1相连
Q3Q2Q1Q0
十
0000~1001
Q3为十分频端
74LS290十进制的电路连接如图3-11所示。
图3-1174LS290十进制计数器
两片接成十进制的74LS290级联组成2×10=20进制异步加法计数器如图3-12所示。
图3-12二十进制异步加法计数器
本设计中因为要对信号进行20分频,所以要使用两块74LS290进行级联。
一块74LS290用作2分频,一块74LS290用作10分频。
信号由第一块74LS290的CP0输入从Q0输出,这样信号就经过了2分频,再把信号输入第二块74LS290的CP0并且第二块74LS290的CP1与Q0相连,这时从第二块74LS290的Q3输出的信号就已经完成了20分频。
3.6数字频率计电源模块的设计
使用变压器提供到AC桥堆的输入脚为9V交流电压,通过AC整流输出为9V直流电,经过电解电容滤波、7805稳压,提供给89C51单片机为5V电压。
5V电源电路如图3-14所示。
图3-145V电源电路图
第四章数字频率计软件系统设计
4.1软件设计规划
4.1.1信号处理
在频率计开始工作,或者完成一次频率测量,系统软件都进行测量初始化。
测量初始化模块设置堆栈指针定时/计数器的工作首先被设置为计数器的计数寄存器清0后,置运行控制位TR为1,启动对待测信号的计数。
计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。
计数闸门结束时TR清0,停止计数。
计数寄存器中的值通过16进制数道10进制数转换程序转换为10进制数。
对10进制数的最高位进行判别,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的技术,直到满足测量数据有效位数的要求。
待测信号经预处理电路分频后变成较宽的方波信号,并加至单片机的P3.4引脚,为单片机测信号频率提供有效的输入信号。
单片机通过检测P3.4引脚来判断是否启动测周期程序。
当该引脚为高电平时则等待,知道该引脚出现低电平时才开始测周期。
首先将零赋给TH0、TL0两个寄存器,将定时器T0的运行控制位TR0置位,同时也将ET0置位以允许定时器T0终端,然后再判断P3.4引脚是否还为低电平,当不是低电平时则等待。
一旦出现低电平则使TR0复位以终止定时器,测周期程序结束。
在测周期过程中,会发生定时器T0的中断,每发生一次中断则将R0寄存器加一,因此R0实际上是周期值的高字节。
测出的周期值存储在R0、TH0、TL0三个寄存器中,然后将其转换成频率。
由于所测周期的单位是µs,再相除转换时要将被除数扩大10
倍,这样才能保证得出正确的频率。
得出的频率放到R1、R2、R3三个寄存器后调用转换BCD代码模块。
调用显示消除多余零和显示数据存储模块,将要显示的频率值通过查表转换成相应数据8段码放到现实缓冲区以备显示。
4.1.2中断控制
由于在程序设计中用到中断[9]方式,所以我们在此对单片机中断系统中的中断控制作一下介绍。
中断是工业过程控制及智能化仪器用微型机或单片机应用最多的一种数据传送方式。
在通常情况下,单片机执行主程序,只有当正常状态出现故障,或发出中断请求时,单片机才暂停执行主程序,转去执行或处理中断服务程序,执行完中断服务程序后,再返回到主程序继续运行。
单片机的这一种工作过程称为中断方式。
基于资源共享原理上的中断技术,在计算机中得到了广泛的应用。
中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入/输出效率;中断技术也能对计算机运行过程中突然发生的故障及时发现并进行自动处理如:
硬件故障、运算错误及程序故障等;中断技术还能使我们通过键盘发出请求,随时对运行中的计算机进行干预,而不用先停机处理,然后再重新开机等。
在单片机中,中断技术主要用于实时控制。
所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。
由于这些控制参量的请求都是随机发出的,而且要求单片机必须做出快速响应并及时处理,对此,只有靠中断技术才能实现。
4.2.1定时器/计数器
<1)定时器控制寄存器TCON寄存器既参与中断控制又参与定时控制。
现对其定时功能加以介绍。
其中有关定时的控制位共有4位:
F0和TF1——计数溢出标志位
当计数器计数溢出<计满)时,该位置“1”;使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清“0”;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。
R0和TR1——定时器运行控制位
TROTRO<2)工作方式控制寄存器TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。
但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。
<3)中断允许控制寄存器EA——中断允许总控制位
ET0和ET1——定时/计数中断
定时器/计数器提供给用户使用的有:
8位计数器TH和TL,以及有关的控制位。
这些内容只能以软件方法使用。
能够产生中断申请的部件被称为中断源。
8051型单片机提供了五个中断源:
两个外部中断源和三个内部中断源。
每一个中断源都有一个中断申请标志位,但是串行口占有两个中断标志位。
一共有六个中断标志位。
<4)定时器/计数器对输入信号的要求
定时器/计数器的两个作用是用来精确的确定某一段时间间隔[13]<作定时器用)或累计外部输入的脉冲个数<作计数器用)。
当用作定时器时,在其输入端输入周期固定的脉冲,根据定时器/计数器中累计<或事先设置)的脉冲个数,即可计算出所定时间的长度。
当89C51内部的定时器/计数器被选择为定时器工作方式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。
因此,定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。
当采用12MHz频率的晶体时,计数频率为1MHz,输入脉冲的周期间隔为1μs[14]。
由于定时的精度决定于脉冲的周期,因此,当需要高精度的定时器时,应尽量选择频率较高的晶体。
4.2.2定时工作方式0
方式0是13位计数结构的工作方式[15],其计数器由TH0高8位和TL0的低五位构成。
TL0的高3位弃之不用。
当C/
=0时,多中开关接通振荡脉冲的12分频输出,13位计数器以此进行计数,这就是所谓定时器工作方式。
当C/
=1[16]时,多路开关接通计数引脚当计数脉冲发生负跳变时,这就是所谓计数工作方式。
不管是哪种工作方式,当TL0的低五位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。
4.3程序流程图设计
4.3.1主程序流程
主程序流程图如图4-1所示。
图4-1主程序流程图
4.3.2中断流程
T1中断流程图如图4-2所示。
图4-2T1中断流程图
T0中断流程图如图4-2所示。
图4-2T0中断流程图
中断程序实现定时与计数的功能。
T1进行定时,定时时间为1S。
T0进行计数,TO中断溢出一次,T0count加1。
当定时达到1S时,停止T0,T1。
最后计算相应的频率值。
第五章数字频率计的仿真调试
利用仿真软件ISIS的强大的仿真功能可以有效地检验所设计的原理图是否在理论上正确合理。
选择适当的三极管和设置基极,发射极,集电极电阻可以得到适当的放大倍数对所测的信号进行有效的处理。
要选择适当的三极管,以免避免发生截止失真和饱和失真。
分别以正弦波,方波,三角波作为输入信号检测电路的整