单片机数字频率计设计_本科毕业设计(论文).doc

上传人:小小飞 文档编号:3915803 上传时间:2019-10-10 格式:DOC 页数:36 大小:2.09MB
返回 下载 相关 举报
单片机数字频率计设计_本科毕业设计(论文).doc_第1页
第1页 / 共36页
单片机数字频率计设计_本科毕业设计(论文).doc_第2页
第2页 / 共36页
单片机数字频率计设计_本科毕业设计(论文).doc_第3页
第3页 / 共36页
单片机数字频率计设计_本科毕业设计(论文).doc_第4页
第4页 / 共36页
单片机数字频率计设计_本科毕业设计(论文).doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《单片机数字频率计设计_本科毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《单片机数字频率计设计_本科毕业设计(论文).doc(36页珍藏版)》请在三一文库上搜索。

1、本科毕业设计(论文)题目: 数字频率计设计教学单位: 机电工程系 专 业: 自动化 2013年 5月 摘 要设计以AT89C51单片机为核心,被测的矩形波或者方波整形为脉冲后输入单片机。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。本设计的目的是通过对单片机原理及应用的学习,以及查阅相关资料,培养自学与动手能力,把学到的知识应用到日常生活当中。在设计的过程中,不断的补充不知道的知识、巩固所学、相互讨论,运用科学分析问题的方法解决设计中遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设

2、计系统的经验,充分发挥教学与实践的结合。设计出符合要求的数字频率计。关键词:单片机;数字频率计;设计;AbstractDesign USES AT89C51 microcontroller as the core, measured in square wave or a square wave input microcontroller after plastic for pulse. Using single chip microcomputer counter and timer function to count the signal to be measured. Write the

3、 corresponding program can make the single chip microcomputer automatic adjust the range of measurement, and send the frequency of the measured data display circuit.The purpose of this design is based on single chip microcomputer principle and application of learning, and access to relevant data, th

4、e cultivation of self-study and practical ability, the application of knowledge to the daily life. Supplement in the process of design, and constantly dont know knowledge, consolidate learning, mutual discussion, using the scientific method to analyze the problem to deal with the difficulties encoun

5、tered in the design, master the single-chip microcomputer system development process, learn to deal with common methods, accumulate the experience of the design system, give full play to the combination of teaching and practice. Digital frequency meter designed to meet the requirements.Key words: si

6、ngle chip microcomputer; Digital frequency meter; Design;目 录第1章 前言11.1 题目背景及研究意义11.2 设计内容及参数要求21.2.1 设计内容21.2.2 参数要求2第2章 方案的设计与论证32.1 测频原理32.2 方案一42.3 方案二42.4 方案选择5第3章 硬件的设计63.1 基本设计原理63.2 系统硬件模块关系63.2.1 系统总体63.2.2 单片机管脚说明73.2.3 单片机I/O口分配表103.2.4 频率显示电路103.2.5 时钟电路103.2.6 电源电路113.2.7 复位按钮113.2.8 数码管

7、显示电路123.2.9 输入信号的要求143.3 最终的硬件电路图15第4章软件的设计164.1 程序的流程图164.2 数码管扫描部分194.3 频率计主程序19第5章 软件与硬件调试205.1 C程序编译与仿真结果205.2 在Proteus ISIS 上的仿真结果20第6章 设计总结与体会23致 谢24参考文献25附录A 系统硬件电路图26附录B 元器件清单27附录C 源程序28IVI西京学院本科毕业设计(论文)第1章 前言1.1 题目背景及研究意义在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率测量在科技研究和实际应用中的作用日益重

8、要。传统的数字频率计都是采用纯硬件方式组成(纯数字电路)。它的集成电路用量较大,因而产品的体积、功耗都较大,生产成本较高。产品定型后不能升级(加入新功能)。而采用单片机和相关可编程智能集成器件制成的现代数字频率计情况就不同了,单片机的内核CPU可完成多项工作如计数、读入、译码、驱动和时基的产生等。和传统的数字频率计相比,它减少了很大一部分的集成电路的用量,并且还可以加入许多的智能操作,这更是传统的数字频率计所望尘莫及的。目前市场上的频率计产品很多,但基本上都是采用专用计数芯片(如ICM7240 ,ICM7216) 和数字逻辑电路组成,由于这些芯片本身的工作频率不高(如ICM7240仅有15MH

9、z左右) ,从而限制了产品的工作频率的提高,远不能达到在一些特殊的场合需要测量很高的频率的要求,而且测量精度也受到芯片本身极大的限制。自从80年代单片机引入我国之后,单片机已广泛地应用于各行各业的电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用单片机和高速计数器的组合设计频率计,并采用适当的算法取代传统电路,这种方法不仅能解决传统频率计结构复杂、稳定性差、精度不高的弊端,而且性能也将大有提高,可实现精度较高、等精度和宽范围频率计的要求。随着单片机技术的不断发展,可以用单片机通过软件设计直接用十进制数字显示被测信号频率。1.2 设计内容及参数要求

