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

下载本文档

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

文档简介

1、基于单片机的数字频率计设计摘 要数字频率计是一个将被测频率显示出来的装置,其广泛应用于各个领域,在许多设计复杂、功能多样的电子设备中,都使用了数字频率计。数字频率计是数字测量技术中的一个典型应用,虽然一些数字频率计的功能复杂,但是使用起来既简单又方便。本设计以89c51单片机为核心,应用单片机的算术运算和控制功能并采用led数码显示管将所测频率显示出来。系统简单可靠、操作简易,能基本满足一般情况下的需要。既保证了系统的测频精度,又使系统具有较好的实时性。本频率计设计简洁,便于携带,扩展能力强,适用范围广。关键词单片机,运算,频率计,led数码管 the design of the cymome

2、ter based on mcuabstract: digital cymometer count is a device for counting the cymometer and display it. the device is widely used in many case .among the complicate , multi-function device ,we all use the dif . digital cymometer meter is a digital circuit in a typical application, the actual hardwa

3、re design of devices used in more complicated connection, poor reliability although some of the cymometer is complicate ,but it is very easy to use .so this design is mainly focus on 89c51. and late display on the led. the system is easy to use not only ensure the degree ,and real-time right. the cy

4、mometer of the design of simple, portable, scalable, and applicable to a wide range.key words: mcu, computing ,cymometer , led digital display tube目 录前 言1第一章绪论21.1课题背景21.2 课题研究的目的和意义21.3 数字频率计发展概况21.4 课题内容2第二章 系统硬件设计32.1 数字频率计的基本原理32.2 单片机89c5142.3 led数码显示管72.4 7407缓冲器82.5 74ls290异步十进制计数器102.6反相施密特触

5、发器7414112.7 5v电源电路122.8系统原理图12第三章 系统软件设计143.1信号处理143.2中断控制143.2.1定时器/计数器153.2.2定时工作方式0153.3程序流程163.3.1主程序流程163.3.2 中断流程16第四章 实验测试结果19参考文献20致 谢21附 录(程序)22前 言在电子测量领域中,频率测量的精确度是最高的1,可达1010e-13数量级。因此,在生产过程中许多物理量,例如温度、压力、流量、液位、ph值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。 国际上数字频率计的分类很多2。

6、按功能分类,因计数式频率计的测量功能很多,用途很广,所以根据仪器具有的功能,电子计数器有通用和专用之分。(1)通用型计数器:是一种具有多种测量功能、多种用途的万能计数器。它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等;若配上相应插件,就可测相位、电压、电流、功率、电阻等电量;配上适当的传感器,还可进行长度、重量、压力、温度、速度等非电量的测量。(2)专用计数器:指专门用来测量某种单一功能的计数器。如频率计数器,只能专门用来测量高频和微波频率;时间计数器,是以测量时间为基础的计数器,其测时分辨力和准确度很高,可达ns数量级;特种计数器,它具有特种功能,如可逆计数器、予置计数器、差值

7、计数器、倒数计数器等,用于工业和白控技术等方面。数字频率计按频段分类 (1)低速计数器:最高计数频率10mhz; (2)中速计数器:最高计数频率10100mhz; (3)高速计数器:最高计数频率100mhz; (4)微波频率计数器:测频范围180ghz或更高。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用c

8、mos工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。第一章 绪论1.1课题背景 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。频率计的基本原理3是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就

9、越快,但测得的频率精度就受影响。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。1.2 课题研究的目的和意义单片机数字频率计以其可靠性高、体积小、价格低、功能全等优点,广泛地应用于各种智能仪器中,这些智能仪器的操作在进行仪器校核以及测量过程的控制中,达到了自动化,传统仪器面板上的开关和旋钮被键盘所代替,测试人员在测量时只需按需要的键,省掉很多烦琐的人工调节,智能仪器通常能自动选择量程,自动校准。有的还能自动调整测试点,这样不仅方便了操作,也提高了测试

