基于AT89C52的频率计设计毕业设计论文.doc

上传人:文库蛋蛋多 文档编号:3938182 上传时间:2023-03-28 格式:DOC 页数:41 大小:1.12MB
返回 下载 相关 举报
基于AT89C52的频率计设计毕业设计论文.doc_第1页
第1页 / 共41页
基于AT89C52的频率计设计毕业设计论文.doc_第2页
第2页 / 共41页
基于AT89C52的频率计设计毕业设计论文.doc_第3页
第3页 / 共41页
基于AT89C52的频率计设计毕业设计论文.doc_第4页
第4页 / 共41页
基于AT89C52的频率计设计毕业设计论文.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于AT89C52的频率计设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于AT89C52的频率计设计毕业设计论文.doc(41页珍藏版)》请在三一办公上搜索。

1、 摘 要 频率计作为一件很普遍的的电子器件,在很多领域都能够用到,目前大部分频率计的测频范围都很窄,有时不能满足所要测的频率。因此,本文提出宽频带频率计的的设计方案,以单片机AT89C52为控制核心,实现测量多种波形的频率值。采用在高频段直接测频法,在低频段测周期法的设计思路;硬件部分由放大电路、波形变换和整形电路、闸门时基控制电路、分频电路、单片机和数据显示电路组成;软件部分由信号频率测量模块、周期测量模块、定时器中断服务模块、数据显示模块等功能模块实现。应用单片机的控制功能和数学运算能力,实现计数功能和频率、周期的换算。设计的频率计测量范围能够达到2HZ1MHZ,满足所要求的频率范围,测量

2、精度较高,平均相对误差低。关键词:AT89C52;宽频带;频率计ABSTRACTAs a very common electronic components,The frequency meter is used in many areas. At present, most of the frequency meter measuring frequency range is very narrow, and sometimes it cant satisfy the frequency of the measure. Therefore, this paper puts forward t

3、he frequency meter wide band to realize the value of measurement frequency wave. This design is going to make the AT89C52 single chip microcomputer as control core.The high frequency band in direct frequency measurement method, at low frequency measurement cycle method of design thinking is to adopt

4、ed; Hardware consists of amplifying circuit, wave transform and plastic circuit, gate, and the control circuit, points frequency circuit, SCM and data display circuit composed; Software is realized by the signal frequency measurement modules, cycle measurement modules, timer interrupt service module

5、, data showed module and function modules. Application of the single chip microcomputer control function and mathematical operation ability can realize the count function and frequency of the conversion, period. The frequency of the design plan measurement range can reach 2 HZ 1 MHZ, meeting the req

6、uired frequency range, high measurement precision, the average relative error low.Keywords: AT89C52; Broadband belt; Frequency meter 目 录1 绪论11.1 课题的引入11.2 背景11.3 目的及意义12 频率计总体方案设计22.1 总体设计方案22.2 测量方法分析42.2.1 直接测频法42.2.2 间接测量法(测周期法)42.2.3 直接与间接相结合的方法53 系统硬件设计63.1 信号预处理电路63.1.1 放大电路63.1.2 波形变换和整形电路73.

7、1.3 闸门时基电路83.1.4 分频电路93.2 最小系统113.2.1 AT89C52113.2.2 复位电路133.2.3 晶振电路143.3 显示电路143.4 总电路图174 系统软件设计184.1 直接频率测量模块184.2 信号周期测量模块194.3 定时器中断服务模块204.4多进制二进制数转换为BCD码模块214.5 相关子模块224.6 LED动态显示模块224.7 源程序235 仿真和调试245.1硬件的仿真245.2 软件的调试255.2.1 软件调试步骤255.2.2问题及解决方法28结论30致 谢31参考文献32附录A33附录B38基于AT89C52的频率计设计1.

8、1 课题的引入频率是一种计算单位内的信号变化的数值的仪器,是最基本的参数之一。由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度,能用多种测量方法测量。传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。随着微电子技术和计算机技术的迅速发展,特别是单片机的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化。从单片机引入我国至今,单片机的应用越来越广泛。运用单片机设计频率计,并采用适当的算法取代传统电路,并采用适当的算法取代传统电路,克服了传统频率计结构复杂、稳定性差、精度不高的弊端

