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

下载本文档

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

文档简介

1、摘要频率信号具有抗干扰能力强、易于传输、测量精度高等优点,因此在实际测量系统中,经常通过测量待测信号频率达到测量其他参量的目的。本文简要介绍了几种数字频率计的设计方案,其中基于单片机的数字频率计设计方案,具有硬件简单、易于调试、扩展能力强等优点。本文设计的数字频率计采用脉冲数定时测频法测量频率。数字频率计以单片机为核心,主要分为放大电路、波形变换和整形电路、分频电路、单片机和数据显示电路组成,设计以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节

2、测量的量程,并把测出的频率数据送到显示电路显示。关键词 数字频率计,单片机,测量频率AbstractFrequency signal has a strong anti-jamming capability, easy to transport and the advantages of high measurement precision, so in the actual measuring system, often through measuring for the signal frequency achieve the purpose of measuring other para

3、meters.This paper presents the design of digital frequency meter, focusing on many alternatives to microcontroller as control core,Realize the digital frequency for frequency measurement project design,its hardware design is simple and easily debugging,and has expansion ability. Selected design idea

4、s which directly measuring frequency law in the high-band and testing cycle law in the low-band.The hardware partially is composed by enlarged circuit ,the profile transformation and the reshaping circuit ,the gate at the base control circuits ,sub-frequency circuits,the microcontroller and the date

5、 display electrice cricuit; The software design is achieved by many functional modules,such as the signal frequency measurement module,the signal cycle survey module,timer interruption of service module,the data display module and so-on. Achieving counting function and conversion between cycle and f

6、requency by using control functions and mathematics operation ability of microcontroller.Like these the survey scope can achieve 1HZ-10MHZ.Key Words digital frequency meter, microcontroller, frequency measurements目录摘要IAbstractI目录III1 绪论11.1课题研究背景及意义11.2市场频率计厂商介绍31.3数字频率计设计的任务与要求42 测频方法选择52.1测频方法设计的几

7、种方案52.2几种方案的优劣讨论62.3本次设计采用的方案63 数字频率计的硬件电路设计73.1数字频率计的硬件系统框架73.2单片机电路设计83.3放大整形电路173.4显示电路的设计263.5数字频率计的分频电路的设计303.6数字频率计电源模块的设计334 数字频率计软件程序设计354.1软件设计规划354.2定时器设计364.3程序流程图设计374.4主程序385 结论41致 谢42参考文献43附录一 翻译44附录二 程序51附录三 数字频率计原理图541 绪论1.1课题研究背景及意义 数字频率计是一种基础测量仪器,到目前为止已有30多年的发展史。早期,设计师们追求的目标主要是扩展测量

8、范围,再加上提高测量精度、稳定度等,这些也是人们衡量数字频率计的技术水平,决定数字频率计价格高低的主要依据。目前这些基本技术日臻完善,成熟。应用现代技术可以轻松地将数字频率计的测频上限扩展到微波频段。 纵观国内外研究现状,目前国外市场上的频率计数器,都是基于脉冲计数的原理,其功能除了直接测量频率值外,还可以测量信号周期、多周期、时间间隔、脉冲宽度、频率比、占空比、统计计数等,有的甚至可以测量频率参数以外的参数,如电压、相位、功率等。这种以频率测量为主体的多功能数字式测量仪器,也称电子计时器。如单片机频率计CM7216D是美国intersil公司首先研制的专用测频大规模集成芯片。它是标准的28引

9、脚的双列直插式集成电路,采用单一的+5V稳压电源工作它内含高频振荡器、10进制计数器、7段译码器、位多路复位器、能直接驱动LED显示器的8段段码驱动器、8位位码驱动器。其基本的测频范围为DC至10MHZ,若加预置的分频电路则上限频率可达40MHZ至100MHZ。从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用51系列单片机和高速计数器的组合设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频

10、率计的要求。随着单片机技术的不断发展,单片机能实现更加灵活的逻辑控制功能,具有很强的数据处理能力,可以用单片机通过软件设计直接用十进制数字显示被测信号频率。我国研制的中国虚拟测振仪,其包含的DASP系统可同时运行多个虚拟仪器软件,具有数百项分析测试功能,其测频范围为DC-200MHz超低频测量达到0.0001HZ主要技术指标居国内领先水平,达国际先进水平。我国利用相检宽带技术设计的高精度频率计也非常具有突破性和实用性。该项新技术及仪器是对已有测频技术的特点及存在问题推出完全新颖的检测精度高、便于实施且设备构成又比较经济的一种新技术及仪器。其测量精度高于一般机器1000倍以上而其价格只相当于国外

