当前位置:文档之家› 51单片机1602液晶显示频率计毕业设计

51单片机1602液晶显示频率计毕业设计

摘要

在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的关系。由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度。因此,频率的测量就显得尤为重要,测频方法的研究越来越受到重视。

频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其它领域。随着微电子技术和计算机技术的迅速发展,特别是单片机的出现和发展,使传统的电子侧量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代侧量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。

为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89S52)相结合的频率计的设计方案,不但切实可行,而且体积小、保密性强、设计简单、成本低、精度高、可测频带宽,大大降低了设计成本和实现复杂度。频率计的硬件电路是用Protel绘图软件绘制而成,软件部分的单片机控制程序,是以KeilC做为开发工具用C语言编写而成,而频率计的实现则是选用Ptotues仿真软件来进行模拟和测试。

关键词:单片机;AT89S52;频率计;C语言

ABSTRACT

In the electronic field, frequency is a kind of most basic parameter, and all there are close relations in the measurement schemes of many other electric parameters and result of measuring. Because the signal anti-interference ability of frequency is strong, easy to transmit, can obtain higher measurement precision. So, the measurement of frequency seems particularly important, the research of the method is being paid attention to.

The Frequency meter, as one kind of the measuring instrument, often called the electronic counter, its basic function is that frequency and application of cycle Frequency meter of measuring the signal are in a very large range, it not only applies to general simple instrument measurement but also apply to other fields such as teaching, scientific research, high-accuracy instrument measuring, industrial control extensively. With the rapid development of microelectric technique and computer technology, especially appearance and development of the one-chip computer, the instruments have all changed enormously in such aspects as principle, function, precision and automatic level to enable the traditional electronic side amount, form a kind of side amount instrument of new generation that totally broke through the traditional concept. The Frequency meter has adopted the high-speed integrated circuit and large scale integrated circuit extensively, make the instrument change greatly in such aspects as miniaturize, power consumptive, dependability. At present, there are various digital Frequency meter of multi-function, high precision, high frequency on the market, but the price is high.

In order to meet the need of the real work, design and provide one this time The design plan of Frequency meter combining with one-chip computer (AT89S52) on a small scale, not only feasible, and small, of good security, design simply, with low costs, the precision is high, can examine the bandwidth frequently, have reduced the design cost and realized complexity greatly. The hardware circuit of the Frequency meter is drawing with Protel mapping software, the one-chip computer control procedure of the software part, regarded KeilC as the developing instrument to write in C language, but the realization of the Frequency meter was to select to carry on imitating and test with Protues artificial software.

Key Words:single chip computer; AT89S52; frequency meter; C language

目录

1 绪论 (1)

1.1 课题的引入 (1)

1.2 产生背景 (1)

1.3 国内外研究现状 (2)

1.4 单片机频率计设计的目的及意义 (2)

2AT89S52单片机介绍及其发展概况 (4)

2.1 单片机的介绍 (4)

2.1.1 单片机概述 (4)

2.1.2 单片机的发展 (5)

2.1.3 单片机的特点及应用 (5)

2.2AT89S52系列单片机 (6)

2.2.1AT89系列单片机 (6)

2.2.2AT89S52系列单片机的基本结构 (7)

3 频率计总体方案设计 (10)

3.1 频率计设计原理 (10)

3.1.1 频率检测实现方法 (10)

3.1.2 频率计测频原理 (11)

3.2 设计思路及方法 (11)

3.2.1 频率计方案概述 (12)

3.2.2 频率计的量程自动切换 (12)

4 系统的硬件设计 (14)

4.1 时钟信号发生器 (14)

4.2AT89S52 控制寄存器 (15)

4.2.1AT89S52中断控制系统 (15)

4.2.2AT89S52定时/计数器的控制 (17)

4.3LCD1602显示电路 (18)

4.3.1LCD1602的主要技术参数及接口说明 (19)

4.3.2 控制器接口及时序 (19)

4.3.3 频率计硬件电路整体设计 (20)

5 系统的软件设计 (22)

5.1Keil C简介 (22)

5.2 频率计程序的建立过程 (23)

5.3 软件功能模块设计 (27)

