单片机技术的数字式频率计设计

引 言 4
一、总体设计方案 4
二、硬件设计电路 5
(一)AT89C51性能特性 5
(二)放大整形电路 6
(三)电源模块 6
(四)显示译码电路 7
(五)数码管显示电路 7
三、软件设计 8
(一)数据处理过程 8
(二)软件流程 9
(三)主程序main流程图 10
(四)程序 10
四、系统的仿真与调试 14
(一)Keil C51的调试 14
(二)Proteus仿真 14
(三)结果分析 16
五、总结语 17
致谢 17
参考文献 17
附录 18
附录1:整体电路图 18
引 言
随着电子技术和计算机技术的发展,频率计也在不断进步,如灵敏度不断地提高,频率范围不断地扩大,功能也会越来越多。在工业上,如测试通信领域,微波通信器件或相关的产品,通常都需要一些复杂的信号输入,那些含有复杂频率成分、未知的频率分量、固定的频率变化、纯净或叠加的干扰调制等。为了能够满足不同频率信号的测量,需要分析信号的特性和各种频率测量,本设计就是解决这些实际问题。微波技术通常使用分频的频谱分析仪或混合电路(包括多个时间基准、合成器、IF放大器等),微波计数器用来完成计数任务,由于每个生产厂家都有其自己的一套复杂计数器的设计,使得不同型号的技术性能和价格都不相同。例如,一些计数器可以测量脉冲参数,不同的规格具有不同的功能,用户必须根据需要作出正确选择,以达到经济实惠和最佳应用效果。本设计以AT89C51单片机为核心部分,并充分利用硬件设计和软件资源,实现数字频 *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$ 
率计的设计。
一、总体设计方案
在查阅了相关参考文献后,提出了本设计总体原理框图。工作过程是被测信号通过脉冲形成电路进行放大,将正弦波或三角波整形为方波,通过倍频锁相电路,送入单片机处理。时基电路产生较高的标准频率信号,其作用是提供准确的计数时间T,各种时基信号(如1ms、10ms、0. 1s、1s、10s)是通过经单片机分频后获得的,再对被测信号进行译码计数,计数结果经LED数码管显示,得到被测信号的频率值,系统框图如图1所示。
图1系统的总体原理框图
二、硬件设计电路
(一)AT89C51性能特性
89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,其特点:编程灵活、易调试;工作速度高。芯片外形40个引脚,其内部包含一个8位CPU,4KB ROM程序存储器,256B RAM数据存储器, 32条I/O线,同时内外含两个外中断口,2个16位定时器/计数器, 5个中断源、两个优先级嵌套中断结构,一个可编程全双工的串行口, 片内振荡器及时钟电路。晶振频率高达24MHz,一个机器周期仅为500ms,如图2所示。
图2 AT89C51管脚图
引脚说明:
1.电源引脚
引脚40,VCC,接+5V电源
引脚20,Vss,接地端
2.时钟引脚
引脚19,XTAL1,一般为外接晶振的一个引脚,即内部振荡电路反相放大器的一个输入端。当采用外部晶振时,此引脚一般是接地。
引脚18,XTAL2,为外接晶振的另一端引脚,即内部振荡器反相放大器的输出端。当采用外部晶振时,此引脚一般是接外部振荡源。
通常XTAL1与XTAL2引脚接2个电容30 pF和12 MHz晶振组成时钟电路。
3.控制引脚
引脚9,RST,此引脚接1 k或10 k电阻,与20uF电容及复位开关组成开关复位电路。
4.其他引脚
如引脚1,P1.0,一般与74LS164移位寄存器的A,B端口连接,串行输出待显示的具体数据。
引脚2,P1.1,接74LS164移位寄存器的CLK,用以输出时钟信号。
引脚5-7,P1.5-P1.7,分别与74LS145译码器的A,B,C端口连接,输出位控制信号。
引脚15,P3.5,一般接输入脉冲信号。
(二)放大整形电路
本电路将实际测到的脉冲波、正弦波、三角波等被测信号频率fx用放大电路把它转化为可以被单片机的主控门 P3.5口直接计数的脉冲信号Fx。矩形脉冲波的整形电路通常利用施密特触发器和单稳态触发器来实现,本设计选用了施密特触发器,如图3所示。被测信号fx经放大、整形、滤波后转换成脉冲信号Fx。
图3 放大整形电路
(三)电源电路
本电路由4只单向导通的二极管组成桥式整流电路,1片78L05三端稳压器和电容滤波构成。交流220V电压输入,经变压器、桥式整流和滤波后,输出+5V电压信号,作为系统工作电源,如图4所示。
图4电源电路
图5显示译码电路
(四)显示译码电路
综合地考虑性价比等因素,在译码器和寄存器设计部分进行了认真地选择。显示部分由74LS145译码器、74LS164移位寄存器和6个数码管构成,其作用是将二进制转换为十进制。还设想选用HARRIS公司推出的ICM7218B共阴极数码管驱动芯片,它内部含有多路扫描器、BCD译码器、段驱动和位驱动等部分,用此驱动可使硬件电路及显示部分的软件程序相对简单,但由于其价格相对较高,所以选用74LS145译码器与74LS164移位寄存器,用以显示所测得的被测量频率值,如图5所示。
(五)数码管显示电路
本设计的LED显示器由6个LED组成,采用扫描显示方式。设计思路是,在数码显示时,通过1个8位I/O端口实行控制,把所有位的段选线,经过并联方式相应的接在一起,最后形成段选线的多路重复利用。而74LS145译码器采用的是位选部分, 74LS164移位寄存器采用的是段选部分。译码器的作用是将二进制转换为十进制,移位寄存器的作用是将显示位逐步顺序显示,使每位显示出所需要显示的字符,并且只有一位得到显示,其他各位处于熄灭状态。就这样循环往复,在此充分地利用了人眼有视觉残留现象与LED的余辉效应,只要每位显示间隔时间足够短,则可产生多位同时发亮的视觉效果。
三、软件设计
(一) 数据处理过程
被测频率信号fx通过放大、整形、滤波和锁相倍频电路后变成脉冲信号Fx送入单片机的P3.2引脚,通过高低电平检测,决定是否启动程序周期。
1、将两个寄存器TH0、TL0清0,T0(P3.4)定时器的运行控制位TR0置1、ET0置1,此时T0(P3.4)定时器进入中断状态。
2、判断INT0端电平。当引脚为“1”时继续等待,当引脚为“0”时,低电平有效,控制位复位,停止T0(P3.4)定时器,此时启动软件程序。
TR1=0; //关闭T1定时槛,定时1S完成
图7 频率1Hz、12Hz、1234Hz仿真
当输入频率为12345Hz时,通过计算相对误差为0.0162%,如图8所示。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/2013.html

好棒文