11、同档价格的1/2和1/8。科学技术发展越快,产品的更新周期就越短,数字化电子产品更是如此。数字频率计作为一种电子测量仪器,其发展趋势主要有以下三个方向。发展趋势之一:从以前的模拟器件设计数字频率计逐步转变为数字芯片设计数字频率计。这样的转变使得频率计的设计更趋于自动化、智能化。现在的电子产品主要是采用EDA技术和单片机技术作为核心控制系统,辅以外围电路,制成高端数字化产品。频率计正是朝着这个方向发展。 EDA技术是以计算机为工具,在EDA软件平台上,根据硬件语言VHDL完成设计文件,自动地完成逻辑编译、化简、分割、综合及优化布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作

12、。FPGA/CPLD是高密度现场可编程逻辑芯片,能够将大量的逻辑功能集成于一个单个器件中,它提供的门数从几百门到上百万门,可以满足不同的需要。数字频率计借助于EDA工具FPGA/CPLD进行开发有很大的优越性:(1)编程方式简便、先进。(2)高速。(3)高可靠性。(4)开发工具和设计语言标准化,开发周期短。(5)功能强大,应用广阔。这样的优点使得数字频率计的设计变得简单。但同时采用EDA技术开发频率计存在一个缺点:对电路进行逻辑综合优化时,最终设计和原始设计在逻辑实现和时延方面有一定的误差,这样使得频率计的测量精度受到很大影响。因此EDA计数还需要不断的改进,以解决在测量时存在的问题,适应电子

13、产品测量的要求。但肯定的是,用EDA技术进行电子产品的设计、开发是有很大发展前景的。单片机数字频率计是现阶段电子产品开发时采用的主要技术,它在今后的一段时间内仍然占据着主导地位。单片机是单片微型计算机的简称,将把微型计算机的三大组成部分(CPU+存储器+I/O接口)和一些实时控制所需要的功能器件集成在该芯片上,来实现计算机的功能部分。在实际应用中大都嵌入到控制系统中,所以单片机系统也叫嵌入式系统。现在国内单片机应用中最常见的有Intel公司的MCS系列,Microchip公司的PIC16系列,台湾凌阳公司的SPCE016X系列。单片机设计数字频率计有很多的优点:(1)集成度高。(2)系统结构简

14、单,性价比高。(3)系统扩展方便。(4)抗干扰性强,可靠性高。(5)处理能力强,速度快。(6)开发方便。(7)兼容性好。另外,单片机内部强大的运算能力和控制能力,使得开发像频率计这样对测量精度要求精度很高的电子仪器时,变得更加的有效。内部丰富的存储资源,能够满足频率计设计的各种不同需求。可以说,单片机的进步指导着频率计的发展方向。发展趋势之二:在功能上从以前的仅实现单一频率测量扩展到还能测周期、占空比、脉冲等各种参数指标。数字技术的不断成熟,使得在一块很小的板子上制作大规模、多功能的电子产品变得非常的容易、方便。当然,功能的实现是以强大的软件技术做后盾的,以后的频率计等测量仪器将在编程语言的不

15、断优化下,数字技术的不断完善下实现更多的功能。发展趋势三:频率计虚拟化。随着计算机的普及,利用计算机做显示和操作台的虚拟仪表,也越来越被广泛应用。目前主流的开发平台是NI公司的Lab VIEW。电子测量技术的发展,单片机技术和大规模可编程数字逻辑电路的普及为频率测量的结构简单提供了技术基础,使得频率测量正朝着高灵敏度、高可靠性、全集成化和智能化的方向发展。智能化芯片的应用,使得同一硬件具有多种不同的功能,为多样化、系统化带来了便利。以后数字化智能频率计将在满足测量要求和实现功能的同时,也为操作频率计的人,带来使用上的方便和舒适。总之,数字频率计正向着更高的精确度,更低的测量误差,更多的功能实现

