采用单片机设计频率计_毕业论文60066_第1页
采用单片机设计频率计_毕业论文60066_第2页
采用单片机设计频率计_毕业论文60066_第3页
采用单片机设计频率计_毕业论文60066_第4页
采用单片机设计频率计_毕业论文60066_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、采用单片机设计频率计 毕业设计论文 采用单片计设计频率计 系 机电工程系 专业 姓名 班级 学号 指导教师 职称 讲师 设计时间 目录摘 要- 3 -第一章 引 言- 4 -第二章 频率计总体方案设计- 5 -2.1 方案比较- 5 -2.2方案论证- 6 -2.3方案选择- 6 -第三章 系统硬件设计- 7 -3.1 一般数字式频率计的原理- 7 -3.2频率计方案的概述- 7 -3.3 单片机- 8 -3.3.1 89S51一般概述- 8 -3.3.2引脚功能说明- 8 -3.3.3 AT89S51原理图 如 图3.2- 9 -3.4 分频电路- 10 -3.5 显示电路- 10 -3.6

2、硬件设计简介和系统整体原理图- 11 -3.6.1 硬件设计简介- 11 -3.6.2 系统整体原理图- 12 -第四章 系统软件设计- 13 -4.1 测频软件实现原理- 13 -4.2软件流程图- 13 -4.3 程序设计- 16 -结束语- 26 -1.结论- 26 -2.致谢- 26 -参考文献- 28 -附录一- 1 -摘 要随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。考虑到上述问题,本论文设计一基于单片机设计频率计。首先,我们把待测信号经过放大整形

3、,然后把信号送入单片机的定时计数器里进行计数,获的频率值,最后把测得的频率数值送入显示电路里进行显示。本文从频率计的原理出发,介绍了基于单片机的频率计的设计方案,选择了实现系统的各种电路元器件,并对硬件电路进行了仿真。关键字:单片机;频率计;测量第一章 引 言频率仪器是数字电路中一个典型应用,实际的硬件设计用到的器件较多,联机比较复杂,而且会产生比较大的延迟。随着复杂可编程逻辑器件的广泛应用,将使整个系统大大简化。提高整体性能,它是直接用十进制数字来显示被测信号频率的一种测量装置。它不仅可以测量正弦波,方波,三角波,尖脉冲信号和其他具有周期的信号的频率,而且还可以测量他们的周期。经过改装,可以

4、测量脉冲宽度,做成数字式脉宽测量仪:可以测量电容做成数字电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪,计价器等。因此数字频率仪在测量物理量方面的广泛应用。频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频率的时间,克服了原来高频率采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于1秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的时间隔就越长。闸门时间越短,测得频率值刷新据越快,但测得的频率精度就受影响。本论文的任务是

5、设计一个基于单片机技术的数字频率计。主要介绍了整形电路、控制电路和显示电路的构成原理,以及其测频的基本方法。进行了相应的硬软件设计。第二章 频率计总体方案设计2.1 方案比较 方案一:本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描把测出的数据送到数字显示电路显示。其实原理框图如2.1所示信号放大电路信号整形单片机AT89S51电路数字显示电路2.1 方案一原理图 方案二:本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。其原理框图如图2.2所示逻辑控制电路译码显示器锁存器闸门

6、电路计数器时基电路放大整形电路2.2方案二原理框图2.2方案论证 方案一:本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测得正弦波或者三角波为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。 方案二:本方案使用大量的数字器件,被测量信号放大整形电路变成计数器所要求的脉冲信号,其频率于被测信号的频率相同。同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。

7、若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率FX=NHZ。逻辑控制电路的作用有两个:一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。2.3方案选择 比较以上两种方案可以知道,方案一得核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。如要测量高频的信号还需要加上分频电路,价格相对高了点。基于上述,所以选择了方案一。第三章 系统硬件设计3.1 一般数字式频率计的原理 数字式频率计是测量频率最常用的仪器

8、之一,其基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译码显示电路里进行显示,其基本构成框图如图3.1 所示 待测信号放大整形电路计数器电路译码显示电路控制门电路3.1 频率计原理框图3.2频率计方案的概述 本频率计的设计以AT89S51单片机为核心,利用它内部的定时/计数器完成待测信号周期/频率的测量,单片机AT89S51内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时,计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1,这样以机器周期为基准可以用来测量时间间隔

