




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班级学号苏州大学电子信息学院本科毕业设计论文题目学院专业学生姓名导师姓名
毕业设计(论文)诚信声明书本人声明:本人所提交的毕业论文《基于单片机的脉冲频率计的设计与实现》是本人在指导老师下独立研究、写作的结果,论文中引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢词中加以说明并深致谢意。本论文和资料若有不实之处,本人承担一切相关责任。论文作者:(签字)时间:2013年月日指导老师已阅:(签字)时间:2013年月日 苏州大学电子信息学院毕业设计(论文)任务书学生姓名王如顺学号指导教师马强职称学院电子信息工程学院专业电子信息工程题目名称基于单片机的脉冲频率计的设计与实现任务与要求:任务:1.掌握电子元器件的特性及其工作环境,学会查阅相关资料文献。2.学会应用keil、Proteus、Protel等软件。3.能够完成基本的硬件设计。4.学会调试系统软件、硬件,具备基本的故障排除能力。要求:设计一个基于单片机控制的脉冲频率计,要求该频率计能够测得方波、三角波等多种波形的频率。要求该频率计测量数值稳定,精度较高且安全经济。要较强的实际应用意义。开始日期2013年月日完成日期2013年月日院长(签字)2013年月日苏州大学电子信息学院毕业设计(论文)工作计划学生姓名王如顺学号指导教师王如顺职称学院电子信息学院专业电子信息工程题目名称基于单片机的脉冲频率计的设计与实现一、毕业设计(论文)进度起止时间工作内容2013.9.10-2013.10.10查阅相关文献资料,学习有关电子元器件知识2013.10.11-2013.10.15确立方案,检索相关技术资料,熟悉相关仿真软件,设计整体电路图原理和仿真PCB板,完成开题报告2013.10.16-2013.10.24软件仿真设计,开始撰写论文2013.10.25—2012.10.30进行系统软件和硬件调试2013.11.01—2012.11.24整理资料,撰写毕业论文、论文答辩主要参考书目(资料)[1]江晓安,董秀峰,杨颂华。数字电子技术(第三版)西安电子科技大学出版社.2002.[2]谭浩强,C程序设计(第三版)清华大学出版社.2004.[3]邹大挺,频率计的设计[J]。《电子产品世界》出版社.2006.第193期4-7.[4]王永生,电子测量学[M].西北工业大学出版社.2003. [5]李华,单片机实用接口技术[M].航空航天大学出版社.2006.[6]张鹏,王雪梅。单片机原理与应用实例教程[M].海军出版社.2007.[7]赫建国等,单片机在电子电路设计中应用[M].清华大学出版社.2005.[8]康华光,电子技术基础(模拟部分)[M].高等教育出版社.1998.[9]谢自美,电子线路设计与实验[M].华中科技大学出版社.2006.[10]康华光,电子技术基础(数字部分)[M].高等教育出版社.1998.[11]徐波,Keil的使用技巧[J].《电子产品世界》出版社.2006.第224期.[12]吴清平,单片机原理与应用实例教程[M].海军出版社.2008.三、主要仪器设备及材料硬件:STC889C51、PCB板、LCD1602液晶显示器等。软件:word2003、AltiumDesigner、Keil等。四、教师的指导安排情况(场地安排、指导方式等)1.每个月集中汇报、指导一次。2.采取面谈方式(教师休息室,教研室等),电话、电邮随时联系指导。五、对计划的说明要求严格按照时间节点完成各阶段的任务,每周至少与指导老师见面一次。时间、场地如变动另行约定。摘要随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。许多电参量的测量方案、测量结果都与频率有着十分密切的关系。因此,频率的测量就显得更为重要。单片机的出现,对包括测频在内的各种测量技术带来了许多重大的飞跃,小体积、价廉、功能强等优势也在电子领域发挥非常重要的作用,极大的提高了这些领域的技术水平和自动化程度。本设计介绍了以STC89C52单片机为核心,以C语言进行软件支持的频率测量技术,给出了通过单片机系统的外部中断和定时器/计数器,并采用测频法来实现信号频率测量以及通过LED显示屏对所测频率显示的设计方法。关键词:频率测量单片机C语言LED显示屏目录TOC\o"1-3"\u第一章绪论 11.1研究背景及意义 11.2频率计国内外现状 1第二章系统总体设计 32.1频率测量方法 32.2频率计的设计内容 42.3测频原理 42.4设计方案 5第三章硬件电路设计 93.1硬件整体设计 93.2频率产生模块 93.2.1NE555简介及其主要特点 93.2.2NE555芯片引脚图及引脚功能介绍 103.2.3电路分析 113.3放大整形模块 123.3.1放大整形模块的意义 123.3.2放大整形模块原理 123.4电源模块 133.4.1充电宝的定义及优点 143.5单片机模块 143.5.1STC89C52单片机简介 153.5.2STC89C52单片机的特性 153.5.3STC89C52单片机引脚图及引脚功能介绍 16第四章系统软件设计 254.1软件模块设计 254.2中断服务子程序 264.3显示子程序 274.4应用软件简介 284.4.1Keil的简介及其优点 284.4.2Keil的使用 284.4.3Aultiumdesigner的简介及其优点 30第五章系统调试 335.1硬件调试 335.1.1频率产生模块调试 335.1.2电源模块调试 335.2软件调试 335.2.1Aultiumdesigner软件调试 335.2.2功能调试 335.3系统调试 345.3.1系统软件调试 345.3.2系统硬件调试 345.4误差分析 34总结 35致谢 37参考文献 39附录 41PAGE39第一章绪论1.1研究背景及意义频率,是单位时间内完成振动的次数,是描述振动物体往复运动频繁程度的量。在电子技术领域内,频率是一个最基本的参数。它不仅是各种强弱电信号的物质本质参数之一,还因为频率信号的抗干扰性强、已与传输、可以获得较高的测量精度等特点使各种非电信号,诸如速度、力、图像、音讯等物理量都可以转换为电频率信号。因此工程中很多测量,如用振弦式方法进行力的测量、时间测量、速度测量速度控制等都涉及到频率测量。因此,研究频率计具有一定的实用价值。频率计是一种用十进制数字显示被测信号频率的数字测量仪器,它的基本功能是测量正弦波信号、方波信号、尖脉冲信号以及其它各种单位时间内变化的物理量。在测控系统中,测频方法的研究越来越受到大家的重视,多种非频率量的传感信号都要转化为频率量来进行测量,而频率计作为测量频率的仪器被广泛应用于工业生产、实验室、国防等领域1.2频率计国内外现状在国际上频率计的分类很多。按功能分类,电子计数器有通用和专用之分。通用型计数器是一种具有多种测量功能、多种用途的万能计数器,它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等。专用计数器指专门用来测量某种单一功能的计数器。按频段分类有低速频率计数器、中速频率计数器、高速频率计数器和微波频率计数器之分。其中低速频率计数器最高计数频率小于10MHZ;中速频率计数器最高频率计数频率为10到100MHZ;高速频率计数器最高计数频率大于100MHZ;微波频率计数器的测频范围为1到80GHZ或更高。数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。现如今,频率计已经不仅仅是测量信号频率的装置了,还可以测量方波的脉宽。在人们的生产生活中数字频率计也发挥着越来越重要的作用,比如有数字频率计来监控生产过程,这样可以及时发现系统运行中的异常情况,以便给人们争取时间处理。除此之外,它还可以应用于工业控制等其它领域。在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速地跟踪捕捉到被测信号的频率变化。正是由于频率计能够快速准确地捕捉到被测信号频率的变化,因此频率计拥有非常广泛的应用范围。目前,市场上的频率计厂家可分为三类:中国大陆厂家、中国台湾厂家、欧美厂家。其中,欧美频率计厂家所占有的市场份额最大。欧美频率计厂家主要有:PendulumInstruments和Agilent科技。现如今,对于频率计的设计目前也有专用芯片可以实现,如利用MAXIM公司的ICM7240来设计频率计,但由于这种芯片的计数频率比较低,远不能达到在一些场合而要测量很高的频率要求,而且测量精度也受到芯片本身的限制,因此提出用AT89C52单片机设计频率计来解决这些问题,从而实现高精度,宽范围测量的频率计的设计。第二章系统总体设计2.1频率测量方法频率测量是电子测量领域的最基本测量,通常频率测量有两种方法:1.计数法(直接测量法)。这是指在一定的时间间隔T内,对输入的周期信号脉冲计数为:N,则信号的频率就等于时间间隔T/脉冲计数N。测量存在相对误差。这种方法适合于高频测量,信号的频率越高,则相对误差越小。如图2.1所示。图图2.1计数法测频率原理:T0负责对外部脉冲进行计数,T1负责1S的定时,同时启动T1和T1,当1S到时,即可得到被测信号的频率。图2.2周期法测频率2.测周法(间接测量法)。这种方法是计量在被测信号一个周期内频率为Fo的标准信号的脉冲数N来间接测量频率。被测信号的周期越长(频率越低),则测得的标准信号的脉冲数N越大,则相对误差越小。周期法测频率如图图2.2周期法测频率3.组合测频法在低频时采用直接测量周期法测信号周期,然后换算成频率。高频时采用直接测频法,这种方法在一定程度上弥补了上述两种方法的不足,但是难以确定最佳分测点,且电路设计较复杂。因此要采用合理的组合方案在我所设计的的方案中,选择了STC89C52单片机为核心组件,该单片机晶振为12M。工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。在我的硬件设计中,我选择测量的是硬件本身自带器件NE555振荡频率。影响NE555振荡频率的因素是电阻Ra、Rb和电容C参数稳定了。其中电阻值的稳定性和电容值的稳定性易受外界温度影响,所以说外界温度是影响振荡频率的最主要因素。只有在怛定温度下,NE555振荡器才能输出比较稳定的振荡频率。在恒定的振荡频率下,选择第一种测频方法,直接测量法更加直接有效。2.2频率计的设计内容利用电源、单片机、分频电路及数码管或LCD1602显示等模块设计一个简易的频率计能够粗略测量出被测信号的频率。参数要求如下:1.测量范围1Hz~5KHz。.2.用LCD1602显示测量值。3.可以测量方波、三角波及正弦波等多种波形。2.3测频原理所谓频率,指的是单位时间内完成振动的次数。测频的原理,就是“在单位时间内对被测信号进行计数,在我的硬件设计及中,引文选用的是NE555产生的并送入主门的输入端。由晶体振荡器产生的基频按十进制分频得出的分频脉冲。经过基选通门去触发主控电路再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波至十进制计数电路进行直接计数和显示。若在一定的时间间隔T内累计周期性的重复变化次数N则频率即为重复变化次数N与时间间隔T,但是,这种方法是有误差的。误差原理如图2.3所示。图图2.3频率的测量及误差产生原因在图2.3中,假设时基信号为1KHz,则用此法测得的待测信号为1KHz×5=5KHz。但从图中可以看出待测信号应该在5.5KHz左右,误差约有0.5/5.5≈9.1%,这个误差是比较大的。实际上,测量的脉冲个数的误差会在士1之间。假设所测得的脉冲个数为N,所测频率的存在误差,减小误差的方法就是增大N。本频率计要求测频误差在1‰以下,则N应大于1000,通过计算,对,1KHz以下的信号用测频法,反应的时间长于或等10S。由此可以得出一个初步结论,测频法适合测高频信号。频率计数器严格地按照计数N与时间间隔T之比进行测频由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的土1量化误差,应当指出:测量频率时所产生的误差是由N和T俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高;另一方T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数。一方面可在输入端将被测信号倍频;另一方面,可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。上述表明:在频率测量时,被测信号频率越高,测量精度越高。2.4设计方案在我此次的毕业设计硬件中,硬件主题部分主要分为频率产生模块、放大整形模块、电源模块、单片机模块和显示模块共五大模块,其总体设计框图如图2.4所示。频率产生模块频率产生模块电源模块显示模块放大整形模块图2.4系统总体设计框图单片机模块单片机模块在此次设计中,各个模块的具体作用为:1.频率产生模块:此模块主要采用的是NE5558脚时基集成电路和200K电位器。影响NE555振荡频率的因素是电阻和电容参数。其中电阻值的稳定性和电容值的稳定性易受外界温度影响,所以说外界温度是影响振荡频率的最主要因素。在怛定温度下,NE555振荡器输出比较稳定的振荡频率。在恒定的振荡频率下,对我们测量频率的精确性有很大的提高,而200K电位器的作用则是:通过调节电位器来调节NE5555时基电路输出的脉冲宽度,从而测得不同的频率值。整个频率计设计中频率产生模块产生的频率值送入单片机然后再被送入显示模块,通过显示模块显示的频率值与产生模块产生的频率值比较,检测单片机的C程序功能的正确性。测得NE555时基电路输出频率值。2.放大整形模块:因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。3.电源模块:为整个系统提供合适又稳定的电源主要为单片机、频率产生模块以及显示模块提供电源,电压要求稳定、噪声小及性价高的电源,考虑到环保因素、安全性以及展示方便性,我在此次硬件设计中加了USB接口,在有数据线的情况下,可以通过外接电源为此频率计充电,大大提高了产品的可携带性、安全性以及环保性。4.单片机模块:以STC89C52单片机为控制核心,来完成待测信号的计数、译码和显示以及对分频比的控制。利用其内部的定时/计数器完成待测信周期/频率的测量。单片机STC89C52内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时/计数和产生计数溢出时中断要求的功能。5.显示模块:显示电路采用LCD1602动态显示,其内容为16×2即可以显示两行,每行16个字符液晶模块,显示字符和数字。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,但也正因为如此,它不能很好地显示图形。第三章硬件电路设计3.1硬件整体设计在我此次的设计中,硬件设计共分为:频率产生模块、放大整形模块、电源模块单片机模块和显示模块共五个模块。系统整体电路如图3.1所示。图图3.1系统总体电路图3.2频率产生模块本频率计中频率产生模块采用NE5558路时基电路作为频率发生器,同时辅以200K电位器来改变脉冲宽度以获得不同的频率。主要用于检测单片机的C程序是否能正确测出对应的频率。其主要应用的电路是NE555集成电路的改变。NE555集成电路有双极型和CMOS型两种。CMOS型的优点是功耗低、电源电压低、输入阻抗高、但输出功率较小,输出驱动电流只有几毫安。双极型的优点输出功率大。双驱动电流达200毫安,其他指标不如COMS型。555的应用电路很多,只要改变NE555集成电路的外部附加电路,就可以构成几百种应用电路。大体可分为NE555单稳、NE555双稳及NE555无稳,即振荡器三类。本次设计的频率计采用的是NE555无稳振荡器电路。3.2.1NE555简介及其主要特点NE555为8脚时基集成电路,大约在1971年由SigneticsCorporation发布,在当时是唯一非常快速且商业化的TimerIC,在往后的30年中非常普遍被使用,且延伸出许多的应用电路,后来基于CMOS技术版本的TimerIC如MOTOROLA的MC1455已被大量的使用,但原规格的NE555依然正常的在市场上供应,尽管新版IC在功能上有部份的改善,但其脚位劲能并没变化,所以到目前都可直接的代用。NE555主要特点如下:1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。2.它的操作电源范围极大,可与TTL,CMOS等逻辑电路配合,也就是它的输出电平及输入触发电平,均能与这些系列逻辑电路的高、低电平匹配。3.其输出端的供给电流大,可直接推动多种自动控制的负载。4.它的计时精确度高、温度稳定度佳,且价格便宜。3.2.2NE555芯片引脚图及引脚功能介绍NE555引脚功能介绍:Pin1(接地):地线(或共同接地),通常被连接到电路共同接地。图3.2NE555内部功能框图Pin2(触发点):这个脚位是触发图3.2NE555内部功能框图其启动它的时间周期。触发信号上缘电压须大于2/3VCC,下缘须低于1/3VCC。Pin3(输出):输出的电平状态受触发器控制,而触发器受上比较器6脚和下比较器2脚的控制。当触发器接受上比较器1从R脚输入的高电平时,触发器被置于复位状态,3脚输出低电平,2脚和6脚是互补的,2脚只对低电平起作用,高电平对它不起作用即电压小于1UCC/3,此时,3脚输出高电平。6脚为*值端只对高电平起作用,低电平对它不起作用,即输入电压大于2UCC/3,称高触发端。3脚输出低电平,但有一个先决条件,即2脚电位必须大于1UCC/3时才有效。3脚在高电位接近电源电压UCC,输出电流最大可达200mA。Pin4(重置):当4脚电位小于0.4时,不管2、6脚状态如何,输出端3脚输出低电平。Pin5(控制):这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下,这输入能用来改变或调整输出频率。Pin6(重置锁定):Pin6重置锁定并使输出呈低态。当这个接脚的电压从1/3VCC电压以下移至2/3VCC以上时启动这个动作。Pin7(放电):与3脚输出同步,输出电平一致,但7脚并不输出电流,所以3脚称为实高或低,7脚称为虚高。Pin8(V+):这是NE555个计时器IC的正电源电压端。供应电压的范围是+4.5伏特(最小值)至+16伏特(最大值)。NE555芯片管脚介绍:图3.3NE555芯片管脚图介绍NE555集成电路是图3.3NE555芯片管脚图介绍如图3.3所示。其中6脚称*值端(TH),是上比较器的输入;2脚称触发端(TR),是下比较器的输入;3脚是输出端(Vo),它有0和1两种状态,由输入端所加的电平决定。4脚是复位端(MR),加上低电平时可是输出为低电平;5脚控制电压端(Vc),可用它改变上下触发电平值;7脚是放电端(DIS),它是内部放电管的输出,有悬空和接地两种状态,也是由输入端的状态决定,8脚是电源端,1是接地端。3.2.3电路分析本频率计中的方波发生器电路为NE555振荡器电路(无稳电路)。由NE555定时器构成的多谐振荡器如图3.4所示,其工作波形如图3.5所示。接通电源后电源VDD通过R1和R2对电容C充电,当Uc<VDD/3时,振荡器输出Vo=1,放电管截止。当Uc充电到≥2VDD/3后,振荡器输出Vo翻转成0,此时放电管导通,使放电端(DIS)接地,电容C通过R2对地放电,使Uc下降。当Uc下降到≤VDD/3后,振荡器输出Vo又翻转成1,此时放电管又截止,使放电端(DIS)不接地。电源VDD通过R1和R2又对电容C充电,又使Uc从VDD/3上升到2VDD/3,触发器又发生翻转。如此周而复始,从而在输出端Vo得到连续变化的振荡脉冲波形脉冲宽度TL≈0.7R2C,由电容C放电时间决定,TH=0.7(R1+R2)C式(3-21),电容C充电时间决定脉冲周期:T≈TH+TL式(3-32)。图3.4原理图图3.4原理图图3.5波形图图3.5波形图3.3放大整形模块3.3.1放大整形模块的意义因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。在我此次的设计中,放大整形模块的作用就是将NE555输出的待测信号转化成可以计数的矩形波。3.3.2放大整形模块原理放大整形系统包括衰减器、跟随器、放大器、施密特触发器。它将正弦输入信号Vx整形成同频率方波Vo幅值过大的被测信号经过分压器分压送入后级放大器,以避免波形失真。由运算放大器构成的射极跟随器起阻抗变换作用,使输入阻抗提高。同相输入的运算放大器的放大倍数为(R1+R2)/R1,改变R1的大小可以改变放大倍数,系统的整形电路由施密特触发器组成,整形后的方波送到闸门以便计算。由于输入的信号可以是正弦波、三角波,而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。在整形之前由于不清楚被测信号的强弱的情况。所以在通过整形之前通过放大衰减处理。在输入信号电压幅度较大时,通过输入衰减电路将电压幅度降低。当输入信号电压幅度较小时,前级输入衰减为零时若不能驱动后面的整形电路,则调节输入放大的增益时被测信号得以放大。根据上述分析,放大电路放大整形电路采用高频晶体管3DG100与74LS00等组成。其中3DG100为NPN型高频小功率三极管,组成放大器将输入频率为fx的周期信号如正弦波、三角波及方波等波进行放大。与非门74LS00构成施密特触发器,它对放大器的输出波形信号进行整形,使之成为矩形脉冲。具体放大整形模块图3.6所示。图3.6整形电路图3.6整形电路3.4电源模块电源模块,顾名思义,为整个系统提供合适又稳定的电源主要为单片机、频率产生模块以及显示模块提供电源电压要求稳定、噪声小及性价高的电源,考虑到环保因素、安全性以及展示方便性,我在此次硬件设计中加了USB接口,在有数据线的情况下,可以通过外接电源为此频率计充电,大大提高了产品的可携带性、安全性以及环保性。3.4.1充电宝的定义及优点充电宝是指可以直接给移动设备充电且自身具有储电单元的装置。充电宝自身的充电插头直接通过交流电源可以对移动设备充电且自身具有存电装置,相当于一个充电器和备用电池的混合体,相比备用电源而言可以简化一个充电插头的装置,而相比于充电器它又自身具有存电装置,可以在没有直电源或外出时给数码产品提供备用电源。充电宝其定义就是方便易携带的大容量随身电源。它是一个集储电,升压,充电管理充电宝的优点:1.普适性:充电宝能够满足多种数码产品对电能的需求,不仅仅是数码产品,还有很多其他便携式设备,充电宝都可以兼容。2.功能强大:充电宝能够保证相当长时间内的持续供电能力。3.便携性:目前的充电宝产品发展趋势之一就是轻便型,就是保证产品足够轻薄的情况下能够具备较强的供电能力。图3.7充电宝结构图3.7充电宝结构“惠世通”牌充电宝。其优点是本应急电源可适用于各品牌系列智能手机及数码产品充电。全新结构、精致设计、内置智能充电及全面的过充、过放、过压保护电路,使用方便安全。如图3.7所示其技术规格如下:输入:DC5V-500mA输出:DC5V-600mAMax容量:>4800mWh执行标准:GB4943-2001外观尺寸:长96(mm)、宽60(mm)、厚14(mm)3.5单片机模块在我此次的硬件设计中,选用的是STC89C52单片机。3.5.1STC89C52单片机简介8位单片机是MSC-51系列产品升级版,有世界著名半导体公司ATMEL在购买MSC-51设计结构后,利用自身优势技术(掉电不丢数据)闪存生产技术对旧技术改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,推广一批如51F02等高性能单片机。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。3.5.2STC89C52单片机的特性STC89C52单片机内部主要特性如下:1.8K字节程序存储空间。2.512字节数据存储空间。3.内带2K字节EEPROM存储空间。4.可直接使用串口下载。5.AT89S52单片机。6.8K字节程序存储空间。7.256字节数据存储空间。8.没有内带EEPROM存储空间。3.5.3STC89C52单片机引脚图及引脚功能介绍STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52单片机引脚功能介绍VCC:电源电压。GND:接地。P0口:P0口是一个8位漏极开路的双向I/O。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口用来接收指令字节;在程序校验时,输出指令节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),P1口功能具体如表l所示。在flash编程和校验时,P1口接收低8位地址字节。表3.1P1口第二种功能说明表引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制),时钟输出P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平,对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P2口第二功能说明如表3.2所示。表3.2P2口第二功能说明表引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.7WR(外部数据存储器写选通)P3.8RD(外部数据存储器写选通)P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于电阻的原因,将输出电流。P3口亦作为AT89C51特殊功能(第二功能)使用,P3口功能如表所示。在flash编程和校验P3口也接收一些控制信号。RST:复位位输入。当晶振工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.5.4单片机引脚分配根据系统设计及各模块的分析得出,单片机的引脚分配如表3.3所示:表3.3单片机端口分配表模块端口功能显示模块P0.0-P0.4、P2.0-p2.7数码管频率显示P1.4-P1.6LED单位显示3.6显示模块在我此次毕设硬件的显示器选择中,我选择了LCD1602工业字符型液晶显示器,它能够同时显示16x02即32个字符。在单片机系统中应用液晶显示器作为显示输出器件有以下几个优点:1.显示质量高。由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新亮点。因此,液晶显示器画质高且不会闪烁。2.数字式接口。液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。3.体积小、重量轻。液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低。相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其他显示器要少得多。3.6.2LCD1602液晶显示器简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。LCD1602液晶显示器操作控制:LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。第四章系统软件设计4.1软件模块设计系统软件设计采用模块化设计方法。整个系统由初始化模块,信号频率测量模块,自动量程转换和显示模块等模块组成。系统软件流程如图4.1所示。频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。定时/计数器的工作首先被设置为计数器方式,即用来测量信号频率。图图4.1系统软件流程总图工作流程:首先定时/计数器的计数寄存器清0,运行控制位TR置1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值(即测量频率的高量程)开始测量,计数闸门结束时TR清0,停止计数。计数寄存器中的数值经过数制转换程序从十六进制数转换为十进制数。得到满足测量数据有效位数的要求。定时/计'数器的工作被设置为定时器方式,定时/计数器的计数寄存器清0,在判断待测信号的上跳到来后,运行控制位TR置为1,以单片机工作周期为单位进行计数,直到信号的下跳沿到来,运行控制位TR清0,停止计数。16位定时/计数器的最高计数位为65535,在我此次的毕设中,待测信号的频率较低,定时/计数器可以对被测信号直接计数。4.2中断服务子程序图4.2T0中断服务子程序T0中断子程序流程如图20所示。测频时、定时器T0工作在定时方式,每次定时50ms,则T0中断20次正好为l秒,即T0用来生产标准秒信号,定时器T0用作计数器,对待测信号计数,每秒钟的开始启动T0,每秒钟的结束关闭T0,则定时器T0之值乘以分频系数就为待测信号的频率图4.2T0中断服务子程序定时/计数器T1工作在计数方式,对信号进行计数,其工作流程如图4.3所示。4.3显示子程序显示子程序流程图如所示:4.4应用软件简介在我此次毕业设计中,软件需要在Keil平台上完成程序的调试,在Aultiumdesigner软件平台上完成仿真显示。在这里,对Keil和Aultiumdesigner软件做简单介绍。4.4.1Keil的简介及其优点Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍优点:KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。4.4.2Keil的使用Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,与汇编相比,C语言易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。其一般操作步骤如下:1.建立工程文件点击“Project->Newproject”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字,点击“保存”按钮,出现第二个对话框,按要求选择目标器件。建立新文件并增加到组。分别设置“target1”中的“Target,output.,debug”各项,使程序汇编后产生HEX文件。2.汇编,调试系统程序Keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。在集成开发环境中选择菜单“File→New”,单击对应的工具按钮或者快捷键Ctrl十N将打开一个新的文本编辑窗口,完成汇编语言源文件的输入并且完成源程序向当前工程的添加。然后在集成开发环境中选择菜单“File→SaveAs”可以完成文件的第一次存储。注意,汇编语言源文件的扩展名应该是“ASM”,它应该与工程文件存储在同一文件夹之内。在完成文件的第一次存储以后,当对汇编语言源文件又进行了修改,再次存储文件则应该选择菜单“File→Save”,单击对应的工具按钮或者快捷健Ctrl+S实现文件的保存。接着的工作需要把汇编语言源文件加入工程之中。选择工程管理器窗口的子目“SourceGroup1”,再单击鼠标右键打开快捷菜单,在快捷菜单中选择“AddFiletoGroup‘SourceGroup1’”,加入文件对话框被打开。在这个对话框的“查找范围(I)下拉列表框中选择存储汇编语言源文件的文件夹,在“文件类型(T)下拉列表框选择“AsmSourcefile(*.a*.*.src)”,这时存储的汇编语言源文件显示出来。双击要加入的交件名或者选择要加入的文件名再单击“Add”按钮即可完成把汇编语言源文件加入工程。文件加入以后,加入文件对话框并不消失,更多的文件也可以利用它加入工程。如果不需要加入其它文件,单击“Close”按钮可以关闭加入文件对话框。这是工程管理窗口的文件选项卡中子目录“SourceGroup1”下出现一个汇编语言源文件。需要注意,当把汇编语言源文件加入工程但还没有关闭加入文件对话框,这时有可能被误认为文件没有成功的加入工程而再次进入加入操作,系统将显示所需的文件已经加入的提示。在这种情况下,单击提示框中的“确定”按钮,再单击“Close”按钮可以关闭加入文件对话框。3.编译源程序出现错误时,返回上一级对错误更改后重新编译,直到没有错误为止。图4.5Keil的使用图4.5Keil的使用4.4.3Aultiumdesigner的简介及其优点AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在WindowsXP操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计优点:AltiumDesigner除了全面继承包括Protel99SE、ProtelDXP在内的先前一系列版本功能和优点外,还增加了许多改进和很多高端功能。该平台拓宽了板级设计的传统界面,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。由于AltiumDesigner在继承先前Protel软件功能的基础上,综合了FPGA设计和嵌入式系统软件设计功能。Aultiumdesigner中的电路仿真是真正的混合模式仿真器,可以用于对模拟和数字器件的电路分析。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
第五章系统调试频率计的系统调试包括系统硬件件调试、软件调试。系统软、硬件联合调试。硬件调试包括电源模块、整形模块、分频模块等模块,软件调试就是通过修改程序,使频率计功能完善,提高频率计的测量精度。使用软件仿真,调试仿真结果,同时使用数字万用表和示波器测试输出电压值和输出波形,调试出正确的软硬件电路。5.1硬件调试5.1.1频率产生模块调试在我此次的设计中,频率输出模块要求达到1Hz~5KHz的频率范围,硬件焊接调试完成后,接通电源,调节电位器,观察显示器频率值变化范围。经调试,频率计正常工作,频率在所设定的范围内。5.1.2电源模块调试电源电路包括变压器、整流电路、滤波电路、稳压电路等模块在组成,使用LCD进行电源工作状态指示。搭建好硬件电路,检查线路连接正确,通电,LCD显示,并用数字万用表测得电压为5.01V,证明电路基本正常工作。5.2软件调试5.2.1Aultiumdesigner软件调试根据系统设计要求,进行Keil和Aultiumdesigner系统仿真,不断调试程序,直到符合功能要求。5.2.2功能调试经过反复测试,基本功能都可以实现,可以测出波形频率值,并可以自动切换量程单位,符合要求。5.3系统调试5.3.1系统软件调试经软件的调试修改再调试,如此反复,排除各种故障最终基本完成了。1.测量范围1Hz~5KHz2.用LCD1602显示测量值3.可以测量方波、三角波及正弦波等多种波形设计所要求的任务。由单片机内部定时器/计数器构成基本测量电路,外加整形和频率产生电路,由系统软件设计可以测出1Hz~5KHz的量程范围。5.3.2系统硬件调试软件系统测试只能测试方波信号,外加硬件整形电路,可以测试正弦波、三角波等各种波形的频率值,把频率产生模块、放大整形模块、电源模块、单片机模块和显示模块这五个模块组合在一起,组成了完整的频率计。经过不断的软硬件联合调试,修改程序和硬件,最终使硬件功能符合设计要求。为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了调试。用这次没计的频率计对信号进行了测量,由实物频率计测得频率,记录数据。确保了频率计的准确性和精确性。5.4误差分析从记录的数据可差分析以看出,系统软件仿真误差很小,在1Hz~99Hz范围内测量出来的频率基本上就是输入信号的频率,在超出这个范围后,才出现很小的误差。但是在硬件调试中,可能是由于标准元器件本身误差,如随着时间的延长,其值相比刚出厂时产生误差;造成测量结果没有软件仿真精确。同时手工焊接单片机最小系统、分频整形电路等也会带来一定的干扰,造成信号的失真,从而导致测量精度下降,测量范围有所缩小,但是可以看出,误差在允许范围内,所设计的电路基本符合要求。总结时光荏苒,白驹过隙,转眼间,大学生活已接近尾声了,历时数月的毕业设计到此也基本告一段落了。这一次的毕业设计,令我受益匪浅,收获颇多,感触良多。毕业设计,对于每一个毕业生来说,都是一次学以致用的综合实践,十七载寒窗苦读,在即将毕业的时刻,用我们的所学给我们十七载的耕耘一个值得回忆的纪念。毕业设计,它将十七载书本所学知识糅合在一起,并作出拓展,此次的毕业设计,我收获良多。首先,对单片机有了更加深入、全面的了解,更加深刻的体会到了单片机在当今社会电子产业发展的重要作用。对单片机一些用法也有了更加深刻的了解;其次,再次温习了C语言以对C语言程序编写。接着,在软件仿真方面,对Keil软件以及Aultiumdesigner有了更加深入的了解,掌握了更多的技能;在硬件焊接方面,我对各种电子元器件有了更加形象的认识,也对他们的工作环境有了初步的认识;在文献查阅方面,对于如何查找自己所需要的文献资料有了心得。最后,毕业设计初期,我遇到了很多的问题,曾一度令我非常沮丧,但是后来,我慢慢克服了自己的浮躁,学会如何去将大问题化成一个个小问题,学会怎样着手去解决我所碰到的这些问题,向老师请教,跟同学交流,总之,我一步一个脚印的在向着成功迈进。这次的毕业设计,不仅仅是成功的实现了软硬件结合,完成了老师的要求,同时,对我的性格以及解决问题的方式都有很大裨益。不可否认的是,此次毕业设计中我还存在着许多不足,例如:频率计测量精度不高,焊接PCB板时甚至出现虚焊等,我要再接再厉,认真对待这些问题,及时弥补不足,改正错误。毕业设计是我大学生活的总结,也是我对自己终将逝去的青春最后的礼物,一直以来,我很认真的在对待着这次毕业设计。毕业设计的过程,是一个灵活细腻的过程,我们要有耐心和信心不断去解决我们所遇到的各种问题,用自己的逻辑思维能力。通过这次毕设,我巩固了所学的知识,加深了对理论知识的理解,更重要的是锻炼自已的独立性,毕业设计结束后,我就将进入社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机器人情感识别与表达考核试卷
- 高级审计培训课件
- 批发市场鱼品安全监管考核试卷
- 批发市场的小批量订单处理考核试卷
- 饲料店转让合同范本
- 教学加盟合同范本
- 材料合同范本简易图表
- 食品运输储藏合同范本
- 家具导购合同范本
- 企业级网络攻击事件预案制定协议
- 【课件】第二单元第三节汉族民歌课件-2021-2022学年高中音乐人音版(2019)必修音乐鉴赏
- 高中人音版必修 音乐鉴赏20人民音乐家课件
- 风电齿轮箱讲义(20151010)
- 小组合作学习评价量化表
- 石油化工行业典型事故案例
- 圆二色谱仪操作规程培训
- 华文出版社三年级下册书法教案
- GB_T 30789.3-2014 色漆和清漆 涂层老化的评价 缺陷的数量和大小以及外观均匀变化程度的标识 第3部分:生锈等级的评定
- 药物非临床研究质量管理规范(共113页).ppt
- 19、白居易在杭州(四年级人自然社会)
- JJF 1609-2017 余氯测定仪校准规范(高清版)
评论
0/150
提交评论