10、精度。1.3 数字频率计发展概况数字频率计广泛的应用于各个领域,在许多设计复杂、功能多样的电子设备中,都使用了数字频率计。虽然一些数字频率计的功能复杂,但是使用起来既简单又方便。由于大规模和超大规模数字集成电路技术、数据通信技术与单片机技术的结合,数字频率计发展进入了智能化和微型化的新阶段。其功能进一步扩大,除了测量频率、频率比、周期、时间、相位、相位差等基本功能外,还具有自捡、自校、自诊断、数理统计、计算方均根值、数据存储和数据通信等功能。此外,还能测量电压、电流、阻抗、功率和波形等。1.4 课题内容 本课题是由信号输入、信号收集、信号处理、显示四个部分组成。该设计简洁,应用了89c51、7

11、407和led数码显示管三大硬件。89c51单片机比以往的51单片机强大了很多,功能更全,方便了设计。7407驱动led数码显示管,节省了led数码管复杂线路的连线。虽然功能简单,但其频率的测量基本满足需求,和市场上的一些数字频率相比具有易操作,算法简洁可行,整个频率计简单实用。测量范围是从1hz-9khz的正弦波,方波,三角波。本设计给出5v电源电路,由桥堆、电容、7805稳压管所构成的输入9v电压输出5v电压电路。 注:9v电压的产生,220v交流电通过变压器输出9v交流电。第二章 系统硬件设计数字频率计是一个将被测频率显示出来的计数装置,它主要由单片机89c51控制、7407、led显示

12、器、电源等组成。该系统的功能是将信号输入p3.4口,通过单片机程序控制,对led显示器进行段控和位控,实现动态显示。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。在进行有关电子技术的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。图2-1为数字频率计方案框图。7407缓冲器信号处理输入stc89c51单片机7407缓冲器led数码显示 图 2-1 数字频率计方框图 2.1 数字频率计的基本原理数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置,它可以测量正弦波、方波、三角波信号的频率。其基本原理4是,被测信号fs

13、首先经整形电路变成计数器所要求的脉冲信号,频率与被测信号的频率fx相同。时钟电路产生时间基准信号,分频后控制计数与保持状态。当其低电平时,计数器计数;高电平时,计数器处于保持状态,数据送入锁存器进行锁存显示。然后对计数器清零,准备下一次计数。所谓频率,就是周期性信号在单位时间(1s)里变化的次数。若在一定时间间隔t内测得的这个周期性信号的重复变化次数n,则其频率可表示为:f=n/t因此,数字频率计测频率时的原理框图如图2-2。整形闸门计数译码显示门控信号时机信号脉冲信号图2-2原理框图其中整形电路作用:将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号

14、,其周期为1s。闸门信号由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。在使用计数器方法实现频率测量时,这时外部的待测信号位定时、计数器的计数源,利用软件延迟程序实现计数闸门。在使用定时方法5实现频率测量时,这时外部的待测信号通过频率计的预处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时/计数器的输入脚。这时频率计的工作过程为:首先定时/计数器的计数寄存器清0,然后检测方波高电平是否加至定时/计数器的输入脚,当判定高电平加至定时/计数器的输入脚,运行控制位tr置1,启动定时/计数器对单片机的机器周期的计数

15、,同时检测方波高电平是否结束;当判定高电平结束时tr清0,停止计数,然后从计数器存期读出测量数据,在完成数据处理后,由显示电路显示测量结果。2.2 单片机89c51 单片微型计算机scmc (single chip microcomputer)简称单片机。它是把组成微型计算机的各功能部件:中央处理器cpu(central processing unit)、随机存储器ram(random access memory)、只读存储器rom(read access memory)、i/o (input/output)接口电路、定时器/计数器以及串行通讯接口等部件制作在一块集成芯片中,构成一个完整的微型

16、计算机。由于它的结构与指令功能都是按照工业控制要求设计的,故又叫单片微控制器。近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。stc89c516可以完成isp在线编程功能,stc89c51内部有eeprom,可以在程序中修改,断电不丢失。还增加了两级中断优先级,stc推出的系列51单片机芯片是全面兼容其它51单片机的,而且51单片机是主流大军。频率测量电路选用89c51作为频

17、率计的信号处理核心。89c51包含了2个16位定时/计数器、1各具有同步移位寄存器方式的串行输入/输出口和4k8位片内flash程序存储器。16位定时/计数器用于实现待测信号的频率测量或者待测信号的周期测量。同步移位寄存器方式的串行输入/输出口用于吧测量结果送到显示电路。4k8位片内flash程序存储器用于放置系统软件。189c51芯片介绍许多由关硬件设计中都使用到单片机89c51,其功能7比以往的单片机强大的多。89c51引脚图如图2-3所示。 图2-3 89c51引脚图芯片引脚功能:主电源引脚vcc和vssvcc(40脚):接5v电压;vss(20脚):接地。8031晶振接法如图2-4。