9、,其体积小、保密性强、设计简单、成本低,不仅大大降低了设计成本和实现复杂度,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。1.2 背景频率计是一种很普遍的测量仪器,其基本功能是测量信号的频率和周期,还广泛应用于各个领域。20世纪70年代,美国仙童(Fairchild)公司研制出世界上第一台单片微型机F8。此时单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单,一般均把CPU、RAM有的还包括了一些简单的I/O口集成到芯片上,它还需配上外围的其他处理电路方才构成完整的计算系统。但此后,单片机的发展迅速,各种功能不断增强和完善,应用领域也越来越广,现已成为微型

10、计算机的重要分支。随着嵌入式系统式系统片上系统等概念的提出.普遍接受及应用,单片机的发展又进入了一个新的阶段,单片机的体积更小功能更齐全可靠性更高。从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中。频率计的设计运用51系列单片机和高速计数器的组合,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。1.3 目的及意义 目前频率计大部分都是采用专用计数芯片和数字逻辑电路组成,这些芯片本身的工作频率不高,从而限制了产品工作频率的提高。有时在测量高频率或者低频率的时候,往往不能满足测

11、量要求,而且测量精度也受到芯片本身极大的限制。因此,本设计提出宽频带频率计的设计。相比传统的频率计,它的结构更简单,稳定性好,精度高,体积更小,保密性更强。降低了设计成本和复杂度,比传统的性能更好,运用范围更广。为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89C52)相结合的频率计的设计方案,不但切实可行,而且体积小、保密性强、设计简单、成本低、精度高、可测频带宽,大大降低了设计成本和实现复杂度。2 频率计总体方案设计数字频率计的主要功能是测量周期信号的频率。频率是周期信号在单位时间内变化的次数。在给定的时间内,对通过的信号波形进行计数,这个计数值,就是要测频率的大小。 通常

12、,输入信号的频率不稳定。频率计的作用是先获得相对稳定与准确时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后将这一段时间间隔内的脉冲个数显示出来,得到所要测的频率,这就是数字频率计的基本原理。2.1 总体设计方案方案一:采用中小规模数字集成电路测频系统,完成频率计测量功能。原理框图如图2-1所示。 该方案的特点是集成电路具有体积小,重量轻,引出线和焊接点少,寿命长,可靠性高,性能好等优点,同时成本低,便于大规模生产。图2-1 方案一的原理框图 该方案采用的是中小规模数字集成电路,用机械式功能转换开关换档,完成测频率、测周期及测脉宽等功能。频率范围宽:测量频率范围为10Hz2

13、0GHz。虽然能够实现宽频带频率的测量,但其功能扩展不易实现,智能化程度也不高,不符合目前数字频率计的发展要求。而且,电路过于复杂,而且多量程换档开关使用不便。所以不选择此方案。方案二:系统采用可编程逻辑器件作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。频率计由单片机控制,采用可编程逻辑器件,配合相应的前置电路,接口电路以及相应的软件,实现对频率、脉宽、占空比的测量,对输入信号的频率范围自动判断,并选择相应的的测量方法,从而实现量程的自动转换,系统的智能化提高。原理框图如图2-2所示。图2-2 方案二的原理框图该方案在设计方法、硬件电路的实现上都要比方案一简洁、新颖,而且采

14、用可编程逻辑器件(PLD)的EDA技术也是现代电子产品开发的方向,应用这种技术来实现数字频率计的设计是可行的。但从系统设计的要求上看,要能实现测量频率是2HZ1MHZ的范围,以频率下限2HZ为例,要达到误差小于0.1的目的,必须显示3位的有效数字,而使用直接测频的方法,要达到达个测量精度,需要主门连续开启100秒。该方案利用了PLD的可编程和大规模集成的特点,使电路大为简化,但测量精度不够高,导致系统性价比降低,系统功能扩展受到限制。方案三:系统控制核心采用单片机AT89C52,门控信号由AT89C52内部的计数/定时器产生。单片机的最小系统采用24M的晶振,计数频率约为500KHZ,上限频率

