最新版采用单片机设计频率计最新毕业论文设计.docx

上传人:b****5 文档编号:12334815 上传时间:2023-04-18 格式:DOCX 页数:21 大小:190.88KB
下载 相关 举报
最新版采用单片机设计频率计最新毕业论文设计.docx_第1页
第1页 / 共21页
最新版采用单片机设计频率计最新毕业论文设计.docx_第2页
第2页 / 共21页
最新版采用单片机设计频率计最新毕业论文设计.docx_第3页
第3页 / 共21页
最新版采用单片机设计频率计最新毕业论文设计.docx_第4页
第4页 / 共21页
最新版采用单片机设计频率计最新毕业论文设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

最新版采用单片机设计频率计最新毕业论文设计.docx

《最新版采用单片机设计频率计最新毕业论文设计.docx》由会员分享,可在线阅读,更多相关《最新版采用单片机设计频率计最新毕业论文设计.docx(21页珍藏版)》请在冰豆网上搜索。

最新版采用单片机设计频率计最新毕业论文设计.docx

最新版采用单片机设计频率计最新毕业论文设计

优秀论文审核通过

未经允许切勿外传

编号

淮安信息职业技术学院

毕业论文

题目

单片机频率计的设计

学生姓名

王斌

学号

系部

电气工程系

专业

机电一体化

班级

49092

指导教师

刘洪恩教授

顾问教师

许国帅

二〇一二年六月

摘要

随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。

传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。

考虑到上述问题,本论文设计一基于单片机设计频率计。

首先,我们把待测信号经过放大整形,然后把信号送入单片机的定时计数器里进行计数,获的频率值,最后把测得的频率数值送入显示电路里进行显示。

本文从频率计的原理出发,介绍了基于单片机的频率计的设计方案,选择了实现系统的各种电路元器件,并对硬件电路进行了仿真。

关键字:

单片机;频率计;测量

摘要-I-

第一章引言-II-

第二章频率及总体方案设计-3-

2.1方案比较-3-

2.2方案论证-4-

2.3方案选择-4-

第三章系统硬件设计-5-

3.1一般数字式频率计的原理-5-

3.2频率计方案概述-5-

3.3单片机-5-

3.3.189S51一般概述-6-

3.3.2引脚功能说明-7-

3.3.3AT89S51概述-7-

3.4分频电路-8-

3.5显示电路-8-

3.6硬件设计简介和系统整体原理图-9-

3.6.1硬件设计简介-9-

3.6.2系统整体原理图-10-

第四章系统软件设计-11-

4.1测频软件实践原理-12-

4.2软件流程图-12-

4.3程序设计-15-

结束语-22-

1.结束-22-

2.致谢-22-

参考文献-24-

附录一-26-

第一章引言

频率仪器是数字电路中一个典型应用,实际的硬件设计用到的器件较多,联机比较复杂,而且会产生比较大的延迟。

随着复杂可编程逻辑器件的广泛应用,将使整个系统大大简化。

提高整体性能,它是直接用十进制数字来显示被测信号频率的一种测量装置。

它不仅可以测量正弦波,方波,三角波,尖脉冲信号和其他具有周期的信号的频率,而且还可以测量他们的周期。

经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪:

可以测量电容做成数字电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪,计价器等。

因此数字频率仪在测量物理量方面的广泛应用。

频率计的设计原理实际上是测量单位时间内的周期数。

这种方法免去了实测以前的预测,同时节省了划分频率的时间,克服了原来高频率采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。

通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。

闸门时间也可以大于或小于1秒。

闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的时间隔就越长。

闸门时间越短,测得频率值刷新据越快,但测得的频率精度就受影响。

本论文的任务是设计一个基于单片机技术的数字频率计。

主要介绍了整形电路、控制电路和显示电路的构成原理,以及其测频的基本方法。

进行了相应的硬软件设计。

第二章频率计总体方案设计

2.1方案比较

方案一:

本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描把测出的数据送到数字显示电路显示。

其实原理框图如2.1所示

2.1方案一原理图

方案二:

本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。

其原理框图如图2.2所示

2.2方案论证

方案一:

本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测得正弦波或者三角波为方波。

利用单片机的计数器和定时器的功能对被测信号进行计数。

编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。

方案二:

本方案使用大量的数字器件,被测量信号放大整形电路变成计数器所要求的脉冲信号,其频率于被测信号的频率相同。

同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。

若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率FX=NHZ。

逻辑控制电路的作用有两个:

一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。

2.3方案选择

比较以上两种方案可以知道,方案一得核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。

与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。

如要测量高频的信号还需要加上分频电路,价格相对高了点。

基于上述,所以选择了方案一。

第三章系统硬件设计