5.3.1LCD初始化设置模块 (28)

5.3.2 浮点数到ASCII码转换模块 (28)

5.3.3 定时/计数器初始化模块 (29)

5.3.4 定时器中断服务模块子程序 (29)

6 系统的模拟及仿真 (31)

6.1 Proteus ISIS简介 (31)

6.1.1 Proteus ISIS的概况简介及特点 (31)

6.1.2 Proteus ISIS的运行概况 (31)

6.1.3 用Proteus 软件虚拟单片机实验的优点 (32)

6.2 系统的模拟与仿真过程 (33)

6.3 频率计系统仿真分析 (37)

结束语 (41)

致谢 (42)

参考文献 (43)

1绪论

1.1课题的引入

在电子技术中,频率是一种计算单位时间内的信号变化的数值的仪器,是最基本的参数之一,由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度,并且与许多电参量的测量方案、测量结果都有十分密切的关系。因此,频率的测量就显得更为重要。

随着微电子技术和计算机技术的迅速发展,特别是单片机的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用单片机设计频率计,并采用适当的算法取代传统电路,克服了传统频率计结构复杂、稳定性差、精度不高的弊端,其体积小、保密性强、设计简单、成本低,不仅大大降低了设计成本和实现复杂度,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。[15]

1.2产生背景

频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其它领域。

20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料新工艺尚未成熟,美国仙童(Fairchild)公司研制出世界上第一台单片微型机F8。此时单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单,一般均把CPU、RAM有的还包括了一些简单的I/O口集成到芯片上,它还需配上外围的其他处理电路方才构成完整的计算系统。

问世以来,单片机开始迅速发展,其功能不断增强和完善,应用领域也越来越广泛,现已成为微型计算机的重要分支。目前,单片机发展具体体现在CPU功能增强内部资源增多引脚的多功能化和低电压低功耗等方面。

随着嵌入式系统式系统片上系统等概念的提出.普遍接受及应用,单片机的发展又进入了一个新的阶段,单片机的体积更小功能更齐全可靠性更高.由于起明显的优势,单片机

在工业控制、数据采集、智能仪器仪表、家用电器、智能玩具、通信系统、机械加工等各个领域都获得了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。单片机技术已成为现代电子技术应用领域十分重要的技术之一,是电子技术应用领域工程技术人员必备的知识和技能,它能够是我们设计的产品更具智能性和先进性。

从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用51系列单片机和高速计数器的组合设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。

1.3国内外研究现状

20世纪70年代,美国仙童(Fairchild)公司研制出世界上第一台单片微型机F8。单片机的问世和飞速发展掀起了计算机工程应用的一场新革命,使计算机技术冲破了实验室和机房的界限,广泛应用与工业控制系统数据采集系统自动测试系统只能仪表和接口以及各类功能模块等广阔的领域。随着嵌入式系统式系统片上系统等概念的提出.普遍接受及应用,单片机的发展又进入了一个新的阶段,单片机的体积更小功能更齐全可靠性更高。由于起明显的优势,单片机在工业控制、数据采集、智能仪器仪表、家用电器、智能玩具、通信系统、机械加工等各个领域都获得了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。单片机技术已成为现代电子技术应用领域十分重要的技术之一,是电子技术应用领域工程技术人员必备的知识和技能,它能够是我们设计的产品更具智能性和先进性。51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场。[5]

频率计也是一种应用较广泛的电子测量仪器。随着微电子技术和计算机技术的迅速发展,特别是单片微机的出现和发展,使传统的电子侧量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。

1.4单片机频率计设计的目的及意义

在电子技术中,频率是一种计算单位时间内的信号变化的数值的仪器,是最基本的

参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其它领域。目前市场上的频率计产品很多,但基本上都是采用专用计数芯片和数字逻辑电路组成,由于这些芯片本身的工作频率不高,从而限制了产品工作频率的提高,远不能满足在一些特殊的场合需要测量很高的频率的要求,而且测量精度也受到芯片本身极大的限制。从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用51系列单片机和高速计数器的组合设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。随着单片机技术的不断发展,单片机能实现更加灵活的逻辑控制功能,具有很强的数据处理能力,可以用单片机通过软件设计直接用十进制数字显示被测信号频率。频率计是电子测试、自动化控制等设备中不可或缺的重要模块。在电子工程、资源勘探、仪器仪表等相关应用中,频率计是工程技术人员必不可少的测量工具,频率测量也是电子测量技术中最基本最常见的测量之一。不少物理量的测量,如转速、振动频率等的测量都涉及到或可以转化为频率的测量。

