基于51单片机的数字频率计课程设计_第1页
基于51单片机的数字频率计课程设计_第2页
基于51单片机的数字频率计课程设计_第3页
基于51单片机的数字频率计课程设计_第4页
基于51单片机的数字频率计课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

四川航天学院电子工程系课程设计——基于51单片机的数字频率计18-四川航天学院电子工程系课程设计——基于51单片机的数字频率计摘要MAXIM是直接用十进制数字显示被测信号频率的一种测量装置。传统的数字频率计大多采用74LS系列数字集成电路直接测频,在使用过程中存在电路结构复杂,测量精度低、故障率高、维护不易等问题。于是,随着芯片技术的发展,很多芯片被应用到频率计的设计当中。

一种是专用芯片,如利用MAXIM公司的ICM7240制作的频率计。其特点是简单易行,但由于这种芯片的最高计数频率仅有15MHz,远不能达到在一些场合需要测量很高频率的要求,而且测量精度也受到芯片本身的限制。

以单片机为主再附加一些外围电路来设计数字频率计,采用这种方案有一个很大的优点,那就是可通过单片机的软件设计,采用适当的算法,取代很多以前用硬件实现的电路,这不仅能弥补以往频率计测量精度低、故障率高、维护不易等不足,而且性能也得到了很大的提高。关键字:MAXIM74LSMAXIM高频率芯片目录6291第1节引言 -4-171431.1数字频率计概述 -4-118881.2频率测量仪的设计思路与频率的计算 -4-73671.3基本设计原理 -5-11628第2节数字频率计(低频)的硬件结构设计 -5-242462.1系统硬件的构成 -6-324142.2系统工作原理图 -6-110752.3AT89C51单片机及其引脚说明 -7-187312.5时基信号产生电路: -9-269082.6显示模块 -11-114541)、主要功能 -11-15802)、技术参数 -11-84063)、时序特性表 -12-246214)、引脚和指令功能 -12-101335)、显示位与DDRAM地址的对应关系 -13-263086)、初始化方法 -13-14321第3节软件设计 -15-274983.1定时读数 -15-88183.2量程转换 -15-301273.3BCD转换 -15-33033.4LCD显示的功能 -15-26275结束语 -16-17589参考文献 -17-19552附件: -17-基于51单片机的数字频率计1.1数字频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。本数字频率计将采用定时、计数的方法测量频率,采用一个1602ALCD显示器动态显示6位数。测量范围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。用单片机实现自动测量功能。基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。1.2频率测量仪的设计思路与频率的计算图1频率测量原理图频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理如右图1所示。图1频率测量原理图若被测量信号的周期为,分频数m1,分频后信号的周期为T,则:T=m1Tx。由图可知:T=NTo(注:To为标准信号的周期,所以T为分频后信号的周期,则可以算出被测量信号的频率f。)由于单片机系统的标准频率比较稳定,而是系统标准信号频率的误差,通常情况下很小;而系统的量化误差小于1,所以由式T=NTo可知,频率测量的误差主要取决于N值的大小,N值越大,误差越小,测量的精度越高。1.3基本设计原理基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s。闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数,所以被测频率fx=NHz。第2节数字频率计(低频)的硬件结构设计2.1系统硬件的构成本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。可分为以下几个模块:放大整形模块、秒脉冲产生模块、换档模拟转换模块、单片机系统、LCD显示模块。各模块关系图如图2所示:图2数字频率计功能模块2.2系统工作原理图该系统工作的总原理图如图3所示:图3数字频率计系统工作原理图2.3AT89C51单片机及其引脚说明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所示:端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0)P3.5T1(定时器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器都选通)表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等数字处理芯片,主要控制两大硬件模块,量程切换以及显示模块。下面还将详细说明。2.4信号调理及放大整形模块

放大整形系统包括衰减器、跟随器、放大器、施密特触发器。它将正弦输入信号Vx整形成同频率方波Vo,幅值过大的被测信号经过分压器分压送入后级放大器,以避免波形失真。由运算放大器构成的射级跟随器起阻抗变换作用,使输入阻抗提高。同相输入的运算放大器的放大倍数为(R1+R2)/R1,改变R1的大小可以改变放大倍数。系统的整形电路由施密特触发器组成,整形后的方波送到闸门以便计数。由于输入的信号幅度是不确定、可能很大也有可能很小,这样对于输入信号的测量就不方便了,过大可能会把器件烧毁,过小可能器件检测不到,所以在设计中采用了这个信号调理电路对输入的波形进行阻抗变换、放大限幅和整形,信号调理部分电路具体实现电路原理图和参数如下图4所示:

图42.5时基信号产生电路:CD4013双上升沿D触发器,引脚及功能见如下图5:CD4013由两个相同的、相互独立的数据型触发器构成。每个触发器有独立的数据置位复位时钟输入和Q及Q非输出。此器件可用作移位寄存器,且通过将Q非输出连接到数据输入,可用作计数器和触发器。在时钟上升沿触发时,加在D输入端的逻辑电平传送到Q输出端。置位和复位或复位线上的高电平完成。图5CD4013芯片引脚用功能图CD406014位二进制串行计数器,引脚及功能见如下图6:CD4060由一震荡器和14极二进制串行计数器位组成,震荡器的结构可以是RC或晶振电路。CR为高电平时,计数器清零且振荡器使用无效,所有的计数器位均为主从触发器CP1非(和CP0)的下降沿计数器以二进制进行计数,在时钟脉冲线上使用施密特触发器对时钟上升和下降时间无限制。图6CD4060芯片引脚用功能图时基信号的产生原理:本电路采用32768HZ晶体震荡器,利用CD4060芯片经过14级分频得到2HZ的信号(32768/214),在经过CD4013双D触发器经过二分频得到0.5HZ的方波,即输出秒脉冲信号使单片机进行计数。图七秒脉冲产生电路原理图2.6显示模块1602基本技术:1)、主要功能A、40通道点阵LCD驱动;B、可选择当作行驱动或列驱动;C、输入/输出信号:输出,能产生20×2个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1∽V6);D、通过单片机控制将所测的频率信号读数显示出来。2)、技术参数2.1)极限参数表名称符号标准值单位MINTYPEMAX电路电源VDD-VSS-0.37.0VLCD驱动电压VDD-VEEVDD-13.5VDD+0.3V输入电压VIN-0.3VDD+0.3V静电电压--100V工作温度-20+70°C储存温度-30+80°C2.2)电参数表名称符号测试条件标准值单位MINTYPEMAX输入高电平VIH-2.2VDDV输入低电平VIL--0.30.6V输出高电平VOHIOH=0.2mA2.4-V输出低电平VOLIOL=1.2mA-0.4V工作电流IDDVDD=5.0V2.0mA液晶驱动电压VDD-VEETa=0°C4.9VTa=25°C4.7Ta=50°C4.53)、时序特性表项目符号测试条件标准值单位MINTYPEMAX允许时间周期TCYCE5.1a5.1b1000ns允许脉冲宽度,高电平PWEH450ns允许上升和下降时间tErtEf25ns地址建立时间tAS140ns数据延迟时间tDDR320ns数据建立时间tDSW195ns数据保持时间tH10nsDATAHOLDTIMEtDHR20ns地址保持时间tAH10ns4)、引脚和指令功能4.1)模块引脚功能表引线号符号名称功能1Vss接地0V2VDD电路电源5V±10%3VEE液晶驱动电压保证VDD-VEE=4.5∽5V电压差4RS寄存器选择信号H:数据寄存器L:指令寄存器5R/W读/写信号H:读L:写6E片选信号下降沿触发,锁存数据7|14DB0|DB7数据线数据传输4.2)寄存器选择功能表RSR/W操作00指令寄存器(IR)写入01忙标志和地址计数器读出10数据寄存器(DR)写入11数据寄存器读出(注:忙标志为"1"时,表明正在进行内部操作,此时不能输入指令或数据,要等内部操作结束,即忙标志为"0"时。)4.3)指令功能格式:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0共11种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM地址设置,DDRAM地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。5)、显示位与DDRAM地址的对应关系显示位序号12345………………40DDRAM地址(HEX)第一行0001020304..…………..27第二行4041424344……………..676)、初始化方法用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,下面介绍两种初始化方法;6.1利用内部复位电路进行初始化下面指令是在初始化过程中执行的。清屏(DISPLAYCLEAR);功能设置(FUNCTIONSET);DL=1:8Bit接口数据;N=0:1行显示;F=0:5×7dot字形;显示开/关控制(DISPLAYON/OFFCONTROL)D=0:显示关;C=0:光标关;B=0:消隐关输入方式设置(ENTRYMODESET)I/D=1:(增量):S=0:无移位:6.2)软件复位如果电路电源不能满足复位电路的要求的话,那么初始化就要用软件来实现,过程如下:八位接口初始化流程图VDD上升到4.5V后等待>15电源开VDD上升到4.5V后等待>15电源开RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011×RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011××××↓等待>4.1msRSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011××RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011××××RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011××××RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011NF×RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011NF××RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000010×RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000010××RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DSRSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS初始化结束↓检查忙标志或延时40初始化结束第3节软件设计主要能过编写软件来控制硬件完成以下各模块的功能:3.1定时读数3.2量程转换3.3BCD转换3.4LCD显示的功能单片机当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值。#include

<reg51.H>

code

dispcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned

char

a=0,b=0,c=0,d=0;

unsigned

int

pinlv=0;

unsigned

long

int

count=0;

void

delay()

{

int

j;

for(j=0;j<2000;j++);

}

void

display()

{a=pinlv/1000;

//千位

b=pinlv/100%10;

百位c=pinlv%100/10;

十位d=pinlv%10;

个位P2=0xfe;

P0=dispcode[a];

delay();

P2=0xfd;

P0=dispcode[b];

delay();

P2=0xfb;

P0=dispcode[c];

delay();

P2=0xf7

P0=dispcode[d];

delay();

}

/*void

delay1(n)

{

int

i,j;

for(i=0;i<n;i++)

{

for(j=0;j<255;j++){

}

display();

}

}*/

void

main(void)

{

EA=0;

TMOD=0x51;//T0定时计数TH0=15602/256;

//0x3c,T0定时TL0=15602%256;

//0x00

17

EA=1;

TR1=1;

TR0=1;{

display();

}

}

void

time0(void)

interrupt

1

using

2

{

count++;

if(count==20)

//T1计数20次{

count=0;

TR1=0;

pinlv=TH1*256+TL1;

TH1=0;

TR1=1;

}

TH0=15602/256;

//0x3c

TL0=15602%256;

//

0x00

TR0=1;//T1计数20次时产生中断,定时1S到基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用\t"_blank

温馨提示

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

评论

0/150

提交评论