16、,更少的价格,更人性化,更智能化方向发展。随着科学技术的发展,用户对数字频率计也提出了新的要求。对于低档产品要求使用操作方便,量程(足够)宽,可靠性高,价格低。而对于中高档产品, 则要求有高分辨率,高精度,高稳定度,高测量速率;除通常通用频率计所具有的功能外,还要有数据处理功能,统计分析功能,时域分析功能等等,或者包含电压测量等其他功能。这些要求有的已经实现或者部分实现,但要真正完美的实现这些目标,对于生产厂家来说,还有许多工作要做,而不是表面看来似乎发展到头了。 随着数字集成电路技术的飞速发展,应用计数法原理制成的数字式频率测量仪器具有精度高、测量范围宽、便于实现测量过程自动化等一系列的突出

17、特点。本课题的研究内容为数字频率计的单片机实现,主要涉及信号的预处理、数据采集、计算、译码及量程的自动转换等功能模块的软硬件实现。通过该项设计,可以将模拟电路及数字电路的理论知识运用于实际设计中,并熟练编程控制单片机的能力,同时提高分析问题和解决问题的能力。1.2市场频率计厂商介绍目前,市场上的频率计厂家可分为三类:中国大陆厂家、中国台湾厂家、欧美厂家。其中,欧美频率计厂家所占有的市场份额最大。 欧美频率计厂家主要有:Pendulum Instruments 和 Agilent科技。 Pendulum Instruments 公司是一家瑞典公司,总部位于瑞典首都斯德哥尔摩。 Pendulum

18、公司源于Philips公司的时间、频率部门,在时间频率测量领域具有40多年的研发生产经历。Pendulum Instruments 公司常规频率计型号主要有:CNT-91、CNT-90、CNT-81、CNT-85。同时,Pendulum Instruments公司还推出铷钟时基频率计CNT-91R、CNT-85R。以及微波频率计CNT-90XL(频率测量范围高达60G)。 Agilent科技公司是一家美国公司,总部位于美国的加利福尼亚。Agilent科技公司成立于1939年,在电子测量领域也有着70多年的研发生产经历。Agilent科技公司的常规频率计信号主要有:53181A、53131A、5

19、3132A。同时,Agilent科技公司还推出微波频率计:53150A,53151A,53152A(频率测量范围最高可达46G)。1.3数字频率计设计的任务与要求单片机控制的数字频率计1.测频范围:10Hz10KHz。为保证测量精度分三个频段10Hz100Hz,100Hz1KHz,1KHz10KHz,有超量程指示。2.输入波形:函数信号发生器输出正弦波,三角波,矩形波,幅度为5V,能产生所需频率的脉冲信号。3.测量误差:1。2 测频方法选择2.1测频方法设计的几种方案测量频率的方法有很多种,主要分为模拟法和数字法两大类,因为本次设计的要求和环境,现在主要讨论数字法中的电子计数式的几种测频方法。

20、电子计数式的测频方法主要有以下几种:脉冲数定时测频法(M法),脉冲周期测频法(T法),脉冲数倍频测频法(AM法),脉冲数分频测频法(AT法),脉冲平均周期测频法(M/T法),多周期同步测频法。下面是几种方案的具体方法介绍。脉冲数定时测频法(M法):此法是记录在确定时间Tc内待测信号的脉冲个数Mx,则待测频率为: Fx=Mx/Tc (2-1)脉冲周期测频法(T法):此法是在待测信号的一个周期Tx内,记录标准频率信号变化次数Mo。这种方法测出的频率是: Fx=Mo/Tx (2-2)脉冲数倍频测频法(AM法):此法是为克服M法在低频测量时精度不高的缺陷发展起来的。通过A倍频,把待测信号频率放大A倍,

21、以提高测量精度。其待测频率为: Fx=Mx/ATo (2-3)脉冲数分频测频法(AT法):此法是为了提高T法高频测量时的精度形成的。由于T法测量时要求待测信号的周期不能太短,所以可通过A分频使待测信号的周期扩大A倍,所测频率为: Fx=AMo/Tx (2-4)脉冲平均周期测频法(M/T法):此法是在闸门时间Tc内,同时用两个计数器分别记录待测信号的脉冲数Mx和标准信号的脉冲数Mo。若标准信号的频率为Fo,则待测信号频率为: Fx=FoMx/Mo (2-5)多周期同步测频法:是由闸门时间Tc与同步门控时间Td共同控制计数器 计数的一种测量方法,待测信号频率与M/T法相同。2.2几种方案的优劣讨论

