简易数字频率计设计基于单片机.docx

上传人:b****7 文档编号:24046254 上传时间:2023-05-23 格式:DOCX 页数:30 大小:748.98KB
下载 相关 举报
简易数字频率计设计基于单片机.docx_第1页
第1页 / 共30页
简易数字频率计设计基于单片机.docx_第2页
第2页 / 共30页
简易数字频率计设计基于单片机.docx_第3页
第3页 / 共30页
简易数字频率计设计基于单片机.docx_第4页
第4页 / 共30页
简易数字频率计设计基于单片机.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

简易数字频率计设计基于单片机.docx

《简易数字频率计设计基于单片机.docx》由会员分享,可在线阅读,更多相关《简易数字频率计设计基于单片机.docx(30页珍藏版)》请在冰豆网上搜索。

简易数字频率计设计基于单片机.docx

简易数字频率计设计基于单片机

 

楚雄师范学院

本科生毕业论文

 

题目:

简易数字频率计设计

系(院):

xxx

专业:

电子信息科学与技术(非师范)

学号:

***********

学生姓名:

xxx

指导教师:

xxx职称:

副教授

论文字数:

8206

完成日期:

2012年5月

 

教务处印制

 

楚雄师范学院物电系毕业论文原创性声明

 

本人郑重声明:

呈交的毕业论文“简易数字频率计的设计”。

是本人在xxx老师的指导下进行研究工作所取得的成果。

除了文中已经引用的内容外,本论文不含其他个人或集体已经发表或撰写过的研究成果。

对本论文的研究做出帮助的个人和集体,均已在论文中作了明确的说明并表示了谢意。

本声明的法律结果由本人承担。

 

毕业论文作者签名:

xxx

日期:

2012年5月19日

 

简易数字频率计的设计

摘要:

频率计作为一种基础测量仪器。

它主要由信号输入、放大整形、分频、单片机控制模块、驱动显示电路等组成。

本设计以STC80C51单片机作为控制核心,使用它内部的定时/计数器,实现对待测信号的频率的测量。

设计过程中,频率计采用外部10分频,以便测量1Hz~1MHz的信号频率,并且实现量程自动切换。

显示部分用74LS245驱动,使用四位共阳极数码管显示数据。

本设计采用单片机技术,使得设计具有很高的性价比和可靠性,改善了传统频率计的不足,它具有测量精度高、测量省时、价格便宜、使用方便等优点。

关键词语:

单片机;频率计;驱动显示;放大整形;量程切换

 

ThedesignofsimpleFrequencyMeasurement

Abstract:

Thefrequencymeterasabasicmeasuringinstrument.Itmainlyconsistsofsignalinput,plasticsurgerytoenlarge,pointsandsingle-chipmicrocomputercontrolmodule,frequencydriverdisplaycircuitetc.ThisdesigntoSTC80C51singlechipmicrocomputerascontrolcore,useitinternaltiming/counter,realizethetreatthefrequencyofthesignalmeasurement.Designprocess,thefrequencymeterusingexternal10pointsfrequency,formeasuring1Hz~1MHzsignalfrequency,andrealizetherangetoswitch.Displaywith74LS245partdrive,useatotaloffouranodedigitaltubedisplaythedata.ThisdesignUSESthesinglechipmicrocomputer,makedesignwithgoodvalueformoneyandthereliability,improvethefrequencyoftheshortcomingsofthetraditionalproject,ithashighaccuracyofmeasurement,highmeasuringtime,cheap,easytouse,etc.

Keywords:

Singlechipmicrocomputer;Thefrequencymeter;Drivedisplay;Enlargeplasticcircuit;Switchrange

 

前言

在电子技术中,频率作为基本的参数之一,它与许多电参量的测量方案、测量结果密切相关,因此,频率的测量十分的重要。

在许多情况下,要对信号的频率进行精确测量,就要用到数字频率计。

数字频率计作为一种基础测量仪器,它具有测量精度高、测量省时、使用方便等特点。

使得基于单片机的数字频率计得到广泛的应用。

第一章频率计设计

1.1频率计概要

在电子技术中,频率作为基本的参数之一,它与许多电参量的测量方案、测量结果密切相关,因此,频率的测量十分的重要。

在许多情况下,要对信号的频率进行精确测量,就要用到数字频率计。

数字频率计作为一种基础测量仪器,它被用来测量信号(方波、正弦波、锯齿波等)频率,并且用十进制显示测量结果。

它具有测量精度高、测量省时、使用方便等特点。