3.1一般式频率计设计原理

数字式频率计是测量频率最常用的仪器之一,其基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译码显示电路里进行显示,其基本构成框图如图3.1所示

待测信号

3.1频率计原理框图

3.2频率计方案概述

本频率计的设计以AT89S51单片机为核心,利用它内部的定时计数器完成待测信号周期频率的测量,单片机AT89S51内部具有2个16位定时计数器,定时计数器的工作可以由编程来实现定时,计数和产生计数溢出时中断要求的功能。

在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1,这样以机器周期为基准可以用来测量时间间隔。

在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。

外部输入在每个机器周期被采用一次,这样查测一次从1到0的跳变至少需要2个机器周期,所以最大计数速率为时钟频率124。

定时计数器的工作有运行控制位TR控制,当TR置,定时计数器开始计数:

当TR清0,停止计数。

于1000S。

为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法:

(1)当待测信号的频率>100HZ时,定时计数器构成为计数器,以机器周期为基准,由软件产生计数闸门,计数闸门宽度>1S时,即可满足频率测量结果为3位有效数字。

(2)当待测信号的频率<100HZ时,定时计数器构成为定时器,由频率计的处理电路把待测信号变成方波,方波宽度等于待测信号的周期。

这时用方波做计数闸门,当待测信号的频率=100HZ,周期为10ms,使用12HZ时钟的最小计数值为10000,完全满足测量精度的要求。

3.3单片机

3.3.189s51概述

该AT89S51是一个低功耗,高性能CMOS8位微控制器,可在4K字节的系统内编程的闪存存储器。

该设备是采用Atmel的高密度非易失性存储器技术和符合工业标准的80C51指令集合引脚。

芯片上的Flash程序存储器课重新编程的系统或常规非易失性内存编程。

通过结合通用8位中央处理器的系统内课编程闪存的单芯片,AT89S51是一个功能强大的微控制器提供了高度灵活的和具有成本效益的解决办法,可在许多嵌入式控制中应用。

在AT89S51提供以下标准功能:

4K字节的Flash闪存,128字节的RAM,32个IO线,看门狗定时器,两个数据指针,两个16位定时器计数器,5向量两级中断结构,全双工串行端口,片上振荡器和时钟电路。

此外,AT89S51设计的静态逻辑操作到零频率和支持两种软件可选电模式。

空闲模式停止的CPU,同时允许的RAM,定时器计数器,串行接口和中断系统继续运作。

在掉电模式保存RAM内容,可停止振荡器,停止振荡器,停止所有其他芯片的功能,直到下一个外部中断或硬件复位。

VCC:

电源电压

GND:

接地点

P0口:

p0口是一组8位漏极开路型双向IO口,也即地址数据总线复用口。

作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“I”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接指令字节,而在程序效验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动4个TTL逻辑门电路。

对端口写“I”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

3.3.2AT89S51

如图3.2

图3.2AT89S51原理图

3.4分频电路

本次设计采用的是脉冲定时测频法,由于考虑到单片机的定时计数器得计数

能力有限,无法对过高频进行测量,所以我们对待测信号进行了分频,这样能提高测量频率的范围,还能相应的提高频率测量的精度。

所以我们需要把待测信号进行分频。

其原理图如3.3

3.34040原理图

3.5显示电路

我们测量的频率最终要显示出来八段LED数码管显示器由8个发光二极管组成。

基中7个长条形的发光管排列成“日”字形,另一个圆点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。

LED数码管显示器有两种形式:

一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。

如下图所示。

共阴和共阳结构的LED数码管显示器各笔划段名和安排位置是相同的。

当二极管导通时,对应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。

8个笔划段hgfedcba对应于一个字节(8位)的D7、D6、D5、。

D4、D3、D2、D1、D0,于是用8位二进制码就能表示欲显示字符的字形代码。

在单片机应用系统中,数码管显示器显示常用两种办法:

静态显示和动态扫

描显示。

所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能

的IO接口用于笔划段字形代码。

这样单片机只要把要显示的字形代码发送到接口

电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小,能供给单独锁存的IO接口电路很多。

在单片机系统中动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。

其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受IO线控制。

CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由IO控制的,所以我们就能自行决定何时显示哪一位了。

而所谓动态扫描就是指我们采用分时的办法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。

在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

其原理图3.4

3.4显示电路原理图

3.6硬件设计简介和系统整体原理图

3.6.1硬件设计简介

采用外接插头输入脉冲信号,经过1N4538B(1N4538B的稳压值为5V,稳压保护,防止输入电压过高损伤电路)后经过两级74hc14传输将脉冲信号转换为方波信

号,输入到4040的时钟计数输入端,4040对输入的脉冲进行计数分频,每4040每输入4096个外出,Q12输出一个脉冲。