10、1.2.1 设计内容设计基于AT89C51单片机为核心的数字频率计。设计系统硬件电路和软件编程,实现脉冲频率的测量和数码管显示,并通过仿真软件进行仿真。1.2.2 参数要求电源: 直流5V显示: 五位数码管动态显示测量误差: 0.1%频率测量范围: 010000 Hz 输入信号波形: 矩形波和方波第2章 方案的设计与论证2.1 测频原理测频的原理归结成一句话,就是在单位时间内对被测信号进行计数。被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端。由晶体振荡器产生的基频,按十进制分频得出的分频脉冲,经过基选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得

11、到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔T内累计周期性的重复变化次数N,则频率的表达式为式: (2.1) 图2.1说明了测频的原理及误差产生的原因。时基信号待测信号 丢失(少计一个脉冲) 计到N个脉冲 多余(比实际多出了0.X个脉冲)图2.1 测频原理在图 2.1中,假设时基信号为 1KHZ ,那么用此法测得的待测信号为 1KHZ5=5KHZ。但从图中可以看出,待测信号实际应该在5.5KHZ左右,误差约有0.5/5.59.1% 。这个误差是比较大的,实际上,测量的脉冲个数的误差会在 1之间。假设所测得的脉冲个数为N,则

12、所测频率的误差最大为=1(N-1)*100% 。显然,减小误差的方法,就是增大N。本频率计要求测频误差在1%以下,则N应大于1000。通过计算,对 1KHZ以下的信号用测频法,反应的时间长于或等于10S 。由此可以得出一个初步结论:测频法适合于测高频信号。频率计数器严格地按照公式进行测频。由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的1量化误差,在不计其他误差影响的情况下,测量精度将为:(2.2)应当指出,测量频率时所产生的误差是由N和T俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个

13、数,一方面可在输入端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。2.2 方案一其工作原理如图2.2所示。该方法是使用单片机自带的计数器对输入脉冲进行计数,其好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。这种方法的缺陷是受限于单片机计数的晶振频率。本次设计使用的AT89C51单片机,将其内部定时/计数器Tl的功能设为定时。频率信号由P3.5端引入。由于检测一个由“1”到“0”的跳变需要两个机器周期。前一个机器周期测出“1”,后一个周期测出“0”。故输入时钟信号的

14、最高频率不得超过单片机晶振频率的二十四分之一。而且由于定时不能达到ls,所以要多次引起片内定时器的溢出中断,由此会引起测频的误差。输入信号单片机最小系统数码管显示电源图2.2 方案一原理框图2.3 方案二其工作原理如图2.3所示。该方法是单片机使用外部计数器对脉冲信号进行计数,计数值再由单片机读取。此方法的好处是输入的时钟信号频率可以不受单片机晶振频率的限制,可以对相对较高频率进行测量,但缺点是成本比第一种方法高,硬件系统结构比较复杂。输入信号十进制计数器闸门数据缓冲AT89C51电源数码管显示图2.3 方案二原理框图2.4 方案选择从以上两个方案中可知,内部计数器法测量频率受晶振频率的限制而

15、且多次中断会引发误差,但硬件结构简单。外部计数器法测量频率不受晶振频率的限制,但硬件结构复杂。因此通过对这两种方案优缺点的比较,本次设计选取方案一,因为其硬件结构简单、稳定性、可靠性高,易于实现,而且从软件编程方面也可以尽量减少误差,提高精度。所以采用单片机内部计数器法测量频率。第3章 硬件的设计3.1 基本设计原理本设计是基于ATMEL公司生产的AT89C51单片机为核心的数字频率计,是利用该51单片机内部的定时/计数器来完成待测信号频率的测量。AT89C51单片机内部具有2 个16位的定时/计数器T0与T1,其工作方法可以通过编程来实现所需的定时/计数与产生计数溢出中断要求的功能。定时/计