15、较低。所以在测量高频信号时,需要对信号进行预分频处理。由于使用了单片机,整个系统的灵活性更高,也可以用多种语言实现编程,能方便地对系统进行功能扩展与改进。原理框图如图2-3所示。脉冲形成电路分频电路74LS393主 控AT89C52单片机LED显示闸门开关74LS08门控信号图2-3 方案三的原理框图该方案使用了功能较强的AT89C52芯片,单片机完成运算控制功能,使本系统可以通过对软件改进而扩展功能,提高测量精度,而且可以用C语言和汇编语言编程,使软件的设计变得相对简单。因此选用方案三,采用单片机作为核心控制系统。2.2 测量方法分析常用频率计的测量方法有三种:直接测量法、间接测量法、直接与

16、间接测量结合法。2.2.1 直接测频法直接测频法测量原理是:频率是单位时间内信号发生周期变化的次数,如果设定在单位时间1S内被测信号的脉冲计数,测得的这个脉冲个数就是要测的被测信号的频率。如图2-4。基准闸门信号被测信号实际检出信号1S图2-4 直接测频法时序图经过实验可以得出,高频率的信号测的信号频率与实际频率相差不大,但在低频段测量时,相对误差很大,即直接测量法适合用在高频段频率的测量中,在低频段中不适用。2.2.2 间接测量法(测周期法) 直接测量法可以直接测出单位时间内的脉冲个数即频率,但对于低频率的信号测量误差会很大。因此,对于低频段的信号频率,必须采用其他的测量方法。为了减小低频段

17、信号频率的测量误差,采用测周期法,也就是间接测量法。其原理是测量在单位时间内的被测信号的周期。在单位时间内,已知标准的短周期间隔的较高频率的信号通过,通过数字电路或微型计算机的运算,单位时间的已知信号频率的个数越多,其被测频率也就越低。如图2-5.被测闸门信号高频信号实际检出信号未知图2-5 间接测量法时序图该方法只适合低频率信号的测量,高频率信号测量会有很大的误差。2.2.3 直接与间接相结合的方法本设计是测量宽频带频率的测量,频率测量范围很大,能够测量从2HZ1MHZ之间的任意一个频率;又需要尽可能地提高测量频率的准确度和精确度,所以对频率的测量通过分段,采用直接与间接相结合的方法。把测量

18、工作分为两种方法:(1)在的高频段采用直接测频法。(2)在的低频段采用测周期法。 3 系统硬件设计频率计由单片机AT89C52 、信号预处理电路、测量数据显示电路所组成,其中信号预处理电路包括待测信号放大、波形变换、波形整形和分频电路。系统硬件实现框图如图3-1所示。待测信号放大电路波形变换、整形闸门控制分频电路单片机显示电路图3-1 频率计原理框图3.1 信号预处理电路3.1.1 放大电路采用两个NPN三极管(9018)级联方式实现对待测信号的放大,降低对待测信号的幅度要求。电路中用两个三极管(9018)。为了获得比较宽的频率,第一个三极管采用共集电极方式。在三极管之前加入一个47K的电阻,

19、增大输入电阻,可以减轻被放大信号的信号源负担,少索取信号源电流,使信号源有效的信号电压尽量加在放大器上。共集电极方式可以放大电流,电压跟随作用,输入电阻高,输出电阻小频率特性好。不具有实质性的放大作用。第二个三极管采用共发射极方式,主要作用是放大非常弱的输入脉冲信号。共射级放大电路的电压和电流增益都大于1,输入电阻在三级组态中,输出电阻和集电极电阻有关,输出电阻小一些好,可以使放大器带负荷的能力强一些。可以多一些的输出电流。适用于低频。一般通过它的放大后,其电压可以达到3伏以上。为了消除不必要的噪声信号干扰,在两级放大电路中都加入了滤波电容,保证待测信号的稳定。如图3-2所示。9018参数如下

