《单片机简易频率计课程计划设计.doc》由会员分享,可在线阅读,更多相关《单片机简易频率计课程计划设计.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、|前言 .2一、 总体设计 .3二、 硬件设计 .5AT89C51 单片机及其引脚说明: .5显示原理 .7技术参数 .8电参数表 .8时序特性表 .9模块引脚功能表 .9三、 软件设计 .10四、 调试说明 .11五、 使用说明 .13结论 .13参考文献 .13附录 .14 、系统电路图 .14、程序清单 .15|前言单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩
2、具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用在生活中至关重要。随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行缓慢,而且测量频率的范围比较小。考虑到上述问题,本论文设计一个基于单片机技术的数字频率计。首先,我们把待测信号经过放大整形;然后把信号送入单片机的定时计数器里进行计数,获得频率值;最后把测得的频率数值送入显示电路里进行显示。本文从频率计的原理出发,介绍了基于单片机的数字频率计的设计方案,选择了实
3、现系统得各种电路元器件,并对硬件电路进行了仿真。|1、总体设计用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔 T 内测得这个周期性信号的重复变化次数 N,则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率 fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为 1s,则门控电路的输出信号持续时间亦准确地等于 1s。闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路
4、。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数 N是在 1 秒时间内的累计数,所以被测频率 fx=NHz。本系统采用测量频率法,可将频率脉冲直接连接到 AT89C51 的 T0 端,将T/C1 用做定时器。T/C0 用做计数器。在 T/C1 定时的时间里,对频率脉冲进行计数。在 1S 定时内所计脉冲数即是该脉冲的频率。见图 1:图 1 测量时序图由于 T0 并不与 T1 同步,并且有可能造成脉冲丢失,所以对计数器 T0 做一定的延时,以矫正误差。具体延时时间根据具体实验确定。根据频率的定义,频率是单位时间内信号波的个数,因此采用上述各种方案都能实现频率的测量。但是本论文设计的是
5、一个用单片机做为电路控制系统的数字式频率计,采用脉冲定时测频法,则在低频率的测量时误差会大一些。采用脉冲周期测频法则测高频率时精度无法保证;采用脉冲数倍频测频法和脉冲数分频测频法则精度有所提高,但控制电路较复杂;采用脉冲平均周期测频|法则很难兼顾低频信号的测量;而采用多周期同步测频法,闸门时间与被测信号同步,消除了对被测信号计数产生的1 误差,测量精度大大提高,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。本次设计由于个人水平有限,因此,本次设计根据需要,采用脉冲定时测频法。基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译
6、码显示电路里进行显示,其基本构成框图如图 2 所示。图 2由上图可以看出,待测信号经过放大整形电路后得到一个待测信号的脉冲信号,然后通过计数器计数,可得到需要的频率值,最后送入译码显示电路中显示出来。但是控制部分才是最重要的,它在整个系统的运行中起至关重要的作用。为了得到一个高性能的数字频率计,本次设计采用单片机来做为数字频率计的核心控制电路,辅之于少数的外部控制电路。因此本此设计的系统包括信号放大整形电路、分频电路、单片机 AT89C51 和显示电路等。本系统让被测信号经过放大整形后,进入单片机开始计数,利用单片机内部定时计数器定时,在把所记得的数经过相关处理后送到显示电路中显示。其系统原理
7、框图将在下面介绍。 根据上述的基于单片机的数字频率计的设计原理,我们可设计一个由放大整形电路、分频电路、多路数据选择器、AT89C51 以及显示电路来构成的数字式频率计,其系统框图如图 3 所示。|图 32、硬件设计AT89C51 单片机及其引脚说明:89C51 是一种高性能低功耗的采用 CMOS 工艺制造的 8 位微控制器,它提供下列标准特征:4K 字节的程序存储器, 128 字节的 RAM,32 条 I/O 线,2 个 16位定时器/ 计数器 , 一个 5 中断源两个优先级的中断结构,一个双工的串行口, 片上震荡器和时钟电路。引脚说明: VCC:电源电压 GND:地 P0 口:P0 口是一
8、组 8 位漏极开路型双向 I/O 口,作为输出口用时,每个引脚能驱动 8 个 TTL 逻辑门电路。当对 0 端口写入 1 时,可以作为高阻抗输入端使用。 当 P0 口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,P0 口具有内部上拉电阻。 在 EPROM 编程时,P0 口接收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。 P1 口:P1 口是一带有内部上拉电阻的 8 位双向 I/O 口。P1 口的输出缓冲能接受或输出 4 个 TTL 逻辑门电路。当对 P1 口写 1 时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为
9、输入端使用时,P1 口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。 |P2 口:P2 是一带有内部上拉电阻的 8 位双向的 I/O 端口。P2 口的输出缓冲能驱动 4 个 TTL 逻辑门电路。当向 P2 口写 1 时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。 P2 口在访问外部程序存储器或 16 位地址的外部数据存储器(例如MOVX DPTR)时,P2 口送出高 8 位地址数据。在这种情况下,P2 口使用强大的内部上拉电阻功能当输出 1 时。当利用 8 位地址线访问外部数据存储
10、器时(例 MOVX R1),P2 口输出特殊功能寄存器的内容。 当 EPROM 编程或校验时,P2 口同时接收高 8 位地址和一些控制信号。 P3 口:P3 是一带有内部上拉电阻的 8 位双向的 I/O 端口。P3 口的输出缓冲能驱动 4 个 TTL 逻辑门电路。当向 P3 口写 1 时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。 P3 口同时具有 AT89C51 的多种特殊功能,具体如下表 1 所示:端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部
11、中断 0)P3.3 INT1(外部中断 1)P3.4 T0(定时器 0)P3.5 T1(定时器 1)P3.6 WR(外部数据存储器写选通道)P3.7 RD(外部数据存储器都选通道)表 1RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期的高电平将使单片机复位。EA/VPP:外部访问允许。为了使单片机能够有效的传送外部数据存储器从|0000H 到 FFFH 单元的指令,EA 必须同 GND 相连接。需要主要的是,如果加密位 1 被编程,复位时 EA 端会自动内部锁存。ALE/RPOG:当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低 8 位字节。当在 Flash 编程时
12、还可以作为编程脉冲输出(RPOG )。一般情况下,ALE 是以晶振频率的 1/6 输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一个 ALE 脉冲。PSEN:程序存储允许时外部程序存储器的读选通信号。当 AT89C52 执行外部程序存储器的指令时,每个机器周期 PSEN 两次有效,除了当访问外部数据存储器时,PSEN 将跳过两个信号。显示原理 我们测量的频率最终要显示出来。八段 LED 数码管显示器基本电路如图 4所示。图 4八段 LED 数码管显示器由 8 个发光二极管组成。基中 7 个长条形的发光管排列成“日”字形,另一个圆点形的发光管在数码管显示器的右下角作
13、为显示小数点用,它能显示各种数字及部份英文字母。LED 数码管显示器有两种形式:一种是 8 个发光二极管的阳极都连在一起的,称之为共阳极 LED 数码管显示器;另一种是 8 个发光二极管的阴极都连在一起的,称之为共阴极 LED 数码管显示器。如下图所示。共阴和共阳结构的 LED 数码管显示器各笔划段名和安排位置是相同的。当二极管导通时,对应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8 个笔划段 hgfedcba 对应于一个字节(8 位)的D7、D6、D5 、D4、D3、D2、D1 、D0,于是用 8 位二进制码就能表示欲显示字符的字形代码。|技术参数标 准 值名 称 符 号MIN TY
14、PE MAX单 位电路电源 VDD - VSS -0.3 7.0 VLCD 驱动电压 VDD - VEE VDD - 13.5 VDD + 0.3 V输入电压 VIN -0.3 VDD + 0.3 V静电电压 - - 100 V工作温度 -20 +70 C储存温度 -30 +80 C表 2 极限参数表电参数表标 准 值名 称 符 号 测 试 条 件MIN TYPE MAX单位输入高电平 VIH - 2.2 VDD V输入低电平 VIL - -0.3 0.6 V输出高电平 VOH IOH = 0.2mA 2.4 - V输出低电平 VOL IOL = 1.2mA - 0.4 V工作电流 IDD V
15、DD = 5.0V 2.0 mATa = 0C 4.9Ta = 25C 4.7液晶驱动电压 VDD- VEE Ta = 50C 4.5V表 3 电参数表时序特性表项 目 符 号 测试 标 准 值 单位|条件 MIN TYPE MAX允许时间周期 TCYCE 1000 ns允许脉冲宽度,高电平 PWEH 450 - - ns允许上升和下降时间 tEr tEf - - 25 ns地址建立时间 tAS 140 - - ns数据延迟时间 tDDR - - 320 ns数据建立时间 tDSW 195 - - ns数据保持时间 tH 10 - - nsDATA HOLD TIME tDHR 20 - -
16、ns地址保持时间 tAH5.1a 5.1b10 - - ns表 4 时序特性表模块引脚功能表引 线 号 符 号 名 称 功 能1 Vss 接地 0V2 VDD 电路电源 5V10%3 VEE 液晶驱动电压 保证 VDD-VEE=4.55V 电压差4 RS 寄存器选择信号 H:数据寄存器 L:指令寄存器5 R/W 读/写信号 H:读 L:写6 E 片选信号 下降沿触发,锁存数据7|14DB0|DB7数据线 数据传输表 5 模块引脚功能表3、软件设计测频软件的实现是基于电路系统来进行设计的。本次设计采用的是脉冲定时 测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。本次软件设计语言采用 C 语言,在电脑上编译通过后即可下载到电路上的实际电路中,即可实现频率的测量。|NO开始初始化 P2=0xf,status_F=0初始化 T0,T1开定时器 T1,计数器 T0aa=19?aa=0,status_F=0关闭 T1 定时器,定时 1S延时矫正误差 delay(46)关闭 T0 计数器显示所测得频率 display结束结束