16、数器T0与T1的核心都是16位的加1计数器,TH0与TL0构成在构成定时/计数器T0加1计数器的高8位和低8 位;TH1与TL1构成在构成定时/计数器T1加1计数器的高8位和低8位。加1计数器的初值可以通过程序设定,这样就可以获得不同的计数值或定时时间。当加1计数器用作定时器时,每个机器周期加1(使用12MHz时钟时,每1us加1) ,这样以机器周期为基准可以用来测量时间间隔。当加1计数器用作计数器时,在相应的外部引脚发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期)

17、,所以最大计数速率为时钟频率的1/24。AT89C51单片机的时钟频率可以在0Hz24MHz 范围内自动调节,当使用12MHz时钟时,最大计数速率为500KHz。定时/计数器的工作由相应的运行控制位TR 控制,当TR置1时,定时/计数器开始计数;当TR置0时,停止计数。在本设计方案中,我通过程序设定T0工作在计数状态下,T1工作在计时状态下。T0计数器对输入的信号经行计数。由于信号的频率就是每秒钟信号脉冲的个数,于是我让T1工作在定时状态下,定时时间为1秒。每定时1秒钟到,就停止T0的计数,然后从T0的计数单元中读取计数的数值,即完成了信号频率的测量。最后通过五位数码管显示出频率值。由于要尽可

18、能的使用最少的元件,在满足设计要求的前提下,我尽可能的减少了元器件的使用。将被测信号不加任何处理,直接输入单片机的P3.5口。而将被测信号经行放大整形、倍频锁相等处理就不再进行了。这样做会使该频率计在测量信号频率时产生精度误差,但能够满足设计要求。3.2 系统硬件模块关系3.2.1 系统总体系统总体分为:中央控制芯片,时钟电路,复位电路,显示电路等部分。系统总体方框如图4所示。时钟电路复位电路AT89C51单片机电源电路数码管显示输入信号图3.1 系统整体方框图AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,

19、器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51具有如下特点:40个引脚,4k Bytes Flash 片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双向串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89C51设计和配置了振荡频率可为 0Hz 并可

20、通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3.2.2 单片机管脚说明AT89C51单片机管脚如图3.2所示。 图3.2 AT89C51引脚分布图P0:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH

21、进行校验时,P0输出原码,此时P0外部必须被拉高。 P1:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出 4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。 P2:P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储

22、器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1