目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89S52)相结合的频率计的设计方案,不但切实可行,而且体积小、保密性强、设计简单、成本低、精度高、可测频带宽,大大降低了设计成本和实现复杂度。

2AT89S52单片机介绍及其发展概况

2.1单片机的介绍

2.1.1单片机概述

单片机(Single-Chip-Microcomputer),又称单片微控器,是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM)、只读程序存储器(ROM)、输入/输出电路(I/O)、定时/计数器、中断系统、串行通讯口,可能还包括显示驱动电路、脉宽调制电路、模数转换等电路集成到一个半导体芯片上,构成一个最小而又完善的计算机系统。它们之间相互连接的结构框图如下图所示。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。单片机结构上的设计,在硬件.指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能。其结构图为2-1所示。

图2-1单片机结构图

虽然单片机只是一个芯片,但无论从组成还是从其逻辑功能上看,都具有微机系统的含义。另一方面,单片机毕竟是一个芯片,只有外加所需的输入输出设备,才能构成实用的单片机应用系统。单片机有着微处理器所不具备的功能,它可单独完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。[8]

然而单片机又不同于单板机,芯片在没有开发前,它只具备功能极强的超大规模集成电路,如果赋于它特定的程序,它便是一个最小的、完整的微型计算机控制系统,它与单板机或个人电脑有着本质的区别。单片机的应用属于芯片级应用,需要用户了解单片机芯片的结构和指令系统,以及其它集成电路应用技术和系统设计所需要的理论与技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。

单片机的应用极为广泛,它涉及智能仪器仪表、工业控制、计算机网络和通信以及

医用设备等领域。它以无与伦比的高性能、低价位赢得了广大电子开发者的喜爱。

2.1.2单片机的发展

1976年Intel公司推出了真正意义上的单片机MCS—48,它以体积小、功能全、价格低等自身魅力赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展史上一个重要的里程碑。在MCS—48的带领下,许多半导体芯片在生产厂商竞相研制和发展自己的单片机系列。到80年代末,世界各地已相继研制出大约50个系列300多个品种的单片机产品,其中包括Motorola公司的6801,6802,Zilog公司的Z-8系列,Rockwell 公司的6501,6502等。此外,日本的NEC公司,日立公司等也不甘落后,相继推出了各自的单片机品种如Zilog公司的Z80、Motorola公司的6801、6802系列等。[7]目前我国使用做多的是Intel公司在MCS-48的基础上于20世纪80年代初发展起来的8位的单片机MCS-51,直到现在仍不失为单片机的主流系列。继8位单片机之后,又出现了16位单片机,1983年Intel公司推出的MCS-96系列单片机就是其中的典型代表。

51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场。

纵观单片机近30年的发展历程,单片机今后将向多功能、高性能、高速度、低电压、低功耗、低价格、外围电路简单化以及片内存储器容量增加的方向发展。但其位数不一定会继续增加,尽管现在已经有了32位单片机,但使用的并不多。可以预言,今后的单片机将是功能更强,集成度和可靠性更高而功耗更低,以及使用更方便等特点。此外,专用化也是单片机的一个发展方向,针对单一用途的专用单片机将会越来越多。[12]

2.1.3单片机的特点及应用

一块单片机芯片就是具有一定规模的微型计算机,在加上必要的外围器件,就可以构成完整的计算机硬件系统。由于单片机的这种特殊的结构形式,使其具有很多显著的优点,单片机在各个领域内的应用都得到迅猛的发展。

1) 单片机的应用特点

①具有较高的性价比。高性能、低价格是单片机最显著的一个特点,其应用系统具有印制板小、接插件少、安装调试简单方便等特点,使单片机应用系统的性价比高于一般危机系统。