单片机的T1工作在计数状态,在单位时间内计数值除以单位时间即是脉冲的频率,单片机所测量的频率的范围内是1~100MHZ,分两档测量,256K~100MHZ,256K以下~1HZ。

单片机测量后将测量结果转换成六位BCD码,通过单片机的串行口发送到数码管显示,数码管显示电路采用74ls164驱动共阴极数码管,采用静态显示。

数据的传送采用串行移动方式,即单片机将六个显示码从低到高逐位通过串行口以方式0发送到数码管显示,数码管的显示为6位,即显示单位为1HZ和1KHZ。

通过两个发光二极管分别指示,P1.0驱动显示1HZ单位指示灯,低电平点亮;P1.1驱动显示1KHZ单位指示灯,低电平点亮。

3.6.2系统整体原理图

详见附录一

第四章系统软件设计

4.1测评软件实现原理

测频软件的实现是基于电路系统来进行设计的。

本次设计采用的是脉冲定时

测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。

本次软件设计语言采用汇编语言,在电脑上编译通过后即可下载到电路上的实际电路中,即可实现频率的测量。

4.2软件流程图

 

4.3程序设计

ORG0000H

LJMPMAIN

ORG000BH

LJMPCT0

ORG0030H

MAIN:

MOVTH0,#06H

MOVTL0,#00H;设置定时时间为64MS

MOVSP,#60H

MOVIE,#82H

MOVTL1,#00H

MOVTH1,#00H

MOVTMOD,#51H;T0定时,T1计数,都工作在方式一

MOVR6,#4;

SETB20H;定时器工作方式标志,20H为1,测量时间为64MS,否则为4秒

CLR21H;测量结束标志,21H为1则测量结束

MOVR7,#80

MOV40H,#00H

MOV41H,#00H

MOV42H,#00H

CLRP1.0;指示显示单位为1HZ,低电平点亮发光二极管

SETBP1.1;只是显示单位为1KHZ,低电平点亮发光二极管

MOVSBUF,#0C0H

JNBTI,$

MOVSBUF,#0C0H

JNBTI,$

MOVSBUF,#0C0H

JNBTI,$

MOVSBUF,#0C0H

JNBTI,$

MOVSBUF,#0C0H

JNBTI,$

MOVSBUF,#0C0H

JNBTI,$

FINDKEY:

SETBP1.2

MOVC,P1.2

JCFINDKEY

CLR21H

START:

SETBP3.5;

MOVC,P3.5

JNCSTART

   SETBTR0

SETBTR1

JNB21H,$

CLRTR0

MOVA,P2

ANLA,#0FH

MOVB,A

MOVA,TL1

ANLA,#0FH

SWAPA

ORLA,B

MOV40H,A

MOVA,TL1

ANLA,#0F0H

SWAPA

MOVB,A

MOVA,TH1

ANLA,#0FH

SWAPA

ORLA,B

MOV41H,A

MOVA,TH1

ANLA,#0FH

SWAPA

MOV42H,A

MOVA,42H

JNZFINDDATA

MOVA,41H

JNZFINDDATA 

LJMPNEXTSTART  ;频率低于256k,换档测量

FINDDATA:

MOVR1,40H

MOVR2,41H

MOVR3,42H

LCALLBCDTREAT0

MOVSBUF,50H

JNBTI,$

MOVSUBF,51H

JNBTI,$

      MOVSBUF,52H

JNBTI,$

MOVSUBF,53H

JNBTI,$

MOVSBUF,54H

JNBTI,$

MOVSUBF,55H

JNBTI,$

CIRP1.0

SETBP1.1

LJMPKEYFIND

NEXTSTART:

SETBP3.5;

MOVC,P3.5

JNCNEXTSTART

CLR20H;设置4秒测量方式

CLR21H

SETBTR0

   MOVTH0,#3CH

MOVTL0,#0B0H

MOVR7,#80

JNB21H,$

CLRTR0

MOV40H,P0

MOVA,P2

ANLA,#0FH

MOV41H,A

MOVA,TL1

ANLA,#0FH

SWAPA

ORLA,41H

MOV41H,A

MOVA,TL1

ANLA,#0F0H

SWAPA

MOV42H,A

MOVA,TH1

ANLA,#0FH

SWAPA

ORLA,42H

MOV42H,A

CLRC

RRCA

XCHA,41H

RRCA

XCHA,42H

CLRC

RRCA

XCHA,41H

RRCA

   XCHA,40H

MOV41H,A

MOVA,42H

CLRC

RRCA

XCHA,41H

RRCA

XCHA,42H

CLRC

RRCA

XCHA,41H

RRCA

  XCHA,40H