随着微电子技术和计算机技术的不断发展,单片机被广泛应用到大规模集成电路中,使得设计具有很高的性价比和可靠性。

所以,以单片机为核心的简易数字频率计设计,改善了传统的频率计的不足,充分体现了新一代数字频率计的优越性。

1.2发展动态

在国内,单片机已普遍的应用电子系统的中,其中,以C语言为编程基础,结合单片机典型模块的设计已经开发出了许多应用系统,,如单片机的串口通信、定时/计数器、看门狗、中断、矩阵键盘输入、ADC、DAC、红外遥控接收、电动机控制、LED显示器等。

由于单片机的功能强、体积小、功耗低、价格便宜、工作可靠、使用方便等优点,使得基于单片机的数字频率计得到广泛的应用。

现在国际国内对这类设计的开发与研究具有实用性,借助软件程序控制实现,使得频率计的硬件结构简单,具有良好的性价比和可靠性。

同时,该设计又在不断地深入与发展,以适应更高进度的要求。

1.3设计任务

1.3.1任务

设计一个以单片机为主要控制模块的简易数字频率计。

1.3.2设计要求

(1)基本要求

实现对周期信号的频率进行测量。

测量范围:

信号:

三角波、正弦波、方波;

幅度:

0.5V~5V;

频率:

1Hz~1MHz;

测量误差≤0.1%。

(2)驱动显示部分

用74LS245驱动4位共阳极数码管,以十进制数字显示测量的数据。

电源用电池代替。

第二章系统模块设计

2.1整体设计

在单位时间内对待测信号进行计数,计数值作为信号频率显示在数码管上。

本设计用单片机STC80C51制作简易数字频率计,高频段采用外部10分频,低频段直接用单片机计数,实现对1HZ-1MHZ范围的频率测量。

显示部分用74LS245驱动四位共阳极数码管,显示测量出来的频率结果。

可以测量正弦波、三角波及方波的频率值。

设计的原理框图如图2.1所示。

图2.1总体设计框图

2.2测频思路

频率是周期信号在单位时间1s内变化的次数。

当待测周期信号fx通过放大电路放大后,进入整形电路整形转变为矩形波,送入分频电路对信号进行分频,测量预置定的被测信号周期中标准信号的周期个数,从而测量出信号频率的大小。

测量原理图如图2.2所示。

图2.2测量原理图

如图所示,当被测信号的周期在时间T内重复变化了N次时,所测信号频率为fx=N/T。

2.3模块分析

频率计系统设计包括:

放大整形、分频控制、单片机控制、驱动显示等四个模块组成。

各模块如下:

放大整形模块:

待测信号通过放大电路的放大,降低了系统对待测信号幅度的要求。

整形电路非方波信号转化成方波信号,满足测量的要求。

分频控制模块:

单片机使用12MHz时钟,最大计数速率为500kHz,因此设置了外部分频,扩展单片机的测频范围,使得单片机测频时信号统一,更易于实现,同时降低系统误差。

在本次设计中使用74LS161进行外部10分频。

单片机控制模块:

以STC80C51单片机为控制核心,来完成对待测周期信号的计数,译码和驱动显示以及对分频电路数据选择的控制。

利用其内部的定时/计数器完成待测信号周期/频率的测量。

通过编程,使单片机内部的定时/计数器的正常工作,以便系统对待测信号测频时,实现定时、计数。

驱动显示模块:

用一片74LS245驱动四位共阳极数码管动态显示。

综上所述,频率计的模块设计分析框图如图2.3所示。

图2.3频率计模块设计分析框图

第三章硬件设计

根据系统设计的要求,频率计硬件系统主要包括以下几个部分:

3.1主控模块

主控模块由单片机STC80C51组成,通过在Keil上编程、调试,然后下载到单片机中控制系统模块的运行。

3.1.1STC80C51引脚分配

STC80C51引脚分配如表3-1所示。

表3-1STC80C51引脚分配

XTAL1XTAL2

外接12MHz晶振

RST

接复位电路

P1.2P1.3

分频控制端

P0.0-P0.7

输出段码显示

P2.0-P2.3

控制位码输出端

P3.5

频率信号输入

P0口:

P0口作为输出口,每一位与74LS245对应相连接,驱动数码管各段来显示数据。

P1口:

对P1口写“1”,内部上拉电阻把端口拉高,作为输入口使用。

以P1.2口作为分频控制输入。

P2口:

对P2口写“0”,作为输出口使用。