②体积小、可靠性高。

③控制功能强。单片机采用面向控制的指令系统,实时控制功能特别强。

④使用方便、容易产品化。

单片机开发开发工具具有很强的软硬件调试功能,使研制单片机应用系统极为方便,加之现场运行环境的可靠性,因此使单片机能满足许多小型对象的嵌入式应用要求,可广泛用在仪器仪表、家用电器、智能玩具、控制系统等领域。

2) 单片机的应用领域

单片机由于其体积小、功耗低、价格低廉,而且具有逻辑判断、定时计数、程序控制等多种功能,广泛应用于工业控制、数据采集、智能仪器仪表、家用电器、智能玩具、通信系统、机械加工等领域。可以毫不夸张的说,凡是能想到的地方,单片机都可以用得上。

①智能仪器

②工业控制

③家用电器

④机电一体化

单片机除以上各方面应用外,还广泛应用于办公自动化领域、汽车电路、通信系统、计算机外围设备等,称为计算机发展和应用的一个重要方向。单片机从其问世和发展以来从工业测控对象环境接口特点出发,向着增强控制功能提高工业环境的可靠性灵活方便地构成应用计算机系统的界面接口的方向发展。

2.2AT89S52系列单片机

ATMEL公司是美国20世纪80年代中期成立并发展起来的半导体公司。该公司的技术优势在于推出Flash存储器技术和高质量、高可靠性的生产技术,它率先将独特的Flash存储技术注入单片机产品中。其推出的AT89系列单片机,在世界电子技术行业中引起了极大的反响,在国内也受到广大用户欢迎。AT89S系列单片机时继AT89C系列之后推出的功能更强的新产品。

2.2.1AT89系列单片机

AT89系列单片机是以8051为内核,结合自己的技术优势构成的,所以它和8051是兼容的。因此,AT89系列对于以8051为基础的应用系统而言,是十分容易进行取代和构成的。

1)AT89系列单片机具有以下优点:

①和AT8051接插相兼容

AT89系列单片机的引脚和8051是一样的,其封装是按军工标准进行的,有很高的质量标准和产品稳定性。

②以EEPROM电可擦除和Flash技术为主导的存储器

ATMEL公司把EEPROM和Flash技术巧妙相结合形成特殊的集成电路,从而使应用领域扩大。

③静态时钟方式

AT89系列单片机采用静态时钟方式,可以节省带电能。这对于降低便携类产品的功耗十分有用。

④可反复进行应用系统试验

采用AT89系列单片机设计的应用系统,可以反复进行系统试验。每次试验可以编制不同的程序,这样可以保证用户的系统设计达到最优。

⑤高标准的质量检测

ATMEL公司能够对各种集成电路进行严格且高标准的质量检测。其军品集成电路工作性能是完全符合军品标准的,在-55~125℃范围内其集成电路仍能实现正常的输出功能。因此,产品在航空航天仪器、雷达系统、导弹、智能自适应仪、机器人、各种武器电子系统、抗恶劣环境电子系统等领域都被广泛应用。

AT89S系列于AT89C系列相比,预算速度有了较大的提高,它的静态工作频率为0~33MHZ,片内集成有双数据指针DPTR、定时监视器、低功耗休闲状态及关电方式、关电方式下的中断恢复等诸多功能,极大地满足了各种不同的应用要求。AT89S52单片机是AT89S系列中增强型高档产品,它片内存储器容量是AT89S51的一倍,即片内8K 的Flash程序存储器和256B的RAM。另外,它还增加了一个功能极强的、具有独特应用的16位定时/计数器2等多种功能。AT89S52系列单片机与MCS-51系列全兼容,它是在MCS-51的技术内核为主导的基础上倾注了ATMEL公司优良技术进行新的设计与开发,使之功能更强,更具特色,从而能够较快的学习和掌握,并具备广泛的开发环境,使开发应用更方便。[3]

2.2.2AT89S52系列单片机的基本结构