MOV41H,A

MOVR1,40H

MOVR2,41H

MOVR3,42H

LCALLBCDTREAT0

MOVSBUF,50H

JNBTI,$

MOVSUBF,51H

JNBTI,$

     MOVSBUF,52H

JNBTI,$

MOVSUBF,53H

JNBTI,$

MOVSBUF,54H

JNBTI,$

MOVSUBF,55H

JNBTI,$

SETBP1.0

CLRP1.1

LJMPKEYFIND

CT0:

JNB20H,NEXTCT0

MOVTH0,#06H;64毫秒

MOVTL0,#00H

DJNZR6,CT0RETI

MOVR6,#4

SETB21H

CLRTR1

CT0RETI:

RETI

NEXTCT0:

MOVTH0,#3CH

MOVTL0,#0B0H;50毫秒定时

DJNZR7,NEXTCT0RET

SETB21H

MOVR7,#80

CLRTR1

NEXTCT0RET:

RETI

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

BCDTREAT0:

PUSHACC;将24位二进制数转换为BCD码

PUSHB7

PUSHPSW

      MOV36,#24

MOVR7,#0

MOVR6,#0

MOVR5,#0

MOVR4,#0

LOOP:

CLRC

MOVA,R1

RLCA

MOVR1,A

MOVA,R2

RLCA

MOVA,R2

MOVR3,A

RLCA

MOVR3,A

MOVA,R4

ADDCA,R4

DAA

MOVR4,A

MOVA,R5

ADDCA,R5

DAA

MOVR5,A

MOVA,R6

ADDCA,R6

DAA

MOVR6,A

MOVA,R7

ADDCA,R7

DAA

MOVR7,A

DJNZ36H,LOOP

MOVA,R4

ANLA,#0FH

MOV50H,A

MOVA,R4

ANLA,#0F0H

SWAPA

MOV51H,A

MOVA,R5

ANLA,#0FH

MOV52H,A

MOVA,R5

ANLA,#0F0H

SWAPA

MOV53H,A

MOVA,R6

ANLA,#0FH

MOV54H,A

MOVA,R6

ANLA,#0F0H

SWAPA

MOV55H,A

POPPSW

POPB

POPACC

RET

End

结束语

1结论

基于单片机的频率计的设计涉及到计算机的硬软件知识,通过对系统的设计

和调试,本次设计主要完成了以下工作:

1、提出基于单片机的数字频率计设计的基本方案;

2、完成了整形电路、同步电路、分频电路、主控门电路等相应的硬件电路设

计及仿真;

3、编译了数字式频率计的控制程序、数码转化程序、数据显示程序等系统软

件程序;

4、对硬件电路进行了仿真,进行了误差分析。

2致谢

首先在这里感谢刘洪恩老师认真的指导,本次设计的过程和结果都给了我很多感触。

初次拿到毕业设计的题目时,真的是对数字频率计一无所知。

在初次见到XX老师的时候,对频率还不了解,怎么设计,几乎没有什么想法。

在XX老师的指导和讲解下,对频率计的介绍有了一定的了解。

后来通过不断的学习和查阅资料,终于清楚的知道了频率计的基本情况和设计的方案有了一定的理解。

通过对各种性能的比较和所学知识能实现的状况,对本次毕业设计进行了设计。

最后进行的是毕业论文的撰写,在写论文的过程中,因为对WORD掌握的不好,所以在编写论文中出现了很多问题,但最后在刘老师和同学的帮助下,都一一的解决了。

通过本次设计,让我学会了从系统的高度来考虑设计的方方面面,对电路的设计和研究有了更深刻的体会;让我了解到软件的设计是建立在对硬件了解的基础上的,特别是对单片机的功能,引脚定义和内部结构要有较为详细的了解,此外对电路板中所用到的各个芯片的引脚和功能,也要进行了解;在编写程序时,进行模块化设计,以严谨的态度进行编程,避免出现低级错误,养成

为程序添加注释和说明的好习惯,以便自己的修改和阅读者轻松的了解程序的各部分及整体的功能。

参考文献

[1]李雷等编.《集成电路应用实验》.国防工业出版社2003

[2]李雷等编.《电子技术应用实验教程》.电子科技大学出版社,2006

[3]朱红等编.《电子技术综合实验》.电子科技大学出版社,2005

[4]冯熙昌编.《电子电话机集成电路手册》.人民邮电出版社,1996

[5]李华等编.《MCS-51系列单片机实用接口技术》.北京航空航天大学出版社,1993

[6]徐惠民,《安德宁等编.单片微型计算机原理接口及应用》.北京邮电大学出版社,2000

附录一整体系统原理图

 

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

当前位置:首页 > 党团工作 > 其它

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

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