20、:NPN 集电极-发射极电压 15V 集电极-基电压 30V 射极-基极电压 5V 集电极电流 0.05A 耗散功率 0.4W 结温 150 特征频率 平均 620MHZ 放大倍数:D28-45 E39-60 F54-80 G72-108 H97-146 I132-198图3-2 放大电路 3.1.2 波形变换和整形电路为了把要检测的正弦波、三角波、方波等各种波形的正负交替的信号波形变换成可被单片机接受的TTL/CMOS兼容信号。采用数字芯片(74HC00)。数字芯片(74HC00)是TTL2输入端四与非门,高电平4V,低电平1V。其引脚功能如表3-1所示。74HC00功能表,如图表3-2所示

21、 。其引脚图如图3-3 表3-1 74HC00引脚功能说明引脚名称说明引脚名称说明引脚名称说明1A-4A输入端1Y-4Y输出端GND地1B-4B输入端VCC电源表3-2 74HC00功能表Y=AB输入输出输入输出ABYHLHLLHHHLLHH图3-3 74HC00引脚图 74HC00在转换过程中有正反馈作用,可以将边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。在数字系统中,矩形脉冲经传输后往往会发生畸变。引起畸变的原因主要有两个方面:一是由干扰信号引起的;二是由传输线路引起的。前一种比较普遍。后一种当传输线上电容较大,波形的上升沿和下降沿明显变坏。也可能由于传输线较长引起振荡现象;还有

22、可能信号上出现附加的噪声。这些都将严重影响到矩形脉冲的实际效果。74HC00芯片可以很好地解决这些问题,得到比较理想的矩形脉冲波形。其电路如图3-4所示。在实际应用中,仅仅用到一个与非门,它的1脚接高电平,2脚接通过放大作用放大的输入信号,3脚输出高低电平的数字信号,实现波形的变换和整形。图3-4 波形变换和整形电路 3.1.3 闸门时基电路为了对数字信号的控制,采用数字芯片(74LS08)。74LS08是两输入端四与门,其管脚如图3-5,其功能表如表3-3。 表3-3 74LS08功能表Y=AB输入输出ABYLLLLHLHLLHHH图3-5 74LS08引脚图 在实际应用中,只用到其中的一个

23、与门,它的1脚接74HC00的输出信号,2脚接到单片机的P3.1,2脚的电平是高还是低,取决与单片机。当2脚是低电平时,无论74HC00输出的是高电平,还是低电平,在74LS08的3脚都没有信号输出;当2脚是高电平时,从74HC00的3脚出来的信号就通过74LS08的1脚传送到3脚,然后进入下一个控制电路。 芯片74LS08在电路中起到一个开关的作用,只有在高电平有效时,才能进行信号的传输,起到控制的作用。低电平时,则无效。其在电路中的应用如图3-6。图3-6 闸门时基电路 3.1.4 分频电路为了扩展单片机的频率测量范围实现宽频的目地,也为了实现单片机频率测量和周期测量的使用统一的输入信号。

24、采用数字芯片74LS393。74LS393是双4位二进制计数器。采用两个芯片接成级联的方式,组成一个8位二进制计数器,同时也是分频比为256的分频器,然后将它们接入单片机的P1口。计数时序如表3-4。表3-4 74LS393的计数时序计数输出QdQcQbQa0LLLL1LLLH2LLHL3LLHH4LHLL5LHLH6LHHL7LHHH8HLLL9HLLH10HLHL11HLHH12HHLL13HHLH14HHHL15HHHH74LS393是具有独立时钟的双4位二进制计数器,每个计数器都有直接清除,有效提高系统密度,缓冲输出减小集电极转换的可能性。每个计数器又有个清除输入和一个时钟输入。由于每

25、个计数级都有并行输出,所以系统定时信号可以获得输入计数频率的任何因子。74LS393的最大计数速率可达50MHz,与AT89C52内的T0组成24位的计数器,其最大计数值为-1=16777215,分辨率将大大提高。其分频电路如图3-7。另外,采用74LS393的好处还在于它的清零端口可以与单片机的一个引脚相连,通过对单片机软件编程实现分频器74LS393的自动清零和重新计数,就不再需要硬件电路来实现,简化了电路的设计。74LS393A引脚1连接由74LS08的3脚,作为信号输入。2脚与74LS393B的2脚相连接到单片机的P3.0口,作为输入。74LS393B的1脚接到74LS393A的引脚6