22、以上几种方法各有其优缺点:脉冲数定时测频法,时间Tc为准确值,测量的精度主要取决于计数Mx的误差。其特点在于:测量方法简单,测量精度与待测信号频率和门控时间有关,当待测信号频率较低时,误差较大。脉冲周期测频法,此法的特点是低频检测时精度高,但当高频检测时误差较大。脉冲数倍频测频法,其特点是待测信号脉冲间隔减小,间隔误差降低;精度比M法高A倍,但控制电路较复杂。脉冲数分频测频法,其特点是高频测量精度比T法高A倍,但控制电路也较复杂。脉冲平均周期测频法,此法在测高频时精度较高,但在测低频信号时精度较低。多周期同步测频法,此法的优点是,闸门时间与被测信号同步,消除了对被测信号计数产生的1个字误差,测

23、量精度大大提高,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。2.3本次设计采用的方案根据频率的定义,频率是单位时间内信号波的个数,因此采用上述各种方案都能实现频率的测量。但是本论文设计的是一个用单片机做为电路控制系统的数字式频率计,采用脉冲定时测频法,则在低频率的测量时误差会大一些。采用脉冲周期测频法则测高频率时精度无法保证;采用脉冲数倍频测频法和脉冲数分频测频法则精度有所提高,但控制电路较复杂;采用脉冲平均周期测频法则很难兼顾低频信号的测量;而采用多周期同步测频法,闸门时间与被测信号同步,消除了对被测信号计数产生的1误差,测量精度大大提高,且测量精度与待测信号的频率无关,

24、达到了在整个测量频段等精度测量。本次设计由于个人水平有限,因此,本次设计根据需要,采用脉冲定时测频法。3 数字频率计的硬件电路设计 3.1数字频率计的硬件系统框架3.1.1一般数字频率计的原理数字式频率计是测量频率最常用的仪器之一,其基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译码显示电路里进行显示,其基本构成框图如图3-1所示。 图3-1-数数字式频率计原理框图由上图可以看出,待测信号经过放大整形电路后得到一个待测信号的脉冲信号,然后通过计数器计数,可得到需要的频率值,最后送入译码显示电路中显示出来。但是控制部分才是最重要的,它在整个系

25、统的运行中起至关重要的作用。3.1.2 基于单片机的数字频率计原理由上节介绍可知,控制电路在数字频率计中起至关重要的作用。采用什么样的控制电路,直接决定了数字频率计的性能。由第二章的内容可知,为了得到一个高性能的数字频率计,本次设计采用单片机来做为数字频率计的核心控制电路,辅之于少数的外部控制电路。因此本此设计的系统包括信号放大整形电路、分频电路、单片机AT89C51和显示电路等。本系统让被测信号经过放大整形后,进入单片机开始计数,利用单片机内部定时计数器定时,在把所记得的数经过相关处理后送到显示电路中显示。其系统原理框图将在下面介绍。根据上述的基于单片机的数字频率计的设计原理,我们可设计一个

26、由放大整形电路、分频电路、多路数据选择器、AT89C51以及显示电路来构成的数字式频率计,其系统框图如图3-2所示。图3-2 数字频率计系统框图3.2单片机电路设计3.2.1单片机主电路设计ATC89C51可以完成ISP在线编程功能,ATC89C51内部有EEPROM,可以在程序中修改,断电不丢失。还增加了两级中断优先级,STC推出的系列51单片机芯片是全面兼容其它51单片机的,而且51单片机是主流大军。189C51芯片介绍许多由关硬件设计中都使用到单片机89C51,其功能比以往的单片机强大的多。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable

27、and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。89C51引脚图如图3-3所示。图3-3 89C51引脚图主要特性

28、:与MCS-51兼容4K字节可编程FLASH存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时

29、/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入

30、,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和

31、控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些

32、控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外

33、部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内

34、振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存

35、RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 串口通讯单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄

36、存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;当然你也可以用其它的名称。通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的寻址

