数字频率计的设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数显频率计设计任务书
⑴硬件设计:根据任务要求,完成单片机最小系统及其扩展设计。
⑵软件设计:根据硬件设计完成显示功能要求,完成控制软件的编写与调试;
⑶功能要求:用89C51单片机的定时器/计数器的定时和计数功能,外部扩展6 位
LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码
管显示出来。
目录
摘要............................................................................................................ .. (4)
1. 绪论............................................................................................................ . (4)
2. 设计要求及方案选 (6)
1.1 设计要求 (6)
1.2 方案选择 (6)
3.系统电路设计 (7)
3.1 基于单片机的数字频率计的原理 (7)
3.2 单片机的概述及引脚说明 (8)
3.3 单片机的最小系统 (9)
3.4 单片机的定时\计数 (9)
3.5 定时器\计数器的四种工作方式 (10)
3.6 主要程序段及软件流程图设计 (12)
3.6.1 流程图 (12)
3.6.2 源程序 (14)
结论............................................................................................................ (16)
致谢......................................................................................................... .. (17)
参考文献................................................................................................................. . (18)
附录........................................................................................................... .. (19)
摘要
频率是电子技术领域中最基本的参数之一,在许多测量方案以及测量结果中都会涉及到频率测量的相关问题,频率精确测量的重要性显而易见。
本系统以AT89C51单片机作为系统的主要控制单元,通过AT89C51单片机对系统各个部件的控制来实现整个电路的信号频率采集、测量、转换数据、以及显示最终结果的功能。
本数字频率计的硬件部分是采用PROTUSE绘制的,在做系统仿真的时候也用到了MULTISIM,软件部分的单片机控制程序的编写使用的是C语言本。
本系统的最大优点就是它结构简单易懂,制作起来也并不算麻烦,其缺点就是容易受自身电路元件以及周围环境的影响,从而导致测量结果与实际值的偏差。
关键词 AT89C51单片机数字频率计
1.绪论
频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。
其最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率f=N/T。
电子计数器是一种基础测量仪器,到目前为止已有30多年的发展史。
早期,设计师们追求的目标主要是扩展测量范围,再加上提高测量精度、稳定度等,这些也是人们衡量电子计算器的技术水平,决定电子计数器价格高低的主要依据。
目前这些基本技术日臻完善,成熟。
应用现代技术可以轻松地将电子计数器的测频上限扩展到微波频段。
随着科学技术的发展,用户对电子计数器也提出了新的要求。
对于低档产品要求使用操作方便,量程(足够)宽,可靠性高,价格低。
而对于中高档产品,则要求有高分辨率,高精度,高稳定度,高测量速率;除通常通用计数器所具有的功能外,还要有数据处理功能,统计分析功能,时域分析功能等等,或者包含电压测量等其他功能。
这些要求有的已经实现或者部分实现,但要真正完美的实现这些目标,对于生产厂家来说,还有许多工作要做,而不是表面看来似乎发展到头了。
由于微电子技术和计算机技术的发展,频率计都在不断地进步着,灵敏度不断提高,频率范围不断扩大,功能不断地增加。
在测试通讯、微波器件或产品时,通常都是较复杂的信号,如含有复杂频率成分、调制的或含有未知频率分量的、频率固定的或变化的、纯净的或叠加有干扰的等等。
为了能正确地测量不同类型的信号,必须了解待测信号特性和各种频率测量仪器的性能。
微波计数器一般使用类型频谱分析仪的分频或混频电路,另外还包含多个时间基准、合成器、中频放大器等。
虽然所有的微
波计数器都是用来完成计数任务的,但制造厂家都有各自的一套复杂的计数器的设计、使得不同型号的计数器性能和价格会有所差别,比如说一些计数器可以测量脉冲参数,并提供类似于频率分析仪的屏幕显示,对这些功能具有不同功能不同规格的众多仪器,我们应该视测试需要正确地选择,以达到最经济和最佳的应用效果。
在本设计中,介绍了频率测量的原理以及一种简易频率计的制作方法。
它的主要原理是将待测的信号用一个过零比较器进行整形,由于待测信号未知,它有可能是正弦波,有可能是三角波,也有可能是方波。
过零比较器的作用就是将这些未知的信号整形成方波,方波信号单片机是可以测量的,但是如果整形出来的方波信号频率很大,此时单片机就无法测量了,因此还需要将频率过于高的整形出来的方波信号分频,直到它能被单片机测量为止。
能够实现简单的分频功能还是不够的,还需要知道具体是几分频,这一步就要用到选择器了,它的主要功能就是选择单片机所要的分好频的信号,这一步是可以通过单片机控制选择部分来实现的,最后可由单片机将处理好的数据以符合显示部分的要求发往显示部分显示。
毫无疑问,无论是在科技研究中还是在实际应用中,频率测量的作用都显得尤为重要。
然而传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。
随着科技的进步,为了较好的解决这一问题人们开始运用单片机测量频率,它是一种基于时间或频率的模数转换原理,并依赖于数字电路技术发展起来的一种显示被测信号频率的数字测量仪器。
与传统的测量方式相比,运用了单片机频率计有着体积更小,运算速度更快,测量范围更宽的优点,更重要的是它能大大的降低制作成本。
由于传统的频率计中有许多功能是依靠硬件来实现的,而采用单片机测量频率之后,有许多以前需要用硬件才能实现的功能现在仅仅依靠软件编程就能实现,而且不同的软件编程能够实现不同的功能,这一巨大优势无疑使得制作成本大大降低。
由于当今科技的日新月异,人们对电子产品的要求随之增高,经济、高效、精准成为人们的目标,就频率计来说,如果现如今还是像传统的方式来设计并制造,那显然不能满足人们的要求。
那么基于单片机的数字频率计必将取代传统的频率计。
而它的优势也显而易见,小巧轻便、集成度高、操作简单、易于维护和修改。
这些优点无不满足着人们追求经济、高效、精准的目标。
试想一下,改变程序中的几行命令显然要比改变电路板上的几条连线要快的多,方便的多。
也正是由于基于单片机的数字频率计与传统的频率计有着那么明显的优势,因此,我将数字频率计的设计与实现作为我的研究课题。
通过设计频率计系统,实现信号频率的检测功能。
在检测系统的设计中,要熟悉以单片机为核心的控制单元,以检测电路为依托的功能单元,以人机界面为媒介的交互单元。
了解频率检测的算法及软硬件的
实现方式。
灵活应用电子相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。
在此过程中,加深对信号检测和信号处理的理解和认识。
这对我以后的工作和学习都是有很大帮助的。
2. 设计要求及方案选择
2.1 设计要求
a. 完成单片机最小系统设计;
b. 精确完成频率检测的设计和实现(精度要求:检测1V-5V频率在1Hz-1MHz周期
信号的周期,误差不超过1%);
c. 完成软件对硬件检测和调试工作;
2.2 方案选择
所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。
若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。
其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。
时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s。
闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。
秒信号结束时闸门关闭,计数器停止计数。
由于计数器计得的脉冲数N是在1s时间内的累计数,所以被测频率fx=NHz。
信号整形部分主要是将待测信号整形成为能够让计数器识别并计数的脉冲信号。
使用了一个主要由LM311构成的过零比较器,LM311的转换速度为200ns,即转换频率为f=1/T=1/(200ns)=5MHz,带宽增益为4MHz,符合本设计的要求。
分频处理部分的作用就是利用分频来克服单片机自身计数范围有限的缺点,间接的扩大了它的测频范围,采用的芯片为CD4518。
数据选择部分是和分频处理部分相依存的,芯片为74LS245。
分频部分的工作依据信号而定,有可能不分频,即原信号测量,有可能10分频,也有可能100分频。
那么当单片机处理数据时是一定要根据数据选择器来处理的,比如用了10分频就要在算得信号频率上乘以10,用了100分频就要在算得信号频率上乘以100。
单片机部分主要是完成计数并处理最后数据的功能,以及控制各部分的相关工作。
单片机的选用为AT89C51单片机。
整体电路图如图2所示:
图2 整体电路图
3.系统电路设计
3.1基于单片机的数字频率计的原理
单片机内部有两个定时/计数器T0和T1。
在测量过程中我们利用这两个定时/计数器,其中T0用作定时,T1来计数外来脉冲数。
单片机外接12MHZ的晶振,定时/计数器的最大定时时间是65.356ms,我们可以采用软件计数器来进行定时设计。
先用定时/计数器T0制作一个50ms的定时器,定时时间到后将软件计数器中值加一当软件计数器到20,就可以实现定时1s。
当定时结束时,定时/计数器T1计数的数送入显示电路,从显示电路中读出的总脉冲个数即是待测信号的频率值。
该频率计硬件较为简单,但需要注意的是单片机所测量的电平信号必须是直流TTL信号,所以在测量前必须把非TTL信号转化为TTL信号。
3.2 单片机的概述及引脚说明
本设计选择的单片机是AT89C51,它是一种带4KB可编程可擦除只读存储器的低电压,高性能微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51引脚即外观如下图所示:
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复制用口,作为输入口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写入“1可作为高阻抗输入端用。
P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。
P2口:P2口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端
口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。
P3口:P3口是一个带内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作输入端口,作输入端时,被外部拉低的P3口将用上拉电阻,输出电流I。
RST:复位输入,当震荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
PSEN:外部程序存储器的选通信号。
EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.3 单片机的最小系统
所谓单片机的最小系统,是指一个真正可用的单片机最小配置系统。
出来接电
源和地线引脚外,单片机能够工作的最小电路还包括时钟电路和复位电路,通常称
为单片机的最小系统电路。
时钟电路为单片机工作提供基本时钟,复位电路用于将单片机内部各电路的状
态恢复到初始值。
单片机在启动运行时都需要复位,复位使CPU和系统中其它部件都处于一个确
定的初始状态,并从这个状态开始工作。
因此单片机在刚通电时或者发生故障后都
要重新复位,这通过单片机的一个复位引脚RST来实现。
3.4 单片机的定时\计数
定时器/计数器是单片机的重要功能模块之一。
在检测、控制及智能仪器等应
用中,常用定时器作实时时钟,实现定时检测、定时控制。
还可用定时器产生毫秒
宽的脉冲,驱动步进电机一类的电气机械。
计数器主要用于外部事件的计数。
MCS-51单片机内部有两个16位可编程定时器/计数器,即定时器T0和定时器T1,它们既可以用作定时器方式,又可用作计数器方式,可编程设定4种不同的工作方式。
定时器\计数器的结构
定时/计数器T0、T1由加法计数器、TMOD、TCON寄存器等组成。
定时/计数器的核心是16位加法计数器,定时/计数器T0的加法计数器用特殊功能寄存器
TH0,TL0表示,TH0表示加法计数器的高8位,TL0表示加法计数器的低8位,TH1 、TL1则表示定时/计数器T1的加法计数器的高8位和低8位,这些寄存器可根据需要由程序读写。
当16位加法计数器的输入端每输入一个脉冲,16位加法计数器的值自动加1,当计数器的计数值超过加法计数器字长所能表示的2进制数的范围而向第17位进位,技术溢出时,定时中断请求标志,像CPU申请中断。
16位加法计数器编程的选择对内部时钟脉冲进行计数和外部输入脉冲计数。
对内部脉冲计数时称为定时方式,对外部脉冲计数时称计数方式。
3.5 定时器\计数器的四种工作方式
a. 工作方式0——13位计数器
T1在工作方式0的逻辑结构如图3-6所示,在这种工作方式下,16位的计数器(TH1和TL1)只用了13位构成13位定时/计数器。
TL1的高3位未用,当TL1得低5位计满时,向TH1进位,而TH0溢出后对中断标志位FT1置1,并申请中断。
图3-6 工作方式0—13位计数器方式
当C/T=0时,多路开关打到上位,定时/计数器的输入端接内部振荡器的12分频,即工作在定时方式,每个计数脉冲的周期等于机器周期,当定时\计数器溢出时,其定时时间为:
2-T1初值)⨯机器周期
T=计数次数⨯机器周期=(13
当C/T=1时,多路开关打到下位,定时/计数器接外部T1引脚信号,即工作在计数方式,当外部电平发生从“1”到“0”跳变时,加1计数器加1。
b. 工作方式1——16位计数器
T1在工作方式1的逻辑图结构如图3-7所示,它与工作方式0的差别仅在于工作方式1是以16位计数器参与计数,且定时时间为:
2-T1初值)⨯机器周期
T=计数次数⨯机器周期=(16
图3-7 工作方式1—16位计数器方式
工作方式与工作方式0基本工作过程相似,但由于工作方式1是16位计数器,因此,它比工作方式0有更宽的定时计数范围。
c. 工作方式2——8位自动重装入初值计数器
T1在工作方式2的逻辑结构如图3-8所示。
TL1用作8位计数器,TH1用来保护初值,每当TL1计数溢出时,硬件自动将TH1的值装入TL1中。
工作方式2 的定时时间为
T=计数次数⨯机器周期=(82-T1初值)⨯机器周期
图3-8 工作方式2——8位自动重装初值计数器
d. 工作方式3——2个独立8位计数器
定时/计数器工作方式3是两个独立的位计数器且仅T0有工作方式3,如果把T1置为工作方式3,T1将处于关闭状态。
T0工作在方式3时,TL0构成8位计数器可工作于定时/计数状态,并使用T0的控制位与TF0的中断源。
TH0则只能工作于定时器状态,使用T1中的TR1、TF1的中断源。
一般在系统需要增加一个额外的8位定时器时,T0可设置为工作方式3,,此时T1虽定义为工作方式0、工作方式1和工作方式2,但只能用在不需中断控制的场合。
3.6 主要程序段及软件流程图设计
3.6.1 流程图
9
3.6.2 源程序
源程序:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90}; uchar fer[]={0,0,0,0,0,0};
uchar code BIT[]={0xFE,0xFD,0xFB,0xF7,0xEF}; uchar Count=0;
sbit k1 =P1^0;
void Delay(uchar x)
{
uchar i;
while (x--) for (i=0;i<120;i++);
}
void main()
{
uchar i,j=0;
P2=0x00;
IE=0x8A;
TMOD=0x51;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=TL1=0;
while (1)
{ if (k1==0)
{
Delay(10);
if (k1==0)TR1=TR0=1;
}
else for (i=0;i<6;i++)
{
P2=BIT[i];
P0=CODE[fer[i]];
Delay(3);
}
}
}
void INT_T0() interrupt 1 {
uint Tmp;
TH0=(65536-50000)/256; TL0=(65536-50000)%256; if (++Count==20)
{
TR1=0;TR0=0;
Count=0;
Tmp=TH1*256+TL1;
fer[5]=Tmp/100000;
fer[4]=Tmp/10000%10; fer[3]=Tmp/1000%10;
fer[2]=Tmp/100%10;
fer[1]=Tmp%100/10;
fer[0]=Tmp%10;
TH1=TL1=0;
}
}
结论
本次设计所做的数字频率计具有比较好的测量精度,较宽的频率范围,具有一定的实用价值。
当然,这是在所有元器件都是理想状态下所得到的结论,在实际生活中是难以做到如此理想状态的。
因此在我设计的过程中就不可避免的遇到了一些问题。
比如说在信号转换的电路设计上,最初的设计中在MULTISIM上做的仿真是完全没有问题的,但是真正在连接硬件的时候就出现了问题,根本无法将正弦波整形得到方波信号,只能重新设计过零比较器。
再者,通过分频测量信号的频率,在信号经过分频的时候,没有对信号做进一步的处理,这对结果的精确度一定是有影响的。
我想,如果能很好的解决上述的问题,那么该数字频率计的精确度势必将有很大的提高。
致谢
大学生活一晃而过,一周的学习时光已经接近尾声,回首走过的岁月,心中倍感充实,当我们完成毕业设计制作,写完这篇毕业设计说明书的时候,有一种如释重负的感觉,感慨良多。
面对三年的大学生活我们能无悔地说:“我们曾经来过。
”在这里我们成长,它给我们的影响却不能用时间来衡量,在这里经历过的所有事的有人,都将是我们以后生活回味珍惜的一部分,是我们为人处事的指南针。
首先诚挚的感谢我们的设计指导老师-孙建延老师,孙老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对同学们影响深远。
不仅使我们树立了远大的学术目标、掌握了基本的研究方法,还使我们明白了许多待人接物与为人处世的道理。
本设计从选题到完成,他在忙碌的教学工作中挤出时间来指导审查我们的作品,帮我们修改说明书,倾注了老师大量的心血。
在此,谨向老师表示崇高的敬意和衷心的感谢!还有教过我们的所有老师们,你们严谨细致、一丝不苟的作风一直是同学们工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我们无尽的启迪。
本设计的顺利完成,还离不开各位老师、同学和朋友的关心与帮助。
感谢一周中陪伴在我们身边的同学、朋友,感谢他们为我们提出的许多有益的建议,有了他们的支持、鼓励和帮助,我们才能充实的度过了一周的学习生活。
这次课程设计还不是很成熟,还有很多不足之处,但我们可以自豪的说,这里面的一步一步的付出出来的成果,很开心我们的成就还是不错的,这次做设计的经历会使我们终身受益,我们感受到做设计是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习研究的过程就不可能有所突破,我们用心投入到做的事情当中,而收获的喜悦是无可替代的。
希望这次的经历能让我们在今后的学习中激励我们继续进步。
参考文献
【1】上官同英. 单片机原理及应用原理[M]. 北京:清华大学出版社,2011. 【2】李学礼. 基于Proteus的8051单片机实例教程[M]. 电子工业出版社,2008. 【3】彭伟. 单片机C语言程序设计实训100例-基于8051+Proteus仿真[M]. 北京:电子工业出版社,2009.
附录。