网站建设如何商谈,深圳自助建站网站,绍兴大明电力建设有限公司网站,新新手手网网站站建建设设摘要
数字频率计是一种基本的测量仪器。它被广泛应用于航天、电子、测控等领域#xff0c;还被应用在计算机及各种数学仪表中。一般采用的是十进制数字#xff0c;显示被测信号频率。基本功能是测量正弦信号#xff0c;方波信号以及其他各种单位时间内变坏的物理量。由于其…摘要
数字频率计是一种基本的测量仪器。它被广泛应用于航天、电子、测控等领域还被应用在计算机及各种数学仪表中。一般采用的是十进制数字显示被测信号频率。基本功能是测量正弦信号方波信号以及其他各种单位时间内变坏的物理量。由于其使用十进制数显示测量迅速精确显示直观所以经常被用来使用。
本文主要介绍数字频率计的设计和调试本作品是基于STC89C52单片机作为平台基本原理是通过STC89C52单片机进行频率的采集和分析工作在通过程序使其显示在LCD1602的液晶显示屏上通过液晶显示屏让使用者能够直观的看到当前的输入频率是多少。
由于STC89C52单片机只能处理数字信号因此系统需要先把信号放大成方波信号再通过施密特触发器整形方波又由于单片机能处理的频率有限所以这次我们先用74HC390芯片对输入的信号进行了分频使其降低了100倍才送去给单片机处理如果频率高于200KHZ的时候就计算分频后的频率得到数据再换算成真实的频率。
关键词单片机 LCD显示屏分频器。 1 引言
1.1 目的和意义
在电子测量领域中频率测量的精确度是最高的。因此在生产过程中许多物理量例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度乃至各种气体的百分比成分等均用传感器转换成信号频率然后用数字频率计来测量以提高精确度。
国际上数字频率计的分类很多。按功能分类因计数式频率计的测量功能很多用途很广。所以根据仪器具有的功能电子计数器有通用和专用之分。一、通用型计数器通用型计数器是一种具有多种测量功能、多种用途的万能计数器。它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等若配上相应插件就可测相位、电压、电流、功率、电阻等电量配上适当的传感器还可进行长度、重量、压力、温度、速度等非电量的测量。二、专用计数器专用计数器指专门用来测量某种单一功能的计数器。如频率计数器只能专门用来测量高频和微波频率时间计数器是以测量时间为基础的计数器其测时分辨力和准确度很高可达ns数量级特种计数器它具有特种功能如可逆计数器、阈值计数器、差值计数器、倒数计数器等用于工业和自控技术等方面。数字频率计按频段分类①低速计数器最高计数频率10MHz②中速计数器最高计数频率10—100MHz③高速计数器最高计数频率100MHz④微波频率计数器测频范围1—80GHz或更高。
由于大规模和超大规模数字集成电路技术、数据通信技术与单片机技术的结合数字频率计发展进入了智能化和微型化的新阶段。其功能进一步扩大除了测量频率、频率比、周期、时间、相位、相位差等基本功能外还具有自捡、自校、自诊断、数理统计、计算方均根值、数据存储和数据通信等功能。可见频率计是很有工业价值的。本作品即为一个基于单片机的数字频率计它通74HC390芯片进行分频克服了单片机难以处理高频信号的困难并使用LCD1602液晶显示进行显示。
1.2 研究概况与发展趋势
由于当今社会的需要对信息传输和处理的要求不断提高对频率的测量的精度也需要更高更准确的时频基准和更精密的测量技术。而频率测量所能达到的精度主要取决于作为标准频率源的精度以及所使用的测量设备和测量方法。目前测量频频的方法有直接测频法、内插法、游标法、频差倍增法等等。直接测频的方法较简单但精度不高。频差倍增多法和周期法是一种频差倍增法和差拍法相结合的测量方法这种方法是将被测信号和参考信号经频差倍增使被测信号
的相位起伏扩大再通过混频器获得差拍信号用电子计数器在低频下进行多周期测量能在较少的倍增次数和同样的取样时间情况下得到比测频法更高的系统分辨率和测量精度但是仍然存在着时标不稳而引入的误差和一定的触发误差。
在电子系统广泛的应用领域中到处看见处理离散信息的数字电路。供消费用的冰箱和电视、航空通讯系统、交通控制雷达系统、医院急救系统等在设计过程中都用到数字技术。 数字频率计是现代通信测量设备系统中必不可少的测量仪器不但要求电路产生频率的准确度和稳定度都高的信号也要能方便的改变频率。
数字频率计的实现方法主要有直接式、锁相式、直接数字式和混合式
1直接式
优点速度快、相位噪声低但结构复杂、杂散多一般只应用在地面雷达中。
2锁相式
优点相位同步的自动控制制作频率高功耗低容易实现系列化、小型化、模块化和工程化。
3直接数字式
优点电路稳定、精度高、容易实现系列化、小型化、模块化和工程化。 一、硬件方案
硬件构成本系统由STC89C52单片机分频模块整形模块lcd1602液晶显示按键而成。
二、设计功能
1. 单片机型号STC89C52/51、AT89C52/51、AT89S52/51 都可通用
2.产品自带单片机上电复位电路、手动复位电路复位按键、晶振电路给单片机提供时钟周期。
3.频率的测量范围为1Hz—20MHz能测量各种周期信号能测出正弦波、三角波或方波等波形的频率。通过LCD1602液晶显示屏显示检测到的即时频率数值(单位为Hz)。 三、实物图 方案选择 单片机的选择
方案一AT89C52是美国ATMEL公司生产的低电压高性能CMOS型8位单片机器件采用ATMEL公司的高密度、非易失性存储技术生产兼容标准MCS-51指令系统片内置通用8位中央处理器(CPU)和Flash存储单元功能强大。其片内的8K程序存储器是FLASH工艺的这种单片机对开发设备的要求很低开发时间也大大缩短。写入单片机内的程序还可以进行加密这又很好地保护我们的劳动成果。再者AT89C52目前的售价比8031还低市场供应也很充足。AT89C52可构成真正的单片机最小应用系统缩小系统体积增加系统的可靠性降低系统的成本。只要程序长度小于8K四个I/O口全部提供给用户。可用5V电压编程而且擦写时间仅需lOms。AT89C51芯片提供三级程序存储器加密提供了方便灵活而可靠的硬加密手段能完全保证程序或系统不被仿制。PO口是三态双向口通称数据总线口因为只有该口能直接用于对外部存储器的读/写操作。
方案二STC89C52系列单片机的指令系统和AT89C52系列的完全兼容但实际操作起来却存在很多问题
1AT89C52不带ISP下载要用下载器才行STC89C52可以用你的USB转串口下载下载软件可以到STC厂家网上去下。
2STC单片机执行指令的速度很快大约是AT的3-30倍尽管快是好事但这样一来你在AT上好使的程序在STC上不一定好用最典型的例子就是那些对时序有严格要求的模块用STC时注意得加长延时大约是AT的10—30倍就差不多这一点自己调试就知道了。
3STC单片机对工作环境的要求比较低电压低于5伏时仍然正常工作甚至3伏到4伏之间都还可以工作然而这样的环境下AT肯定不行了所以当一个系统用STC单片机好用但用AT的单片机不工作时直接查最小系统看单片机的供电是否正常。
比较这两种方案由于在学校期间学过数字电路、单片机原理、C语言程序设计综合考虑单片机的各部分资源和作为学生能够获得的资源经过对比此次设计要求我选择用STC系列芯片完成。而且学校也提供了相应的硬件操作平台实际操作起来比较方便故STC为更合理的选择。本系统选择STC89C52单片机作为主控芯片。足够本设计运行且价格便宜下载程序方便。 显示器选择方案
方案一采用12864液晶显示屏。液晶显示模块是128×64点阵的汉字图形型液晶显示模块可显示汉字及图形内置8192个中文汉字16X16点阵、128个字符8X16点阵及64X256点阵显示RAMGDRAM。可与CPU直接接口提供两种界面来连接微处理机8-位并行及串行两种连接方式。具有多种功能光标显示、画面移位、睡眠模式等。
方案二采用LCD1602液晶显示屏。LCD1602A 是一种工业字符型液晶能够同时显示16x02 即32个字符。16列2行。1602只能显示字母、数字和符号能显示16*2个字符但寄存器不止32个有一些显示效果如字符一个个显示、字符从左到右或从右到左显示等等显示效果简单。
总结在编程使用方面两者难度差不多原理差不多都是写指令、写地址、写数据等等。当然12864液晶屏显示更全面、字符更多。相比于1602液晶屏、12864能更形象具体的实现显示功能。不过1602液晶屏也能实现设计的要求。网上买比较廉价最低的六块钱左右。而12864液晶显示屏最便宜的也要四十块钱。从造价方面考虑当然是价格低廉的优先。而LCD1602A就是最好的选择。
3.2主控模块设计
单片微型计算机是随着微型计算机的发展而产生和发展的。自从1975 年美国德克萨斯仪器公司的第一台单片微型计算机 简称单片机TMS-1000 问世以来迄今为止单片机技术已成为计算机技术的一个独特分支单片机的应用领域也越来越广泛特别是在工业控制中经常遇到对某些物理量进行定时采样与控制的问题在仪器仪表智能化中也扮演着极其重要的角色。
如果将8位单片机的推出作为起点那么单片机的发展历史大致可以分为以下几个阶段
第一阶段1976—1978单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代“单片机”一词即由此而来。
第二阶段1978—1982单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。
1完善的外部总线。MCS-51设置了经典的8位单片机的总线结构包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
2CPU外围功能单元的集中管理模式。
3体现工控特性的地址空间及位操作方式。
4指令系统趋于丰富和完善并且增加了许多突出控制功能的指令。
第三阶段1982—19908位单片机的巩固发展及16位单片机的推出阶段也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中体现了单片机的微控制器特征。
第四阶段1990—微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机以及小型廉价的专用型单片机。
单片机是在集成电路芯片上集成了各种元件的微型计算机这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点因此在现代电子技术和工业领域应用较为广泛在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机使仪器仪表智能化提高测试的自动化程度和精度提高计算机的运算速度简化仪器仪表的硬件结构提高其性能价格比。
单片机引脚介绍
单片机主要特点
1有优异的性能价格比。
2集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上内部采用总线结构减少了各芯片之间的连线大大提高了单片机的可靠性和抗干扰能力。另外其体积小对于强磁场环境易于采取屏蔽措施适合在恶劣环境下工作。
3控制功能强。为了满足工业控制的要求一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。
4低功耗、低电压便于生产便携式产品。
5外部总线增加了I2CInter-Integrated Circuit及SPI(Serial Peripheral Interface)等串行总线方式进一步缩小了体积简化了结构。
6单片机的系统扩展和系统配置较典型、规范容易构成各种规模的应用系统。
优异的性能价格比。
1集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯片上内部采用总线结构减少了各芯片之间的连线大大提高了单片机的可靠性与抗干扰能力。另外其体积小对于强磁场环境易于采取屏蔽措施适合于在恶劣环境下工作。
此外程序多采取固化形式也可以提高可靠性。
2控制功能强。
为了满足工业控制要求一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。
单片机的系统扩展、系统配置较典型、规范容易构成各种规模的应用系统。 VCCSTC89C52电源正端输入接5V。
GND电源地端。
XTAL1: 单芯片系统时钟的反相放大器输入端。
XTAL2 系统时钟的反相放大器输出端一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了此外可以在两引脚与地之间加入一 20PF 的小电容可以使系统更稳定避免噪声干扰而死机。
RESETSTC89C52的重置引脚高电平动作当要对晶片重置时只要对此引脚电平提升至高电平并保持两个机器周期以上的时间AT89S51便能完成系统重置的各项动作使得内部特殊功能寄存器之内容均被设成已知状态并且至地址0000H处开始读入程序代码而执行程序。
EA/VppEA为英文External Access的缩写表示存取外部程序代码之意低电平动作也就是说当此引脚接低电平后系统会取用外部的程序代码存于外部EPROM中来执行程序。因此在8031及8032中EA引脚必须接低电平因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时此引脚要接成高电平。此外在将程序代码烧录至8751内部EPROM时可以利用此引脚来输入21V的烧录高压Vpp。
ALE/PROGALE是英文Address Latch Enable的缩写表示地址锁存器启用信号。STC89C52可以利用这支引脚来触发外部的8位锁存器如74LS373将端口0的地址总线A0A7锁进锁存器中因为STC89C52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时此引脚会被当成程序规划的特殊功能来使用。
PSEN此为Program Store Enable的缩写其意为程序储存启用当8051被设成为读取外部程序代码工作模式时EA0会送出此信号以便取得程序代码通常这支脚是接到EPROM的OE脚。STC89C52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0P0.0P0.7端口0是一个8位宽的开路汲极Open Drain双向输出入端口共有8个位P0.0表示位0P0.1表示位1依此类推。其他三个I/O端口P1、P2、P3则不具有此电路组态而是内部有一提升电路P0在当做I/O用时可以推动8个LS的TTL负载。
PORT2P2.0P2.7端口2是具有内部提升电路的双向I/O端口每一个引脚可以推动4个LS的TTL负载若将端口2的输出设为高电平时此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外若是在STC89C52扩充外接程序存储器或数据存储器时也提供地址总线的高字节A8A15这个时候P2便不能当做I/O来使用了。
PORT1P1.0P1.7端口1也是具有内部提升电路的双向I/O端口其输出缓冲器可以推动4个LS TTL负载同样地若将端口1的输出设为高电平便是由此端口来输入数据。如果是使用8052或是8032的话P1.0又当做定时器2的外部脉冲输入脚而P1.1可以有T2EX功能可以做外部中断输入的触发脚位。
PORT3P3.0P3.7端口3也具有内部提升电路的双向I/O端口其输出缓冲器可以推动4个TTL负载同时还多工具有其他的额外特殊功能包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下
P3.0RXD串行通信输入。
P3.1TXD串行通信输出。
P3.2INT0外部中断0输入。
P3.3INT1外部中断1输入。
P3.4T0计时计数器0输入。
P3.5T1计时计数器1输入。
P3.6WR外部数据存储器的写入信号。
P3.7RD外部数据存储器的读取信号。
RST复位输入。当振荡器复位器件时要保持RST脚两个机器周期的高电平时间。
ALE/PROG当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间此引脚用于输入编程脉冲。在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时 ALE只有在执行MOVXMOVC指令是ALE才起作用。另外该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止置位无效。
PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间每个机器周期两次/PSEN有效。但在访问外部数据存储器时这两次有效的/PSEN信号将不出现。
EA/VPP当/EA保持低电平时则在此期间外部程序存储器0000H-FFFFH不管是否有内部程序存储器。注意加密方式1时/EA将内部锁定为RESET当/EA端保持高电平时此间内部程序存储器。
单片机最小系统
单片机芯片内还有一项主要内容就是并行I/O口。STC89C51共有4个8位的并行I/O口分别记作P0、P1、P2、P3。每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。实际上它们已被归入专用寄存器之列并且具有字节寻址和位寻址功能。在访问片外扩展存储器时低8位地址和数据由P0口分时传送高8位地址由P2口传送。在无片外扩展存储器的系统中这4个口的每一位均可作为双向的I/O端口使用。
单片机的4个I/O口都是8位双向口这些口在结构和特性上是基本相同的但又各具特点。
STC89C51单片机的时钟信号通常有两种方式产生一是内部时钟方式二是外部时钟方式。在单片机内部有一振荡电路只要在单片机的XTAL1和XTAL2引脚外接石英晶体简称晶振就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振电容值在5-30pF典型值为30pF。晶振CYS的振荡频率范围在1.2-12MHz间选择典型值为12MHz和11.0592MHz。
当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时单片机内部就执行复位操作若该引脚持续保持高电平单片机就处于循环复位状态。
复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用6MHZ时C取22uF,R取1KΩ。除了上电复位外有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源Vcc接通而实现的。
四、原理图
在本设计做的过程中硬件和软件方面都遇到了许多问题但是相比于软件在硬件方面还是比较快解决的方面因为硬件是比较容易检查出来错误的软件比较晦涩难懂还是有一定难度。 在硬件调试问题上首先焊接好了元器件实物板后先用万用表测量这个工业板子的电源方面电源方面是最重要的问题应该是特别需要检查的地方以防止电源的短路和正负极的错误。然后在仔细检查电路的连接是否有问题或者有没有虚焊或者没有焊接到的地方然后核对一下元器件的安装是否有问题安装上去是否符合规定由于已经是大学四年都是做过了很多实训过来了对于这些还是游刃有余的但是在上机调试后还是发现了很多的问题。 五、PCB图
在本设计做的过程中硬件和软件方面都遇到了许多问题但是相比于软件在硬件方面还是比较快解决的方面因为硬件是比较容易检查出来错误的软件比较晦涩难懂还是有一定难度。在硬件调试问题上首先焊接好了元器件实物板后先用万用表测量这个工业板子的电源方面电源方面是最重要的问题应该是特别需要检查的地方以防止电源的短路和正负极的错误。然后在仔细检查电路的连接是否有问题或者有没有虚焊或者没有焊接到的地方然后核对一下元器件的安装是否有问题安装上去是否符合规定由于已经是大学四年都是做过了很多实训过来了对于这些还是游刃有余的但是在上机调试后还是发现了很多的问题。 六、Proteus仿真 七、部分程序源码
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统与汇编相比C语言在功能上、结构性、可读性、可维护性上有明显的优势因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案通过一个集成开发环境μVision将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程那么Keil几乎就是你的不二之选即使不使用C语言而仅用汇编语言编程其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 资料包括 需要完整的资料可以加入我的纷传圈子里面有资源压缩包的百度网盘下载地址及提取码。
纷传点击用微信打开即可过程有点繁琐请见谅。