9、。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采用一次,这样查测一次从1到0的跳变至少需要2个机器周期,所以最大计数速率为时钟频率1/24。定时/计数器的工作有运行控制位TR控制,当TR置,定时/计数器开始计数:当TR清0 ,停止计数。 本设计终合考虑了频率测量精度和测量反应时间的要求。例如打要求频率测量结果为3位有效数字,这时如果待测信号的频率为1HZ,则计数闸门宽度必须大于1000S。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法: (1)当待测信号的频率>100H

10、Z时,定时/计数器构成为计数器,以机器周期为基准,由软件产生计数闸门,计数闸门宽度>1S时,即可满足频率测量结果为3位有效数字。 (2)当待测信号的频率<100HZ时,定时/计数器构成为定时器,由频率计的处理电路把待测信号变成方波,方波宽度等于待测信号的周期。这时用方波做计数闸门,当待测信号的频率=100HZ,周期为10ms,使用12HZ时钟的最小计数值为10000,完全满足测量精度的要求。3.3 单片机3.3.1 89S51一般概述该AT89S51是一个低功耗,高性能CMOS8位微控制器,可在4K字节的系统内编程的闪存存储器。该设备是采用Atmel的高密度非易失性存储器技术和符合

11、工业标准的80C51指令集合引脚。芯片上的Flash程序存储器课重新编程的系统或常规非易失性内存编程。通过结合通用8位中央处理器的系统内课编程闪存的单芯片,AT89S51是一个功能强大的微控制器提供了高度灵活的和具有成本效益的解决办法,可在许多嵌入式控制中应用。在AT89S51提供以下标准功能:4K字节的Flash闪存,128字节的RAM,32个I/O线,看门狗定时器,两个数据指针,两个16位定时器/计数器,5向量两级中断结构,全双工串行端口,片上振荡器和时钟电路。此外,AT89S51设计的静态逻辑操作到零频率和支持两种软件可选电模式。空闲模式停止的CPU,同时允许的RAM,定时器/计数器,串

12、行接口和中断系统继续运作。在掉电模式保存RAM内容,可停止振荡器,停止振荡器,停止所有其他芯片的功能,直到下一个外部中断或硬件复位。3.3.2引脚功能说明 VCC:电源电压GND:接地点P0口:p0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“I”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接指令字节,而在程序效验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动

13、4个TTL逻辑门电路。对端口写“I”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。3.3.3 AT89S51原理图 如 图3.2图3.2 AT89S51原理图3.4 分频电路 本次设计采用的是脉冲定时测频法,由于考虑到单片机的定时计数器得计数能力有限,无法对过高频进行测量,所以我们对待测信号进行了分频,这样能提高测量频率的范围,还能相应的提高频率测量的精度。所以我们需要把待测信号进行分频。其原理图如3.3 3.3 4040原理图3.5 显示

14、电路我们测量的频率最终要显示出来八段LED 数码管显示器由8 个发光二极管组成。基中7 个长条形的发光管排列成“日”字形,另一个圆点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED 数码管显示器有两种形式:一种是8 个发光二极管的阳极都连在一起的,称之为共阳极LED 数码管显示器;另一种是8 个发光二极管的阴极都连在一起的,称之为共阴极LED 数码管显示器。如下图所示。共阴和共阳结构的LED 数码管显示器各笔划段名和安排位置是相同的。当二极管导通时,对应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8个笔划段 h g f e d c b a 对应于一

15、个字节(8 位)的D7、D6、D5、。D4、D3、D2、D1、D0,于是用8 位二进制码就能表示欲显示字符的字形代码。在单片机应用系统中,数码管显示器显示常用两种办法:静态显示和动态扫描显示。所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O 接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU 的开销小,能供给单独锁存的I/O 接口电路很多。在单片机系统中动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8 个笔划段a-h 同名端连在

16、一起,而每一个显示器的公共极COM 是各自独立地受I/O 线控制。CPU 向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM 端,而这一端是由I/O 控制的,所以我们就能自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的办法,轮流控制各个显示器的COM 端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。其原理图3.43.4显示电路原理图3.6硬件设计