37、地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。它的各个位的具体定义如下:SM0 SM1 SM2 REN TB8 RB8 TIRISM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。SM0 SM1 模式 功能 波特率0 0 0 同步移位寄存器 fosc/120 1 1 8位UART 可变1 0 2 9位UART fosc/32 或fosc/641 1 3 9位UART 可变在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的

38、朋友可以找相关的硬件资料查看。表中的fosc代表振荡器的频率,也就是晶振的频率。UART为(Universal Asynchronous Receiver)的英文缩写。SM2在模式2、模式3中为多处理机通信使能位。在模式0中要求该位为0。REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。REM 是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程序结束处加入REM=1再次打开串口接收。大家也可以用上面

39、的实际源码加入REM=0来进行实验。TB8发送数据位8,在模式2和3是要发送的第9位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8接收数据位8,在模式2和3是已接收数据的第9位。该位可能是奇偶位,地址/数据标识位。在模式0中,RB8为保留位没有被使用。在模式1中,当SM2=0,RB8是已接收数据的停止位。TI发送中断标识位。在模式0,发送完第8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI置位后,申请中断,CPU响应中断后,发送下一帧数据。在任何模式下,TI都必须由软件来清除,也就是说在数据写

40、入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。RI接收中断标识位。在模式0,接收第8位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。同样RI也必须要靠软件清除。常用的串口模式1是传输10个位的,1 位起始位为0,8位数据位,低位在先,1位停止位为1。它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。AT89C51和AT89C2051等51系列芯片只有两个定

41、时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是960010=960字节。51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12

42、M的晶振来计算,那么它的波特率可以达到1M。模式2的波特率是固定在fosc/64或fosc/32,具体用那一种就取决于PCON寄存器中SMOD位,如SMOD为0,波特率为focs/64,SMOD为1,波特率为focs/32。模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。波特率=(2SMOD32)定时器1溢出速率上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定

43、时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2下定时器1溢出速率的计算公式如下:溢出速率=(计数速率)/(256TH1)上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用在51芯片上,那么51的计数速率就为1M。通常用11.0592M晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600的波特率,晶振为11.

44、0592M和12M,定时器1为模式2,SMOD 设为1,分别看看那所要求的TH1为何值。代入公式:上面的计算可以看出使用12M 晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。本实验中用到的芯片引脚功能:主电源引脚Vcc和VssVcc(40脚):接5V电压;Vss(20脚):接地。89C51晶振接法如图3-4。 图3-4 89C51晶振接法图选用6MHz

45、频率的晶体,允许输入的脉冲频率为250kHz。电容的大小范围为20pF40pF,本设计选用20pF电容。2单片机复位状态单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟震荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,在设计复位电路时,通常使RST引脚保持10ms以上的高电平。只要保持高电平,则MCS-51单片机就循环复位;当RST从高电平变为低电平以后,MCS-51单片机从0000H地址开始执行程序。在复位有效期间,ALE、 引脚输出高电平。89C51上电复位电路图。图3-5 89C51上电复位电路图单片

46、机复位状态表。表 3-6 单片机复位状态表专用寄存器复位状态专用寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXXX0 0000BSBUFXXXX XXXXBIE0XX0 0000BPCON0XXX XXXXB 注:XXX不定复位后,P0口P3口输出高电平,且使这些准双向口皆处于输入状态,并且将07H写入栈指针SP(即设定堆栈底为07H),同时,将程序计数器PC和其余的特殊功能寄存器清为0(不定的位除外)。但复位不影响单片机内部的RAM状态3.3

47、放大整形电路3.3.1放大整形电路的必要性因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。3.3.2放大整形电路的原理矩形脉冲波的整形电路有两种:施密特触发器、单稳态触发器。而这两种电路都可以有门电路或是555定时器构成。由于本次设计的基于单片机的数字频率计的放大整形电路部分需求比较简单,所以我们选择由555定时器构成的施密特触发器来作为信号波形整形电路,下面我们给出其全面的介绍。施密特触发器是脉冲波形变换中经常使用的一种电路,下面我们对它的特点、输出特性、工作原理等进