18、图2-4 8031晶振接法图选用6mhz频率的晶体,允许输入的脉冲频率为250khz。电容的大小范围为20pf40pf,本设计选用30pf电容。rst/vpd(9脚):当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单片机复位。ale/ (30脚):当访问外部存储器时,ale(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ale端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ale脉冲。ale端可以驱动(吸收或输出电流)8个ls型的ttl输入电路。ps

19、en/ (29脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次 有效。但在此期间,每当访问外部数据存储器时,这两次有效的 信号将不出现。 ea/(31脚):当保持高电平时,访问内部程序存储器;保持低电平时,则只访问外部程序存储器。 xtal1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器,振荡器反相放大器以及内部时钟电路的输入端。xtal2(18脚):接外部晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端,振荡器反相放大器的输出端。p05口(39脚32脚):是双向8位三态

20、i/o口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个ls ttl负载。p1口(1脚8脚):是8位准双向i/o口。由于这种接口输出没有高阻状态,输入也不能锁存。p2口(21脚28脚):是8位准双向i/o口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对eprom编程和程序验证期间,它接收高8位地址。p2可以驱动(吸收或输出电流)4个ls ttl负载。p3口(10脚17脚):是8位准双向i/o口。在mcs51中,这8个引脚还用于专门功能,是复用双功能口。p3能驱动(吸收或输出电流)4个ls ttl负载。注:p3口各线的第2功能定义:口线引

21、脚第二功能p3.010rxd(串行输入口)p3.111txd(串行输出口)p3.212 (外部中断0)p3.313 (外部中断1)p3.414t0(定时器0外部输入)p3.515t1(定时器1外部输入)p3.616 (外部数据存储器写脉冲)p3.717 (外部数据存储器读脉冲)2单片机复位状态单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的rst引脚上出现24个时钟震荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,在设计复位电路时,通常使rst引脚保持10ms以上的高电平。只要保持高电平,则mcs-51单片机就循环复位;当rst从高

22、电平变为低电平以后,mcs-51单片机从0000h地址开始执行程序。在复位有效期间,ale、 引脚输出高电平。8031上电复位电路图。图2-5 8031上电复位电路图单片机复位状态表。 表 2-1 单片机复位状态表专用寄存器复位状态专用寄存器复位状态pc0000htmod00hacc00htcon00hb00hth000hpsw00htl000hsp07hth100hdptr0000htl100hp0p3ffhscon00hipxxx0 0000bsbufxxxx xxxxbie0xx0 0000bpcon0xxx xxxxb 注:xxx不定复位后,p0口p3口输出高电平,且使这些准双向口皆处

23、于输入状态,并且将07h写入栈指针sp(即设定堆栈底为07h),同时,将程序计数器pc和其余的特殊功能寄存器清为0(不定的位除外)。但复位不影响单片机内部的ram状态。2.3 led数码显示管在单片机系统中,常用的显示器有:发光二极管显示器,简称led;液晶显示器,简称lcd;荧光管显示器。而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分等。2.3.1 led段显示器结构与原理led显示器是由发光二极管显示字段组成的显示块,有7段和“米”字段之分。这种显示块有共阳极和共阴极两种。此外,显示块中还有一个圆点型发光二极管(在图中以dp表示)用于显示小数点。通过发

24、光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。led显示块中的发光二极管共有两种连接方法:(1)共阳极接法发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5v,这样,阴极端输入低电平的段的发光二极管被点亮,相应的段被显示;而输入高电平的段则不点亮。(2)共阴极接法发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样,阳极端输入高电平的段的发光二极管被点亮,相应的段被显示;而输入低电平的段则不点亮。数码管引脚如图2-6。 图2-6 数码管引脚图共阴和共阳结构的led显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字

25、符。8个笔划段dp、g、f、e、d、c、b、a对应于一个字节(8位)的d7、d6、d5、d4、d3、d2、d1、d0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴led显示器,当公共阴极接地(为零电平),而阳极dp、g、f、e、d、c、b、a各段为0111011时,显示器显示p字符,即对于共阴极led显示器,“p”字符的字形码是73h。如果是共阳led显示器,公共阳极接高电平,显示“p”字符的字形代码应为10001100(8ch)。用led显示器显示十进制转换成十六进制数的字形代码在表2-2中列出。表2-2 led十六进制的数字代码表字形共阳极代码共阴极代码字形共阳极代码共

26、阴极代码0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3boh4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf8eh71h7f8h07h灭ffh00h880h7fh 2.4 7407缓冲器由于发光二极管通常需要几个几十个毫安的驱动电流才能发光,因此,每个显示器必须用一个七位的驱动器才能正常工作,驱动电路可以用7407 ttl集电极开路六正相高压驱动器来实现。7407引脚图如图2-7所示。图2-7 7407引脚图7407内部图如图2-8所示。图2-8 7407内部图7407内部指针图如图2-9所示。图2-9 内部指

27、针方向7407真值表如表2-3所示。 表2-3 7407真值表2.5 74ls290异步十进制计数器74ls290是异步十进制计数器。它由一个二进制计数器和一个异步五进制计数器组成6。74ls290引脚图如图2-10所示。图2-10 74ls290引脚图当复位输入r0(1)=r0(2)=1,且置位输入s9(1)s9(2)=0时,74ls290的输出被直接置零;只要置位输入s9(1)s9(2)=1,则74ls290的输出将被直接置9,即 =1001;只有当s9(1)和s9(2)不全为1,并且r0(1)和r0(2)不全为1时,输入计数脉冲cp,计数器开始计数。计数脉冲由cp0输入,从q0输出时,则

28、构成二进制计数器;计数脉冲由cp1输入,输出为q2q1q0时,则构成五进制计数器;若将q0和cp1相连,计数脉冲由cp0输入,输出为q3q2q1q0时,则构成十进制(8421码)计数器;若将q3和cp0相连,计数脉冲由cp1输入,输出为q3q2q1q0时,则构成十进制(5421码)计数器。因此,74ls290又称为“二五十进制型集成计数器”。异步清零端 mr1,mr2 为高电平时,只要置9端 ms1,ms2有一个为低电平,就可以完成清零功能。当 ms1,ms2 均为高电平时,不管其他输入端状态如何,就可以完成置 9的功能。当 mr1,mr2 中有一个以及 ms1,ms2 中有一个同时为低电平时

29、,在时钟端/cp0,/cp1脉冲下降沿作用下进行计数操作。a) 十进制计数。应将/cp1 与 q0 连接,计数脉冲由/cp0 输入。b) 二、五混合进制计数。应将/cp0 与 q1 连接,计数脉冲由/cp1 输入。c) 二分频、五分频计数。q0 为二分频输出,q1q3 为五分频输出。 引出端符号功能如下。 cp0 二分频时钟输入端(下降沿有效) cp1 五分频时钟输入端(下降沿有效)qaqd 输出端mr1,mr2 异步复位端ms1,ms2 异步置9端74ls290的级联扩展如表2-4所示。表2-4 74ls290 级联扩展说明cp输入端输出端进制输出状态分频端cp0q0二0、1q0为二分频端c

