基于51单片机的数字频率计设计.docx
《基于51单片机的数字频率计设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的数字频率计设计.docx(19页珍藏版)》请在冰豆网上搜索。
![基于51单片机的数字频率计设计.docx](https://file1.bdocx.com/fileroot1/2023-3/30/7290e244-2416-442f-848c-b080c4a5b526/7290e244-2416-442f-848c-b080c4a5b5261.gif)
基于51单片机的数字频率计设计
毕业论文
课题:
基于单片机的数字频率计的设计
摘要
本方案主要以单片机为核心,主要分为时基电路,复位电路,显示电路三大部分,设计以单片机为核心,利用单片机的计数器和定时器的功能对被测信号进行计数。
编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。
本设计以89C51单片机为核心,应用单片机的算术运算和控制功能并采用LED数码显示管将所测频率显示出来。
系统简单可靠、操作简易,能基本满足一般情况下的需要。
既保证了系统的测频精度,又使系统具有较好的实时性。
本频率计设计简洁,便于携带,扩展能力强,适用范围广。
[关键词]单片机,运算,频率计,LED数码管。
Abstract
Theprogrammainlymicrocontrollerasthecore,aredividedintotime-basecircuit,thelogiccontrolcircuit,amplifiershapingcircuit,thegatecircuit,thecountingcircuit,latchcircuit,decodingcircuitmostofthesevenshows,designamicrocontrollerasthecore,themeasuredsignalthefirstamplifiertoamplifytheincomingsignal,andthenwassenttothewaveformshapingcircuitsurgery,themeasuredsinewaveortrianglewaveshapingasasquarewave.Counterandtimermicrochipfeaturesofthesignalcount.WritethecorrespondingprogramcanautomaticallyadjustthemeasurementrangeofSCM,andthefrequencyofthemeasureddatatothedisplaycircuitdisplays.
Thedesignofthe89C51microcontrollercore,microcontrollerapplicationsandcontrolfunctionsandarithmeticoperationswithLEDdigitaldisplaytubetothemeasuredfrequencyisdisplayed.Systemissimple,reliable,easytooperateandcanbasicallymeetthegeneralneeds.Bothtoensuretheaccuracyofthesystemfrequencymeasurement,butalsothesystemhasgoodreal-time.Thefrequencymeterdesignissimpleandeasytocarry,expansioncapability,wideapplication.
[Keywords]microcontroller,operation,frequencymeter,LEDdigitaltube。
朗读
显示对应的拉丁字符的拼音
字典-查看字典详细内容
前言
在电子测量领域中,频率测量的精确度是最高的,可达10—10E-13数量级。
因此,在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。
国际上数字频率计的分类很多。
按功能分类,测量某种单一功能的计数器。
如频率计数器,只能专门用来测量高频和微波频率;时间计数器,是以测量时间为基础的计数器,其测时分辨力和准确度很高,可达ns数量级;特种计数器,它具有特种功能,如可逆计数器、予置计数器、差值计数器、倒数计数器等,用于工业和白控技术等方面。
数字频率计按频段分类
(1)低速计数器:
最高计数频率<10MHz;
(2)中速计数器:
最高计数频率10—100MHz;(3)高速计数器:
最高计数频率>100MHz;(4)微波频率计数器:
测频范围1—80GHz或更高。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。
单片机的潜力越来越被人们所重视。
特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。
1绪论
1.1课题背景
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。
如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。
1.2课题研究的目的和意义
单片机数字频率计以其可靠性高、体积小、价格低、功能全等优点,广泛地应用于各种智能仪器中,这些智能仪器的操作在进行仪器校核以及测量过程的控制中,达到了自动化,传统仪器面板上的开关和旋钮被键盘所代替,测试人员在测量时只需按需要的键,省掉很多烦琐的人工调节,智能仪器通常能自动选择量程,自动校准。
有的还能自动调整测试点,这样不仅方便了操作,也提高了测试精度。
1.3数字频率计设计的任务与要求
单片机控制的数字频率计
1.测频范围:
不能大于500KHZ。
2.输入波形:
函数信号发生器输出方波,矩形波,幅度为5V,能产生所需频率的脉冲信号。
3.测量误差:
≤1。
2数字频率计总体方案设计
2.1方案比较
方案一:
本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。
其原理框图如图2.1所示:
图2.1方案一原理框图
方案二:
本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。
其原理框图如图2.2所示:
图2.2方案二原理框图
2.2方案论证
方案一:
本方案主要以单片机为核心,利用单片机的计数器和定时器的功能对被测信号进行计数。
编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。
方案二:
本方案使用大量的数字器件,被测信号经放大整形电路变成计数器所要求的脉冲信号,其频率与被侧信号的频率相同。
同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。
若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率Fx=NHz。
逻辑控制电路的作用有两个:
一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。
2.3方案选择
比较以上两种方案可以知道,方案一的核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。
与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。
如要测量高频的信号还需要加上分频电路,价格相对高了点。
基于上述比较,所以选择了方案一。
3数字频率计的硬件系统设计
3.1数字频率计的硬件系统框架
数字频率计是一个将被测频率显示出来的计数装置,它主要由单片机89C51、LED显示器、电源等组成。
该系统的功能是将信号输入P3.4口,通过单片机程序控制,对LED显示器进行段控和位控,实现动态显示。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
在进行有关电子技术的设计、安装、调试过程中会被经常使用到。
图3-1为数字频率计方案框图。
图3-1为数字频率计方案框图。
3.2数字频率计的主机电路设计
1.89C51芯片介绍
许多由关硬件设计中都使用到单片机89C51,其功能[7]比以往的单片机强大的多。
89C51引脚图如图3-2所示。
图3-289C51引脚图
芯片引脚功能:
主电源引脚Vcc和Vss
Vcc(40脚):
接+5V电压;
Vss(20脚):
接地。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。
DISRT0位缺省为RESET输出高电平打开状态。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对F1ash存储器程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
F1ash存储器编程时,该引脚加上+12V的编程电压vpp。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
P0口:
P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
Flash编程和程序校验期间,P1接收低8位地址。
其引脚功能表如表3.1所示。
表3.1P1口引脚功能表
端口引脚
第二功能
P1.5
MOSI(用于ISP编程)
P1.6
MISO(用于ISP编程)
P1.7
SCK(用于ISP编程)
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/0口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
其引脚功能表如表3.2所示。
表3.2P3口引脚功能表
端口引脚
第二功能
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(外部数据存储器读选通)
89C51晶振接法如图3-3。
图3-389C51晶振接法图
选用12MHz频率的晶体,允许输入的脉冲频率为500kHz。
电容的大小范围为20pF~40pF,本设计选用30pF电容。
2.单片机复位状态
单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟震荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。
为了保证应用系统可靠地复位,在设计复位电路时,通常使RST引脚保持10ms以上的高电平。
只要保持高电平,则MCS-51单片机就循环复位;当RST从高电平变为低电平以后,MCS-51单片机从0000H地址开始执行程序。
在复位有效期间,ALE、引脚输出高电平。
89C51按键复位电路如图3-4。
图3-489C51按键复位电路图
单片机复位状态如表3.3所示。
表3.3单片机复位状态表
专用寄存器
复位状态
专用寄存器
复位状态
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
XXXX
XXXXB
IE
0XX00000B
PCON
0XXX
XXXXB
注:
XXX不定。
复位后,P0口~P3口输出高电平,且使这些准双向口皆处于输入状态,并且将07H写入栈指针SP(即设定堆栈底为07H),同时,将程序计数器PC和其余的特殊功能寄存器清为0(不定的位除外)。
但复位不影响单片机内部的RAM状态。
3.3数字频率计显示电路的设计
在单片机系统中,常用的显示器有:
发光二极管显示器,简称LED;液晶显示器,简称LCD;荧光管显示器。
而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分等。
LED段显示器结构与原理
LED显示器是由发光二极管显示字段组成的显示块,有7段和“米”字段之分。
这种显示块有共阳极和共阴极两种。
此外,显示块中还有一个圆点型发光二极管(在图中以dP表示)用于显示小数点。
通过发光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。
LED显示块中的发光二极管共有两种连接方法:
(1)共阳极接法
发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V,这样,阴极端输入低电平的段的发光二极管被点亮,相应的段被显示;而输入高电平的段则不点亮。
(2)共阴极接法
发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样,阳极端输入高电平的段的发光二极管被点亮,相应的段被显示;而输入低电平的段则不点亮。
数码管引脚如图3-5。
图3-5数码管引脚图
共阴和共阳结构的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-4中列出。
表3-4LED十六进制的数字代码表
字形
共阳极代码
共阴极代码
字形
共阳极代码
共阴极代码
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
4数字频率计软件系统设计
4.1中断控制
由于在程序设计中用到中断方式,所以我们在此对单片机中断系统中的中断控制作一下介绍。
中断是工业过程控制及智能化仪器用微型机或单片机应用最多的一种数据传送方式。
在通常情况下,单片机执行主程序,只有当正常状态出现故障,或发出中断请求时,单片机才暂停执行主程序,转去执行或处理中断服务程序,执行完中断服务程序后,再返回到主程序继续运行。
单片机的这一种工作过程称为中断方式。
基于资源共享原理上的中断技术,在计算机中得到了广泛的应用。
中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入/输出效率;中断技术也能对计算机运行过程中突然发生的故障及时发现并进行自动处理如:
硬件故障、运算错误及程序故障等;中断技术还能使我们通过键盘发出请求,随时对运行中的计算机进行干预,而不用先停机处理,然后再重新开机等。
在单片机中,中断技术主要用于实时控制。
所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。
由于这些控制参量的请求都是随机发出的,而且要求单片机必须做出快速响应并及时处理,对此,只有靠中断技术才能实现。
4.2定时器/计数器
(1)定时器控制寄存器(TCON)
TCON寄存器既参与中断控制又参与定时控制。
现对其定时功能加以介绍。
其中有关定时的控制位共有4位:
F0和TF1——计数溢出标志位
当计数器计数溢出(计满)时,该位置“1”;使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清“0”;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。
R0和TR1——定时器运行控制位
TRO(TR1)=0 停止定时器/计数器工作
TRO(TR1)=1 启动定时器/计数器工作
(2)工作方式控制寄存器(TMOD)
TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。
但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。
(3)中断允许控制寄存器(IE)
(4)EA——中断允许总控制位
ET0和ET1——定时/计数中断
定时器/计数器提供给用户使用的有:
8位计数器TH和TL,以及有关的控制位。
这些内容只能以软件方法使用。
能够产生中断申请的部件被称为中断源。
8051型单片机提供了五个中断源:
两个外部中断源和三个内部中断源。
每一个中断源都有一个中断申请标志位,但是串行口占有两个中断标志位。
一共有六个中断标志位。
(5)定时器/计数器对输入信号的要求
定时器/计数器的两个作用是用来精确的确定某一段时间间隔(作定时器用)或累计外部输入的脉冲个数(作计数器用)。
当用作定时器时,在其输入端输入周期固定的脉冲,根据定时器/计数器中累计(或事先设置)的脉冲个数,即可计算出所定时间的长度。
当89C51内部的定时器/计数器被选择为定时器工作方式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。
因此,定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。
当采用12MHz频率的晶体时,计数频率为1MHz,输入脉冲的周期间隔为1μs。
由于定时的精度决定于脉冲的周期,因此,当需要高精度的定时器时,应尽量选择频率较高的晶体。
4.2.1定时工作方式0
方式0是13位计数结构的工作方式,其计数器由TH0高8位和TL0的低五位构成。
TL0的高3位弃之不用。
当C/
=0时,多中开关接通振荡脉冲的12分频输出,13位计数器以此进行计数,这就是所谓定时器工作方式。
当C/
=1时,多路开关接通计数引脚(T0),外部计数脉冲由引脚T0输入。
当计数脉冲发生负跳变时,这就是所谓计数工作方式。
不管是哪种工作方式,当TL0的低五位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。
4.3程序流程图设计
4.3.1主程序流程
主程序流程图如图4-1所示。
图4-1主程序流程图
4.3.2中断流程
T1中断流程图如图4-2所示。
图4-2T1中断流程图
T0中断流程图如图4-3所示。
图4-3T0中断流程图
中断程序实现定时与计数的功能。
T1进行定时,定时时间为1S。
T0进行计数,TO中断溢出一次,T0count加1。
当定时达到1S时,停止T0,T1。
最后计算相应的频率值。
5数字频率计的仿真调试
5.1数字频率计的仿真调试
利用仿真软件ISIS的强大的仿真功能可以有效地检验所设计的原理图是否在理论上正确合理。
选择适当的三极管和设置基极,发射极,集电极电阻可以得到适当的放大倍数对所测的信号进行有效的处理。
要选择适当的三极管,以免避免发生截止失真和饱和失真。
分别以正弦波,方波,三角波作为输入信号检测电路的整形效果。
利用仿真软件的示波器来观察整形出来的波形是否符合所要整形出来的波形。
利用Keiluvision2软件编写单片机的工作程序并且检验程序是否成功编译。
通过Keiluvision2逐步运行程序的功能可以检测出程序的错漏从而进行改正。
程序编译成功后,利用ISIS