以P2.0-P2.3为输出端口,控制四位数码管的每一位是否点亮。

P3口:

对P3口写“1”,内部上拉电阻把端口拉高,作为输入口使用,在P3.5T1(定时/计数器1)端口输入频率信号。

RST:

复位输入。

EA/VPP:

外部访问允许端口,在此EA端接地,使CPU仅访问外部程序存储器(地址为0000H-FFFFH)。

XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:

振荡器反相放大器的输出端。

3.1.2STC80C51组成的最小系统如图3.1所示。

图3.1STC80C51组成的最小系统

3.2放大整形电路

为了降低对待测信号特征的限制,在输入级特别设置了放大整形电路,以增强频率计的适用范围。

待测信号可以是正弦波、三角波、方波等,在经过整形后,待测信号被转化成矩形波。

由于待测信号的强弱未知,所以,在整形之前通过放大衰减处理使得输入信号满足测量的要求。

如图3.2(a)、(b)所示。

在电路放大整形过程中,采用晶体管IRFR9014来组成放大器,对输入的周期信号(可以是正弦波、三角波及方波)进行放大,输入的周期信号频率为fx。

同时,使用74LS00与非门来构成施密特触发器,其作用是对经过IRFR9014组成的放大器放大输后出来的信号整形,使它变换成矩形波。

放大整形电路如图3.2(a)所示。

图3.2(a)信号放大电路图

图3.2(b)信号整形电路图

3.3分频设计

使用74LS161芯片进行外部分频处理,主要用于弥补单片对机频率测量范围的不足,不但可以使单片机测量频率是容易实现,而且还降低系统在测频过程中带来的误差。

3.3.1分频

74LS161作为4位二进制同步计数器,它的最大计数值为16,在此,为了实现外部10分频,使用了一片74LS161芯片∑一个与非门来进行连接。

如图3.3所示。

图3.3分频电路图

使用一片74LS161芯片和一个与非门来进行连接。

时钟脉冲cp从CLK输入,计数器U1输出端Q3与Q1经过与非门U2.A连接,控制U1是否计数。

若计数,计数值从U1计数器的Q3端输出,接在U7的数据输入端X6,以供数据选择。

电路U1实现十进制计数,当U1计数到9(1001)时,U1的Q3输出为1,当下一个时钟脉冲CLK上升源到来时,U1计数值归零。

74LS161作为4位二进制同步计数器,它具有同步并行预置数,清零,计数,保持等功能,进位输出端还可以接其他计数器级联使用。

时钟CLK,数据输入端D0-D3,清零/MR,使能端ENT、ENP,置数/LOAD,数据输出端Q0-Q3,进位输出RCO,RCO=Q0*Q1*Q2*Q3*ENT。

74LS161功能如表3-1所示。

表3-174LS161功能表

输入端

输出端

/MR

/LOAD

ENP

ENP

CLK

D3

D2

D1

D0

Q3

Q2

Q1

Q0

0

×

×

×

×

×

×

×

×

0

0

0

0

1

0

×

×

d

c

b

a

d

c

b

a

1

1

0

×

×

×

×

×

保持

1

1

0

×

×

×

×

保持

1

1

1

1

×

×

×

×

计数加1

3.3.2数选

选用74HC151芯片对输入频率进行数据选择,它作为一种八选一芯片,有八个数据输入端X0-X7,三个地址输入端A、B、C,一个选通输入端/E,两个互补输出Y、/Y。

74HC151功能如表3-2所示。

表3-274HC151功能表

输入端

输出端

/E

C

B

A

Y

/Y

H

×

×

×

L

H

L

L

L

L

x0

/x0

L

L

L

H

x1

/x1

L

L

H

L

x2

/x2

L

L

H

H

x3

/x3

L

H

L

L

x4

/x4

L

H

L

H

x5

/x5

L

H

H

L

x6

/x6

L

H

H

H

x7

/x7

表3-2所示,选通输入端/E=0,地址输入端B=C=1,由A的状态来选择x6、x7中的一个数据,并在Y端输出被选择的数据。

3.4驱动显示

显示部分由STC80C51的P0口输出,为了防止P0口的负载超出最大负载能力,在P0口接上8路同相三态双向总线收发器74LS245芯片,来驱动LED数码管显示数据。

如图3.4.1所示。

图3.4.1显示模块图

片选端/CE低电平有效,保证数据畅通,DIR=0,信号由B向A传输;P0口与74LS245输入端相连,74LS245输入(即P0.i←Ai)。