26、,由74LS393A的6脚提供时钟信号。74LS393的输出端口分别连接到单片机的P0口上作为输入。图3-7 分频电路3.2 最小系统3.2.1 AT89C52 频率测量电路选用AT89C52 作为频率计的信号处理核心。在众多的单片机系列中,AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系列可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超高效的解决方案。AT89C52的管脚如图3-8。 频率测量电路选用AT89C52 作为频率计的信号处理核心。AT89C52 包含2 个16 位定时/计

27、数器、1个具有同步移位寄存器方式的串行输入/输出口和8K8位片内FLASH 程序存储器。16位定时/计数器用于实现待测信号的频率测量或者待测信号的周期测量。同步移位寄存器方式的串行输入/输出口用于把测量结果送到显示电路。8K8位片内FLASH 程序存储器用于放置系统软件。32个I/O口线使单片机外围能最大可能的扩展。另外引脚在程序控制下有第二功能,可供设计者灵活选择。如当需要系统扩展时,则数据线和地址线低8位分时复用通道P0口,地址高8位和其他信号可合用通道P2口,功能变换和选择由相应的指令完成。单片机I/O引脚一线多功能的特点方便了用户的设计,在组成系统时可自选择。图3-8 AT89C52管

28、脚图P1口设置为接收数据端口,通过分频器74LS393分频后依次接到P1口的8个引脚。P2口的各引脚接到74LS06的输入端,用于位驱动;P3口设置为第二功能。P3.1控制闸门时间的开启;P3.3用于周期测量时的时基控制端;P3.4用于直接测频率时脉冲信号的计数端;P3.5用于定时。将P0口和P2口设置为发送数据端口。单片机复位端(RST)可采用采用外部手动复位,实际操作也很方便。 P0口:P0口是一个8位漏级开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0口端口写“1”时,引脚作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P

29、0具有内部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8位是双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。对P1口写“1”时,内部上拉电阻的原因,将输出电流ILL。 P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲级可驱动吸收或输出电流4个TTL逻辑电平。对P2口写“1”时,通过内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流ILL。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。对P3口写“1”时,内部上拉电阻