30、p1q3q2q1五000100q3为五分频端cp0且q0与cp1相连q3q2q1q0十00001001q3为十分频端74ls290十进制的电路连接如图2-11所示。图2-11 74ls290十进制计数器两片接成十进制的74ls290级联组成210=20进制异步加法计数器如图2-12所示。图2-12 二十进制异步加法计数器本设计中因为要对信号进行20分频,所以要使用两块74ls290进行级联。一块74ls290用作2分频,一块74ls290用作10分频。信号由第一块74ls290的cp0输入从q0输出,这样信号就经过了2分频,再把信号输入第二块74ls290的cp0并且第二块74ls290的cp

31、1与q0相连,这时从第二块74ls290的q3输出的信号就已经完成了20分频。2.6反相施密特触发器74147414是六反相施密特触发器集成电路,其基本作用就是反相器,一般用于信号输入电路,用施密特触发器对输入信号进行波形整形。其功能作用如图2-13所示。图2-13 输入-输出波形图本设计为满足设计要求,被测信号是要进行波形的变换。由第一级的零偏置放大器把正弦波样的正负交替波形变换成单向脉冲,再经过7414将放大器产生的单向脉冲变换成与ttl/cmos电平相兼容的方波。这样处理以后信号变成方波信号,以便后续的电路进行计数。2.7 5v电源电路 使用变压器提供到ac桥堆的输入脚为9v交流电压,通