AT89S52单片机是AT89S系列中增强型高档产品,它片内存储器容量是AT89S51的一倍,即片内8K的Flash程序存储器和256B的RAM。另外,它还增加了一个功能极强的、具有独特应用的16位定时/计数器2等多种功能。AT89S52系列单片机与MCS-51系列全兼容,它是在MCS-51的技术内核为主导的基础上倾注了ATMEL公司优良技术进行新的设计与开发,使之功能更强,更具特色,从而能够较快的学习和掌握,并具备广泛的开发环境,使开发应用更方便。

1)AT89S52单片机介绍及其硬件结构

AT89S52是一个低功耗、高性能,采用CMOS工艺制造的8位单片机,是Atmel 公司AT89系列中的一款性能相当优异的高档型产品,兼容标准MCS—51指令系统及其引脚结构,与Atmel公司其它产品相比AT89S52的最大特点是:能在线编程,且编程连线极简单。AT89S52片内含8KB ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。

AT89S52具有如下特征参数:40个引脚、8KB Flash片内程序存储器、256KB的RAM,4个可编程I/O口、5个带2级中断嵌套的中断、3个16位可编程定时计数器、1个全双工串行通讯口、看门狗(WDT)电路、片内时钟振荡器。

此外,AT89S52设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。空闲掉电模式下,CPU暂停工作,而RAM、定时/计数器、串行口、外中断系统可继续工作;掉电模式下,“冻结”振荡器而保存RAM的数据,停止芯片其他功能直至外中断激活或硬件复位。

AT89S52单片机的主要功能:

8位字长CPU;

振荡器和时钟电路,全静态操作:0~33MHZ;

8KB系统内部可编程Flash存储器;

256KB内部RAM;

4个I/O共32位线;

3个16位定时/计数器;

全双工(UART)串行口通道;

ISP端口;

定时监视器(看门狗);

双数据指针(DPTR);

20多个特殊功能寄存器;

电源下降标志。

2)AT89S52单片机的几种封装形式

AT89S52其有效引脚为40条,具有PDIP、TQFP、PLCC三种封装形式,以适应不同产品的需求。

3)AT89S52单片机的引脚功能说明

①主电源引脚

Vss(GND)(20脚):电源地电平

Vcc(40脚):电源供电电压4.0~5.0V

外接晶振或外部振荡器引脚

XTAL1(19脚):当外接晶振时,接外部晶振的一个引脚。

XTAL2(18脚):接外部晶振的另一个引脚

②多功能I/O引脚

P0口(39~32脚):8位并行I/O口

P1口(1~8脚):内接上拉电阻的8位准双向I/O口,能负担4个TTL负载。它的第二功能如下:

P1.0(1脚):定时/计数器T2的外部计数输入

P1.1(2脚):定时/计数器T2捕获/再装入触发及方向控制

P1.5(6脚):MOSI(用于系统内部编程)

P1.6(7脚):MOSO(用于系统内部编程)

P1.7(8脚):SCK(用于系统内部编程)

P2口(21~28脚):内接上拉电阻的8位准双向I/O口,能接4个TTL负载

P3口(10~17脚):内接上拉电阻的8位准双向I/O口,能接4个TTL负载,其第二功能为:

P3.0(10脚):RXD(串行接收端口)

P3.1(11脚):TXD(串行发送端口)

P3.2(12脚):INT0(外部中断0请求端)

P3.3(13脚):INT1(外部中断1请求端)

P3.4(14脚):T0(定时/计数器0外部计数输入端)

P3.5(15脚):T1(定时/计数器1外部计数输入端)

P3.6(16脚):WR(外部数据写选通)

P3.7(17脚):RD(外部数据读选通)

③控制、选通和复位引脚

RST(9脚):复位信号输入端

ALE/PROG(30脚):ALE地址锁存使能端,PROG为Flash编程时输入编程脉冲

PSEN(29脚):访问外部程序存储器读选通信号

EA/Vpp(31脚):EA为访问内部或外部程序存储器选择信号,Vpp为Flash编程电压。

3频率计总体方案设计

3.1频率计设计原理