显示时使用四位共阳极数码显示数据,常用的每位LED显示器由八个发光二极管组成,通常叫做8段数码管,即a、b、c、d、e、f、g、h、dp共八个字段,其中,dp表示显示器上的一个圆点。

字段及引脚分配如下[6]:

图3.4.2四位数码管图3.4.3共阳极数码管

 

数码管显示代码如表所示:

字符

dpg f e d c b a

共阳段码

共阴段码

1 1 0 0 0 0 0 0

C0H

3FH

1 1 1 1 1 0 0 1

F9H

06H

1 0 1 0 0 1 0 0

A4H

5BH

1 0 1 1 0 0 0 0

B0H

4FH

1 0 0 1 1 0 0 1

99H

66H

1 0 0 1 0 0 1 0

92H

6DH

1 1 0 0 0 0 1 0

82H

7DH

1 1 1 1 1 0 0 0

F8H

07H

1 0 0 0 0 0 0 0

80H

7FH

1 0 0 1 0 0 0 0

90H

6FH

1 0 0 0 1 0 0 0

88H

77H

1 0 0 0 0 0 1 1

83H

7CH

1 1 0 0 0 1 1 0

C6H

39H

1 0 1 0 0 0 0 1

A1H

5EH

1 0 0 0 0 1 1 0

86H

79H

1 0 0 0 1 1 1 0

8EH

71H

第四章软件设计

软件部分采用模块化设计,绘制出总体及各个模块的程序流程框图,主要运用Keil和Protues软件,实现对系统功能的测试与仿真。

4.1模块设计

软件部分采用模块化设计,它由初始化模块,频率测量模块和显示电路模块等组成。

软件设计流程框图如图4.1所示。

图4.1软件设计流程框图

a、启动对待测信号的计数,此时定时/计数器的计数器清0,TR置1;

b、用延时程序实现闸门计数,闸门计数结束时把TR清0,停止计数;

c、计数寄存器中的数值从十六进制转换为十进制。

若该数的最高位为0,闸门计数宽度扩大10倍,重计数,直到满足测量要求为止。

否则,若该位不为0,测量值直接送入显示模块;

d、16位定时/计数器的计数值最高为65535,若待测信号的频率较低,则直接计数,否则,进行硬件十分频后再计数。

4.2中断服务

测频时T0工作在定时方式,用来产生标准时基秒信号,定时为50ms,每中断20次为1秒,在本设计中,T0用作计数器对待测信号计数,当每秒开始时,启动计数器T0,当每秒结束时,暂停计数器T0,则待测信号的频率就等于T0的计数值乘以分频系数。

T1工作在计数方式,对信号计数。

4.3显示实现过程

显示由4位LED共阳极数码管,通过快速扫描方式将8位段码连接在单片机的P0口上,4位位码接P2口的低四位,P2.0-P2.3逐位轮流点由亮各个数码管,每位保持一定的延时,重复点亮,这样看上去4位数码管是同时点亮的。

数码管显示程序流程图如图4.2所示。

图4.2数码管显示程序流程图

4.4量程转换

使用定时方法测量频率时,判定高电平是否加至输入脚P3.5口。

当高电平加至P3.5口时,把TR置1,启动定时/计数器开始计数,若方波高电平结束时,把TR清0,停止计数,此时测量数据从计数寄存器读出,由显示电路显示。

对测量结果加以判断后,自动切换档位,档自动转换流程图如图4.3所示。

图4.3档自动转换流程图

4.5软件概述

本设计运用Keil软件平台实现编程和调试,在Proteus软件平台上完成仿真。

因此介绍Keil和Proteus连接使用,进行软件仿真。

4.5.1Keil软件

Keil软件作为单片机的开发软件,它提供仿真调试器、连接器、C编译器、宏汇编、库管理等,这些部份在uVision(集成开发环境)下组合在一起。

它能仿真单片机CPU及单片机外围电路的工作情况。

仿真调试程序时,从工程的角度来观察过程和结果。

Keil软件在使用时,进行以下步骤:

a、建立工程文件

先新建一个文件,命名后,在Keil运用窗口点击“Project->Newproject”,在弹出对对话框命名建立的工程,点击“保存”按钮,出现下一个对话框,选择目标器件。

建立新文件并增加到组。

设置“target1”中的“Target,output,debug”各项,使程序汇编后产生HEX文件。

b、编程,调试

在Keil集成开发环境中选择“File→New”,完成源文件的输入,然后选择“File→SaveAs”完成文件首次存储。