30、把端口拉高,此时可以作为输入端口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流ILL。P3口除了作为一般、的I/O口线外,更重要的是它的第二功能,如表3-5所示。 表3-5 P3口引脚第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通) RST:复位输入。晶振工作时,RST脚持续2个机器周期以高电平将使用单片机复位。 ALE/PROG:地址锁存器控制信号(A

31、LE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(PROG)也使用作编程输入脉冲。 PSEN:外部程序储存器选通信号(PSEN)是外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据储存器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000HFFFFH的外部程序存储器读取指令,EA端必须保持低电平(接地)。为了执行内部程序指令,EA应该接VCC。 XTA L1:振荡器反相放大器及内部时钟发生器的输入端。XTA L2:振荡器反相放大器的输出端。3.2.2 复位电

32、路单片机的复位电路(如图3-9)在最小系统中有很重要的作用。不管是置位还是复位,都是为了把电路初始化到一个确定的状态。它的作用是将工作状态初始化到空状态,在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。本设计的复位电路由按键复位和上电复位两部分组成。(1)上电复位:AT89C52单片机为高电平复位,在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的值为8K和0.1uF。(2)按键复位:按键复位就是在复位电容上并联一个开关

33、,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。图3-9 单片机复位电路3.2.3 晶振电路在AT89C52的最小系统中,晶振电路的作用非常大。晶振电路电路中的晶体振荡器能结合单片机内部电路产生单片机所需要的时钟频率。单片机运行速度的快慢决定于晶振提供的时钟频率。频率越高,运行速度越快;率越低,那么运行的越慢。单片机接的一切指令的执行都是建立在单片机晶振提供的时钟频率。本设计的晶振电路由一个24M晶振和两个30PF的电容组成,给系统提供所需的时钟频率。如图3-10所示。图3-10 晶振电路3.3 显示电路 在实际的设计中,P0口的各引脚

34、接到74LS245的输入端,用于段驱动。74LS245用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当AT89C52单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。其管脚如图3-11。 图3-11 74LS245管脚图 如图3-13所示。一般而言,数据显示有静态显示和动态显示两种。所谓静态显示,就是当

35、显示器显示某一个字符时,相应的发光二极管恒定地导通和截止。它的优点是显示稳定,显示亮度大;缺点是使用的数码管数量少。正是因为它的这个缺点和本设计的要求,数字频率计的显示电路选择了采用动态扫描显示。所谓动态显示,就是LED显示器一位一位地轮流电亮(扫描)。对于每一位LED显示器来说,每隔一段时间点亮一次。LED 显示器的亮度既与导通电流有关,也与LED显示器点亮时间和间隔时间的比例有关。通过调整LED显示器的导通电流和时间比例参数,可以实现较高亮度且稳定的显示。发光二极管共有两种连接方法:(1)共阴极接法发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样,高电平接到阳极端,发光二极管

36、被点亮,相应的段被显示;其他的不点亮。(2)共阳极接法发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5V,这样,低电平接到阴极端,发光二极管被点亮,相应的段被显示;其他的不点亮。本设计LED显示器采用共阴极动态显示形式,8位LED用两块四位集成的数码管连接组成。频率计数结果以BCD码的形式存放在AT89C52的存储单元中,通过P0口接到74LS245上,控制8位LED的段选码;通过P2口接到74LS04上,控制8位LED的位选码。74LS245是8位总线驱动器,由芯片上的T/引脚(1脚)控制数据的传输方向。当T/=1时,数据从A端传送到B端;当T/=0时,数据从B端传送到A端。根据本设

37、计的原理图知,数据是从A端传送到B端,因此设T/=1,即是高电平有效。另外,由于51单片机的P0口没有上拉电阻,在将P0口设置为输出端时,必须考虑在段驱动的每一段位上接入上拉电阻,使LED显示管能够工作。单片机的P1口扫描输出时总有一位为高电平,如果没有反相驱动器将这一位的高电平变成低电平,那在LED上显示出来的将是乱码。74LS04是反相器,正好符合设计要求。由于是8位LED显示管,所以采用两个74LS04来控制。74LS04是6组反相器,其引脚图如图3-12。引出端符号1A-6A 输入端 1Y-6Y 输出端极限值电源电压为7V 输入电压为7V工作环境温度为0-70度存储温度为-65-150

38、度图3-12 74LS04管脚图图3-13 测量数据显示电路A图3-13 测量数据显示电路B 3.4 总电路图总电路图见附录B 4 系统软件设计一个设计能否成功,不只是要有硬件,也要有软件。软件编程部分是设计电路能否成功的关键。本设计用的是单片机AT89C52,具有编程和自动运算的功能,所以很多功能都得用软件部分来实现。 数字频率计的系统软件设计采用模块化设计方法。如图4-1所示。整个系统由初始化模块、频率测量模块、二进制转BCD码模块、测量数据显示模块、信号周期测量模块、浮点数格式化模块、定时器中断服务模块、相关子模块组成。图4-1 系统软件流程图 下面分别介绍各个功能模块的作用。4.1 直

39、接频率测量模块直接频率测量模块是整个软件设计模块中最重要的一部分。要对频率的直接测量,首先对定时器/计数器T0、T1进行初始化,T1设置为定时器方式1,T0设置为计数器方式1;然后打开闸门P3.1。用软件进行设置是将EA=1,运行控制位TR=1,然后启动定时/计数器开始工作;再运行软件延时程序,同时定时/计数器对外部的待测信号进行计数,延时结束时TR 清0,停止计数;最后从计数寄存器读出测量数据,在完成数据处理后,由显示电路显示测量结果。其流程框图如图4-2所示。源程序见附录A。T0/TI初始化启动定时器T1打开计数闸门P3.1关闭计数闸门P3.1关闭计数器读入计数值计数值修正结果转换成BCD

40、码送动态显示辅助计数器加1定时时间到?YYNN计数器T0溢出?延时100s开始图4-2 直接测频法流程框图4.2 信号周期测量模块 在低频率段,为了保证比较高的测量精度和较小的测量误差,在数字频率计低频段的设计中,往往不是直接测量输入脉冲信号的频率,而是去转测它的周期。利用测周期法实现频率测量时,外部的待测信号通过频率计的预处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时/计数器的输入脚。首先将计数器清0,如果输入高电平,则将控制位TR置1,开始计数。同时检测输入的高电平是否结束,如果是,将TR清0,停止计数,如果没结束,则继续。当计数完成,从寄存器中读出测量数据,在完成数据处理后,

41、由显示电路显示测量结果。其流程框图如图4-3所示。源程序见附录A。开始T1初始化P3.3下降沿?T1计数并将值保存到TL1寄存单元P3.3上升沿?T1计数并将值保存到TH1寄存单元等待等待YYNN结 束图4-3 测周期法流程框图 4.3 定时器中断服务模块定时器中断应用在软件中实现某功能时显得非常方便和简单。它解决了快速的CPU和慢速的外设之间的矛盾,使它们能够同步工作,大大提高了CPU资源的利用率。首先找到INT1的中断入口地址,并初始化,当闸门时间到时,响应中断,单片机的定时/计数器对计数脉冲进行计数,然后调BCD码程序,送LED数码管显示。其中断流程框图如图4-4所示。源程序见附录A。I

42、NT1中断入口初始化保存计数值TR0,TH0,TL0清零BCD转换软件译码调显示子程序返回图4-4 INT1中断程序流程图 4.4多进制二进制数转换为BCD码模块这是针对于直接测频法时计数脉冲而言的。因为单片机AT89C52内置计数器只能进行二进制计数,而显示部分不能识别二进制数,所以计数的结果必须先进行二进制转十进制运算,变成输出显示能够识别的BCD码,然后再将结果送到显示缓冲区进行显示。其流程框图如图4-5所示。源程序见附录A。图4-5 多进制二进制数转换为BCD码流程图 4.5 相关子模块低频率段的信号测的是信号的周期,要得到信号的频率,需要做一次倒数运算。运用浮点数算数运算,可以提高运

43、算精度。浮点数有三个字节,第一字节的最高位是数符,第二个字节为尾数的高字节,其余七个尾数为低字节的浮点数。前三个字节截取高16位通过的测试信号周设置数符,要转换为上述格式的浮点计算的信号频率值。然后浮点运算处理,信号的频率值表达式使用浮点格式。浮点数到BCD码转换模块转换信号的频率值在浮点格式表示成本频率计数器显示格式,发送到显示模块显示测试信号的频率值。无论其中哪种方式进入显示模块,显示的是完整的,频率计都开始下一次测量。源程序见附录A。4.6 LED动态显示模块其流程框图如图4-6所示。图4-6 LED动态显示流程图显示开始,首先置断码、位选码初值。分别送单片机端口,位选码送P2口,段选码

44、转字型码送P0口,通过查表将存储单元的数据送LED显示;调用延时子程序,指向下一个显示单元,如果显示完,则返回。没完,位选码左移一位,继续显示,直到所有位显示完退出。源程序见附录A。4.7 源程序详细程序见附录A.5 仿真和调试5.1硬件的仿真硬件电路的仿真用Protues软件。Protues是一款很好用的仿真软件。(1) 首先打开软件如图5-1。图5-1 软件界面然后在蓝色区域内添加元器件,连线。然后硬件调试,由大到小,从整体到局部,进行调试。利用仿真软件proteus的强大的仿真功能可以有效地检验所设计的原理图是否在理论上正确合理。选择适当的三极管和设置基极,发射极,集电极电阻可以得到适当

45、的放大倍数对所测的信号进行有效的处理。直到最后的仿真通过。仿真图如图5-2。图5-2 仿真电路图5.2 软件的调试 软件的调试用Keil uvision4。Keil uvision4是德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。5.2.1 软件调试步骤(1) 建立源文件:打开Keil uvision4,使用菜单中的“File-New”或者点击工具栏的新建文件按钮,就可以在项目窗口右侧打开一个文本编辑窗口。如图5-3。图5-3 建立源文件(2) 在文本编辑窗口中输入汇编语言源程序,然后将该程序保存,加上扩展名(.asm或.C),这里将文件保存为test.asm。如图5-4。图5-4 文件保存(3) 工程文件的建立:建立工程文件:点击“Project-New Project”菜单,出现一个对话框,输入gongcheng,不需

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号