17、简介和系统整体原理图 3.6.1 硬件设计简介采用外接插头输入脉冲信号,经过1N4538B(1N4538B的稳压值为5V,稳压保护,防止输入电压过高损伤电路)后经过两级74hc14传输将脉冲信号转换为方波信号,输入到4040的时钟计数输入端,4040对输入的脉冲进行计数分频,每4040每输入4096个外出,Q12输出一个脉冲。单片机的T1工作在计数状态,在单位时间内计数值除以单位时间即是脉冲的频率,单片机所测量的频率的范围内是1100MHZ,分两档测量,256K100MHZ,256K以下1HZ。单片机测量后将测量结果转换成六位BCD码,通过单片机的串行口发送到数码管显示,数码管显示电路采用74

18、ls164驱动共阴极数码管,采用静态显示。数据的传送采用串行移动方式,即单片机将六个显示码从低到高逐位通过串行口以方式0发送到数码管显示,数码管的显示为6位,即显示单位为1HZ和1KHZ。通过两个发光二极管分别指示,P1.0驱动显示1HZ单位指示灯,低电平点亮;P1.1驱动显示1KHZ单位指示灯,低电平点亮。 3.6.2 系统整体原理图 详见附录一第四章 系统软件设计4.1 测频软件实现原理 测频软件的实现是基于电路系统来进行设计的。本次设计采用的是脉冲定时测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。本次软件设计语言采用汇编语言,在电脑上编译通过后即可下载到电路上的实际电路中,即

19、可实现频率的测量。4.2软件流程图 设置T0的定时,T1计数方式1,初始定时时间溢出周期为64ms,溢出4次设置测量方式为4秒方式,20H为0显示测量结果,P1.1为0指示显示单位为1KHZ调用24位二进制数转换6位BCD码及显示码,放置到50H,51H,52H,53H,54H,55H子程序显示测量结果,P1.0为0指示单位为1HZ读取计数器的数据及T1内的数据,除以256后在40H,41H,42H内重新设置T0,T1,启动T0,T1,清21H位为0设置测量方式为256毫秒测量范围100M-256KHZ,显示单位指示1HZ,P1.0为0数码管显示000000清21H位为0读取查测的数据,除以4

20、后保存在40H,41H,42H内是否有检查键按下,P1.2是否为0测量是否结束标识21H是否为1判断测量值是否大于256KP3.5是否为1查询检测是否结束标识位21H位是否为1P3.5是否为高电压开始启动T0,T1调用将24位二进制数转换为BCD码,及显示码子程序,转换后保存在50H,51H,52H,53H,54H,55HYNNYNYYNNYNY设置测量结束标识位21H为1,关闭T1,TR1=0重新设置R6=4设置T0为4秒测量方式设置0为64毫秒测量方式R6减1后是否为0,为0则满256毫秒查询测量标识20H是否为1,为1则为256毫秒测量方式为0则4秒测量方式设置测量结束标识位21H为1,

21、关闭T1,TR1=0重新设置R7=80R7减1后是否为0,为0则满4秒YNYNNYT0中断响应程序T0中断返回T0中断返回 4.3 程序设计 ORG 0000HLJMP MAINORG 000BHLJMP CT0ORG 0030HMAIN: MOV TH0, #06HMOV TL0,#00H ;设置定时时间为64MSMOV SP, #60HMOV IE, #82HMOV TL1,#00HMOV TH1,#00HMOV TMOD,#51H ;T0定时,T1计数,都工作在方式一MOV R6,#4;SETB 20H ;定时器工作方式标志,20H为1,测量时间为64MS,否则为4秒CLR 21H ;测

22、量结束标志,21H为1则测量结束MOV R7,#80MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H CLR P1.0 ;指示显示单位为1HZ,低电平点亮发光二极管 SETB P1.1 ;只是显示单位为1KHZ,低电平点亮发光二极管 MOV SBUF,#0C0H JNB TI,$ MOV SBUF,#0C0HJNB TI,$MOV SBUF,#0C0H JNB TI,$MOV SBUF,#0C0H JNB TI,$MOV SBUF,#0C0HJNB TI,$MOV SBUF,#0C0H JNB TI,$FINDKEY: SETB P1.2 MOV C, P1.2 J

