单片机课程设计基于单片机数字频率计.doc

上传人:仙人指路1688 文档编号:4147505 上传时间:2023-04-07 格式:DOC 页数:19 大小:459KB
返回 下载 相关 举报
单片机课程设计基于单片机数字频率计.doc_第1页
第1页 / 共19页
单片机课程设计基于单片机数字频率计.doc_第2页
第2页 / 共19页
单片机课程设计基于单片机数字频率计.doc_第3页
第3页 / 共19页
单片机课程设计基于单片机数字频率计.doc_第4页
第4页 / 共19页
单片机课程设计基于单片机数字频率计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课程设计基于单片机数字频率计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计基于单片机数字频率计.doc(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 口送出高八位地址。

15、在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第

16、二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固

17、定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳

18、过两次PSEN信号。 EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。3.2.2 频率输入端口信号发生器输出的方波频率从P3.4口输入到AT89S52单片机,部分电路图如图2-3 所示。

19、图2-3 频率输入图3.2.3 时钟电路单片机的时钟产生方法有内部时钟和外部时钟两种。最常用的内部时钟方式是采用外接晶体和电容组成并联谐振回路。单片机允许的振荡晶体可在1.2-24MHz间选择,在本设计中,我们选择12MHz的晶振。电容C1、C2的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20-100pF之间选择,典型值为30pF。本设计的时钟电路如图2-4所示。图2-4 时钟电路3.2.4 复位电路计算机在启动时都需要复位,这样使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。单片机复位都靠外部电路实现,MCS-51单片机有一个复位引脚RST

20、,高电平有效。它是施密特触发输入(对于CMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后,该引脚上出现两个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51便保持复位状态。此时ALE,PSEN,P0,P1,P2,P3口都输出高电平。RST变为低电平,退出复位状态,CPU从初始状态开始工作。复位操作不影响片内RAM的内容,复位以后内部寄存器的状态如表2-1所示。表2-1 复位后内部寄存器状态专用寄存器复位状态专用寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100H

21、DPTR0000HTL100HP0P3FFHSCON00HIPXXX0 0000BSBUFXXXX XXXXBIE0XX0 0000BPCON0XXX XXXXB单片机通常采用上电自动复位和按钮复位两种方式。最简单的是上电自动复位,但由于系统运行等需要,常常需要人工按钮复位,所以本设计采用上电按钮复位电路,如图2-5所示,只需将一个常开按钮并联与上电复位电路,按下开光一定时间就能是RST引脚端为高电平,从而使单片机复位。图2-5 按钮复位电路3.2.5 液晶屏的显示(LCD1602)液晶显示屏(LCD)用于数字型钟表和许多便携式计算机的一种显示器类型。LCD显示使用了两片极化材料,在它们之间是

22、液体水晶溶液。电流通过该液体时会使水晶重新排列,以使光线无法透过它们。在便于携带与搬运为前题之下,传统的显示方式如CRT映像管显示器及LED显示板等等,皆受制于体积过大或耗电量甚巨等因素,无法达成使用者的实际需求。而液晶显示技术的发展正好切合目前信息产品的潮流,无论是直角显示、低耗电量、体积小、还是零辐射等优点,都能让使用者享受最佳的视觉环境。本设计的液晶显示如图2-6所示。图2-6 液晶显示电路3.2.6 电源的输入 在已有的电源基础上,我们只要设计电源输入端口,通常用开关控制电源的输入,用一个发光二极管作为电源是否输入的标志,当发光二极管亮则表示有电源输入,电路中还必须有一个足够大的电阻,

23、以防输入电流过大而烧坏二极管。电源输入图如2-7所示。图2-7 电源输入图4 软件设计4.1 软件设计规划4.1.1 信号处理在频率计开始工作,或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。定时/计数器的工作首先被设置为计数器的计数寄存器清0后,置运行控制位TR为1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。计数闸门结束时TR清0,停止计数。计数寄存器中的值通过16进制数道10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,若该位不为0

24、,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的技术,直到满足测量数据有效位数的要求。待测信号经预处理电路分频后变成较宽的方波信号,并加至单片机的P3.4引脚,为单片机测信号频率提供有效的输入信号。单片机通过检测P3.4引脚来判断是否启动测周期程序。当该引脚为高电平时则等待,知道该引脚出现低电平时才开始测周期。首先将零赋给TH0、TL0两个寄存器,将定时器T0的运行控制位TR0置位,同时也将ET0置位以允许定时器T0终端,然后再判断P3.4引脚是否还为低电平,当不是低电平时则等待。一旦出现低电平则使TR0复位以终止定时器,

25、测周期程序结束。在测周期过程中,会发生定时器T0的中断,每发生一次中断则将R0寄存器加一,因此R0实际上是周期值的高字节。测出的周期值存储在R0、TH0、TL0三个寄存器中,然后将其转换成频率。由于所测周期的单位是s,再相除转换时要将被除数扩大10倍,这样才能保证得出正确的频率。得出的频率放到R1、R2、R3三个寄存器后调用转换BCD代码模块。调用显示消除多余零和显示数据存储模块,将要显示的频率值通过查表转换成相应数据8段码放到现实缓冲区以备显示。4.1.2 定时器/计数器(1)定时器控制寄存器(TCON)TCON寄存器既参与中断控制又参与定时控制。现对其定时功能加以介绍。其中有关定时的控制位

26、共有4位:F0和TF1计数溢出标志位当计数器计数溢出(计满)时,该位置“1”;使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清“0”;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。R0和TR1定时器运行控制位TRO(TR1)=0停止定时器/计数器工作TRO(TR1)=1启动定时器/计数器工作(2)工作方式控制寄存器(TMOD)TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。(3)中断允许控制寄存器(IE)EA中断允许总控制位ET0和ET1定时/计数中断定时器

27、/计数器提供给用户使用的有:8位计数器TH和TL,以及有关的控制位。这些内容只能以软件方法使用。4.2 程序流程图设计主程序流程图如图3-1所示。图3-1 主程序流程图5 系统测试5.1调试所用的基本仪器清单(1)数字式或指针万用表; (2) 信号发生器5.2调试结果下载程序到AT89S52中,输入方波进行调试。以下是调试结果:表4-1 测试结果及分析表实际输入值(Hz)测量值(Hz)差值161514444.430.432052050940940015801579021112110010.89K10.89K015.34K15.34K020.11K20.11K0198.03K198.021K0.

28、009105.75K105.764K-0.014249.0K249.025K-0.025352.3K352.24K0.06406.3K406.319K-0.019480.4K480.197K0.203491.5K488.45K3.055.3测试结果分析从测试结果分析,在20HZ500KHZ之间的测试数据中,越接近20HZ的数据与越靠近500KHZ的数据与实际输入值相差的越大,测试的误码率也越大,而中间数据(即200HZ2KHZ)的测试数据与实际输入数据相等。经分析,存在以上误差数据的原因有以下几点:(1)信号发生器本身输出数据的不稳定,引起读数误差;(3)液晶显示的延迟,再加上信号发生器输出数

29、据的跳变,会导致读数误差;(2)频率计本身的焊接效果,会导致一定的误差等。6 总结虽然是一样的原理图,但还是由于PCB布线不一样,得出来的结果也不一样,在做第一块板时,是因为布线时布错了两条线而导致液晶屏显示不出数据,用跳线焊接纠正之后结果还是一样。不得已之下,还是选择了重新画板。好在元件和连接线都不是很多的条件下,重新布线也不是很困难,经过一番努力之后终于成功的电路板的制作和焊接。在本是焊接技术比较差的基础上经过多次的焊接,锻炼了我的焊接能力。在编程上,经过在网上查找相关作品的程序,悉心研讨单片机课程,在同学的帮助下完成了编程,在检查编译无误导入单片机之后,便可正常运行显示测试的数据。经过这

30、次的单片机课程设计,让我体会的单片机作品的简洁、方便、实用和先进,制作需要的原件少,控制简单,只需要改变程序便可改变作品的功能,制作同样的作品,使用单片机的优势就显而见了。参考文献1姜志海, 黄玉清,刘连鑫编著.单片机原理及应用M.电子工业出版社2009.2赵景波,王劲松,滕敦朋.Protel 2004 电路设计-从基础到实践M.电子工业出版社,2007.3夏路易,石宗义.电路原理图与电路板设计教程Protel 99SEM.北京希望电子出版社,2002.4冯雷星,杨伟,芦燕龙.基于单片机高性价比频率计的设计与实现B.微计算机信息,2007,20.5顾巨峰,周浩洋,朱建华.基于可编程逻辑器件(Lattice)的多功能数字频率计J.电子工程师,2002,1:28-32.6张毅刚.单片机原理及应用.高等教育出版社M,2003.12(1).附 录附录一:原理图附录二:PCB图致 谢 在本次设计中感谢老师及同学们在设计中对我的帮助和指导!

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号