32、过ac整流输出为9v直流电,经过电解电容滤波、7805稳压,提供给89c51单片机为5v电压。5v电源电路如图2-12所示。图2-14 5v电源电路图2.8系统原理图数字频率设计思路:测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理图如图2-15所示。图2-15 数字频率计电路原理图第三章 系统软件设计3.1信号处理在频率计开始工作,或者完成一次频率测量,系统软件都进行测量初始化8。测量初始化模块设置堆栈指针(sp)、工作寄存器、中断控制和定时/计数器的工作方式。定时/计数器的工作首先被设置为计数器的计数寄存器清0后,置运行控制位tr为1,启动对待测

33、信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。计数闸门结束时tr清0,停止计数。计数寄存器中的值通过16进制数道10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的技术,直到满足测量数据有效位数的要求。待测信号经预处理电路分频后变成较宽的方波信号,并加至单片机的p3.4引脚,为单片机测信号频率提供有效的输入信号。单片机通过检测p3.4引脚来判断是否启动测周期程序。当该引脚为高电平时则等待,知道该引脚出现

34、低电平时才开始测周期。首先将零赋给th0、tl0两个寄存器,将定时器t0的运行控制位tr0置位,同时也将et0置位以允许定时器t0终端,然后再判断p3.4引脚是否还为低电平,当不是低电平时则等待。一旦出现低电平则使tr0复位以终止定时器,测周期程序结束。在测周期过程中,会发生定时器t0的中断,每发生一次中断则将r0寄存器加一,因此r0实际上是周期值的高字节。测出的周期值存储在r0、th0、tl0三个寄存器中,然后将其转换成频率。由于所测周期的单位是s,再相除转换时要将被除数扩大10倍,这样才能保证得出正确的频率。得出的频率放到r1、r2、r3三个寄存器后调用转换bcd代码模块。调用显示消除多余

35、零和显示数据存储模块,将要显示的频率值通过查表转换成相应数据8段码放到现实缓冲区以备显示。3.2中断控制 由于在程序设计中用到中断9方式,所以我们在此对单片机中断系统中的中断控制作一下介绍。中断是工业过程控制及智能化仪器用微型机或单片机应用最多的一种数据传送方式。在通常情况下,单片机执行主程序,只有当正常状态出现故障,或发出中断请求时,单片机才暂停执行主程序,转去执行或处理中断服务程序,执行完中断服务程序后,再返回到主程序继续运行。单片机的这一种工作过程称为中断方式。基于资源共享原理上的中断技术,在计算机中得到了广泛的应用。中断技术能实现cpu与外部设备的并行工作,提高cpu的利用率以及数据的

36、输入/输出效率;中断技术也能对计算机运行过程中突然发生的故障及时发现并进行自动处理如:硬件故障、运算错误及程序故障等;中断技术还能使我们通过键盘发出请求,随时对运行中的计算机进行干预,而不用先停机处理,然后再重新开机等。在单片机中,中断技术主要用于实时控制。所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。由于这些控制参量的请求都是随机发出的,而且要求单片机必须做出快速响应并及时处理,对此,只有靠中断技术才能实现。3.2.1定时器/计数器(1)定时器控制寄存器(tcon)10tcon寄存器既参与中断控制又参与定时控

37、制。现对其定时功能加以介绍。其中有关定时的控制位共有4位:f0和tf1计数溢出标志位当计数器计数溢出(计满)时,该位置“1”;使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清“0”;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。r0和tr1定时器运行控制位tro(tr1)=0停止定时器/计数器工作tro(tr1)=1启动定时器/计数器工作(2)工作方式控制寄存器(tmod)11tmod寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但tmod寄存器不能位寻址,只能用字节传送指令设置其内容。(3)中断允许控制寄存器(ie)1

38、2ea中断允许总控制位et0和et1定时/计数中断定时器/计数器提供给用户使用的有:8位计数器th和tl,以及有关的控制位。这些内容只能以软件方法使用。能够产生中断申请的部件被称为中断源。8051型单片机提供了五个中断源:两个外部中断源和三个内部中断源。每一个中断源都有一个中断申请标志位,但是串行口占有两个中断标志位。一共有六个中断标志位。(4)定时器/计数器对输入信号的要求定时器/计数器的两个作用是用来精确的确定某一段时间间隔13(作定时器用)或累计外部输入的脉冲个数(作计数器用)。当用作定时器时,在其输入端输入周期固定的脉冲,根据定时器/计数器中累计(或事先设置)的脉冲个数,即可计算出所定