若对源文件又进行修改,再次存储文件选择“File→Save”实现文件的保存,把源文件加入工程中。

选择工程管理器窗口中的“SourceGroup1”子目录,单击鼠标右键,在快捷菜单中选择“AddFiletoGroup‘SourceGroup1’”,在“文件类型(T)”下拉列表框选择“AsmSourcefile”,选择要加入的文件名双击即可在“SourceGroup1”子目录下添加源文件。

对源程序进行编译,出错时更改后重新编译,直到无错为止。

4.5.2Protues软件

Protues是一种电路分析、实物仿真系统,它由Labcenter公司出品。

Protues和KEIL编译软件结合实现对实物对仿真。

它提供RAM,ROM,键盘,LED,LCD等元件库,使用极其方便,只要画出电路图就可以实现仿真。

4.5.3Keil和Protues集成使用

安装好Keil和Protues个软件后,把C:

\ProgramFiles\LabcenterEletronics\Protues6Professional\MODELS\VDM51.DLL件复制到C:

KEIL\C51\BIN目录下面,这个文件在设置Keil的Debug时用到。

打开Protues新建文件,绘制硬件原理图。

将Keil生成的Hex文件下载到单片机中进行仿真。

利用Protues与Keil进行实验,硬件投入少、经济,弥补实验仪器和元件带来的不足,同时排除了材料消耗和仪器损坏。

第五章系统调试

频率计的系统调试分为软件调试和硬件调试两部分。

硬件调试是排除设计电路的设计错误,使得系统满足设计的需要。

软件调试就是通过Keil和Protues集成使用,进行仿真与调试,若发现错误,通过不断修改设计程序,使频率计的测量功能更加完善。

5.1硬件调试

在系统硬件调试时,若测量频率小于1KHz,数码管以最右边为低位开始显示频率值。

若测量频率在1KHz至1MHz之间时,数码管从右边数第二个发光二极管亮,显示频率值。

若测量频率大于1KHz,数码管显示频率值为0。

硬件测试结果如图5.1所示。

当输入1Hz时,显示如图5.1(a);当输入871Hz时,显示如图5.1(b);

(a)(b)

当输入15kHz时,显示如图5.1(c);当输入764kHz时,显示如图5.1(d);

(b)(d)

当输入6MHz时,显示如图5.1(e)。

(e)

图5.1硬件调试频率显示

经测试,基本实现功能,测出相应的波形频率,并可以实现量程自动切换,符合设计要求。

5.2软件调试

放大整形电路采用三极管9014对信号放大,由74LS00与非门构成的施密特触发器,对放大的正弦波、三角波等周期信号整形,转化为矩形脉冲,经过分频电路送入单片机80C51的P3.5口,运用指令控制驱动器74LS245驱动数码管显示数据。

在Proteus中绘制的电路图,用虚拟函数发生器输入1MHz以下不同频率的的周期信号,进行仿真显示。

当输入5Hz时,显示如图5.2(a);当输入415Hz时,显示如图5.2(b);

(a)(b)

当输入8KHz时,显示如图5.2(c);当输入15KHz时,显示如图5.2(d)。

(c)(d)

图5.2软件仿真频率显示

5.3系统调试

系统在调试阶段,经过反复的调试、修改,基本完成了设计所要求的任务。

软件实现量程的自动转换,驱动显示器显示数据时,可以测量1Hz-1MHz的周期信号。

硬件电路通过放大整形模块,分频模块,单片机主控模块,驱动显示模块组成,经过软硬联合调试,最终完成了设计,调试数据记录如表5-1所示。

表5-1调试数据记录表

输入

2

5

415

850

8k

15k

147k

386k

655k

876k

输出

2

5

415

850

8k

15k

147k

386k

655k

876k

输入

1

16

45.5

143

438

800

14.58k

146.2k

704k

888k

输出

1

17

49

156

479

872

15k

158k

764k

961k

5.4误差分析

根据数据记录的结果可以看出,软件仿真误差较小,测量出来的频率在1Hz-1MHz范围内基本上就是输入信号的频率。

但是在硬件调试中,可能由于标准元器件本身误差,对测量结果产生影响,测量结果偏大,没有软件仿真时的准确。

另外手工焊接的电路也会带来一定的干扰,导致测量精度下降,测量范围缩小,但是经过调试可知,设计的电路是可行的。

第六章总结

毕业设计已经结束,通过本次毕业设计我获得很多收获。

首先,了解了单片机的基本知识。

其次,进一步学习了C语言的编写程序的方法,学会使用Protues

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1