基于单片机的数字频率计设计.docx
《基于单片机的数字频率计设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字频率计设计.docx(25页珍藏版)》请在冰豆网上搜索。
![基于单片机的数字频率计设计.docx](https://file1.bdocx.com/fileroot1/2023-1/21/6510388f-1458-4ac4-acb1-8f610e8556eb/6510388f-1458-4ac4-acb1-8f610e8556eb1.gif)
基于单片机的数字频率计设计
基于单片机的数字频率计设计
毕业论文
系部:
xxx
学生姓名:
xxx
专业班级:
xxx
学号:
xxx
指导教师:
xxx
2020年3月12日
声明
本人所呈交的基于单片机的数字频率计设计-毕业论文,是我在指导教师的指导和查阅相关高作下独立进行分析研究所取得的功效。
除文中已经注明引用的内容外,本论文不包括其他个人已经发表或撰写过的研究功效。
对本文的研究做出重要奉献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:
日期:
【摘要】
在电子技术中,频率是最大体的参数之一,而且与许多电参量的测量方案、测量结果都有十分紧密的关系,因此频率的测量就显得极为重要。
为了实现智能化的计数测频,实现一个宽领域、高精度的频率计,一种有效的方式是将单片机用于频率计的设计当中。
本课题介绍以51单片机作为核心器件,另外还包括信号输入、信号放大、信号选择、时钟提供、数据显示等功能模块的数字频率计的设计方式。
本设计采纳了模块化的设计方式,提高了测量频率的范围。
关键词:
测量;频率计;单片机;汇编
ABSTRACT
Amongelectronictechnology,frequencyisoneofthemostbasicparameters,andresultofmeasuringhaveaverycloserelationtoalotofelectricparameters,sothemeasurementoffrequencyseemsevenmoreimportant.Inordertorealizethecountingofintellectualityexaminesfrequently,realizeawide-range,high-accuracycymometer,aneffectivemethodistouseone-chipcomputerforthedesignofthecymometer.Thissubjectrecommendsregarding51Single-Chipcomputerasthekeydevice,includesignalinput,signalamplify,signalchoose,clockoffer,datapersonwhorevealfunctiondigitaldesignmethodofcymometerofmodulestillinaddition.Becauseoriginallydesignthedesignmethodtoadoptmodule,improvetherangeofmeasuringfrequency.
【KEYWORD】:
Measurement,Cymometer,Single-Chipcomputer,Compilation
一引言
频率测量在科技研究和实际应用中的作用日趋重要,传统的频率计通采纳组合电路和时序电路等大量的硬件电路组成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接利用。
若是采纳单片机进行测量频率,产生的信号抗干扰性强、比较易于传输,容易取得较高的测量精度。
依照要求这次设计的频率计以单片机为核心,具有性能优良,精度高,靠得住性好等特点。
在设计频率计时,应该依照输入的频率的范围来选择具体的方案,经常使用的两种方案都是用按时器和计数器来实现。
因此在设计之前要充分地了解按时器和计数器的应用,如此能使设计进程变得简单。
二数字频率计概述
数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。
它不仅能够测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还能够测量它们的周期。
通过改装,能够测量脉冲宽度,做成数字式脉宽测量仪;能够测量电容做成数字式电容测量仪;在电路中增加传感器,还能够做成数字脉搏仪、计价器等。
因此数字频率计在测量物理量方面应用普遍。
。
频率计的大体原理是用一个频率稳固度高的频率源作为基准时钟,对照测量其他信号的频率。
通常情形下计算每秒内待测信号的脉冲个数,现在咱们称闸门时刻为1秒。
闸门时刻也能够大于或小于一秒。
闸门时刻越长,取得的频率值就越准确,但闸门时刻越长那么没测一次频率的距离就越长。
闸门时刻越短,测的频率值刷新就越快,但测得的频率精度就受阻碍。
本文。
数字频率计是用数字显示被测信号频率的仪器,被测信号能够是正弦波,方波或其它周期性转变的信号。
如配以适当的传感器,能够对多种物理量进行测试,比如机械振动的频率,转速,声音的频率和产品的计件等等。
因此,数字频率计是一种应用很普遍的仪器。
一、频率测量仪的设计思路与频率的计算
频率测量仪的设计思路主若是对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理如右图1所示。
图1
假设被测量信号的周期为,分频数m1,分频后信号的周期为T,那么:
T=m1Tx。
由图可知:
T=NTo(注:
To为标准信号的周期,因此T为分频后信号的周期,那么能够算出被测量信号的频率f。
)
由于单片机系统的标准频率比较稳固,而是系统标准信号频率的误差,通常情形下很小;而系统的量化误差小于1,因此由式T=NTo可知,频率测量的误差要紧取决于N值的大小,N值越大,误差越小,测量的精度越高。
二、大体设计原理
本数字频率计将采纳按时、计数的方式测量频率,采纳一个1602ALCD显示器动态显示6位数。
测量范围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。
所谓“频率”,确实是周期性信号在单位时刻(1s)内转变的次数。
假设在一按时刻距离T内测得那个周期性信号的重复转变次数N,那么其频率可表示为f=N/T。
其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。
时刻基准信号发生器提供标准的时刻脉冲信号,假设其周期为1s,那么门控电路的输出信号持续时刻亦准确地等于1s。
闸门电路由标准秒信号进行操纵,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。
秒信号终止时闸门关闭,计数器停止计数。
由于计数器计得的脉冲数N是在1秒时刻内的累计数,因此被测频率fx=NHz。
用单片机实现自动测量功能,以测量周期的方式对正弦波、方波、三角波的频率进行自动的测量。
三数字频率计(低频)的硬件结构设计
一、系统硬件的组成模块
本频率计的数据搜集系统要紧元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。
可分为以下几个模块:
放大整形模块、秒脉冲产生模块、换档模拟转换模块、单片机系统、LCD显示模块。
各模块关系图如图2所示:
图2数字频率计功能模块
二、系统工作原理图
该系统工作原理图如图3所示:
图3数字频率计系统工作原理图
3、AT89C51单片机及其引脚说明
89C51是一种高性能低功耗的采纳CMOS工艺制造的8位微操纵器,它提供以下标准特点:
4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位按时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。
引脚说明:
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,作为输出口历时,每一个引脚能驱动8个TTL逻辑门电路。
当对0端口写入1时,能够作为高阻抗输入端利用。
当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。
在这种模式下,P0口具有内部上拉电阻。
在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。
程序校验时需要外接上拉电阻。
P1口:
P1口是一带有内部上拉电阻的8位双向I/O口。
P1口的输出缓冲能同意或输出4个TTL逻辑门电路。
当对P1口写1时,它们被内部的上拉电阻拉升为高电平,现在能够作为输入端利用。
看成为输入端利历时,P1口因为内部存在上拉电阻,因此当外部被拉低时会输出一个低电流(IIL)。
P2口:
P2是一带有内部上拉电阻的8位双向的I/O端口。
P2口的输出缓冲能驱动4个TTL逻辑门电路。
当向P2口写1时,通过内部上拉电阻把端口拉到高电平,现在能够用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX@DPTR)时,P2口送出高8位地址数据。
在这种情形下,P2口利用壮大的内部上拉电阻功能当输出1时。
当利用8位地址线访问外部数据存储器时(例MOVX@R1),P2口输出特殊功能寄放器的内容。
当EPROM编程或校验时,P2口同时接收高8位地址和一些操纵信号。
P3口:
P3是一带有内部上拉电阻的8位双向的I/O端口。
P3口的输出缓冲能驱动4个TTL逻辑门电路。
当向P3口写1时,通过内部上拉电阻把端口拉到高电平,现在能够用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
P3口同时具有AT89C51的多种特殊功能,具体如下表1所示:
端口引脚
第二功能
RXD(串行输入口)
TXD(串行输出口)
(外部中断0)
(外部中断1)
T0(定时器0)
T1(定时器1)
(外部数据存储器写选通)
(外部数据存储器都选通)
表1P3口的第二功能
RST:
复位输入。
当振荡器工作时,RST引脚显现两个机械周期的高电平将使单片机复位。
ALE/
:
当访问外部存储器时,地址锁存许诺是一输出脉冲,用以锁存地址的低8位字节。
当在Flash编程时还能够作为编程脉冲输出(
)。
一样情形下,ALE是以晶振频率的1/6输出,能够用作外部时钟或按时目的。
但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。
:
程序存储许诺时外部程序存储器的读选通信号。
当AT89C52执行外部程序存储器的指令时,每一个机械周期
两次有效,除当访问外部数据存储器时,
将跳过两个信号。
/VPP:
外部访问许诺。
为了使单片性能够有效的传送外部数据存储器从0000H到FFFH单元的指令,
必需同GND相连接。
需要要紧的是,若是加密位1被编程,复位时EA端会自动内部锁存。
当执行内部编程指令时,
应该接到VCC端。
XTAL1:
振荡器反相放大器和内部时钟电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
在本次设计中,采纳89C51作为CPU处置器,充分利用其硬件资源,结合D触发器CD4013,分频器CD4060,模拟转换开关CD4051,计数器74LS90等数字处置芯片,要紧操纵两大硬件模块,量程切换和显示模块。
4、信号调理及放大整形模块
放大整形系统包括衰减器、跟从器、放大器、施密特触发器。
它将正弦输入信号Vx整形成同频率方波Vo,幅值过大的被测信号通过度压器分压送入后级放大器,以幸免波形失真。
由运算放大器组成的射级跟从器起阻抗变换作用,使输入阻抗提高。
同相输入的运算放大器的放大倍数为(R1+R2)/R1,改变R1的大小能够改变放大倍数。
系统的整形电路由施密特触发器组成,整形后的方波送到闸门以便计数。
由于输入的信号幅度是不确信、可能专门大也有可能很小,如此关于输入信号的测量就不方便了,过大可能会把器件烧毁,过小可能器件检测不到,因此在设计中采纳了那个信号调理电路对输入的波形进行阻抗变换、放大限幅和整形,信号调理部份电路具体实现电路原理图和参数如以下图4所示:
图4
五、时基信号产生电路:
时基信号的产生原理:
本电路采纳32768HZ晶体震荡器,利用CD4060芯片通过14级分频取得2HZ的信号(32768/214),在通过CD4013双D触发器通过二分频取得的方波,即输出秒脉冲信号使单片机进行计数。
CD4013:
双上升沿D触发器,引脚及功能见如以下图5。
CD4013由两个相同的、彼此独立的数据型触发器组成。
每一个触发器有独立的数据置位复位时钟输入和Q及Q非输出。
此器件可用作移位寄放器,且通过将Q非输出连接到数据输入,可用作计数器和触发器。
在时钟上升沿触发时,加在D输入端的逻辑电平传送到Q输出端。
置位和复位或复位线上的高电平完成。
图5CD4013芯片引脚用功能图
CD4060:
14位二进制串行计数器,引脚及功能见如以下图6。
CD4060由一震荡器和14极二进制串行计数器位组成,震荡器的结构能够是RC或晶振电路。
CR为高电平常,计数器清零且振荡器利用无效,所有的计数器位均为主从触发器CP1非(和CP0)的下降沿计数器以二进制进行计数,在时钟脉冲线上利用施密特触发器对时钟上升和下降时刻无穷制。
图6CD4060芯片引脚用功能图
时基信号秒脉冲产生电路原理图见图7
:
图七秒脉冲产生电路原理图
六、显示模块
要紧功能:
(1)40通道点阵LCD驱动;
(2)可选择看成行驱动或列驱动;
(3)输入/输出信号:
输出,能产生20×2个LCD驱动波形;输入,同意操纵器送出的串行数据和操纵信号,偏压(V1∽V6);
(4)通过单片机操纵将所测的频率信号读数显示出来。
技术参数:
(1)极限参数表
名称
符号
标准值
单位
MIN
TYPE
MAX
电路电源
VDD-VSS
V
LCD驱动电压
VDD-VEE
VDD-
VDD+
V
输入电压
VIN
VDD+
V
静电电压
-
-
100
V
工作温度
-20
+70
°C
储存温度
-30
+80
°C
(2)电参数表
名称
符号
测试条件
标准值
单位
MIN
TYPE
MAX
输入高电平
VIH
-
VDD
V
输入低电平
VIL
-
V
输出高电平
VOH
IOH=
-
V
输出低电平
VOL
IOL=
-
V
工作电流
IDD
VDD=
mA
液晶驱动电压
VDD-VEE
Ta=0°C
V
Ta=25°C
Ta=50°C
(3)时序特性表
项目
符号
测试条件
标准值
单位
MIN
TYPE
MAX
允许时间周期
TCYCE
1000
ns
允许脉冲宽度,高电平
PWEH
450
--
--
ns
允许上升和下降时间
tErtEf
--
--
25
ns
地址建立时间
tAS
140
--
--
ns
数据延迟时间
tDDR
--
--
320
ns
数据建立时间
tDSW
195
--
--
ns
数据保持时间
tH
10
--
--
ns
DATAHOLDTIME
tDHR
20
--
--
ns
地址保持时间
tAH
10
--
--
ns
引脚和指令功能:
(1)模块引脚功能表
引线号
符号
名称
功能
1
Vss
接地
0V
2
VDD
电路电源
5V±10%
3
VEE
液晶驱动电压
保证VDD-VEE=∽5V电压差
4
RS
寄存器选择信号
H:
数据寄存器L:
指令寄存器
5
R/W
读/写信号
H:
读L:
写
6
E
片选信号
下降沿触发,锁存数据
7
|
14
DB0
|
DB7
数据线
数据传输
(2)寄放器选择功能表
RS
R/W
操作
0
0
指令寄存器(IR)写入
0
1
忙标志和地址计数器读出
1
0
数据寄存器(DR)写入
1
1
数据寄存器读出
(注:
忙标志为"1"时,说明正在进行内部操作,现在不能输入指令或数据,要等内部操作终止,即忙标志为"0"时。
)
指令功能:
格式:
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
共11种指令:
清除,返回,输入方式设置,显示开关,操纵,移位,功能设置,CGRAM地址设置,DDRAM地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。
显示位与DDRAM地址的对应关系
显示位序号
12345………………40
DDRAM
地址(HEX)
第一行
0001020304..…………..27
第二行
4041424344……………..67
初始化方式
用户所编的显示程序,开始必需进行初始化,不然模块无法正常显示,下面介绍两种初始化方式。
方式一:
利用内部复位电路进行初始化
(1)清屏(DISPLAYCLEAR);
(2)功能设置(FUNCTIONSET);
DL=1:
8Bit接口数据;
N=0:
1行显示;F=0:
5×7dot字形;
(3)显示开/关操纵(DISPLAYON/OFFCONTROL)
D=0:
显示关;C=0:
光标关;B=0:
消隐关
(4)输入方式设置(ENTRYMODESET)
I/D=1:
(增量):
S=0:
无移位:
方式二:
软件复位
若是电路电源不能知足复位电路的要求的话,那么初始化就要用软件来实现,进程如下:
八位接口初始化流程图
VDD上升到后等待>15
电源开
↓
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
000011××××
↓
↓等待>
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
000011××××
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
000011××××
↓等待>100us
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
000011NF××
↓检查忙标志或延时40us
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
00000010××
↓检查忙标志或延时40us
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
0000000001
↓检查忙标志或延时40us
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
00000001I/DS
↓检查忙标志或延时
↓检查忙标志或延时40
初始化结束
四软件设计
要紧能过编写软件来操纵硬件完成以下各模块的功能:
一、按时读数;二、量程转换;3、BCD转换;4、LCD显示的功能。
单片机当C/T=1时为计数方式,多路开关与按时器的外部引脚连通,外部计数脉冲由引脚输入。
当外部信号由1至0跳变时,计数器加1,现在T0成为外部事件的计数器。
由于确认一次由1至0的跳变要用24个振荡器周期,因此计数器的计数频率为单片机内部计数器频率的1/24。
当C/T=0时为按时方式,对单片机内部计数器进行m2分频后,计数器的实际计数频率为单片机内部频率凡的1/m2,
当GATE=0时,反相器输出为1,或门输出为1,打开与门,使按时器的启动仅受TRO端信号电平的操纵。
在此种情形下,INT0引脚的电平转变对或门不起作用。
TRO=1时接通操纵开关,计数脉冲加到计数器上,每来一个计数脉冲,计数器加1,只有当TRO=0时,操纵开关断开,计数器停止计数。
当GATA=0时,假设TRO=1,或门、与门全数打开,外部信号电平通过INTO引脚直接操纵按时器的启动和关闭。
输人高电平常许诺计数,不然停止计数。
依照按时器的结构原理,假设咱们将GATE位、TR0均设为‘1’,INT0端输人被测频率信号,当被测信号的高电平到来时,开始计数;当被测信号的低电平到来时,计数器停止计数,现在TL0、TH0的数据确实是相应的N值。
附录汇编源程序代码
RSBIT;脚接RS端
RWBIT;脚接R_W端
EBIT;脚接E端
ORG0000H
LJMPMAIN
ORG002BH
LJMPIT1
MAIN:
MOVP0,#01H;清除屏幕
ACALLENABLE
MOVP0,#01H;清除屏幕
ACALLENABLE
MOVP0,#01H;清除屏幕
ACALLENABLE
MOVP0,#38H;8位点阵方式
ACALLENABLE
MOVP0,#0cH;开显示
ACALLENABLE
MOVP0,#06H;移动光标
ACALLENABLE
MOVP0,#80H;显示位置
ACALLENABLE
movp0,#80h;第一行的位置
callenable
movdptr,#date
callwrite3
movp0,#0c0h;第二行的位置
callenable
MOVSP,#7FH
CLRCY
movr6,#00
movr2,#00
MOVR3,#00
MOVTMOD,#15H
MOVTL0,#00H
MOVTH0,#00H
movth1,#high(65536-50000)
movtl1,#low(65536-50000);setbET1
cha1:
SETBTR1;LCALLXIANSHI
SETBTR0
mov27h,#00h
CLRC
MOVC,
MOV,C
CLRC
MOVC,
MOV,C
mova,27h
ANLA,#03H
MOV17H,A
CHA:
JBCTF1,JINWEI;益处进位
JMPCHA
JINWEI:
CLRTR1
movth1,#high(65536-50000)
movtl1,#low(65536-50000)
SETBTR1
INCR3
MOVA,R3;JNB,$
CJNEA,#20,CHA
CLRTR0
CLRTR1
MOVR3,#00
MOVR2,TH0
MOVR6,TL0
lcallzhuan
LCALLwrite1
MOVTL0,#00H
MOVTH0,#00H
jmpcha1
ZHUAN:
MOVA,R2
CLRC
MOV20H,#00H
MOV21H,#00H
MOV22H,#00H
MOV24H,#00H
MOV25H,#00H
MOVR3,