23、(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在低平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时,

24、ALE只有在执行MOV X,MOV C指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间使用外部程序存储器,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET。当/EA 端保持高电平时,此期间使用内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时

25、钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 VCC:供电电压。 GND:接地。3.2.3 单片机I/O口分配表单片机I/O口分配表如表3.1所示。表3.1 单片机I/O口分配表P1.0开始键P3.5信号采集P2.0P2.4数码管位选通端P0.0P0.6数码管段码3.2.4 频率显示电路频率显示电路如图3.3所示。图3.3 频率显示电路图当按键按下以后,P1.0端直接与地接通,使P1.0引脚为低电平;当键弹起后,P1.0重新恢复高电平,从而产生一个脉冲信号给单片机,单片机从而接收输入信号并测量。3.2.5 时钟电路单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控

26、制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件的同步工作,单内部电路应在唯一的时钟信号下严格按时序进行工作。MCS-51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。MCS-51的时钟产生方法有“内部时钟方式”与“外部时钟方式”两种。在本设计中采用了内部时钟方式。 其电路图如图3.4所示。图3.4 时钟电路如图3.4所示,利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器X1(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振X1时,C1和C2的值通常

27、选择为30pF 左右;Cl与C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.212MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定可靠的工作,振荡器和电路应尽可能安装得与单片机引脚XTALl和XTAL2靠近。3.2.6 电源电路直流稳压电源一般由电源变压器、整流、滤波及稳压电路所组成。5V直流电源如图3.5所示。 图3.5 直流电源电路图3.2.7 复位按钮复位电路和时钟电路是维持单片机最小系统运行的基本模块。复位电路通常分为两种:上电复位和手动复位。有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。所以本次设计选用手动复位按钮,其电路图如图3.6所示。

28、图3.6 手动复位按钮3.2.8 数码管显示电路显示器是微机重要的输出设备。显示器有显示监控结果、提供用户操作界面等功能。在本次设计中采用了LED显示器,即数码管。数码管的每一个数码段是一只发光二极管。当发光二极管导通时,相应的一个点或者一个笔画发光,控制发光二极管发光组合,可以显示出所需字符。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴极数码管是指将所有

29、发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,要知道一个A

30、T89C51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各

31、个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。本次设计采用了共阴极结构动态显示数码管。在定义其显示字形的码段时,通过I/O口送出七段码。其段码表如表3.1所示。表3.1 共阴数码管段选码显示字形0123456789共阴段选码3FH06H5BH4FH66H6DH7DH07H7FH6FH仿真接口图如下图3.7所示。图3.7 数码管接线图

32、3.2.9 输入信号的要求定时/计数器的作用是用来精确地确定某一段时间间隔(作为定时器用)或累计外部输入的脉冲个数(作为计数器用)。当用作定时器时,在其输入端输入周期固定的脉冲,根据定时/计数器中累计的脉冲个数,即可计算出所定时间的长度。当MCS-5l内部的定时/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲位,计数器增l,因此定时/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的l/12。当采用12MHz频率的晶振时,计数速率为1MHz,输入脉冲的周期间隔为1s。由于定时的精度决定于输入脉冲的周期,因此当需要高分辨率的定时时,应尽量选用频率较高的晶

33、振。当定时/计数器用作计数器时,计数脉冲来自外部输入引脚T0或T1。当输入信号产生由1至0的跳变(即负跳变)时,计数器的值增l。由于确认一次负跳变需要用2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24,例如,选用6MHz频率的晶振,允许输入的脉冲频率为250kHz,如果选用12MHz频率的晶振,则可输入500kHz的外部脉冲。对于外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前能被采样一次,则这一电平至少要保持一个机器周期。 3.3 最终的硬件电路图根据总体设计方案,AT89C51单片机带有“时钟电路”与“手动复位电路”,各模块的作用

34、与单片机各引脚功能已详细叙述。其中, VCC为数码管提供电源。函数信号发生器(Signal Generator)为被测的信号源,输入端为P3.5。最终的硬件电路图如图3.8所示。图3.8 系统硬件设计图第4章 软件的设计系统的软件设计采用C语言,对单片机进行编程实现各项功能。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,位操作能力强,适用于各种应用的程序设计。使用C语言进行单片机应用系统开发,具有编程灵活、调试方便、目标代码编译效率高的特点。C语言也是目前使用最广的单片机应用系统编程语言。由C语言编程的单片机应用程序,称为单片机C语言程序。MCS-51系列单片机开发系统的编

35、译软件可以对51单片机C语言源程序进行编译,称为C51编译器。在C51编译软件中可进行51单片机C 语言程序的调试。4.1 程序的流程图定时0中断的流程图如图4.1所示。图4.1 定时0中断程序流程图定时1中断的流程图如图4.2所示。图4.2 定时1中断程序流程图主程序的流程图如图4.3所示。 图4.3 主程序流程图4.2 数码管扫描部分P2=0xff;/先关闭所有数码管P0=dispcodedispbufdispcount;/先确定相应数码管的段码,送入段码P2=dispbitdispcount;/送入位码if(dispcount=5&y=100)P0=dispcod1dispbuf5; P

36、2=dispbitdispcount; dispcount+;/下一次应该扫描下一位数码管所以要加一if(dispcount=5) /因为共有5个数码管dispcount=0;/扫描完第4个,回头扫描第0个4.3 频率计主程序数字频率计的主程序详见附录B。第5章 软件与硬件调试5.1 C程序编译与仿真结果Keil uVision是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,它还能嵌入汇编,你可以在关键的位置

37、嵌入,使程序达到接近于汇编的工作效率。 在 KeilVision3上的编译结果如图5.1所示。图5.1 程序仿真结果5.2 在Proteus ISIS 上的仿真结果Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。选取了一个较小的频率93Hz,其仿真结果如图5.2所示。图5.2 低频仿真选取了一

38、个中间频率 700Hz,其仿真结果如图5.3所示。图5.3 中频仿真选取了一个较大的频率 9000Hz,其仿真结果如图5.4所示。图5.4 高频仿真从以上仿真结果看来,我设计的基于AT89C51单片机的数字频率计满足了设计要求。第6章 设计总结与体会我在这次毕业设计中深刻理解了51单片机各部分的功能与作用。加深了上课时所学的有关于中断系统、存储器、I/O端口、时钟电路、复位方式等等环节的认识,不再对其一知半解或者毫无头绪了,并深深意识到了自己所学知识的局限性。我查阅了大量的相关文献,甚至是制造AT89C51单片机的ATMEL公司发布的产品说明书,收获很大。在查阅相关C程序时,我惊叹于某些编程者

39、的严谨作风,他们的程序注解十分详细,甚至有模块化的说明,使我受益匪浅。在今后的学习中,一定要向他们学习这种严谨的风格,从而更好地进行交流与合作。 由于查阅了许多英文资料,且使用的相关编译与仿真软件全部为英文,我感到自己的英文水品还有待于进一步提高。我看到Proteus仿真软件的元件库里有成千上万种元器件,却由于不认识英文,有时寻找一个元器件需要花很长时间,耽误了不少功夫。这更加激发了我学习英语的热情。在编译与仿真的过程中,我遇到了大大小小的许多问题,这些问题都是平时上课时从没遇到到过的。但是通过自己和与同学老师的努力,许多问题都最终被解决了。这不但提高了我们解决未知问题的能力,而且加强了和同学

40、老师之间的交流与协作,使我们的综合能力进一步提高。 致 谢四年的时间匆匆而过,在这即将离开学校的时刻,不禁让我想起了四年来学校对我的照顾和关怀。在这里我首先感谢母校西京学院。感谢西京学院为我提供了一个学习深造的机会。其次感谢所有在这四年里给予我关怀、教育和培养的老师们,是你们的无私奉献,辛勤耕耘,让我在这大学四年的时光里学到了很多的知识和做人做事的道路。最后感谢这次毕业设计中我的指导老师何景峰教授。在这次毕业设计中,我的指导老师何景峰教授对我精心指导,从毕业设计的开始到结束,何教授时时关心我的进度,帮我理清思路,指导设计思想,让我有计划、有方向、有针对性的进行毕业设计。当我在硬件调试中遇到问题

41、困惑不解时,何教授渊博的单片机知识和丰富的经验,给了我莫大的帮助,让我越发对单片机世界向往。同时何教授又在我完成设计的过程中起到了很好的督促作用,促使我早日完成我的毕业设计,在此我表示忠心感谢!参考文献1何立民.MCS-51 系列单片机应用系统设计M.北京:北京航空航天大学出版社,1995.2陈明荧.8051 单片机课程设计实训教材M.北京:清华大学出版社,2003.3何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,1998. 4彭容修,刘泉,马建国.数字电子技术基础M.湖北:武汉理工大学出版社,2007.5李全利.单片机原理及应用技术M.北京:高等教育出版社,2004. 6万福君

42、.单片微机原理系统设计与应用M.合肥:中国科学技术大学出版社,2004.7戴佳,戴卫恒.51 单片机C 语言应用程序设计M. 北京: 电子工业出版社, 2006.8毕满青. 电子技术实验与课程设计M . 北京:机械工业出版社,2005. 9 徐金增.单片机编程仿真实验系统的设计与实现M.山东:山东师范大学出版社,2009.10张毅坤,陈善久,装雪红.单片微型计算机原理及应用M.西安:西安电子科技大学出 版社,1998.11康华光,邹寿彬,秦臻.电子技术基础.数字部分(第五版)M.北京:高等教育出版社, 2006.1. (2008 重印)12谢龙汉,鲁力,张桂东Altium Designer 原

43、理图与PCB设计及仿真M北京:电 子工业出版社,2012.13李立华,李永华,徐晓东,王莹.模拟电子技术M.电子工业出版社,2008.14Kavanagh R C.Improved Digital Tachometer with Reduced Sensitivity to Sensor Nonideality.M. IEEE Trans.Ind. Elect ron. 2000 ,47 (4) :9097. 15David C.Fundamentals of Elect ronic Circuit Design.M.北京.电子工业出版社,2004.附录A 系统硬件电路图 图A.1是系统硬件电

44、路图。图A.1 系统硬件电路图附录B 元器件清单元器件清单表如图B.1所示。表B.1 元器件清单表元器件描述数量AT89C51单片机1LED显示器LED1触动开关1电阻1k,10k,50k,100k,200k若干电解电容50V,10uf1晶振12Mhz1瓷片电容30pf274LS245双向总线驱动器1导线若干附录C 源程序#include unsigned char code dispbit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/定义数码管位选码unsigned char code dispcod1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1