基于单片机测量脉冲频率
- 格式:doc
- 大小:49.50 KB
- 文档页数:6
51单片机频率精确测量C程序测定脉冲频率,附带部分PROTUES仿真结果和C语言程序,希望能给广大电子爱好者带来方便。
仿真结果十分精确,实际应用中可能会存在少许误差,通过相应的电路处理,可以满足使用要求。
很多场合需要用到对频率的精确测量,譬如你用霍尔传感器做测转速系统,就需要用到此模块,测量霍尔传感器输出的脉冲的频率,然后稍作运算,就可以实现转速的测量功能。
本设计利用51单片机的外部中断(INT0)的捕捉功能,实现对脉冲的计数,同时配以T0的8位自动装入方式,实现准确计时1S,这1S内INTO捕捉到的脉冲数即为频率。
通过PROUES仿真,证明这种方式误差极小(与网上流行的用定时器工作方式1定时1S的程序相比,误差大大缩小,尤其是对于频率在2K以上信号的测量)。
实例1、频率设定为5K,显示在4999和5000两数之间跳动#include <reg52.h>#define uchar unsigned char #define uint unsigned intuint time_count,count,sum;sbit duan=P2^6; //74HC573的LE端U5 LED的段选端sbit wei=P2^7; //74HC573的LE端U4 LED的位选端uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴极数码表unsigned int dis[6];uchar con[]={0xfe,0xfd,0xfb,0xf7,0xef}; //共阴型数码管控制端void initial(void);void delay(uint z);void display();main(){i nitial();w hile(1){display();}}void initial(){c ount=0;t ime_count=0;sum=0;T MOD=0x02; //定时器0工作方式2,8位自动装入计数T H0=0x06;T L0=0x06; //定时器赋初值计时0.25ms,1000次为0.25s,4000次为一秒I T0=1;// 外部中断0工作方式(下降沿有效)E A=1;E T0=1;E X0=1;T R0=1; //开中断}void delay(uint z){u int x,y;f or(x=z;x>0;x--)for(y=20;y>0;y--);}void exter0() interrupt 0 {c ount++;}void timer0() interrupt 1 {t ime_count++;i f(time_count==4000){sum=count;time_count=0;count=0;}}void display(){uchar i;dis[0]=sum/10000; //获取计数值的万位dis[5]=sum%10000;dis[1]=dis[5]/1000; // 获取计数值的千位dis[5]=dis[5]%1000;dis[2]=dis[5]/100; // 获取计数值的百位dis[5]=dis[5]%100;dis[3]=dis[5]/10; // 获取计数值的十位dis[4]=dis[5]%10; // 获取计数值的个位for(i=0;i<5;i++) //依次显示万、千、百、十、个位,动态显示{// P0=0xff;P0=con[i];wei=1;wei=0;P0=table[dis[i]];duan=1;duan=0;delay(1);P0=0;duan=1;duan=0;}}。
单片机测量频率,占空比,相位差1、 频率及占空比的测量如上图所示,当脉冲的上升沿来临时,将定时器打开;紧接着的下降沿来临时,读取定时器的值,假设定时时间为t1;下一个上升沿来临时关闭定时器,读取定时器的值,假设定时时间为t2。
t1即为1个周期内高电平的时间,t2即为脉冲的周期。
t1/t2即为占空比,1/t2即为频率。
C 语言程序如下:TH0=0; //定时器高位,初值设为0TL0=0; //定时器低位,初值设为0T0_num=0; //定时器溢出次数,初值设为0while(pulse); //pulse 为脉冲的输入引脚while(!pulse); //等待上升沿来临TR0=1; //打开定时器while(pusl1); //等待下降沿来临th1=TH0;tl1=TL0;num1=T0_num; //保存定时器值while(!pusl1); //等待上升沿来临TR0=0; //关闭定时器th2=TH0;tl2=TL0;num2=T0_num; //保存定时器值2、 相位差的测量上升沿打开定时器 下降沿读取定时器值并保存 下一个上升沿关闭定时器,读取定时器值并保存测量相位差的电路如上所示,待测量的两路脉冲分别作为两个D触发器的时钟输入,两个D触发器的输入端D及S端都接高电平,第一个D触发器的输出接第二个D触发器的R端,第二个D触发器的互补输出端接第一个D触发器的R端。
从下面的波形图可以看出,第一个D触发器输出的脉冲信号的占空比乘以2π即为相位差。
这样就将测量两路方波信号的相位差转化为测量一路方波信号的占空比,就可以按照前面介绍的测量占空比的方法来测量了。
黄色的波形为脉冲1,蓝色的波形为脉冲2,红色的波形为相位差。
《单片机课程设计》设计报告设计题目:简易数字频率计系别:控制工程学院专业:自动化班级学号:姓名:指导教师:设计时间:简易数字频率计设计设计任务:采用A T89S52单片机测量实验室产生的方波脉冲频率,将待测频率接至T0引脚,测量方波频率并显示。
1.总体方案设计(1).设计思路本次课程设计是基于51单片机的频率计设计。
该课程设计是能实现精确测量频率。
由于计数器最大能计数的频率为f/24=460.8KHz。
本设计为了便于编程将最大测量频率限制在65536*7=458.752KHz。
如果超出最大频率数码管将显示------。
该设计通过定时器1定时1S,待测频率通过计数器0在1S内的计数值得出。
每1S显示一次待测频率值。
由于最大频率可达458.752KHz,而每次计数值最大只能达到65536,所以计数器0每产生一次中断,需要将计数值加65536,并给计数初值赋0重新计数,直到1S定时时间到。
计数值计算公式为(最后一次计数值+计数器0溢出次数*65536)。
将得到的计数值经处理后转换成BCD码分别在6个数码管上显示。
本次设计,利用了定时器,计数器,中断,查表,8255扩展端口等,设计出硬件电路。
最后在PROTEUS上进行仿真。
(2).系统总体结构(2).芯片选择本设计主要采用A T89S52,8255A,74LS373,等构成测量系统。
74LS373芯片为了实现P0口的复用,应在P0口连上74LS373,通过锁存器输出A0,A1(连接到8255A)。
74LS373芯片为三态输出的锁存器。
当三态允许控制端OE为低电平的时候,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存器允许端LE为高电平时,Q随数据D而变化。
当LE为低电平时,Q被锁存在已经建立的数据电平。
74LS245芯片74LS245是8路同相三态双向总线收发器,可双向传输数据。
AT89C51单片机频率计的设计摘要基于在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的关系。
由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度。
因此,频率的测量就显得尤为重要,测频方法的研究越来越受到重视。
频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其它领域。
随着微电子技术和计算机技术的迅速发展,特别是单片机的出现和发展,使传统的电子侧量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代侧量仪器。
频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。
目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。
为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89C51)相结合的频率计的设计方案,不但切实可行,而且体积小、设计简单、成本低、精度高、可测频带宽,大大降低了设计成本和实现复杂度。
频率计的硬件电路是用Ptotues绘图软件绘制而成,软件部分的单片机控制程序,是以KeilC做为开发工具用汇编语言编写而成,而频率计的实现则是选用Ptotues仿真软件来进行模拟和测试。
关键词:单片机;AT89C51;频率计;汇编语言选题的目的意义数字频率计的主要功能是测量周期信号的频率。
其基本原理就是用闸门计数的方式测量脉冲个数。
频率是单位时间( 1s )内信号发生周期变化的次数。
如果我们能在给定的 1s 时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。
数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。
编号:毕业设计说明书题目:基于单片机的数字频率计设计院(系):电子工程与自动化学院专业:自动化学生姓名:学号:指导教师:职称:教授题目类型:实验研究工程技术研究2012年5月10日摘要在电子技术中,频率是最基本的参数之一,同时也是一个非常重要的参数,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
频率测量是电子学测量中最为基本的测量之一。
本文中详细介绍了频率计的仿真及设计过程。
本文设计了一种以单片机STC89C52为核心的数字频率计。
介绍了单片机、放大整形模块、分频模块和LCD1602显示模块等各个模块的组成和工作原理。
测量时,将被测输入信号送给单片机,通过程序控制计数,结果送LCD1602显示频率值。
本次设计是以单片机STC89C52为控制核心,利用它内部的定时/计数器完成待测信号频率的测量。
应用单片机的控制功能和数学运算能力,实现计数功能和频率的换算,最后显示测量的频率值。
本次设计所制作的频率计外围电路简单,大部分功能都通过软件编程实现,利用单片机控制实现频率计的自动换挡功能;用单片机中断控制端口实现频率的测量功能;通过分频电路实现对频率档位的控制。
本次设计的频率计具有测量准确度高,响应速度快,体积小等优点。
实现了1Hz~4MHz范围的频率测量,而且可以实现量程自动切换。
关键词:频率计;单片机;计数器;测量AbstractFrequency measurement is the most basic measurement in electronic field, while also a very important parameter, and with a number of the measurement results of electrical parameters have a very close relationship, so, the measurement of frequency has become more important. The digital frequency meter is an indispensable of measuring instruments in the field of scientific research and production of computers, communications equipment, audio and video. It is a decimal number to display the signal's frequency measuring instruments. The frequency measurement is one of the most basic measurement electronics measurements. Frequency of simulation and design process is described in detail in this article. This paper introduces a microcontroller STC89C52 as the core design of digital frequency meter. Introduced of the composition and working principle of microcontroller, amplifying and shaping module, frequency division module and LCD1602 display module and other modules.The design is based on STC89C52 microcontroller for the control of the core, using its internal timer and counter to complete the test signal frequency measurement. Application control features of the microcontroller and the operational ability of the counting function and frequency conversion, and finally use displays the measured frequency value. The design frequency meter produced peripheral circuits is simple, most of the functions are controlled via software programming, application control features of the microcontroller to achieve the frequency of automatic shift function; frequency measurement functions the microcontroller interrupt control port; control of the frequency of stalls by the divider circuit. The design of the frequency meter is high accuracy, fast response, small size, etc. Achieve100Hz to 4MHz frequency measurements, and can automatically switch the flow to achieve scale.Key words:Frequency meter; microcontroller; counter; measurement目录引言 (1)1 绪论 (2)1.1 频率计概述 (2)1.2 频率计发展现状 (2)1.3 数字频率计的种类 (3)2 总体方案设计 (4)2.1 数字频率计设计内容 (4)2.2 频率测量原理 (4)2.3 总体思路 (5)2.4 具体模块 (5)3 硬件设计 (7)3.1 电路设计的内容和方法 (7)3.1.1 电路设计的步骤 (8)3.2 单片机概述 (8)3.2.1 STC89C52简介 (9)3.2.2 STC89C52RC引脚功能说明 (10)3.2.3 单片机引脚分配 (12)3.3 单片机最小系统 (13)3.3.1 单片机最小系统原理 (13)3.3.2 复位电路及时钟电路 (13)3.4 信号调理及放大整形模块 (14)3.4.1 LM318介绍 (14)3.4.2 1N4733及74LS14介绍 (15)3.5 分频模块 (15)3.5.1 74LS161介绍 (15)3.5.2 74LS153介绍 (16)3.6 LCD显示和键盘 (17)3.6.1 LCD1602简介 (17)3.7 MAX232简介 (20)4 系统软件设计 (22)4.1 软件设计 (22)4.1.1 主程序流程图设计 (22)4.1.2 子程序流程图设计 (22)4.2 Keil和Proteus软件介绍 (25)4.2.1 Keil简介 (25)4.2.2 Proteus简介 (26)4.3 程序编写及仿真图设计 (26)5 调试 (28)5.1 系统调试 (28)5.2 软件调试 (29)5.3 软硬件联合调试 (30)5.4 误差分析 (30)6 总结 (31)谢辞 (32)参考文献 (33)附录 (34)引言频率计是我们在电子电路实验中经常会用到的测量仪器之一,它能将频率用液晶显示器或者数码管直接显示出来,给测试带来很大的方便,使结果更加直接;且频率计还能对其他多种物理量进行测量,如声音的频率、机械振动的频率等,都可以先转变成电信号,然后用频率计来测量。
基于单片机的频率计的设计一、频率计的基本原理频率是指单位时间内信号周期性变化的次数。
频率计的基本原理就是在一定的时间间隔内对输入信号的脉冲个数进行计数,从而得到信号的频率。
常用的测量方法有直接测频法和间接测频法。
直接测频法是在给定的闸门时间内测量输入信号的脉冲个数,计算公式为:频率=脉冲个数/闸门时间。
这种方法适用于测量高频信号,但测量精度会受到闸门时间和计数误差的影响。
间接测频法是先测量信号的周期,然后通过倒数计算出频率。
其适用于测量低频信号,但测量速度较慢。
在实际设计中,通常会根据测量信号的频率范围选择合适的测量方法,或者结合两种方法来提高测量精度和范围。
二、系统硬件设计1、单片机选型在基于单片机的频率计设计中,单片机是核心控制部件。
常用的单片机有 51 系列、STM32 系列等。
选择单片机时需要考虑其性能、资源、价格等因素。
例如,对于测量精度和速度要求不高的应用,可以选择51 单片机;而对于复杂的系统,可能需要选择性能更强的 STM32 单片机。
2、信号输入电路为了将输入信号接入单片机,需要设计合适的信号输入电路。
一般需要对输入信号进行放大、整形等处理,使其成为标准的脉冲信号。
常见的整形电路可以使用施密特触发器来实现。
3、显示电路频率计的测量结果需要通过显示电路进行显示。
常用的显示器件有液晶显示屏(LCD)和数码管。
LCD 显示效果好,但驱动较为复杂;数码管显示简单直观,驱动相对容易。
4、时钟电路单片机需要一个稳定的时钟信号来保证其正常工作。
时钟电路可以采用外部晶振或内部振荡器,根据系统的精度和稳定性要求进行选择。
5、复位电路为了确保单片机在系统启动时能够正常初始化,需要设计复位电路。
复位电路可以采用上电复位和手动复位两种方式。
三、系统软件设计1、主程序流程系统启动后,首先进行初始化操作,包括设置单片机的工作模式、初始化显示、设置定时器等。
然后进入测量循环,等待输入信号,在给定的闸门时间内进行计数,并计算频率,最后将结果显示出来。
单片机测量信号频率的方法
1.基于定时器的频率测量方法:
这是最常见的测量信号频率的方法之一、单片机内部的定时器可以作为频率计数器,通过设定定时器的预定数值,开始计数,当计数溢出时,说明已经计满一个周期,从而可以根据溢出的次数计算出信号的频率。
2.基于输入捕获的频率测量方法:
这种方法是通过输入捕获功能来测量信号频率。
单片机的输入捕获功能可以用于捕获外部信号的上升沿或下降沿,并记录下捕获到的时间。
通过连续捕获两个上升沿或下降沿之间的时间差,可以计算出信号的周期,从而获得信号的频率。
3.基于计数器的频率测量方法:
这种方法一般用于高频信号的测量。
通过将信号输入到单片机的一个计数器引脚,设置计数器在一定时间内累加该信号的脉冲数,然后通过计算脉冲数与时间的比值来获得信号的频率。
4.基于软件延时的频率测量方法:
这种方法适用于信号频率较低的情况。
通过在程序中使用软件延时的方式来计算指定时间内信号的脉冲数,并通过脉冲数与时间的比值来计算信号的频率。
需要注意的是,测量信号频率还需要考虑到一些细节问题,例如时钟的精度、测量时间的长度以及测量结果的误差等。
在实际应用中,还需要结合具体需求来选择合适的测量方法和相应的参数设置。
同时,根据不同的单片机型号和功能,可能还有其他特定的测量频率的方法,因此在实际应用中,需要根据具体的单片机型号和数据手册来选择合适的方法和配置参数。
基于51单片机的数字频率计一、设计说明1.数字频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动态显示6位数。
测量范围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。
用单片机实现自动测量功能。
基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。
它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。
2.频率测量仪的设计思路与频率的计算频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理如右图所示。
若被测量信号的周期为,分频数m1,分频后信号的周期为T,则:T=m1Tx。
由图可知:T=NTo(注:To为标准信号的周期,所以T为分频后信号的周期,则可以算出被测量信号的频率f。
)由于单片机系统的标准频率比较稳定,而是系统标准信号频率的误差,通常情况下很小;而系统的量化误差小于1,所以由式T=NTo可知,频率测量的误差主要取决于N值的大小,N值越大,误差越小,测量的精度越高。
3.设计原理及系统分析基本设计原理:直接用十进制数字显示被测信号频率的一种测量装置。
它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。
若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。
其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。
时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s。
stc单片机脉冲捕捉测量频率STC单片机(STC Microcontroller)是一系列由中国STC公司(深圳特发信息科技有限公司)生产的单片机产品。
在STC单片机中,要实现脉冲捕捉和测量频率,通常可以使用定时器/计数器模块来完成。
以下是一般的步骤和示例代码,具体的代码可能需要根据使用的具体型号和开发环境进行调整。
以下是一个简单的STC单片机脉冲捕捉测量频率的示例代码,基于STC-89C52单片机:#include <reg52.h>// 定义定时器相关寄存器sbit TRIG = P3^5; // 触发脉冲引脚unsigned int count = 0; // 计数器值// 定时器1中断服务程序void Timer1_ISR() interrupt 3{TH1 = 0xFC; // 设置定时器1初值,用于下一次计数TL1 = 0x18;1/ 3count++; // 每次中断计数器加一}void main(){TMOD = 0x10; // 设置定时器1为工作方式1,16位计数器TH1 = 0xFC; // 设置定时器1初值TL1 = 0x18;ET1 = 1; // 允许定时器1中断EA = 1; // 允许总中断TR1 = 1; // 启动定时器1while (1){TRIG = 1; // 产生触发脉冲_nop_(); // 等待_nop_();_nop_();TRIG = 0;2/ 3// 在此处可以进行其他操作,或者将测得的频率值用于其他用途// 输出测得的频率值// 例如,假设时钟频率为11.0592MHz,频率 = count / (65536 * 定时器溢出次数)// 在这里,假设定时器溢出次数为10次,那么频率 = count / (65536 * 10)// 输出频率值到外设或串口等}}这是一个简单的例子,实际应用中可能需要根据具体的需求和硬件环境进行调整。
单片机软件系统的设计—频率和相位的测量单片机软件系统的设计—频率和相位的测量1、测量频率参数测量频率参数只需要一个通道(电压或电流)的脉冲信号,设选用电压通道,由于是低频50Hz左右,因此要采用测周期的方案来换算出频率参数(低频测周期比较精确,高频测频率比较精确)。
由于电压通道接到单片机的外部中断INT0,只要计数两次INT0中断的间隔时间便可换算出频率。
间隔时间采用定时器1统计,设晶体振荡器为12MHz,则一个机器周期为1μS,测量的结果保存在75H、74H中,程序如下:测频准备阶段的程序:SETB EX0;允许外部中断0中断,以便于测频MOV TH1,#0原文请找腾讯3249114六,维^论~文.网MOV TL1,#0MOV TMOD,#10H 外部中断0中断服务程序:SETB TR1JNB P3.2,$JB P3.2,$CLR TR1MOV 74H,TL1MOV 75H,TH1RETI 2、测量相位参数在测频的基础上,利用另外一个通道即电流通道产生的外部中断1中断信号,我们只要统计两个通道的中断间隔时间即得到两个通道相位之间的误差时间,再除以一个周期(测频率时已经测出)的时间,再乘以360,即为相位差。
设测量结果报存在77H、76H中,程序如下:测相准备阶段的程序:SETB EX0;允许外部中断0中断SETB EX1;允许外部中断0中断 MOVTH1,#0MOV TL1,#0MOV TMOD,#10H 外部中断0中断服务程序:SETB TR1RETI外部中断1中断服务程序:CLR TR1MOV 76H,TL1MOV 77H,TH1RETI测频用到了外部中断0,测相也用到了外部中断0,要区别两个含义不同的外部中断0,需要用一个标志位加以区别。
以上检测程序就基本完成了,下面的就是关于这批数据的计算和换算程序了。
现在从70H~77H中均保存了有效数据,这些数据还都没有经过计算和换算,还都是“半成品”,但是我们要清除这里边都是什么数据。
基于AT89C51单片机的频率计设计频率计是一种测量信号频率的仪器。
在工业自动化、仪器仪表和电子实验等领域广泛应用。
本文将基于AT89C51单片机设计一个简单的频率计。
一、设计原理频率计的工作原理是通过计数单位时间内输入信号的脉冲数量,并将其转化为频率进行显示。
本设计使用AT89C51单片机作为控制核心,采用外部中断引脚INT0作为计数脉冲输入口,通过对计数器的计数值进行处理,最终转化为频率并在LCD1602液晶屏上进行显示。
二、硬件设计硬件电路主要包括AT89C51单片机、LC1602液晶显示屏、脉冲输入引脚INT0,以及供电电路等。
其中,AT89C51单片机的P0口用于与LC1602液晶屏的数据口连接,P2口用于与液晶屏的控制口连接。
脉冲输入引脚INT0连接到外部信号源,通过中断请求实现计数器的计数功能。
液晶显示屏的VDD和VDDA引脚接5V电源,VSS和VSSA引脚接地,RW引脚接地,RS引脚接P2.0,E引脚接P2.1,D0-D7引脚接P0口。
三、软件设计软件设计主要包括初始化设置、中断服务程序、计数器计数和频率转换、液晶屏显示等模块。
1.初始化设置:首先设置P0和P2为输出端口,中断引脚INT0为外部触发下降沿触发中断,计数器为初始值0。
2.中断服务程序:中断服务程序负责处理外部脉冲输入引脚INT0的中断请求。
每当INT0引脚检测到下降沿时,计数器加13.计数和频率转换:在主函数中,通过读取计数器的值并根据单位时间计算频率。
通过AT89C51单片机的定时器模块,我们可以设置一个单位时间进行计数。
在单位时间结束后,将计数器的值除以单位时间得到频率。
4.液晶屏显示:通过P0口向液晶屏的数据口发送频率值,并通过P2口向液晶屏的控制口发送控制信号,完成频率的显示。
四、测试结果将生成的二进制固件烧录到AT89C51单片机中,将脉冲信号输入到INT0引脚,即可在LCD1602液晶显示屏上看到实时的频率值。
毕业设计〔论文〕题目:基于单片机的频率计设计学生姓名:廖承润学号:学部〔系〕:信息学部专业年级:光信1班指导教师:赵真职称或学位:副教授2015年5 月20 日目录目录 (I)摘要....................................................... I II ABSTRACT....................................................... I V 第一章绪论. (1)1.1频率计概述 (1)1.2频率计发展现状及研究概况 (1)1.3本课题研究背景及主要研究意义 (2)数字频率计的种类 (2)第二章数字频率计的结构设计 (4)控制电路 (4)2.2单片机部分 (5)2.3数据显示电路 (6)2.4软件设计流程图 (9)第三章频率测量原理 (10)3.1测量频率的原理 (10)3.2直接测频法 (10)第四章系统设计 (11)4.1功能实现 (11)4.2硬件部分设计 (11)4.2.1 信号放大电路 (11)4.2.2 单片机AT89C52 (12)4.2.3 测量数据显示电路 (13)4.3硬件电路工作过程 (14)4.3.1 直接测频法的工作流程 (15)第五章数字频率计的设计与仿真 (17)电路的设计 (17)电路设计的内容和方法 (17)电路设计的步骤 (18)5.2数字频率计的仿真 (19)第六章减小误差措施及扩展方面 (23)减小误差措施 (23)扩展方面 (23)6.3功能上的完善 (24)6.3.1 增加键盘控制 (24)6.3.2 实现自动量程转换 (24)6.3.3 液晶显示器〔LCD〕进行数据的显示 (24)结论 (25)参考文献 (26)致谢 (27)附录 (28)1硬件设计原理图: (28)2数字频率计测量频率程序: (29)基于单片机的频率计设计摘要本文提出设计数字频率计的方案,重点介绍以单片机AT89C52为控制核心,实现频率测量的数字频率设计。
1前言频率测量是电子学测量中最为基本的测量之一。
由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。
随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。
1.1频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不但体积大,运行速度慢而且测量低频信号不准确。
本次采用单片机技术设计一种数字显示的频率计,测量准确度高,响应速度快,体积小等优点。
1.2频率计发展与应用在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。
单片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。
单片机已成为电子系统的中最普遍的应用。
单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据采集与信号处理等技术中日益普及的一项新兴技术,应用范围十分广泛。
其中以AT89S52为内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需要。
2 系统总体设计2.1测频的原理测频的原理归结成一句话,就是“在单位时间内对被测信号进行计数”。
被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端。
由晶体振荡器产生的基频,按十进制分频得出的分频脉冲,经过基选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。
内容摘要本设计采用的是脉冲宽度测量法实现对频率的测量,采用了MCS-51系列的单片机AT89C51和五个硬件电路。
单片机片内有两个独立的16位定时计数器,对被测信号进行分频后送入单片机,由单片机内部时钟12分频的脉冲信号对其测量,将测量的结果,经过运算后通过LED数码管显示出来。
本文设计的频率计就是基于上述设计思路,实现测量的数字化、自动化、智能化。
关键词:数字频率计;频率测量;周期测量;单片机控制目录0 前言 (1)1测量频率的方案及基本原理 (2)1.1数字频率计的测量方案选取 (2)1.2 测量频率的基本原理 (2)2频率计的整体设计思想及设计框图 (4)2.1系统总体设计要求 (4)2.2设计思想 (4)3系统的实现 (5)3. 1 硬件系统的组成 (5)3.2软件系统的设计 (10)4 被测信号的频率范围及其误差分析 (14)4.1 频率运算的基本方法 (14)4.2同步计数计时法 (16)4.3 连续采样的两种方法及其误差分析 (17) (22)4.4所测频率最大值fxmax4.5所测频率最小值f (22)xmin5 结论 (24)参考文献 (25)0 前言频率计是一种基础测量仪器,到目前为止已有30多年的发展史。
一直以来,人们对频率计的特性主要有如下需求:(1)足够宽的频率测量范围;(2)高精度和高分辨率。
精度是指测量的准确程度,即仪器的读数接近实际信号频率的程度,精确度越高测量越准确。
分辨率表明很小的变化都能在仪器上显示出来,高分辨率可快速测出更小的漂移值和不稳定值。
长期以来,人们测量频率的方法有两大种类:直接测量频率法,间接测量频率法。
直接测量就是依据频率的定义对被测信号进行测量,即是单位时间内(通常是一秒)发出的脉冲个数,直接测量频率法在低频误差较大,不能满足设计要求。
间接测量频率法有多种,较常用的是周期测量频率法和脉冲宽度测量法,实际上周期测量和脉冲测量方法基本相同,本论文就是用的脉冲宽度测量法实现对频率的测量,他的特点是测量迅速、灵敏,结构简单,精度高,误差小。
基于51单片机的频率计的设计讲解频率计是一种测量信号频率的仪器。
基于51单片机的频率计设计能够实现对不同频率信号的测量,具有简单、可靠、价格低廉的优势。
本文将详细介绍基于51单片机的频率计的设计原理、电路设计和程序设计。
设计原理:基于51单片机的频率计的设计原理主要包括输入信号的检测和计数、计数值显示和频率计算。
当外部信号输入到单片机的输入引脚时,单片机通过计数器对输入信号的波形进行计数,计数值与输入信号的频率成正比。
通过将计数值转换为频率值,并在显示屏上显示,即可实现对输入信号频率的测量。
电路设计:输入电路:输入电路主要负责将外部信号通过耦合电容和电阻接入单片机的输入引脚。
在输入电路中,耦合电容的作用是将交流信号的AC分量通过,阻隔直流信号的DC分量。
电阻的作用是限制输入信号的幅值,防止单片机输入引脚的过大电流。
计数电路:计数电路是基于51单片机的频率计的核心部分,主要由计数器和时钟发生器组成。
计数器负责对输入信号的波形进行计数,时钟发生器负责提供计数脉冲。
计数器的选择应根据所需测量范围来确定,通常使用定时器/计数器来实现。
显示电路:显示电路主要由数码管和驱动电路组成。
通过将计数值转换为对应的数字,并将数字数据发送给数码管进行显示。
驱动电路负责控制数码管的亮度和显示方式。
程序设计:输入信号的采样:在程序中,通过定时器/计数器对输入信号进行采样,采样时间根据信号频率来确定。
采样得到的数据存储在特定的寄存器中,以供后续的计数和计算。
计数器的计数:通过对输入信号进行计数,得到计数值。
计数值的大小与输入信号的周期成反比,与输入信号频率成正比。
计数器的计数方式可以是边沿计数或脉冲计数,根据实际需求选择。
频率计算和显示:通过将计数值转换为频率值,并将频率值显示在数码管上。
频率计算可以采用简单的比例关系,如频率=计数值/计数时间。
将频率值转换为对应的数字,并通过驱动电路控制数码管的显示。
总结:基于51单片机的频率计通过对输入信号进行采样、计数、计算和显示,能够实现对不同频率信号的测量。
(二)程序功能描述
s1 EQU 30H ;第一个数码管显示的数值
s2 EQU 31H ;第二个数码管显示的数值
s3 EQU 32H ;第三个数码管显示的数值
s4 EQU 33H ;第四个数码管显示的数值
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP CHULI ;外部中断低电平触发处理
ORG 0033H
MAIN: MOV SP,#60H
MOV TMOD,#09H ;计数器T0工作在方式1 门控信号为1
MOV TH0,#00H
MOV TL0,#00H ;计数器TO清零
MOV IE,#81H ;开放定时器中断开总中断外部中断0
MOV TCON,#11H ;T0允许计数且当外部中断输入为高时计数
外部中断0为边沿触发方式下降沿有效MOV R5,#50H
LOOP: ACALL BCD ;十六位二进制转十进制
ACALL UBCD ;压缩BCD码,转非压缩BCD码
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
XX: ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
ACALL DELAY
ACALL DISP ;显示程序
DJNZ R5,XX
AJMP LOOP ;循环处理显示计数器T0采集得数CHULI: MOV 41H,TH0
MOV 40H,TL0 ;将计数器T0中的数转移到40H,41H中
MOV TH0,#00H
MOV TL0,#00H ;重新将定时器T0清零
TT: RETI
BCD: CLR A ;将41H 40H中的数值转换成BCD码
分别按高低存储在34H 35H 36H中MOV 38H,41H
MOV 37H,40H
MOV 34H,A
MOV 35H,A
MOV 36H,A
MOV R7,#16
LOOP1: CLR C
MOV A,37H
RLC A
MOV 37H,A
MOV A,38H
RLC A
MOV 38H,A
MOV A,36H
ADDC A,36H
DA A
MOV 36H,A
MOV A,35H
ADDC A,35H
DA A
MOV 35H,A
MOV A,34H
ADDC A,34H
DA A
MOV 34H,A
DJNZ R7,LOOP1
RET
UBCD: MOV A,34H
CJNE A,#00H,QUSHU ;判断第五位数值是否为0 为零则按四位
有效值处理不为零按5位有效值处理MOV R1,#35H ;当有4位有效效值时取后四位显示小数
点加在第一位
MOV R0,#36H
MOV A,#00H
XCHD A,@R0
MOV 30H,A
MOV A,@R0
SWAP A
MOV 31H,A
MOV A,#00H
XCHD A,@R1
MOV 32H,A
MOV A,@R1
SWAP A
ADD A,#10 ;加小数点显示
MOV 33H,A
RET
QUSHU: MOV R1,#34H ;当有5位有效值时取前四位显示小数
点加在第二位
MOV R0,#35H
MOV A,#00H
XCHD A,@R0
MOV 31H,A
MOV A,@R0
SWAP A
ADD A,#10 ;加小数点显示
MOV 32H,A
MOV A,#00H
XCHD A,@R1
MOV 33H,A
ANL 36H,#0F0H
MOV A,36H
SWAP A
MOV 30H,A
RET
DISP: MOV DPTR,#TAB ;显示千位
MOV A,s4
MOVC A,@A+DPTR
MOV P0,A
MOV A,#0F7H ;位选信号第一个数码管
MOV P2,A
ACALL DELAY
MOV DPTR,#TAB ;显示百位
MOV A,s3
MOVC A,@A+DPTR
MOV P0,A
MOV A,#0FBH ;位选信号第二个数码管
MOV P2,A
ACALL DELAY
MOV DPTR,#TAB ;显示十位
MOV A,s2
MOVC A,@A+DPTR
MOV P0,A
MOV A,#0FDH ;位选信号第三个数码管
MOV P2,A
ACALL DELAY
MOV DPTR,#TAB ;显示个位
MOV A,s1
MOVC A,@A+DPTR
MOV P0,A
MOV A,#0FEH ;位选信号第四个数码管
MOV P2,A
ACALL DELAY
RET
DELAY: MOV R7,#08H ;延时程序
DELAY1:MOV R6,#80H
DJNZ R6,$
DJNZ R7,DELAY1
RET
TAB: DB 3fh, 06h, 5bh ,4fh , 66h ,6dh ,7dh, 07h, 07fh ,6fh
DB 0Bfh,86h,0DBh ,0Cfh, 0E6h,0Edh ,0Fdh ,87h ,0FFh ,0Efh NOP
END。