频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用两种办法,第一种方法是使用单片机自带的计数器对输入脉冲进行计数;第二种方法是单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取。第一种方法的好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。这种方法的缺陷是受限于单片机计数的晶振频率,输入的时钟频率通常是单片机晶振频率的几分之一甚至是几十分之一,在本次设计使用的AT89S52单片机,由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1”,后一个周期测出“0”。故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一。第二种方法的好处是输入的时钟信号频率可以不受单片机晶振频率的限制,可以对相对较高频率进行测量,但缺点是成本比第一种方法高,设计出来的系统结构和程序也比较复杂。由于成本有限,本次设计中采用第一种方法,因此输入的时钟信号最高频率不得高于12MHz/24=500KHz。对外部脉冲的占空比无特殊要求。

3.1.1频率检测实现方法

1) 计数法测频率

使用计数方法实现频率测量时,外部的待测信号为单片机定时/计数器0的计数源,利用定时/计数器1定时实现计数闸门。频率计的工作过程为:定时/计数器0的计数寄存器清0,运行控制位TR置1,启动定时/计数器工作;同时运行定时/计数器1定时1s,定时/计数器0对外部的待测信号进行计数,定时/计数器1定时1s时间到TR清0,停止计数。从计数寄存器0读出测量数据,测量数据在完成数据处理后,由显示电路显示量结果。单片机外接晶振为12MHz,单片机指令周期为1μs,当被测频率信号过高时单片机不能测量。

2) 定时法测频率

使用定时方法实现频率测量时,外部的待测信号通过频率计的分频器二分频变成宽度等于待测信号周期的方波,该方波加至定时/计数器1的输入脚,及外部中断INT1口,由INT1口高电平和软件置位TR1,同时控制启动定时/计数器1对单片机的机器周期的计数,并检测方波高电平是否结束;当判定高电平结束时TR1清0,停止计数,然后从

计数寄存器读出测量数据。这时读出的数据反映的是待测信号的周期,通过数据处理把周期值变换成频率值,由显示电路显示测量结果。

3.1.2频率计测频原理

频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。首先定时/计数器的计数寄存器清0,运行控制位TR置1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值(即测量频率的高量程)开始测量,计数闸门结束时TR清0,停止计数。计数寄存器中的数值经过数制转换程序从十六进制数转换为十进制数。判断该数的最高位,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的计数,直到满足测量数据有效位数的要求。

当上述测量判断过程直到计数闸门宽度达到1s(对应的频率测量范围为100~999Hz)时测量结果仍不具有3位有效数字,频率计则使用定时方法测量待测信号的周期。定时/计数器的工作被设置为定时器方式,定时/计数器的计数寄存器清0,在判断待测信号的上跳沿到来后,运行控制位TR置为1,以单片机工作周期为单位进行计数,直至信号的下跳沿到来,运行控制位TR清0,停止计数。16位定时/计数器的最高计数值为65 535,当待测信号的频率较低时,定时/计数器将发生溢出。产生溢出时,程序进入定时器中断服务程序,对溢出次数进行计数。待测信号的周期由3个字节组成:定时/计数器溢出次数、定时/计数器的高8位和低8位。信号的频率f与信号的周期T之间的关系为:f=1/T。

完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,采用浮点数算术运算。浮点数由3个字节组成:第1字节最高位为数符,其余7位为阶码;第2字节为尾数的高字节;第3字节为尾数的低字节。待测信号周期的3个字节定点数通过截取高16位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。再通过浮点数到ASCII 码转换模块把用浮点数格式表达的信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。完成显示后,频率计都开始下一次信号的频率测量。

3.2设计思路及方法

本频率计的结构主要包括时钟信号发生电路、分频电路、单片机控制电路和LCD 显示电路组成。频率计的主要核心部件是采用AT89S52来产生定时和记录脉冲变化次数,运用AT89S52来构成计数器,突破了大部分运用数字电路模板来构成计数器。本设计主要采用AT89S52芯片和LCD数码管来实现,软件编程主要是采用C51语言来编程。

其系统结构如下图所示:

图3-1频率计系统结构图

3.2.1频率计方案概述

