频率计设计(共28页).docx
《频率计设计(共28页).docx》由会员分享,可在线阅读,更多相关《频率计设计(共28页).docx(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1 设计课题任务、功能要求说明及总体方案介绍1.1 课题设计任务设计一个能够测量矩形波信号的频率、周期、脉宽、占空比的频率计。该频率计上电或按键复位后能自动显示系统提示符“P.”, 进入测量准备状态。按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。1.2 功能要求说明该数字频率计频率以单片机最小系统为基础,采用独立式键盘及动态显示结构组成。四个键(分别接于P1.0P1.3)控制测量,按K1键(接P1.0)测频率、按K2键(接P1.1)测周期,按K3键(接P1.2)测脉宽,按K4键(接P1.3)测占空比。1.3 设计课
2、题总体方案介绍及工作原理说明本设计通过单片机内部定时器0定时1秒,同时被测矩形波输入P3.5(T1)通过计数器1对其进行计数,定时时间一到即可测得矩形波的频率,通过计算频率的倒数即可得到周期。被测矩形波通过P3.5(T1)输入单片机后,P3.5(T1)为高电平开启定时器1,P3.5(T1)为低电平关闭定时器1,通过高电平持续时间即可测得矩形波的脉宽。最后通过周期和脉宽可得占空比,系统总体电路框图如图1.1所示: 图1.1 系统整体框图系统工作原理如下:此数字频率计是利用单片机的P3.5(T1)作为被测矩形波信号输入端,且单片机晶振采用12MHZ。当按K1键时测频率,被测矩形波信号从P3.5进入
3、单片机,此时同时启动定时器0和计数器1,定时器0一次定时50ms、定时20次,当定时1s一到立即停止定时计数器,因为晶振为12MHZ,所以此时计数器的计数值即为被测信号的频率;当按K2键时测周期,此时先测得被测信号的频率,然后通过T=1/F可求得被测信号的周期;当按K3键时,被测矩形波通过P3.5(T1)输入单片机后,P3.5为高电平开启定时器1,P3.5为低电平关闭定时器1,读出定时器的定时值,此值即为被测信号的脉宽;按K4键时,先测出被测矩形波信号的周期和脉宽,然后通过占空比等于脉宽比上周期即可得到信号的占空比。当按键测得相应的数据之后,先对数进行按位处理后再送数码管显示。2 设计课题硬件
4、系统的设计2.1 设计课题硬件系统各模块功能简要介绍 功能芯片:AT89S52 是一种带4K 字节闪烁可编程可擦除只读存储器的低电压,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路,高性能CMOS8 位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89S52型单片机的主要性能参数如下
5、:1、与MCS-51产品指令系统完全兼容2、4k字节可重擦写Flash闪存存储器3、1000次擦写周期4、全静态操作:0Hz-24MHz5、三级加密程序存储器6、128*8字节内部RAM7、32个可编程I/O口线8、2个16位定时/计数器9、6个中断源10、可编程串行UART通道11、低功耗空闲和掉电模式 AT89C51芯片及管脚图。如图2.1所示。 图2.1 AT89S52引脚图复位电路:用于产生复位信号,通过RST引脚送入单片机,进行复位操作。复位电路的好坏直接影响单片机系统工作的可靠性,单片机的复位电路共有上电复位、按键复位和脉冲复位3种,在本次设计中采用按键复位电路,此电路即可实现按键
6、复位,还可以实现上电复位。其中上电复位是利用电容充放电来实现的,按键复位则是通过使复位端经电阻与Vcc电源接通来实现的。电路如图2.2所示。图2.2 复位电路振荡电路:单片机本身是一个复杂的同步时序系统,为了确保同步工作方式的实现,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。晶振频率时单片机的一项重要技术指标,晶振频率越高,系统的时钟频率就越高,单片机的运行速度也就越快,本次设计所用的晶振频率为12MHZ。电路如图2.3所示。图2.3 振荡电路 按键电路:单片机的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7分别接按键K1、K2、K3、K4
7、、K5、K6、K7、K8。分别用以实现测矩形波的频率、周期、脉宽、占空比,当没键按下时P1.0P1.7为高电平,有键按下时则为低电平。在实物制作时因为P1口内部已经集成了上拉电阻,所以下图中的四个电阻可以省略。电路如图2.4所示。 图2.4 按键电路显示电路:本次设计显示器采用四位一体数码管的动态显示方式,用以实现测量值的现实,用P0口控制数码管的段控线,用P2口控制数码管的位控线。动态显示通常采用动态扫描的方法进行显示,即循环点亮每一位数码管,由于人眼存在的视觉残留效应,每一位数码管显示时间足够短,最后给人以同时显示的效果。采用排阻是限流的作用,使二极管正工作。电路如图2.5所示。驱动电路:
8、用以驱动数码管。电路如图2.5所示。图2.5 数码管驱动及显示电路电源电路:本电源电路是通过5V电源或采用USB接口电路进行供电。电路如图2.6所示。图2.6 电源电路 信号源:设计中信号源采用函数发生器产生的方波。频率范围为1HZ-500KHZ。2.2 设计课题电路原理图、PCB图、元器件布局图 本设计的电路原理图、PCB图及元器件布局图分别如附录13所示。2.3 设计课题元器件清单 元器件清单如附录4所示。3 设计课题软件系统的设计3.1 设计课题使用单片机资源的情况 定时/计数器的使用:测矩形波频率时使用到了定时/计数器0和定时/计数器1,以及使了定时0中断和计数1中断。单片机I/O口的
9、使用:P0口作为数码管的段控码输入端使用;P1口的8位作为独立式键盘的输入端使用,低4位作为本次按键的输入端使用,K1K4键分别对应于P1.0P1.3口;P2口作为数码管的位控码输入端使用;P3.5作为被测矩形波信号的输入端使用。3.2 设计课题软件系统各模块功能简要介绍系统的软件模块框图如图3.1所示: 图3.1 系统软件模块框图各模块功能如下:1、主程序模块:启动显示“P.”,等键按下。2、显示模块1:显示“P.”。3、键功能模块:判断那一键按下,然后去执行相应的程序。4、测频程序模块:测矩形波信号的频率。 测频周期模块:测矩形波信号的频率后,间接测其周期。 测脉宽程序段:测矩形波信号的脉
10、宽。 测脉宽程序段:测矩形波信号的脉宽后,间接测信号的占空比。5、显示模块2:显示测得的频率脉宽值。 显示模块3:显示测得的周期。 显示模块4:显示测得的脉宽值。 显示模块5:显示占空比值。6、延时模块:用于各位显示间的延时。3.3 设计课题软件系统程序流程框图本次设计的几个主要程序流程图如图3.2、3.3、3.4、3.5、3.6、3.7、3.6所示:图3.2 测频子程序流程图 图3.3 测频中断程序流程图 图3.4 测脉宽程序流程图 图3.5 数码管显示程序流程图 图3.6 键处理程序流程图 图3.7 键扫描程序流程图图3.8 系统程序主程序流程图3.4 设计课题软件系统程序清单#inclu
11、dereg52.h#include/*共阳数码管字型码*/char code dis_code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0c, 0xff,0x8e,0x86,0xa1,0xc6; /*0,1,2,3,4,5,6,7,8,9,p.,灭,f,e,d,c*/char data find_code8=11,11,11,11,11,11,11,10; /*P.显示*/#define uchar unsigned char#define uint unsigned int#define ulong unsigned longu
12、long l,mk,zk;sbit P3_5=P35; /*外部被测信号*/uchar a,m;/*/函数名: void DelayX1ms(uint count)/功能: 延时时间为1ms/调用函数:/输入参数:count,1ms计数/输出参数:/说明:总共延时时间为1ms乘以count,crystal=12Mhz/*/void DelayX1ms(uint count) uint j; while(count-!=0) for(j=0;j80;j+); /* 函数原型:disp();* 功 能:数码管显示。*/void disp() char i,j=0xfe; char k; for(i
13、=0;i8;i+) P2=j; k=find_codei; P0=dis_codek; DelayX1ms(1); j=_crol_(j,1); /* 函数原型:keychuli();* 功 能:处理与键盘相连的P1口的内容,作为键值。*/uchar keychuli() uchar k; k=P1; /P1口内容送K k=k; /取反 return(k); /返回键值 /* 函数原型:key();* 功 能:键盘扫描函数,函数返回值即键值。*/uchar key() uchar keyz,keyzi; /键盘按键键值临时存放 keyz=keychuli(); /调P1口处理函数 if(key
14、z!=0) /有键动作延时去抖动,否则函数返回 disp(); disp(); keyz=keychuli(); /再次调P1口处理函数 if(keyz!=0) /真正有键按下,取键值并暂存 keyzi=keyz; while(keyz!=0) /判按键是否释放,没有释放延时去抖动等待 释放 disp(); disp(); keyz=keychuli(); keyz=keyzi; /按键释放后恢复按键键值 return(keyz); /返回按键键值/*定时器0中断函数*/ void t0(void) interrupt 1 using 2 TH0=(65536-49999)/256; /定时5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 频率计 设计 28
限制150内