48、行简单的介绍。一、特点1、电平触发:触发信号可以是变化缓慢的模拟信号,达某一电平值时,输出电压突变。为脉冲信号。2、电压滞后传输:输入信号从低电平上升过程中,电路状态转换时对应的输入电平,与从高电平下降过程中电路状态转换时对应的输入电平不同。利用上述两个特点,施密特触发器不仅能将边沿缓慢变化的信号波形整形为边沿陡峭的矩形波,还可以将叠加在矩形脉冲高、低电平上的噪声有效地清除。二、 输出特性1、同向输出:当时,为同向输出,此时当时,当时,。其同向输出特性图如图3-7所示。图3-7同向输出特性图2、反向输出:当时,为反向输出,此时当,当时,其反向输出特性图如图3-8所示。图3-8反向输出特性图正向

49、阈值电平:上升时,引起突变时对应的值。负向阈值电平:下降时,引起突变时对应的值。三、整形原理用门电路构成施密特触发器1、构成,用CMOS非门构成的施密特触发器电路图如图3-9所示。图3-9用CMOS非门构成的施密特触发器电路图2、 工作原理,其工作原理如表3-10所示。表3-10用CMOS非门构成的施密特触发器工作原理表U1U1,U01U0说明U1=00010同向施密特触发器U1上升过程中VT+VT+=VTH10G1、G2 门将要翻转=VT+=VTH01U0突变VT+VTH01U1下降过程中VT-VTH01=VT-=VTH01G1、G2 门将要翻转=VT-=VTH10U0突变VT-VT+时,G

50、1、G2门要翻转前的瞬间,电路中电流流向和电位情况如图3-11所示。图3-11求VT+时电路图从求,入手求:由公式(3-1)就可以推导出公式(3-2),就可以得出。 (3-1) (3-2)(2)、求在从最大值开始下降时,。在,G1、G2门要翻转前的瞬间,电路中电流流向和电位情况如图3-12所示。图3-12求VT-是电路图从求入手求:由公式(3-3)可以推导出公式(3-4),再由公式联合公式(3-5)以及公式(3-6),就可以得到公式(3-7),得到VT-的值。 (3-3) (3-4) (3-5) (3-6) (3-7)(3)、求回差电压求出和之后,由下面的公式(3-8)就可求出。 (3-8)当

51、VDD一定时,调R1、R2 ,可调,即可调、,可调脉宽。(4)、电压传输特性。当UI=0时,UO=UOL是施密特同相输出,其电压输出特性如图3-13所示。 电压传输特性图3-13(5)、逻辑符号。施密特触发器常见的逻辑符号如图3-14所示。图3-14施密特触发器的逻辑符号集成施密特触发器,常用TTL电路集成施密特触发器有7413等。常用CMOS电路集成施密特触发器有CC40106等3.3.3 由555定时器构成施密特触发器本设计中使用555定时器构成施密特触发器555定时器介绍:555定时器是一种模拟和数字功能相结合的中规模集成器件。一般用双极性工艺制作的称为555,用 CMOS工艺制作的称为

52、7555,除单定时器外,还有对应的双定时器556/7556。555定时器的电源电压范围宽,可在 4.5V16V工作,7555可在 318V工作,输出驱动电流约为 200mA,因而其输出可与TTL、CMOS或者模拟电路电平兼容。555定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路。它也常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等方面。555定时器的外引脚排列图如图3-15所示。它内部包括两个电压比较器,三个等值串联电阻,一个RS触发器,一个放电管T及功率输出级。它提供两个基准电压VCC/3和 2VCC/3图

53、3-15 555定时器的外部引脚图555定时器的功能主要由两个比较器决定。两个比较器的输出电压控制 RS 触发器和放电管的状态。在电源与地之间加上电压,当5脚悬空时,则电压比较器C1的同相输入端的电压为2VCC/3,C2的反相输入端的电压为VCC/3。若触发输入端TR的电压小于VCC/3,则比较器C2的输出为0,可使 RS 触发器置1,使输出端OUT=1。如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC/3,则C1的输出为0,C2的输出为1,可将RS触发器置0,使输出为0电平。它的各个引脚功能如下:1脚:外接电源负端VSS或接地,一般情况下接地。8脚:外接电源VCC,双极型时基电路VCC的范围是4.516V,CMOS型时基电路VCC的范围为3 18V。一般用5V。3脚:输出端Vo2脚:低触发端6脚:TH高触发端4脚:是直接清零端。当此端接低电平,则时基电路不工作,此时不论TR、TH处于何电平,时基

温馨提示

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

评论

0/150

提交评论