《单片机课程设计基于单片机数字频率计》由会员分享,可在线阅读,更多相关《单片机课程设计基于单片机数字频率计(19页珍藏版)》请在金锄头文库上搜索。
1、贺 州 学 院学生课程设计课程名称 单片机课程设计 授课学期 2010 学年至 2011 学年 第 2 学期系 部 物理与电子信息工程系专 业 通信工程 学号 姓名 任课教师 交稿日期 2011.6.14 成绩 阅读教师签名 日 期 基于单片机数字频率计摘 要本方案以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。本设计以AT89S52单片机为核心,应用单片机的算术运算和控制功能并采用LCD液晶显示屏将所测频率显示出来。系统简单
2、可靠、操作简易,能基本满足一般情况下的需要。既保证了系统的测频精度,又使系统具有较好的实时性。本频率计设计简洁,便于携带,扩展能力强,适用范围广。关键词:单片机,AT89S52,频率计,LCD液晶显示屏ABSTRACTThis project is to the Single-Chip-Micro Controller as the centre.The measured signal firstly entried into the amplifier circuit to be amplified,then to be sent to waveform plastic circuit to
3、 be plasticed as square wave.Make use of the performance of counter and timer of the Single-Chip-Micro Controller to count the measured signal.Make corresponding program can make the Single-Chip-Micro Controller automatic adjust the range that counted.And send the counted frequency data to the show
4、circuit to show.This design is to the Single-Chip-Micro Controller of AT89S52 as the centre.Put the Arithmatic operation and the control function of the Single-Chip-Micro Controller and use the LCD(Liquid crystal display) to show the measured frequency.Not only guaranteed the accuracy of the measure
5、d frequency but also make the system have a good real-time.This design of the frequency meter designed simple,easy-take,wide expand ability and widely aplication range.Key Words: Single-Chip-Micro Controller; AT89S52;frequency meter; LCD(Liquid crystal display) 目 录ABSTRACT11方案设计31.1功能要求31.2方案论证31.2.
6、1方案比较31.2.2方案论证41.2.3方案选择42 硬件设计42.1 数字频率计的硬件系统框架42.2 数字频率的单元电路设计52.2.1 AT89S52芯片介绍52.2.2 频率输入端口72.2.3 时钟电路72.2.4 复位电路82.2.5 液晶屏的显示(LCD1602)92.2.6 电源的输入93 软件设计103.1 软件设计规划103.1.1 信号处理103.1.2 定时器/计数器103.2 程序流程图设计114 系统测试124.1调试所用的基本仪器清单124.2调试结果124.3测试结果分析125 总结12参考文献13附 录141 前 言用单片机和数字电路设计的频率计以读数直观、
7、数字准确、功耗低、体积小、质量轻、信号稳定的优点,解决了现有技术中各种数字仪表由外加干电池供电,不能连续在电路中工作的问题,被电子工程人员广泛应用,并有着广阔的发展前景。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。2 方案设计2.1功能要求(1)能测量10HZ500KHZ的方波。(2)利用数码管或者液晶显示器显示频率。2.2
8、方案论证2.2.1方案比较方案一:本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。其原理框图如图1-1所示:信号放大电路信号整形单片机AT89c51电路数字显示 电路图1-1 方案一原理框图方案二:本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。其原理框图如图1-2所示:逻辑控制电路时基电路放大整形电路闸门电路计数器锁存器译码显示器图1-2 方案二原理框图2.2.2方案论证方案一:本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大
9、,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。方案二:本方案使用大量的数字器件,被测信号经放大整形电路变成计数器所要求的脉冲信号,其频率与被侧信号的频率相同。同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率Fx = NHz。逻辑控制电路的作用有两个:一是产生锁存脉冲,是显示器上的
10、数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。2.2.3方案选择比较以上两种方案可以知道,方案一的核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。如要测量高频的信号还需要加上分频电路,价格相对高了点。基于上述比较,所以选择了方案一。3 软件设计3.1 软件设计规划数字频率计是一个将被测频率显示出来的计数装置,它主要由单片机89C52控制、复位电路、晶振、LCD液晶显示屏、电源等组成。该系统的功能是将信号输入P3.4口,通过单片机程序控制
11、,对LCD显示器进行控制,实现动态显示。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。在进行有关电子技术的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。图2-1为数字频率计方案框图。图2-1 频率计的系统框图3.2 数字频率的单元电路设计3.2.1 AT89S52芯片介绍AT89S52是一个低功耗,高性能COMS8位微控制器,片内含8K bytes的可反复插写的Flash存储器,片上Flash允许程序存储器在系统可编程。在单芯片上拥有灵活的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提高
12、灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52引脚图如图2-2所示。图2-2 AT89S52引脚图芯片引脚功能:P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上
13、拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: P1.0 T2
14、(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