23、C FINDKEY CLR 21HSTART:SETB P3.5; MOV C,P3.5 JNC STARTSETB TR0 SETB TR1 JNB 21H,$ CLR TR0 MOV A, P2 ANL A, #0FH MOV B, A MOV A, TL1 ANL A, #0FH SWAP AORL A, BMOV 40H, AMOV A, TL1 ANL A, #0F0H SWAP A MOV B, A MOV A, TH1 ANL A, #0FH SWAP A ORL A, B MOV 41H, A MOV A, TH1 ANL A, #0FH SWAP A MOV 42H, A M

24、OV A, 42H JNZ FINDDATA MOV A, 41H JNZ FINDDATA LJMP NEXTSTART;频率低于256k,换档测量 FINDDATA: MOV R1, 40H MOV R2, 41H MOV R3, 42H LCALL BCDTREAT0 MOV SBUF, 50H JNB TI, $ MOV SUBF, 51H JNB TI, $ MOV SBUF, 52H JNB TI, $ MOV SUBF, 53H JNB TI, $ MOV SBUF, 54H JNB TI, $ MOV SUBF, 55H JNB TI, $ CIR P1.0 SETB P1.1

25、 LJMP KEYFINDNEXTSTART: SETB P3.5; MOV C,P3.5 JNC NEXTSTARTCLR 20H ;设置4秒测量方式CLR 21H SETB TR0 MOV TH0, #3CH MOV TL0, #0B0H MOV R7, #80 JNB 21H, $ CLR TR0 MOV 40H, P0 MOV A, P2 ANL A, #0FH MOV 41H, A MOV A, TL1 ANL A, #0FH SWAP A ORL A, 41H MOV 41H, A MOV A, TL1 ANL A, #0F0H SWAP A MOV 42H, A MOV A, T

26、H1 ANL A, #0FH SWAP A ORL A, 42H MOV 42H, A CLR C RRC A XCH A, 41H RRC A XCH A, 42H CLR C RRC A XCH A, 41H RRC A XCH A, 40H MOV 41H, A MOV A, 42HCLR C RRC A XCH A, 41H RRC A XCH A, 42H CLR C RRC A XCH A, 41H RRC A XCH A, 40H MOV 41H, A MOV R1, 40H MOV R2, 41H MOV R3, 42H LCALL BCDTREAT0 MOV SBUF, 50

27、H JNB TI, $ MOV SUBF, 51H JNB TI, $ MOV SBUF, 52H JNB TI, $ MOV SUBF, 53H JNB TI, $ MOV SBUF, 54H JNB TI, $ MOV SUBF, 55H JNB TI, $ SETB P1.0 CLR P1.1 LJMP KEYFINDCT0: JNB 20H, NEXTCT0 MOV TH0,#06H ;64毫秒 MOV TL0, #00H DJNZ R6, CT0RETI MOV R6, #4 SETB 21H CLR TR1CT0RETI: RETI NEXTCT0: MOV TH0, #3CH M

28、OV TL0,#0B0H ;50毫秒定时 DJNZ R7, NEXTCT0RET SETB 21H MOV R7, #80 CLR TR1 NEXTCT0RET: RETI TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H BCDTREAT0:PUSH ACC ;将24位二进制数转换为BCD码 PUSH B7 PUSH PSWMOV 36, #24 MOV R7, #0 MOV R6, #0 MOV R5, #0 MOV R4, #0 LOOP: CLR C MOV A, R1 RLC A MOV R1, A MOV A, R2 RLC A

29、 MOV A, R2 MOV R3, A RLC A MOV R3, A MOV A, R4 ADDC A, R4 DA A MOV R4, A MOV A, R5 ADDC A, R5 DA A MOV R5, A MOV A, R6 ADDC A, R6 DA A MOV R6, A MOV A, R7 ADDC A, R7 DA A MOV R7, A DJNZ 36H, LOOP MOV A, R4 ANL A, #0FH MOV 50H, A MOV A, R4 ANL A, #0F0H SWAP A MOV 51H, A MOV A, R5 ANL A, #0FH MOV 52H, A MOV A, R5 ANL A, #0F0H SWAP A MOV 53H, A MOV A, R6 ANL A, #0FH MOV 54H,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论