基于单片机的脉冲频率计的设计与实现本科毕业设计论文.doc_第1页
基于单片机的脉冲频率计的设计与实现本科毕业设计论文.doc_第2页
基于单片机的脉冲频率计的设计与实现本科毕业设计论文.doc_第3页
基于单片机的脉冲频率计的设计与实现本科毕业设计论文.doc_第4页
基于单片机的脉冲频率计的设计与实现本科毕业设计论文.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

班级 学号 苏州大学电子信息学院本科毕业设计论文 题 目 学 院 专 业 学生姓名 导师姓名 毕业设计(论文)诚信声明书本人声明:本人所提交的毕业论文基于单片机的脉冲频率计的设计与实现是本人在指导老师下独立研究、写作的结果,论文中引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢词中加以说明并深致谢意。本论文和资料若有不实之处,本人承担一切相关责任。 论文作者: (签字) 时间: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.252012.10.30 进行系统软件和硬件调试 2013.11.012012.11.24 整理资料,撰写毕业论文、论文答辩2、 主要参考书目(资料)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液晶显示器等。软件:word 2003、altium designer、 keil等。四、教师的指导安排情况(场地安排、指导方式等)1.每个月集中汇报、指导一次。2.采取面谈方式(教师休息室,教研室等),电话、电邮随时联系指导。五、对计划的说明 要求严格按照时间节点完成各阶段的任务,每周至少与指导老师见面一次。时间、场地如变动另行约定。error! no text of specified style in document.41摘 要随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。许多电参量的测量方案、测量结果都与频率有着十分密切的关系。因此,频率的测量就显得更为重要。单片机的出现,对包括测频在内的各种测量技术带来了许多重大的飞跃,小体积、价廉、功能强等优势也在电子领域发挥非常重要的作用,极大的提高了这些领域的技术水平和自动化程度。本设计介绍了以stc89c52单片机为核心,以c语言进行软件支持的频率测量技术, 给出了通过单片机系统的外部中断和定时器/计数器, 并采用测频法来实现信号频率测量以及通过led显示屏对所测频率显示的设计方法。关键词:频率 测量 单片机 c语言 led显示屏目 录第一章 绪论11.1 研究背景及意义11.2 频率计国内外现状1第二章 系统总体设计32.1 频率测量方法32.2 频率计的设计内容42.3 测频原理42.4 设计方案5第三章 硬件电路设计93.1 硬件整体设计93.2 频率产生模块93.2.1 ne555简介及其主要特点93.2.2 ne555芯片引脚图及引脚功能介绍103.2.3 电路分析113.3 放大整形模块123.3.1 放大整形模块的意义123.3.2 放大整形模块原理123.4 电源模块133.4.1 充电宝的定义及优点143.5 单片机模块143.5.1 stc89c52 单片机简介153.5.2 stc89c52 单片机的特性153.5.3 stc89c52单片机引脚图及引脚功能介绍16第四章 系统软件设计254.1 软件模块设计254.2 中断服务子程序264.3 显示子程序274.4 应用软件简介284.4.1 keil的简介及其优点284.4.2 keil 的使用284.4.3 aultium designer的简介及其优点30第五章 系统调试335.1 硬件调试335.1.1 频率产生模块调试335.1.2 电源模块调试335.2 软件调试335.2.1 aultium designer 软件调试335.2.2 功能调试335.3 系统调试345.3.1 系统软件调试345.3.2 系统硬件调试345.4 误差分析34总 结35致 谢37参考文献39附 录41第一章 绪论1.1 研究背景及意义频率,是单位时间内完成振动的次数,是描述振动物体往复运动频繁程度的量。在电子技术领域内,频率是一个最基本的参数。它不仅是各种强弱电信号的物质本质参数之一,还因为频率信号的抗干扰性强、已与传输、可以获得较高的测量精度等特点使各种非电信号,诸如速度、力、图像、音讯等物理量都可以转换为电频率信号。因此工程中很多测量,如用振弦式方法进行力的测量、时间测量、速度测量速度控制等都涉及到频率测量。因此,研究频率计具有一定的实用价值。频率计是一种用十进制数字显示被测信号频率的数字测量仪器,它的基本功能是测量正弦波信号、方波信号、尖脉冲信号以及其它各种单位时间内变化的物理量。在测控系统中,测频方法的研究越来越受到大家的重视,多种非频率量的传感信号都要转化为频率量来进行测量,而频率计作为测量频率的仪器被广泛应用于工业生产、实验室、国防等领域1.2 频率计国内外现状 在国际上频率计的分类很多。按功能分类,电子计数器有通用和专用之分。通用型计数器是一种具有多种测量功能、多种用途的万能计数器,它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等。专用计数器指专门用来测量某种单一功能的计数器。按频段分类有低速频率计数器、中速频率计数器、高速频率计数器和微波频率计数器之分。其中低速频率计数器最高计数频率小于10mhz;中速频率计数器最高频率计数频率为10到100mhz;高速频率计数器最高计数频率大于100mhz;微波频率计数器的测频范围为1到80ghz或更高。数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。现如今,频率计已经不仅仅是测量信号频率的装置了,还可以测量方波的脉宽。在人们的生产生活中数字频率计也发挥着越来越重要的作用,比如有数字频率计来监控生产过程,这样可以及时发现系统运行中的异常情况,以便给人们争取时间处理。除此之外,它还可以应用于工业控制等其它领域。在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速地跟踪捕捉到被测信号的频率变化。正是由于频率计能够快速准确地捕捉到被测信号频率的变化,因此频率计拥有非常广泛的应用范围。目前,市场上的频率计厂家可分为三类:中国大陆厂家、中国台湾厂家、欧美厂家。其中,欧美频率计厂家所占有的市场份额最大。欧美频率计厂家主要有:pendulum instruments 和 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。工作频率范围:040mhz,相当于普通8051 的080mhz,实际工作 频率可达48mhz。在我的硬件设计中,我选择测量的是硬件本身自带器件ne555振荡频率。影响ne555振荡频率的因素是电阻ra、rb和电容c参数稳定了。其中电阻值的稳定性和电容值的稳定性易受外界温度影响,所以说外界温度是影响振荡频率的最主要因素。只有在怛定温度下,ne555振荡器才能输出比较稳定的振荡频率。在恒定的振荡频率下,选择第一种测频方法,直接测量法更加直接有效。2.2 频率计的设计内容 利用电源、单片机、分频电路及数码管或lcd1602显示等模块设计一个简易的频率计能够粗略测量出被测信号的频率。参数要求如下:1.测量范围1hz5khz。.2.用lcd1602显示测量值。 3.可以测量方波、三角波及正弦波等多种波形。2.3 测频原理所谓频率,指的是单位时间内完成振动的次数。测频的原理,就是“在单位时间内对被测信号进行计数,在我的硬件设计及中,引文选用的是ne555产生的并送入主门的输入端。由晶体振荡器产生的基频按十进制分频得出的分频脉冲。经过基选通门去触发主控电路再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波至十进制计数电路进行直接计数和显示。若在一定的时间间隔t内累计周期性的重复变化次数n则频率即为重复变化次数n与时间间隔t,但是,这种方法是有误差的。误差原理如图2.3所示。图2.3 频率的测量及误差产生原因在图2.3中,假设时基信号为1khz,则用此法测得的待测信号为1khz5=5khz。但从图中可以看出待测信号应该在5.5khz左右,误差约有0.5/5.59.1%,这个误差是比较大的。实际上,测量的脉冲个数的误差会在士1之间。假设所测得的脉冲个数为n,所测频率的存在误差,减小误差的方法就是增大n。本频率计要求测频误差在1以下,则n应大于1000,通过计算,对,1khz以下的信号用测频法,反应的时间长于或等10s。由此可以得出一个初步结论,测频法适合测高频信号。频率计数器严格地按照计数n与时间间隔t之比进行测频由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的土1量化误差,应当指出:测量频率时所产生的误差是由n和t俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高;另一方t越稳定时,精度越高。为了增加单位时间内计数脉冲的个数。一方面可在输入端将被测信号倍频;另一方面,可增加t来满足,为了增加t的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。上述表明:在频率测量时,被测信号频率越高,测量精度越高。2.4 设计方案在我此次的毕业设计硬件中,硬件主题部分主要分为频率产生模块、放大整形模块、电源模块、单片机模块和显示模块共五大模块,其总体设计框图如图2.4所示。频率产生模块电源模块显示模块放大整形模块图2.4 系统总体设计框图单片机模块在此次设计中,各个模块的具体作用为:1.频率产生模块:此模块主要采用的是ne555 8脚时基集成电路和200k电位器。影响ne555振荡频率的因素是电阻和电容参数。其中电阻值的稳定性和电容值的稳定性易受外界温度影响,所以说外界温度是影响振荡频率的最主要因素。在怛定温度下,ne555振荡器输出比较稳定的振荡频率。在恒定的振荡频率下,对我们测量频率的精确性有很大的提高,而200k电位器的作用则是:通过调节电位器来调节ne5555时基电路输出的脉冲宽度,从而测得不同的频率值。整个频率计设计中频率产生模块产生的频率值送入单片机然后再被送入显示模块,通过显示模块显示的频率值与产生模块产生的频率值比较,检测单片机的c程序功能的正确性。测得ne555时基电路输出频率值。2.放大整形模块:因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。3.电源模块:为整个系统提供合适又稳定的电源主要为单片机、频率产生模块以及显示模块提供电源,电压要求稳定、噪声小及性价高的电源,考虑到环保因素、安全性以及展示方便性,我在此次硬件设计中加了usb接口,在有数据线的情况下,可以通过外接电源为此频率计充电,大大提高了产品的可携带性、安全性以及环保性。4.单片机模块:以stc89c52单片机为控制核心,来完成待测信号的计数、译码和显示以及对分频比的控制。利用其内部的定时/计数器完成待测信周期/频率的测量。单片机stc89c52内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时/计数和产生计数溢出时中断要求的功能。5.显示模块:显示电路采用lcd1602动态显示,其内容为162即可以显示两行,每行16个字符液晶模块,显示字符和数字。它由若干个5x7或者5x11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,但也正因为如此,它不能很好地显示图形。第三章 硬件电路设计3.1 硬件整体设计在我此次的设计中,硬件设计共分为:频率产生模块、放大整形模块、电源模块单片机模块和显示模块共五个模块。系统整体电路如图3.1所示。图3.1 系统总体电路图3.2 频率产生模块本频率计中频率产生模块采用ne555 8路时基电路作为频率发生器,同时辅以200k电位器来改变脉冲宽度以获得不同的频率。主要用于检测单片机的c程序是否能正确测出对应的频率。其主要应用的电路是ne555集成电路的改变。ne555集成电路有双极型和cmos型两种。cmos型的优点是功耗低、电源电压低、输入阻抗高、但输出功率较小,输出驱动电流只有几毫安。双极型的优点输出功率大。双驱动电流达200毫安,其他指标不如coms型。555的应用电路很多,只要改变ne555集成电路的外部附加电路,就可以构成几百种应用电路。大体可分为ne555单稳、ne555双稳及ne555无稳,即振荡器三类。本次设计的频率计采用的是ne555无稳振荡器电路。3.2.1 ne555简介及其主要特点ne555 为8脚时基集成电路,大约在1971年由signetics corporation发布,在当时是唯一非常快速且商业化的timer ic,在往后的30年中非常普遍被使用,且延伸出许多的应用电路,后来基于cmos技术版本的timer ic如motorola的mc1455已被大量的使用,但原规格的ne555依然正常的在市场上供应,尽管新版ic在功能上有部份的改善,但其脚位劲能并没变化,所以到目前都可直接的代用。ne555主要特点如下:1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。2.它的操作电源范围极大,可与ttl,cmos等逻辑电路配合,也就是它的输出电平及输入触发电平,均能与这些系列逻辑电路的高、低电平匹配。3.其输出端的供给电流大,可直接推动多种自动控制的负载。4.它的计时精确度高、温度稳定度佳,且价格便宜。3.2.2 ne555芯片引脚图及引脚功能介绍ne555引脚功能介绍:pin 1 (接地):地线(或共同接地) ,通常被连接到电路共同接地。图3.2 ne555内部功能框图pin 2 (触发点):这个脚位是触发ne555使其启动它的时间周期。触发信号上缘电压须大于2/3vcc,下缘须低于1/3vcc 。pin 3 (输出):输出的电平状态受触发器控制,而触发器受上比较器6脚和下比较器2脚的控制。当触发器接受上比较器1从r脚输入的高电平时,触发器被置于复位状态,3脚输出低电平,2脚和6脚是互补的,2脚只对低电平起作用,高电平对它不起作用即电压小于1ucc/3,此时,3脚输出高电平。6脚为*值端只对高电平起作用,低电平对它不起作用,即输入电压大于2ucc/3,称高触发端。3脚输出低电平,但有一个先决条件,即2脚电位必须大于1ucc/3时才有效。3脚在高电位接近电源电压ucc,输出电流最大可达200ma。pin 4 (重置):当4脚电位小于0.4时,不管2、6脚状态如何,输出端3脚输出低电平。 pin 5 (控制):这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下,这输入能用来改变或调整输出频率。pin 6 (重置锁定):pin 6重置锁定并使输出呈低态。当这个接脚的电压从1/3 vcc电压以下移至2/3 vcc以上时启动这个动作。pin 7 (放电):与3脚输出同步,输出电平一致,但7脚并不输出电流,所以3脚称为实高或低,7脚称为虚高。pin 8 (v +):这是ne555个计时器ic的正电源电压端。供应电压的范围是+4.5伏特(最小值)至+16伏特(最大值)。ne555芯片管脚介绍:图3.3 ne555芯片管脚图介绍ne555集成电路是8脚封装,双列直插型。如图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充电,当uc4800mwh执行标准: gb4943-2001 外观尺寸:长96(mm)、宽60(mm)、厚14(mm)3.5 单片机模块在我此次的硬件设计中,选用的是stc89c52单片机。3.5.1 stc89c52 单片机简介8位单片机是msc-51系列产品升级版,有世界著名半导体公司atmel在购买msc-51设计结构后,利用自身优势技术(掉电不丢数据)闪存生产技术对旧技术改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,推广一批如51 f02等高性能单片机。stc89c52是stc公司生产的一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 stc89x52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35mhz,6t/12t可选。3.5.2 stc89c52 单片机的特性stc89c52单片机内部主要特性如下:1.8k字节程序存储空间。2.512字节数据存储空间。3.内带2k字节eeprom存储空间。4.可直接使用串口下载。5.at89s52单片机。6.8k字节程序存储空间。7.256字节数据存储空间。8.没有内带eeprom存储空间。3.5.3 stc89c52单片机引脚图及引脚功能介绍stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,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.1 p1口第二种功能说明表引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制),时钟输出p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程用)p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平,对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movxdptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送1。在使用8位地址(如movxri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p2口第二功能说明如表3.2所示。表3.2 p2口第二功能说明表引脚号第二功能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.2 lcd1602液晶显示器简介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.2 t0中断服务子程序t0中断子程序流程如图20所示。测频时、定时器t0工作在定时方式,每次定时50ms,则t0中断20次正好为l秒,即t0用来生产标准秒信号,定时器t0用作计数器,对待测信号计数,每秒钟的开始启动t0,每秒钟的结束关闭t0,则定时器t0之值乘以分频系数就为待测信号的频率。如图4.2所示。定时/计数器t1工作在计数方式,对信号进行计数,其工作流程如图4.3所示。4.3 显示子程序显示子程序流程图如所示:4.4 应用软件简介在我此次毕业设计中,软件需要在keil平台上完成程序的调试,在aultium designer软件平台上完成仿真显示。在这里,对keil和aultium designer软件做简单介绍。4.4.1 keil的简介及其优点keil 是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起。运行keil软件需要win98、nt、win2000、winxp等操作系统。如果你使用c语言编程,那么keil几乎就是你的不二之选,即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍优点:keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。4.4.2 keil 的使用keil是美国keilsoftware公司出品的51系列兼容单片机c语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,c语言易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。keilc51标准c编译器为8051微控制器的软件开发提供了c语言环境,同时保留了汇编代码高效,快速的特点。c51编译器的功能不断增强,使你可以更加贴近cpu本身,及其它的衍生产品。c51已被完全集成到uvision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uvision2 ide可为它们提供单一而灵活的开发环境。其一般操作步骤如下:1.建立工程文件点击“project-new project”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字,点击“保存”按钮,出现第二个对话框,按要求选择目标器件。建立新文件并增加到组。分别设置“target1”中的“target, output., debug”各项,使程序汇编后产生hex文件。2.汇编,调试系统程序keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。在集成开发环境中选择菜单“filenew”,单击对应的工具按钮或者快捷键ctrl十n将打开一个新的文本编辑窗口,完成汇编语言源文件的输入并且完成源程序向当前工程的添加。然后在集成开发环境中选择菜单“filesave as”可以完成文件的第一次存储。注意,汇编语言源文件的扩展名应该是“asm”,它应该与工程文件存储在同一文件夹之内。在完成文件的第一次存储以后,当对汇编语言源文件又进行了修改,再次存储文件则应该选择菜单“filesave ”,单击对应的工具按钮或者快捷健ctrl+s实现文件的保存。 接着的工作需要把汇编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论