39、时间的长度。当89c51内部的定时器/计数器被选择为定时器工作方式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。因此,定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。当采用12mhz频率的晶体时,计数频率为1mhz,输入脉冲的周期间隔为1s14。由于定时的精度决定于脉冲的周期,因此,当需要高精度的定时器时,应尽量选择频率较高的晶体。3.2.2定时工作方式0方式0是13位计数结构的工作方式15,其计数器由th0高8位和tl0的低五位构成。tl0的高3位弃之不用。当c/=0时,多中开关接通振荡脉冲的12分频输出,13位计数器以此进行计数,这就是所谓定时器工

40、作方式。当c/=116时,多路开关接通计数引脚(t0),外部计数脉冲由引脚t0输入。当计数脉冲发生负跳变时,这就是所谓计数工作方式。不管是哪种工作方式,当tl0的低五位计数溢出时,向th0进位,而全部13位计数溢出时,则向计数溢出标志位tf0进位。3.3程序流程3.3.1主程序流程主程序流程图如图3-1所示。频率放大读取当前计数值重新启动t0、t1中断,重新进行测量结果显示ynkey=1开始图3-1 主程序流程图3.3.2 中断流程t1中断流程图如图3-2所示。图3-2 t1中断流程图t0中断流程图如图3-3所示。图3-3 t0中断流程图中断程序实现定时与计数的功能。t1进行定时,定时时间为1

41、s。t0进行计数,to中断溢出一次,t0count加1。当定时达到1s时,停止t0,t1。最后计算相应的频率值。第四章 实验测试结果 测试过程:首先,控制电压稳定地输入到单片机st89c51第40脚中,然后将所要测量的信号输入到stc89c51的第1脚,由于设计的量程较小,信号输入频率不能超过量程范围。测试结果:电路导通,led灯显示所测量的信号频率,测量范围:1hz-9khz。参考文献1陈敬远.数字频率计的vhdl设计j.浙江传媒学院学报; 2002,01: 36-38.2何均 ,杨明.适合于单片机实现的极值搜索算法j.单片机与嵌入式系统应用,2004,24.3杜玉远.基于top-down方

42、法的数字频率计的设计与实现j.电子世界, 2004,5: 30-32.4钱进.基于at89c2051的高度精度数字频率计的设计j.机电产品开发与创新,2007,20(1):86-87.5冯雷星,杨伟,芦燕龙.基于单片机高性价比频率计的设计与实现b.微计算机信息,2007,20.6赫建国,刘立新,党剑华.基于单片机的频率计设计j.西安邮电学院学报,2003,03:34-37+75.7张毅刚.单片机原理及应用.高等教育出版社m,2003.12(1).8 control circuit design of ac frequency conversion systems for speed gover

43、ning a,proceedings of 4th international symposium on test and measurement(volume 2) c,2001. 9the measurement of oil consumption on enginea,proceedings of 4th international symposium on test and measurement(volume 2) c,2001.10施剑鸣.单片机测频技术及测量精度的提高a.江苏省计量测试学会2005年论文集 c,2005.11谢煌,黄为.基于vhdl语言设计频率计j.北京现代电子

44、技术,2003,14.12杜刚,高军,童宁宁.基于at89c2051单片机的频率计设计j.微计算机应用,2004,25(4):498-501.13刘雪根.数字频率计的误差分析j.自动化与仪表,1996,3:23-24.14顾巨峰,周浩洋,朱建华.基于可编程逻辑器件(lattice)的多功能数字频率计j.电子工程师,2002,1:28-32.15王丽霞,程小辉,龚幼民.基于lm331的频率计j.仪表技术与传感器; 2007,09.16吴慎山,王芳,吴东芳,吴雪冰,万霞.智能单片机频率计的原理与设计j.河南师范大学学报(自然科学版),2004,02:47-49.致 谢感谢学校和老师对我的培养,给我这个自己动手的机会和空间。经过一段时间,终于在指导老师的

温馨提示

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

评论

0/150

提交评论