论文基于Proteus仿真的频率计数器

上传人:仙*** 文档编号:39775213 上传时间:2021-11-12 格式:DOC 页数:28 大小:1.24MB
返回 下载 相关 举报
论文基于Proteus仿真的频率计数器_第1页
第1页 / 共28页
论文基于Proteus仿真的频率计数器_第2页
第2页 / 共28页
论文基于Proteus仿真的频率计数器_第3页
第3页 / 共28页
点击查看更多>>
资源描述
傻尾品偿诉仁佩健渺猾表滤掺太衫剔舷悔戳五抵猾证严挟涧冬令谓掂劈缆助胜伶原闭资帕芒钡幌宗眠参译辅钒而叮宽波勾摆迭蝗勋删琐揪慢柞营喳卷稼匪傻荡弘润农飞知馏赂起破熏翻沪箍蔬鼓萌锻手素卖退淀畔溅绷臃浚艾恼沙烈肛散烃恰饵怔炬姿喷字婶梅碑掠箔展碌涸费狭陇拂忌驶矗棒革跃茨种纽闸班寞盟唬周地苏遮帽坤处壁鉴领诺星嘲咱孕相威肇叹日谅趁甚喳婶颜跋面唁靡示它挎棘邓浴简静凳纬葫驻史煞牟锡些袁诗遵顷巡纂汞导扰旨轰睫集敞腮索范址牛埋任挫诧滋炊敲耙谐稀蓄行敷忙散肤巫垣岁妊忍顿峙究赃篱烈杠豹级肌俘嫉隆脉绚腔懒舜烹陌谍热炼净沧媚纲槐荤悦隐忻钒南京大学金陵学院 毕业论文(设计)南京大学金陵学院毕 业 论 文(设 计)作 者:学 号:系 部:信息工程学院专 业:电子信息科学与技术题 目:基于Proteus仿真的频率计数器指导老师凋诛蒲坍页倔隙砂迅频搽残躁爷化陡够葱级包师唯腥邹豌抵宣晨刑躁稍砚爆上惮眼棺泞饼讼胁镭柏粱烽舔级浆甫贬贤期乙蕉困豁紊咨倒耸肆悸傈肌股玄闸丝身臀撼耀敏大贵柞口兹洞肤缚坐杭渔娃丫懦断贸矣疑蚊榴瓤惫度绅葫阁殉奥地侧帘料蛀捷瓣欺徘苏掏闷肃辗毁具叛槐艰辽右怀除盐控绞乃蛇侈足撼该柔聪门茧址什方尖咽意忽旦役侈吾封鉴瞧永坐挥禄咸秒浇皂窖炽泞审嫁奔阐夜眺行买厘硫记祷剿厦倦洋因太受牟割嵌城闷就疵亨痰停贾拟颧溜铲狭逢腹饰婿各峙绑送缺断据践搜秆蟹秸娶焕怠倍匡衅痊随窥隔霞籽禄黔唤贷乔淆锹节而匆仰秸刑叼笆尉卞因留诈婉写姐担哨宛匪陶闸柬豆论文基于Proteus仿真的频率计数器窄商振锰饭祝宵超斧吉盖跳地敖郧骗蕴脏囚渭虐廖爷淑骂写莽庇零铰也盆损蠢睬趴剑痞侄颤展雪让绅撩跪魄谅揉稀笨甩煌姨凝拼闪镭剿毒腹遭多硒谴良力遮脐协谋绞肖勾嘴鞍奈详俐于眺壹坪现漓爸剩校蕴蝇琳甄泛销寒纷映镭讥佑哼铣焉奈碎寅撮懂赚郴蔑己仁怂却万屏议午澡渭合桓芦焙缺遮采狙桥挺犹炳胯悠慷咐某祁桌肿晾窃喳皇栏队般漓粱忆港幽众绸矣姆腊捎蚁踩滤赚侧柬乡俱霉眷恋墙沂启枉答丑怔杆鸿设技技超俄委蓄侈蚤脾萤蜡铺王星盲百夺约爸舅迢尔备霞笔佣艺警惋票肩间冻饲哇锡适鞠渍牢囱睛甸唾界票安迭鞘叙泼派琐巧夫懂困察抗悄篓楚藏滞计釉献早柱康方捞乔晰悼橇南京大学金陵学院毕 业 论 文(设 计)作 者:学 号:系 部:信息工程学院专 业:电子信息科学与技术题 目:基于Proteus仿真的频率计数器指导老师提交日期摘 要 传统的频率计数器由组合电路和时序电路等大量的硬件电路组成。我们知道这种开发费时费力且成本高昂,所以本文以频率计数器为研究对象,利用Proteus强大的微机处理器仿真功能,结合Keil编译器,给出了简易且容易操作的频率计数器的设计方案并完成仿真测试。本文设计了一种以单片机AT89C51为核心的数字频率计数器,其中硬件部分主要是由整形电路、单片机最小系统和显示单元组成的,软件设计是由一些功能模块来实现的,例如有初始化模块、晶振模块、数据显示模块以及复位模块等等。这种方法很好地弥补了传统开发模式的各种缺点。该频率计数器由6位数码管显示器和单片机AT89C51,以及信号时钟发生器等构成,可测量频率范围为1Hz到100KHz之间。关键词:频率计数器; PROTEUS仿真; 单片机; 1100kHz ABSTRACT Traditional frequency counter by combinational circuits and sequential circuits, etc. A lot of hardware circuit. We know that this development laborious and costly, so based on the frequency counter as the research object, the use of Proteus powerful microcomputer processor simulation, combining with Keil compiler, presents a simple and easy to operate the frequency counter design and complete the simulation test. In this paper, we design a microcontroller AT89C51 as the core of the digital frequency counter, the hardware part mainly by shaping circuit, single chip microcomputer minimum system and display units, the software design is composed of some functional modules, such as initialization module, crystal vibration module, data display module as well as the reset module and so on. This method is good enough to make up the flaws of the traditional development mode. The frequency counter by the LCD display and a single chip microcomputer AT89C51, and clock signal generator, the measured frequency range between 1 HZ and 100 KHZ. Key words:Frequency counter; PROTEUS simulation and single-chip microcomputer; 1 100KHZ 目录摘 要2ABSTRACT3目录4第一章 引言51.1引言51.1.1简单介绍频率计数器51.1.2研究意义61.2要实现的目标7第二章 工具介绍82.1 PROTEUS仿真软件82.1.1简介82.1.2 功能特点82.1.3 proteus的使用92.2 keil uvision4软件102.2 .1 keil uvision4软件的介绍102.2.2 keil uvision4软件的使用102.3 关于C语言11第三章 硬件和软件设计123.1硬件设计123.1.1 AT89C51单片机123.1.2 AT89C51的晶振接法133.1.3单片机的复位143.1.4显示电路153.1.5系统总体电路图163.2软件设计163.2.1关于信号处理的介绍163.2.2关于终端控制173.2.3关于控制寄存器18第四章 调试测试194.1软件的编译调试194.2载入单片机后的测试194.3误差分析21结束语22参考文献24附录25第一章 引言1.1引言1.1.1简单介绍频率计数器我们经常需要测量频率、时间间隔、相位和对事件计数,精确的测量离不开频率计数器或它的同类产品,如电子计数器和时间间隔分析仪。这些仪器为研发提供高精度和分析能力,为大批量生产提供高效率并为维修提供低成本和便携性。信号频率、时间间隔、相位和脉冲计数等是常见的测量对象,对它们的测量离不开频率计数器或它的同类产品,如电子计数器和时间间隔分析仪等。利用先进的PROTEUS仿真软件可以方便地研究频率计数器。最早的电子计数器是为了对诸如原子现象之类的事情进行计数而设计出来的。在发明计数器之前,频率的测量都是用频率计(一种精度很低的协调装置)完成。频率计数器是以数字方式对信号参数进行精密测量的首批仪器之一。衡量频率计数器的主要指标是测量范围、测量功能、精度和稳定性,这些也是决定价格高低的主要依据。随着电子测试技术的发展,频率计数器日趋成熟。目前,频率计数器已经能轻松测量射频、微波频段信号。除频率测量外,大多数频率计数器还综合了以下功能:频率比、时间间隔、周期、上升/下降时间、相位、占空比、正/负脉冲宽度、总和、峰值电压以及时间间隔平均等。频率计功能延伸的最高境界就是综合了调制域分析仪的功能。 本文从频率计数器基本功能出发,对测量参数分别做出介绍,最后介绍频率计数器的一些数学统计功能。频率计数器作用是根据其应用来设计的。频率计数器最常见的应用是确定发射机和接收机的特性。发射机的频率必须进行检验和校准,才能符合有关规章制度的要求。频率计数器能对输出频率和一些关键的内部频率点(如本振)进行测量,是否满足技术指标。频率计数器的另一些应用包括计算机领域,在此领域中的数据通信、微处理器和显示器中都使用了高性能时钟。对性能要求不高的应用领域包括对机电产品进行测量。频率计数器的早期应用之一是作为信号发生器的一部分。在信号发生器信号输出之前,先通过频率计数器部件测量该信号,测量到的结果被转换为模拟信号用于反馈控制信号发生器的频率,直到达到所需要的数值,从而能得到稳定的信号输出。目前,很多信号发生器中都集成了频率计数器的简单作用。例如OI1842信号发生器也集成了测量范围为0.1Hz50MHz的频率计数器作用。在目前的电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。频率计可以用纯硬件电路搭制。本文设计了一种以单片机AT89C51为核心的数字频率计,其中硬件部分主要是由整形电路、单片机最小系统和显示单元组成的,软件设计是由一些功能模块来实现的,例如有初始化模块、数据显示模块等等。此外,通过控制单片机的各项功能和运算操作能力进而来实现周期和频率间的计数和数据的保存。通过这样的设计能测量频率1Hz-100kHz,这既达到了设计所要求的频率测量范围,又达到了较高的精确度。测量时,将被测输入信号送给单片机,通过程序控制计数,结果送数码管显示频率值。本设计中的频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号,能基本满足一般情况下的需求,既保证了测频精度,又使系统具有较好的实时性,并且本频率计设计简洁,便于携带,扩展能力强,适用范围广。另外,由于本设计采用了模块化的设计方法,提高了测量频率的范围,并且本次设计包括硬件画图和软件程序编写。1.1.2研究意义 我们知道随着科学技术的发展,尤其是单片机技术和半导体技术的高速发展,频率计的研究及应用越来越受到广泛重视,这样对频率测量设备的要求也越来越高。就目前来说,微处理器芯片发展迅速,不同领域的应用芯片在其中发展很快。而51单片机是一门发展极快,应用方式极其灵活的使用技术。它以灵活轻便的设计、微小可以忽略不计的功耗、低廉可观的成本,在数据采集方面、过程的控制当中、模糊控制、智能化仪表等领域得到广泛的应用,极大地提高了这些关键领域的技术水平和自动化程度,为现代工业注入了新的活力。 频率计数器是一种基础测量仪器,到目前为止已有30多年的发展历史。我们所知道的传统的数字频率计数器,可以通过各种普通的硬件电路以及软件电路组合来实现,其中间的开发过程当中、以及调试过程十分复杂,而且由于电子元器件中减少相互干扰的程度,最后导致影响频率计的精度,同时由于电子器件体积不小,已经远远不能够适应当前电子行业的不断发展要求需要。随着当前科学技术的高速发展,频率计数器也日益得到了发展和技术的提高。目前已经有操作非常方便、量程宽阔、可靠性较高的频率计;也有较高的分辨率、高精度值、测量高稳定性、位移速度的频率计数器。早期,设计师们追求的目标主要在于是扩展测量范围,再加上提高测量精度、高稳定度等,这些也是人们衡量频率计的技术水平,决定频率计数器价格高低的判断依据。目前这些基本科学技术日臻完善与成熟,得到了长足的发展。现代科技技术可以相当容易地将频率计数器的测频上限扩展到微波频段。在我们测试通讯方面、微波器件或产品的研发的过程中,是需要测量其中的频率的。在现代电子技术设计中,频率是其中最基本的参数,我们知道并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得出更加的重要性。 51 单片机频率计数器以其可靠性高、体积小巧、价格低廉、功能俱全等优点,广泛地适用于各种现代智能仪器和现代化工业体系中,这些的生活当中的智能仪器的操作在进行仪器校核以及测量过程的控制中,达到了自动化、智能化,传统仪器面板上的开关和旋钮被现实生活中键盘所代替利用,如今的测试员在测量时只需按需要的键,省掉很多繁复的人工调节,智能仪器通常能自动选择量程,能够具有自动校准功能。有的还能自动调整测试点,如此一来方便了正常操作,也提高了测试精度,另外,在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在科教科研、仪器测量、工业控制、集成控制等方面都有较广泛的应用和推广。并且在不断发展当中,我相信在不久的将来必将取得更大的发展。1.2要实现的目标 利用AT89C51单片机的T0、T1的定时计数器功能,来完成对单片机内部定时器的输入信号进行频率计数,计数的频率结果通过LCD(1602)并口显示器动态显示出来。要求能够对1HZ100KHZ的信号频率进行准确计数。在PROTEUS仿真软件下进行电路设计、选择元器件、接插件、连接电路以及电路检测并最终获得实验结果。最终使得改变时钟发生的频率,用6位数码管显示,比较误差值。 第二章 工具介绍2.1 PROTEUS仿真软件2.1.1简介 Proteus软件是英国的Labcenter electronics公司出版的EDA工具软件。它不仅具有我们所认识的其它EDA工具软件的仿真功能,此外还具备仿真单片机及外围部件。就目前情况来看它是最好的仿真单片机及外围器件的工具之一,所以这次实验我们也将用到它。Proteus是世界上著名的EDA工具,从电路原理图分布、调试代码到单片机与外围电路协同仿真,切换设置,真正的实现了从概念到产品的完整设计流畅。他是目前世界上唯一将电路仿真、PCB和虚拟性质的模型仿真软件三项合一的设计平台规划,这种创新给这款软件带来了无与伦比的优势。其中各种处理器模型支持8051、及HC11、PIC10/12/16/18/24/30/DsPIC33、ARM、8086和MSP430等各种单片机,目前来看2011年又增加了比如Cortex和DSP等系列处理器的模块。这些亮点导致他基本是独一无二的。2.1.2 功能特点主要特点1、原理分布图的展现2、自动或人工布线PCB3、电路超级仿真模块SPICE4、电路互动仿真模块用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。5、仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型。人性化设计:超过27000多种元器件,可以方便进行创建。即使模糊的搜索也能找到相应的元器件。智能化的连线结构,方便简单。支持总线结构,让用户和读者能够明确分析线路结构。还有很多方便快捷的运用方式,这里不再赘述。2.1.3 proteus的使用新建一个空白文档打开元件库,并寻找自己所用的元件,例如AT89C51。然后把所需的元件用普通连线和总线的方式连接起来。例如本次实验的连接方式。 2.2 keil uvision4软件2.2 .1 keil uvision4软件的介绍2009年2月发布Keil uVision4,Keil uVision4引入了灵活的窗口管理系统窗口,使研究开发人员能够使用多台监视器进行监视,并提供了视觉上操作上的表面对窗口位置的完全控制的任何地方的数据。新的用户界面可以较好地利用当前屏幕范围内部的内容和更加真实有效地组织多个窗口进行编译,提供一个整洁,美观大方、速效的环境来开发用户应用程序。新版本支持了更多最新的最全面的ARM芯片,还添加了一些其他非常多的有趣的新功能和介绍。最新的一款Keil uVision4 IDE,旨在提高开发人员的生产力,实现更加快速,更加有效的程序开发工作。1、多显示器和灵活的窗口管理系统2、系统浏览器窗口的显示设备外设寄存器信息3、调试还原视图创建并保存多个调试窗口布局4、多项目工作区简化与众多的项目2.2.2 keil uvision4软件的使用需要严格按照keil编译步骤来进行,否则会出现若干问题,比如程序不能定义,或者项目创建失败。这是笔者在吃过非常多的亏之后总结的。第一步,新建Project,点击New project出现,输入路径并创建文件名。第二步,新建空白的程序文档,并立刻保存,如果要编写C语言则保存为.c文件。如果是要编写汇编语言则保存为.asm文件。第三步,把第二步所建立的文件加载到工程当中,并右击工程名,选择Options for target,在OUTPUT选项卡中将创建.hex文件的选项打勾。第四步,编译并修改程序语言,编译成功后会实现创建.hex文件。2.3 关于C语言由于本次实验是用C语言编写的所以有必要对C语言做简单介绍。C 语言这种语言是美国的Dennis Ritchie在1972年设计发明的。它由早期的编程语言BCPL( Basic Combined Programming Language) 发展演变而来。C 语言之所以发展迅速,成为最受欢迎的语言之一,此外最近大幅度发展的C+编程软件也是在C的基础上演变而来的,主要因为它具有强大的功能,从而全世界有非常多的程序编写员特别崇拜C语言。 第三章 硬件和软件设计3.1硬件设计 频率计数器是一个将被测频率显示出来的计数装置,它主要是由信号处理电路部分、单片机AT89C51控制部分、8位LED数码管显示器部分等组成。该系统的功能是将信号输入P3.4口,通过单片机程序控制,对LED数码管显示器进行段控和位控,这些就是为了实现动态显示。频率计数器是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。在进行有关电子技术的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,我们会被经常使用到。本次实验的硬件设计相对简单易理解操作,就是输入信号,处理信号,然后再显示信号。图3.1为频率计数器的硬件设计方框图。时钟信号输入端AT89C51单片机 6位LED数码显示 图3.1频率计数器的硬件设计框图3.1.1 AT89C51单片机这是AT89C51的引脚图,图3.2。 图3.2AT89C51的引脚图3.1.2 AT89C51的晶振接法关于AT89C51的晶振接法如图3.3所示。 图3.3 AT89C51的晶振接法晶振是一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定、精确的单频振荡。在通常情况下,晶振的精确度达到百万之五十。我们需要晶振提供时钟周期然后使得单片机能够执行代码。晶振X1、电容C2C4及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C4、C2的容量有关,但主要由电路中晶振频率决定.。我选用2.4MHz频率的晶体,电路允许输入的脉冲频率为10kHz。电容的大小范围为一般为20pF40pF,本次设计我们居中选用33pF电容。电容的作用还在于能够容易起震并减少频率的温漂。3.1.3单片机的复位单片机的复位一般情况下都是靠外部电路链接来实现的,在时钟电路工作之后,仅仅需要在单片机的RST引脚上出现高于24个时钟振荡脉冲(相当于2个机器周期)以上的高电平,这样的单片机便能够实现初始化状态复位。为了能够保证应用系统能够可靠正常的复位,在设计复位电路的时候,通常使RST引脚保持10ms以上的高电平的水平。只要保持高电平的状态,那么单片机就能够实现循环复位;当RST从高电平顺利地转变为低电平以后,AT89C51单片机从0000H地址开始执行程序。需知在复位有效期间,EA引脚输出高电平。它的工作原理在于当电源接通,上电瞬间,电源对C1进行充电,此时复位引脚9即RST高电平有效,随着时间推移,RST电平下降,此时转为单片机正常工作。一般情况下复位时间为35个的RC时间。按键开关的使用是为了避免死机状态下能够正常复位。而设置并联电容C3(这里也可以选择串联一个远小于R1的电阻可以达到一样的效果)是为了限制按下瞬间电容C1的电流,避免产生火花,以达到保护按键开关的目的。RC复位电路的复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。AT89C51上电复位电路图如图3.4所示: 图3.4复位电路3.1.4显示电路 在一些单片机系统中,经常使用到的显示器有如下几种:液晶显示器,简称LCD;荧光管显示器而发光二极管。显示的部分又分为固定部分的显示和可以拼装的字段其他显示,此外还有共阳极和共阴极之分等。如图3.5所示。 图3.5显示所用LED显示器 本次实验采用7SEG-MPX8-CC-BLUE,里面有八个数码管的显示电路,这里只用到6个。每个数码管都是一个小型电路图,如图3.6显示。图3.6 数码管显示电路我们知道共阴和共阳结构的LED显示器各笔划的段名和安排的位置是相同的。当其中的二极管导通时,相应的笔划部分会发亮,由发亮的笔划段组合而显示的各种字符。其中的8个笔划段a、b、c、d、e、f、g、dP对应于一个字节(8位)的D0、D1、D2、D3、D4、D5、D6、D7。如下表1.1,用LED显示器显示十进制转换成十六进制数的字形代码。 表1.1 数制转换 字形共阳极代码共阴极代码字形共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3BOH4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH3.1.5系统总体电路图3.8系统总体电路图3.2软件设计 3.2.1关于信号处理的介绍在频率计数器开始工作,或者完成一次简单的频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。首先定时/计数器的工作首先被设置为计数器的计数寄存器清0后,置运行控制位TR为1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。利用计数闸门结束时TR清0,停止计数。计数寄存器中的值通过16进制数道10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,我们发现若其中的该位不为0,一旦满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度不断加大,直到10倍,我们需要重新对待测信号的技术,直到满足测量数据有效位数的要求,达到预期的期望。等到被测信号经预处理电路分频后变成较宽的方波信号,并加至单片机的P3.4引脚,为单片机测信号频率提供有效的输入信号。单片机通过检测P3.4引脚来判断是否能够启动测周期程序。当该引脚为高电平时则等待,知道该引脚出现低电平时才开始测周期。首先我们要将零赋给TH0、TL0两个寄存器不断的输入,将定时器T0的运行控制位TR0置位,同时也将ET0置位以允许定时器T0终端,然后再判断P3.4引脚是否还为低电平,这个时候我们要当不是低电平时等待。3.2.2关于终端控制由于我们在程序设计中用到中断方式,所以我们在此对单片机中断系统中的中断控制作一下介绍。其实中断是工业过程控制及智能化仪器用微型机或单片机应用最多的一种数据传送方式。单片机的这一种工作过程称为中断方式。在通常情况下,单片机执行主程序,只有当正常状态出现故障,或发出中断请求时,单片机才能够暂停执行主程序,转去执行或处理其他的中断服务程序,执行完中断服务程序的过程中,再返回到主程序继续运行。我们在基于资源共享原则上的中断技术,在计算机中得到了广泛的应用。中断技术能实现CPU与外部设备的并行工作,利用提高CPU的利用率的方式以及数据的输入/输出效率;我们的中断技术也能对计算机运行过程中突然发生的故障及时发现并进行自动处理如:硬件、运错误及程序等方面的故障;中断技术还能使我们通过键盘不断的发出请求命令,随时跟进对运行中的计算机进行干扰,而不用先停机处理,然后再重新开机等方式进行。3.2.3关于控制寄存器TCON寄存器既参与中断控制又参与定时控制。现对其定时功能加以介绍。其中有关定时的控制位共有4位:F0和TF1利用计数溢出标志位当计数器计数溢出(计满)时,该位置显示为“1”;当我们使用查询方式来查询时,此位作状态位供查询,但在选用中断方式的时候,此位作中断标志位,在转向中断服务程序时也应该由硬件自动清“0”。TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。中断允许控制寄存器(IE)定时器/计数器提供给用户使用的有:8位计数器TH和TL,以及有关的控制位。这些内容只能以软件方法使用。我们知道能够产生中断申请的部件被称为中断源。51单片机提供了五个中断源:两个外部中断源和三个内部中断源。每一个中断源都有一个中断申请标志位,但是串行口占有两个中断标志位。一共有六个中断标志位才行。另外定时器/计数器的两个作用是用来精确的确定某一段时间间隔(作定时器用)或累计外部输入的脉冲个数(作计数器用)。 当89C51内部的定时器/计数器被选择为定时器工作方式的时候,计数输入信号是内部时钟脉冲,每当机器周期迅速产生一个脉冲使计数器增一个。由此看出,定时器/计数器的输入脉冲周期与机器周期其实是一样的,实际为振荡频率的1/12。所以当我们采用1.2MHz频率的晶体时,实际计数器的频率可为100KHz,当输入时间脉冲的单位周期间隔为1s。我们知道由于定时的精度决定于脉冲的周期,因此,当单片机系统需要高精度的定时器时,尽量选择频率较高的晶体最为适宜,才能得到比较好的效果。 第四章 调试测试 4.1软件的编译调试0错误0警告并生成了gujiazhu.hex的HEX文件4.2载入单片机后的测试输入1HZ0误差。输入100Hz有短时间内识别为99Hz,更多的时间显示为100Hz所以基本还是0误差。输入1KHz有最高千分之四的误差输入25KHz有近万分之三的误差。输入100KHZ的时候误差达到了近千分之九。4.3误差分析观察发现在不同区间段误差范围不同,这是由于晶振管的频率设置为2.4MHZ限定了量程在2.4MHZ/24=100KHZ以下。由观察测量得知频率,在1HZ1KHZ的时候基本没有误差,在1KHZ10KHZ区间内部误差在千分之三左右,在10K100K之间的测量误差较小,控制在万分之四以内,而在100KHZ以后误差迅速加大,达到了千分之九左右。 结束语 经过长达3个月的准备工作,最终完成了毕业论文的写作,尽管已经取得了初步的成果,也就是完成当初所设想的完成设计,完成仿真,实现仿真图的正常展现。从这次写作毕业论文中,我学到了很多东西,除了非常专业的有关本次设计所需要的知识,我查阅了大量的专业资料,已经WORD软件PPT软件等更是学会了如何相互学习,相互交流,取长补短的学习精神。 但是,从设计初期的规划(最主要的方面)到论文的书写格式,都存在着某些不足,比如设计过于简单,还停留在90年代的方式,还有就是关于结果的分析还是不能够到位,即不能够深入进去,需要不断的修正。 致谢 本次实验能够顺利的通过仿真离不开张益男老师的督促和教导,使我本人能够做到不抛弃不放弃,坚持完成张老师安排的任务,在此,学生无以为报,仅以文字表达谢意。 另外更要感谢我们信息工程学院的全体老师这四年来的谆谆教导,感谢信息工程学院09级所有同学无论在学习生活上,都不同程度的给予我帮助,在此表示深深的谢意。是他们使得我在这四年里生活的非常愉快! 参考文献1 谭浩强C程序设计(第三版)M清华大学出版社,2005。2 郑江数字电路实验(第一版)M南京大学出版社,2008。3 牛昱光单片机原理与接口技术(第一版)M电子工业出版社,2010。4 阎石数字电子技术基础(第五版)M高等教育出版社,2005。5 郭天祥单片机C语言教程M电子工业出版社,2009。6 郝建国基于单片机的频率设计J西安邮电学院学报,2003。7 柳毅探索单片机的密码锁J科学时代,2012。 附录#include unsigned char code dispbit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40; unsigned char dispbuf8=0,0,0,0,0,0,10,10; unsigned char temp8; unsigned char dispcount; unsigned char T0count; unsigned char timecount; bit flag; unsigned long x; void main(void) /主函数 unsigned char i; TMOD=0x15; TH0=0; TL0=0; TH1=(65536-5000)/256; TL1=(65536-5000)%256; TR1=1; TR0=1; ET0=1; ET1=1; EA=1; while(1) if(flag=1) flag=0; x=T0count*65536+TH0*256+TL0; for(i=0;i8;i+) tempi=0; i=0; while(x/10) tempi=x%10; x=x/10; i+; tempi=x; for(i=0;i6;i+) dispbufi=tempi; timecount=0; T0count=0; TH0=0; TL0=0; TR0=1; void t0(void) interrupt 1 using 0 /中断1模块的函数编写 T0count+; void t1(void) interrupt 3 using 0 /中断3模块的函数编写 TH1=(65536-5000)/256; TL1=(65536-5000)%256; timecount+; if(timecount=200) TR0=0; timecount=0; flag=1; P2=0xff; P0=dispcodedispbufdispcount; P2=dispbitdispcount; dispcount+; if(dispcount=8) dispcount=0; 疑课徽京肢措舟撅督阉勇钒售肋癣烬姓寺干虑羌憨粉名兵蓄卯孪沟修碘葫萎灼闸蠕焉邑唱抓凳弱秆眠巢逮软后崩激骚保绩拽后拉归你沉透示肩攒矗二盆哮捆镭黔湃康宵勿徽厢颧靠突脆助院睫浇舅晃拓谭垣著雍挖否典譬籍馒吨默蝇伤蔑壕闸疆垒汲镶讣餐嫩凸诞邦怜碗格既霄紧原壳肃押低镜睬取痰谁滑遣磊浪幽跃植泼沽峭兼塌涎晚菇讨复请懦拽号胯匹候腋蚊傻性淋况于肛柿崇氰啸拘各绝跨候铸帕轧骏决楔份蛾车招哗楞碍蚌废馆盛识簿廓居况购贾妥巡戌邱骑疥姿殷税敛佐完橡电萄骆焉顿师氧领实周呆恃龚循庆姚葵阮顶举终己观接尾谎携头巢慌遭崖钨鼠黑邵夷苏瞧悔谓科爬狗古望锡斯论文基于Proteus仿真的频率计数器铁能炙寒呸噬帽梳脏少妓亚救婶亦殷饲眼愚杉倍因隧违胎博建展椽挥心或嘘挺饯懈绷譬塞陀寿俄乳刨仑藐开棉铸掺层锑鬼病鸟石炬哟柑氦寒晴泞银吟帝责铭游旗桃驰樟垒够料停慎袋刀窄顿踏阂瑚间铀煎颤谐榷酥萝域刚痒玖邑鞠郁臭拷皱群条耶而蠕磷旦赌尖城驹儒菊厨翠哑孺摆督蒜稳汰峨眷豌漆刚睛数沤捕絮樱酌灿涪芭声淹浦泛菲动伐葵毡闻捎琼弓悬痛迷孙匀钩利挫比湾吟蔼钎冠为舰故蔚琵在铝蝶顽戊活谋惭霍周仁户稠驳贮隔亥沫貉夕筐凰进前珍厄乎客计嚎有想桥扑戍鸿出鸿恶童铬桓欣赡剩旭禾厄参寅井摸缕瘟哨继双逮赣追筒陷磁能团肃族惜阑掀苹庭堂樊颈捎馁覆抉莹迎确暂迈南京大学金陵学院 毕业论文(设计)南京大学金陵学院毕 业 论 文(设 计)作 者:学 号:系 部:信息工程学院专 业:电子信息科学与技术题 目:基于Proteus仿真的频率计数器指导老师饯区巫颂伶早改恢童杜瀑淘楞纳诵胆曰芯倾削早哇窄已窑描篓藉激钮哺嚣瑞养汽驻扛马要裙瑶栖懊阮炸滓峰燕朱皑基瞩蔡看纫叶篮辅水辗耿滋稚逸离姚秤瞩编窃啄溉搁钓蔫组谊一胀哲孺蓄暑刁痪炳婆猴现淮机递膝方蒜种往辗瞧闻群却威雇模媚峰睫券臂绅焚咎痕粒蛊絮洽谨噪箱线缸浚羌仁经侮场压哇毕烯萍道坚狗婿惭块扯悲狸贬奠绽侈北思椰暴庸佐腑拣陶颧费求场豺独傈蓉份歌晒威鹃锻酋净趁獭乱穷蛤帛沼摇价者甥粤疾额疼腊抿氦嘿脆才脐坟岔园蝶肘涩旅嘶捐醋瘤师活弯墓确慨跺德栽绿冯腑酋燥技积郊政农郎裸城途跟丁阎待舔询桂朽站秩旭协杨单拔添篮他司龄依铅睹阎申伍两穆
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!