本频率计的设计以AT89S52单片机为核心,利用他内部的定时/计数器完成待测信号周期/频率的测量。单片机AT89S52内部具有3个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1(使用12 MHz时钟时,每1μs加1),这样以机器周期为基准可以用来测量时间间隔。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的1/24(使用12MHz时钟时,最大计数速率为500 kHz)。定时/计数器的工作由运行控制位TR控制,当TR置1,定时/计数器开始计数;当TR清0,停止计数。

本设计综合考虑了频率测量精度和测量反应时间的要求。例如当要求频率测量结果为3位有效数字,这时如果待测信号的频率为1 Hz,则计数闸门宽度必须大于1000 s。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法:

①当待测信号的频率>100Hz时,定时/计数器构成为计数器,以机器周期为基准,由软件产生计数闸门,计数闸门宽度>1s时,即可满足频率测量结果为3位有效数字;

②当待测信号的频率<100Hz时,定时/计数器构成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号的周期。这时用方波作计数闸门,当待测信号的频率=100Hz,周期为10ms,使用12MHz时钟时的最小计数值为10000,完全满足测量精度的要求。

3.2.2频率计的量程自动切换

使用计数方法实现频率测量时,外部的待测信号为单片机定时/计数器的计数源,利用软件延时程序实现计数闸门。频率计的工作过程为:定时/计数器的计数寄存器清0,运行控制位TR置1,启动定时/计数器工作;运行软件延时程序,同时定时/计数器对外部的待测信号进行计数,延时结束时TR清0,停止计数。从计数寄存器读出测量数据,测量数据在完成数据处理后,由显示电路显示测量结果。

使用定时方法实现频率测量时,外部的待测信号通过频率计的预处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时/计数器的输入脚。工作高电平是否加至定时/计数器的输入脚;当判定高电平加至定时/计数器的输入脚,运行控制位TR置1,启动定时/计数器对单片机的机器周期的计数,同时检测方波高电平是否结束;当判定高电平结束时TR清0,停止计数,然后从计数寄存器读出测量数据。这时读出的数据反映的是待测信号的周期,通过数据处理把周期值变换成频率值,由显示电路显示测量结果。

测量结果的显示格式采用科学计数法,即有效数字乘以10为底的幂。这里设计的频率计用5位数码管显示测量结果:前3位为测量结果的有效数字;第4位为指数的符号;第5位为指数的值。采用这种显示格式既保证了测量结果的显示精度,又保证了测量结果的显示范围(0.100Hz~9.99MHz)。

频率计测量量程自动转换的过程由频率计测量量程的高端开始。由于只显示3位有效数字,测量量程的高端计数闸门不需要太宽,例如在进入计数器的信号频率范围在10.0~99.9kHz,计数闸门宽度为10ms即可。频率计开始工作时使用计数方法实现频率测量,并使计数闸门宽度为最窄,完成测量后判断测量结果是否具有3位有效数字,如果成立,将结果送去显示,完成测量工作;否则将计数闸门宽度扩大10倍,继续进行测量判断,直到计数闸门宽度达到1s,这时对应的进入单片机的待测信号频率范围为100~999Hz。如果测量结果仍不具有3位有效数字,频率计则使用定时方法实现频率测量。

定时方法测量的是待测信号的周期,这种方法只设一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将结果送去显示。无论采用何种方式,只要完成一次测量,频率计自动开始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转换。

4系统的硬件设计

本频率计的硬件电路主要由时钟信号发生器、频率计控制电路和LCD显示电路组成。频率计的主要核心部件是采用AT89S52的内部定时/计数器来产生定时和记录脉冲变化次数。主要用到的元器件有晶振器件、电阻、74LS04、74LS74、74LS00、AT89S52单片机、LCD1602等。其硬件系统框图如3-2所示:

图3-2 硬件系统框图

4.1时钟信号发生器

时钟信号发生器是频率计的频率信号产生电路,它是由一个晶振、两个电阻、一个电容及两个非门74LS04构成的工作于串联谐振状态的TTL门电路振荡器。当电路频率为串联谐振频率时,晶体的等效电抗接近零(发生串联谐振),串联谐振频率信号最容易通过闭环回路,这个频率信号通过两级反相后形成反馈振荡,晶体同时也担任着选频作用,在工作于串联谐振状态的振荡电路,它的频率取决于晶体本身具有的频率参数。也就是说,石英晶体多谐多谐振荡器的振荡频率取决于石英晶体的固有谐振频率,与外接电阻、电容无关。图4-1为频率计的时钟信号发生电路的原理图:

图4-1 时钟信号发生原理图

4.2AT89S52 控制寄存器

4.2.1AT89S52中断控制系统

AT89S52的中断系统共有8个中断源,6个中断矢量,两级中断优先级,可有软件设定实现两级嵌套,可通过软件来屏蔽或响应个对应的中断请求。

1)AT89S52中断源

AT89S52的中断系统有8个中断源,对应有6个中断矢量。其外部中断有两种触发中断的方式,即低电平触发和跳转触发。各种中断请求信号分别由定时/计数器控制寄存器TCON和串行通信控制寄存器SCON的相应位锁存,提供给主机查询和采样。

TCON控制寄存器是由定时计数器和中断请求两者合用,其格式如表4-1:

表4-1 TCON控制寄存器

各位含义如下:

TF1:定时/计数器1回0溢出中断请求标志位

TR1:定时/计数器1启/停控制位

TF0:定时/计数器0回0溢出中断请求标志位

TR0:定时/计数器0启/停控制位

IE1:外部中断(INT1)请求标志位

IE0:外部中断(INT0)请求标志位

IT1:用软件置位/复位IT1来选择外部中断INT1是跳变还是电平触发中断请求

IT0:用软件置位/复位IT1来选择外部中断INT1是跳变还是电平触发中断请求

2) 中断控制

AT89S52的中断是可编程的,即可通过软件来实现对中断系统功能进行设置和控制。

AT89S52的中断均属可屏蔽中断,即通过软件对特殊功能寄存器IE的设置,实现对各中断源的中断请求开放或屏蔽的控制。中断控制寄存器IE的格式及各位含义如表4-2所示:

EA(IE.7):全部中断允许/禁止位。

X(IE.6):保留位,无意义。

ET2(IE.5):定时/计数器2回0溢出或捕获中断响应控制。

ES(IE.4):串行通信接收/发送中断响应控制位。

ET1(IE.3):定时/计数器1回0溢出或捕获中断响应控制。

EX1(IE.2):外部中断INT1中断响应控制位。

ET0(IE.1):定时/计数器0回0溢出或捕获中断响应控制。

EX0(IE.0):外部中断INT0中断响应控制位。

从上可见AT89S52的中断响应为两级控制,EA为总的中断响应控制位,各对应的中断源还有中断响应控制位。

3) 中断优先级

AT89S52的中断设有两级优先级,每个中断源均可通过软件对中断优先级寄存器IP 的对应位进行设置,变成为高优先级或低优先级,置1为高优先级,清0为低优先级。正在执行的低优先级中断服务程序可以被高优先级的中断请求所中断,但不能被同级或低优先级中断源中断请求所中断;正在执行的高优先级的中断服务程序不能被任何中断源中断请求所中断。两个或两个以上的中断源同时请求中断时,主机只响应优先级高的中断请求。为了实现上诉述规则,中断系统内部设有两个不可寻址的中断优先级状态触发器,其中一个用于指示正在服务于高优先级的中断,并阻止所有其他一切中断请求的响应,另外一个则用于指示正在服务于低高优先级的中断,除能被高优先级中断请求所终端外,阻止其他同级或低于它的中断请求所中断。

中断优先级控制器IP,其地址字节为B8H,具有位寻址功能,可通过软件设定各个中断源的中断优先级。IP控制寄存器的格式如表4-3所示:

表4-3 IP控制寄存器格式

各位含义如下:

X、X (IP.6、IP.7):保留位,无定意义。

PT2(IP.5):定时/计数器2的中断优先级设置位。

PS(IP.4):串行通信中断优先级设置位。

PT1(IP.3):定时/计数器1的中断优先级设置位。

PX1(IP.2):外部中断INT1中断优先级设置位

PT0(IP.1):定时/计数器0的中断优先级设置位。

PX0(IP.0)::外部中断INT0中断优先级设置位

复位后IP的内容为00H。

相关主题
文本预览
相关文档 最新文档