[优秀毕业设计精品]智能脉冲宽度测量仪_第1页
[优秀毕业设计精品]智能脉冲宽度测量仪_第2页
[优秀毕业设计精品]智能脉冲宽度测量仪_第3页
[优秀毕业设计精品]智能脉冲宽度测量仪_第4页
[优秀毕业设计精品]智能脉冲宽度测量仪_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、abstract摘 要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,人们已越来越多地将单片机技术应用于一些工业控制系统。如温度、流量和压力等参数进行检测和控制。pc机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,因此在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件来使用。 本系统采用单片机at89c52为中心器件来设计智能脉冲宽度测量仪,本系统是由一个555定时器来产生脉冲信号,将信号输入单片机中,然后运行程序,最后通过译码在led数码管动态显示。本系统实用性强、操作简单、扩展性强。在现有的单片机仿真系统上掌握相关软硬件设计与调试知识,根据所选的题目,

2、焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。关键词:脉冲宽度测量title: intelligent pulse width measuring instrumentabstractin recent years, with the rapid development of science and technology, the application of scm is developing continuously. it has been increasingly used the technology of scm to t

3、he industrial control system. such as temperature, flow and pressure and so on. though pc machines have powerful monitoring and management functions, in detection and automatic control application system, scm is often used as a core component which is rapid and flexible. this system uses the at89c52

4、 as the core component to design intelligent pulse width measuring instrument, this system generates the pulse signal which will be input the single chip microcomputer throught a 555 timer 。 then i run and decode the program .finally, the result will show dynamicly on the led screen.this system is p

5、ractical, simple operation and extensible. in the existing microcomputer simulation system hardware and software design and commissioning to master relevant knowledge, according to the selected topic, welding good hardware circuit and the correct components, and the testing and debugging assembly pr

6、ogram on the computer test and operation, written and realize the design requirements of the reference topics.keywords:pulse width measurement目 录1 前 言11.1 课题研究背景11.1.1 单片机技术的发展状况11.1.2 本文的研究内容22 设计内容及具体要求32.1 设计的主要任务32.2 设计的具体要求33 设计方案及总框架53.1 设计不同方案对比53.1.1 程控脉冲测量53.1.2 等精度脉冲测量53.1.3 确定方案总框架图63.1.4

7、 各部分框图简介63.1.5 原理图83.1.6 pcb板图104 硬件部分原理及设计114.1 单片机部分114.1.1 功能特性描述114.1.2 引脚功能114.1.3 at89c52的存储器结构134.1.4 定时器144.1.5 单片机内部的中断154.2 脉冲产生电路164.3 数码管显示电路205 软件部分设计215.1 keil c软件的使用介绍215.2 keil c软件的基本操作步骤215.3 主程序设计235.3.1 主程序流程图235.3.2 程序源代码245.3.3 kiel51源程序调试306 系统调试及误差分析336.1 系统调试测验336.2 实验结果336.3

8、 误差分析336.3.1 算法误差:336.3.2 硬件误差:337 总结与展望35致 谢37参考文献39iii1 前 言1 前 言1.1 课题研究背景近年来单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用于智能化仪器,仪表,数据采集等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合, 通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用一些纯硬件来搞定的话,电路一定是一

9、块大pcb板!但是如果要是用一些系列单片机,结果就会有天壤之别!只因为单片机可以通过你编写的程序实现高智能,高效率,以及高可靠性!随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。计算机在人们的日常中是比较的常见的电子产品之一。目前对各种物理量的检测和控制都可得以实现。微机检测控制系统不仅运用到航天航空、机器人技术、纺织机械、食品加工等工业过程控制,而且已经成为日常各种家用电器当中的主要组成部分。而其中单片机技术以其实现简单、使用灵活及数据传输可靠等有优点被广泛的应用于

10、中小型实时控制系统中,其实时数据处理和控制功能可使测控系统始终保持在最佳的工作状态,提高系统的工作效率。1.1.1 单片机技术的发展状况单片机自20世纪70年代问世以来得到了广泛的应用,主要应用于测试和控制领域。由于单片机在使用时,通常是处于测控系统的核心地位并嵌入其中,所以国际上通常把单片机称为嵌入式控制器(embedded microcontroller unit,emcu)或微控制器(microcontroller unit,mcu)。而在我国,大部分工程技术人员则比较习惯使用“单片机”这一名称。,单片机的出现是微型计算机技术高速发展的产物。单片机体积小、价格低、应用方便、稳定可靠,因此

11、,单片机的发展和普及给工业自动化等领域带来了一场重大革命和技术进步。仅从体积小方面来说,单片机几乎可以在任何设施或任意装置上做成非常小的、功能比较完善的单片机嵌入系统置于其中,以实现各种方式的检测、计算或控制,在这一点上,一般的微型计算机根本做不到。由于单片机本身就事一个计算机系统,因此只要在单片机外部适当增加一些必要的外围扩展接口电路,就可以灵活的构成各种应用系统,如工业自动检测监视系统、数据采集系统、自动控制系统、智能仪器仪表等。本设计是采用intel公司生产的mcs-52系列的单片机,这类单片机的性能价格比高,所以被广泛应用,是目前应用数量较多的单片机。1.1.2 本文的研究内容 本设计

12、的题目是智能脉冲宽度测量仪,脉冲宽度的测量,实质是时间的测量,在生产和科学研究中,经常要测量时间,例如,完成第一生产工序所需要的时间、周期性信号的周期、激光测距和雷达测量目标距离、运动体行程的时间等等都说明时间测量的重要性。本论文主要是采用单片机at89c51为中心器件来设计脉冲宽度测量仪,在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所设计好的电路,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写程序调试运行,并实现脉冲宽度的测量。具体包括以下几方面的内容:第一章,对单片机的应用背景进行了说明,并介绍了本次设计的实际意义。第二章,简单概述了本次设计的内容和具体要求。

13、第三章,简单介绍两种不同的设计方案,通过对比先择较合理的程控式测量方案。第四章,介绍了硬件部分的原理及设计。 第五章,介绍了软件部分的程序。第六章,进行系统测试检验,并做了误差分析。第七章,对全文进行了总结。12 设计内容及具体要求2 设计内容及具体要求2.1 设计的主要任务(1)通过查阅相关资料,深入了解脉冲宽度测量仪的原理;(2)复习“mcs-51单片机原理及c语言程序设计”;(3)掌握其接口扩展包括:显示、键盘等;(4)设计基于单片机的程控脉冲宽度测量仪的原理图,构建硬件平台;(5)采用c语言编写应用程序并调试通过;(6)制作出样机并测试达到功能和技术指标要求;(7)写出毕业设计论文。2

14、.2 设计的具体要求(1)原始数据1被测信号为数字信号;2测量范围:100微秒-100毫秒;3数码管显示动态显示。(2)技术要求:1用4位数码管显示测量值。用发光二极管分别指示所测元件的类别和单位。2测量精度5%。3电感测量试用瞬态响应法测量。(3)工作要求:1组建智能脉冲宽度测量仪的总体结构框图;2根据设计详细的原理图,选取只要元器件,通过理论分析和计算选择电路参数;3根据操作功能要求,确定操作按键的功能;4按设计要求确定显示方式及信息量;5采用c语言编写应用程序并调试通过;6对系统进行测试和结果分析; 375 软件部分设计3 设计方案及总框架3.1 设计不同方案对比3.1.1 程控脉冲测量

15、1.实验脉冲由555定时器产生,只要改变外接电阻电容就能获得不同宽度的脉冲,供测量使用。 2.采用mcs-52单片机和外设电路测量脉冲宽度。mcs-51子系列单片机有3个定时器(计数器),当他们工作于定时器方式时,计数的输入为内部的时钟信号,频率为固定的11.0592hz。只要令gate=1,tr0=1,tr1=1,将输入脉冲接到“int1(非)”口,即可测量输入脉冲宽度。 3.采用动态数码管显示测量结果,两片74ls573和位码驱动锁存器作为驱动电路。 4.为了使测量范围更大,在程序中进行单位转换,使用发光二极管指示单位。3.1.2 等精度脉冲测量 对于脉冲宽度的测量,我们可以运用计数法的思

16、想,即在一个脉冲的高电平期间填入给定的基准脉冲,通过填充的数量来计算需测量的脉冲宽度。为了提高其精度,减小误差,可以采用频率较高的基准脉冲。根据题目要求,可将设计分为四部分:一为硬件方面的设计,由于同一类型的原理图已给出,我们只需按照电路图根据实际需要焊接好即可,并根据电路图绘制相应的pcb板图。二为主程序的设计,通过c52的有关功能包括计数/定时、中断等编写计数法的主程序。三为mfc-g12864点阵液晶屏输出的设计,通过编程对其五个控制位进行操作,而有关数字文字以及符号的字模可通过字模生成软件得到。四为五个功能按键的设计,其主要是通过与单片机的五个端口进行操作,其中每个按键可看做是对相应的

17、子函数的调用。根据总体设计要求,系统总框图如图31所示图31 等精度设计的系统总框图3.1.3 确定方案总框架图由以上两种方案都可以测量脉冲宽度,等精度测量方法要比程控式的精度更高,但程控式是用数码管来显示的,受自然环境的影响小,而等精度是用的液晶显示屏受环境影响大,比如光线,由于实验要求我选择了程控脉冲测量法,下面具体论述这种方法的可行性。图32为设计硬件的总体连接图。图32程控式测量总体框图3.1.4 各部分框图简介(1).按键控制:这个设计共有五个发光二极管和三个按键,作用如下:发光二极管1::显示脉冲宽度时间的单位。(灯亮为ms,灯灭为s) 发光二极管2:显示555定时器外围电阻的单位

18、。(灯亮为k,灯灭为m)发光二极管3:显示555定时器外围电容的单位。(灯亮为pf,灯灭为uf)发光二极管4:显示555定时器外围有无电容。(灯亮为无,灯灭为有)发光二极管5:显示555定时器外围有无电阻。(灯亮为无,灯灭为有)按键1:控制脉冲宽度时间刷新。按键2:控制555定时器外围电阻刷新。按键3:控制555定时器外围电容刷新。图 33 555信号发生器(2)信号源发生电路:信号源由555定时器构成脉冲发生器(如图3-3)。在测量的时候,会在r2和c1的两端并联电阻或者电容,本实验将会测量脉冲的高电平的宽度,r2并联的电阻值,以及c1并联的电容值。由555脉冲发生器的基本原理可得以下结论:

19、设:高电平的脉宽时间为th,低电平的脉宽时间为tl.则r2=tl*r1/(th-tl) (31)c1=(th-tl)/(ln2*r1) (32)根据这个公式,通过单片机测出高电平,低电平的宽度,我们就可以计算出r2,c1的值。并且可以得到外围点电路的r,c的值。(3).晶振电路:晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。本实验用f=11.0592mhz的晶振电路。晶振和c4、c5组成振荡器,使单片机内部产生周期为1us的脉冲信号。 图34 晶振电路(4).驱动及led显示电路本实验用

20、了两片74ls573,一片用于输出段码,一片用于输出位码。一片2803,用于led数码管驱动。四个led数码管。采用共阴极接法,用扫描的方式显示,每一个时刻只选通一个数码管。用动态显示的方式来显示555定时器外围总电阻值,总电容值以及脉冲高电平时间值。(5).单片机采用89c52单片机,共用到了三个定时器中断。1.led显示:定时器中断0,每2500us刷新一次,动态显示形式。2.脉宽高电平测量:定时器中断1,由信号的上升沿触发,开始计数,记录的是信号的高电平的脉宽时间。3.周期测量:定时器中断2,下降沿触发,采用捕捉模式,手动清零。定时器自动将周期时间存入固定的寄存器中。从而得到低电平的脉宽

21、时间。这里简单介绍一下这部分硬件,在下一章详细的分析。3.1.5 原理图通过protel99绘图及pcb制版,使电路系统完整。根据我们以前所掌握的电路设计所用的软件来讲,能进行电路图的设计以及针对我们设计要求,需做成pcb板,最终要根据pcb板进行实物的焊接和调试,因此,选取用protel99软件进行电路的设计,进而对电路各个元件进行封装,完成对pcb电路的生成,最终制成pcb板。图35、图36分别为整体电路原理图和pcb电路图。图35 电路原理图3.1.6 pcb板图图36 pcb板图pcb板是两层板,用protel99软件生成的。4 硬件部分原理及设计4.1 单片机部分4.1.1 功能特性

22、描述at89c52是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash 存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。at89c52具有以下标准功能:8k字节flash,256字节ram,32 位i/o 口线,看门狗定时器,两个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89c

23、52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作17。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。4.1.2 引脚功能89c52单片机有44个引脚plcc和tqfp方形封装形式,40个引脚的双列直插式封装形式,最常用的40个引脚封装形式及其配置如图4.1所示,各个引脚功能说明如图41: 图41 89c52单片机的引脚vcc:电源,接+5vgnd:接地p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1

24、”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1口:p1口是一个具有内部上拉电阻的8位双向i/o 口,p1 输出缓冲器能驱动4个ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2的触发输入(p1.1/t2

25、ex)17,具体如表41所示。在flash编程和校验时,p1口接收低8位地址字节。表41 89s52单片机p1口第二功能引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程用)p2口:p2口是一个具有内部上拉电阻的8位双向i/o 口,p2 输出缓冲器能驱动4个ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)

26、。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3口:p3口是一个具有内部上拉电阻的8位双向i/o口,p3输出缓冲器能驱动4个ttl 逻辑电平。对p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3口亦作为at89s52特殊功能(第二功能

27、)使用,如表42所示。在flash编程和校验时,p3口也接收一些控制信号。表42 89s52单片机p3口第二功能引脚号第二功能p3.0rxd(串行输入线)p3.1txd(串行输出线)p3.2(外部中断0输入线)p3.3 (外部中断0输入线)p3.4t0(定时器0外部计数脉冲输入)p3.5t1(定时器1外部计数脉冲输入)p3.6(外部数据存储器写选通信号输出)p3.7(外部数据存储器写选通信号输出)rst:复位输入。晶振工作时,rst脚将持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,rst 脚输出96个晶振周期的高电平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能无

28、效。disrto默认状态下,复位高电平有效。ale/:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ale脉冲将会跳过。如果需要,通过将地址为8eh的sfr的第0位置 “1”,ale操作将无效。这一位置 “1”,ale仅在执行movx或movc指令时有效。否则,ale 将被微弱拉高。这个ale 使能标志位(地址为8eh的sfr的第0位)的设置对微控制器处于外部执行模式下无效。:外部程

29、序存储器选通信号()是外部程序存储器选通信号。当at89s52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。/vpp:访问外部程序存储器控制信号。为使能从0000h 到ffffh的外部程序存储器读取指令,必须接gnd。为了执行内部程序指令,应该接vcc。在flash编程期间,也接收12伏vpp电压。xtal1:振荡器反相放大器和内部时钟发生电路的输入端。xtal2:振荡器反相放大器的输出端。4.1.3 at89c52的存储器结构 at89s52器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64kb寻址。程序存储器:如果引脚

30、接地,程序读取只从外部存储器开始。对于89s52,如果接vcc,读写程序先从内部存储器(地址为0000h1fffh)开始,接着从外部寻址,寻址地址为:2000hffffh。数据存储器:at89s52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7fh 的地址时,寻址方式决定cpu 访问高128 字节ram 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(sfr)。例如,下面的直接寻址指令访问0a0h(p2口)存储单元mov 0a0h, #data 使用间接寻址方式访问高128 字

31、节ram。例如,下面的间接寻址方式中,r0 内容为0a0h,访问的是地址0a0h的寄存器,而不是p2口(它的地址也是0a0h)。mov r0, #data堆栈操作也是间接寻址方式。因此,高128字节数据ram也可用于堆栈空间。4.1.4 定时器1mcs-51系列中51子系列有两个16位的可编程定时/计数器:定时/计数器t0和定时/计数器t1,52子系列有三个,还有一个定时/计数器t2。2每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。3每个定时/计数器都有多种工作方式,其中t0有四种工作方式;t1有三种工作方式,t2有三种工作方式。通过编程设

32、置其方式寄存器tmod可设定定时器工作于某种方式,方式寄存器tmod格式见表43。表43 定时/计数器的方式寄存器tmodgatec/m1m2gatec/m1m2门 控开/关计数/定时方式选择门 控开/关计数/定时方式选择 t1 t0gate:门控信号。gate=0,trx=1时即可启动定时器/计数器工作,是一种自启动的方式;gate=1,trx=1, =1时才可启动定时器/计数器工作。即是引脚加高电平启动,是一种外启动方式。c/:定时或计数方式选择位,当c/=1时工作于计数方式;当c/=0时工作于定时方式。m1、m0:为工作方式选择位,定时器/计数器的四种工作方式由m1m0设定,设定情况见表

33、44。表44 m1m0的设定m1m0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113t0为两个8位定时/计数器 4每一个定时/计数器定时计数时间到时产生溢出,使控制寄存器tcon中相应的溢出位置位,溢出可通过查询或中断方式处理,控制寄存器格式见表45。表45 定时/计数器的控制寄存器tcontf1tr1tf0tr0ie1it1ie0it0t1请求 有/无t1工作启/停t0请求有/无t0工作启/停int1请求有/无int1方式下沿/低电平int0请求有/无int0方式下沿/低电平其中:tf1:定时/计数器t1的溢出标志位,当定时/计数器t1计满

34、时,由硬件使它置位,如中断允许则触发t1中断。进入中断处理后由内部硬件电路自动清除。tr1:定时/计数器t1的启动位,可由软件置位或清零,当tr1=1时启动;tr1=0时停止。tf0:定时/计数器t0的溢出标志位,当定时/计数器t0计满时,由硬件使它置位,如中断允许则触发t0中断。进入中断处理后由内部硬件电路自动清除。tr0:定时/计数器t0的启动位,可由软件置位或清零,当tr0=1时启动;tr0=0时停止。4.1.5 单片机内部的中断at89s52 有6个中断源:两个外部中断( 和),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器ie中的相关中断允许

35、控制位分别使得中断源有效或无效10。ie还包括一个中断允许总控制位ea,它能一次禁止所有中断。如表4.6所示,ie.6位是不可以用的。它们为at89系列新产品预留。定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2 或exf2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位tf0 和tf1在计数溢出的那个周期的s5p2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位tf2在计数溢出的那个周期的s2p2被置位,在同一个周期被电路捕捉下来。表46 中断允许控制寄存器

36、(ie)ea -et2 es et1 ex1 et0 ex0ea:中断允许总控位。ea=0,屏蔽所有的中断请求;ea=1,开放中断。 et2:定时器/计数器t2的溢出中断允许位 es:串行口中断允许位。 et1:定时器/计数器t1的溢出中断允许位。 ex1:外部中断 int1的中断允许位。 et0:定时器/计数器t0的溢出中断允许位。 ex0:外部中断 int0的中断允许位。4.2 脉冲产生电路555定时器构成的多谐振荡器:555外接定时电阻r1、r2和电容c构成的多谐振荡器电路如图4.2(a)所示,由图可见,它将高电平触发端th和低电平触发端tr相连,且放电回路中串接了一个定时电阻r2集成5

37、55定时器有双极性型和cmos型两种产品。一般双极性型产品型号的最后三位数都是555,cmos型产品型号的最后四位数都是7555.它们的逻辑功能和外部引线排列完全相同。器件电源电压推荐为4512v,最大输出电流200ma以内,并能与ttl、cmos逻辑电平相兼容。其主要参数见表47。表47两种555定时器的器件特性 (a)双极性型5g555的主要性能参数参数名称符号单位参数电源电压vccv516电源电流iccma10阈值电压vthvvcc触发电压vtrvvcc输出低电平volv1输出高电平vohv13.3最大输出电流iomaxma200最高振荡频率fmaxkhz300时间误差tns5 (b)

38、cmos型7555的主要性能参数参数名称符号单位参数电源电压vccv318电源电流icca60阈值电压vthvvdd触发电压vtrvvdd输出低电平vv0.1输出高电平vv14.8最大输出电流iomaxma200最高振荡频率fmaxkhz500时间误差tns555定时器的内部电路框图及逻辑符号和管脚排列分别如图42和图43所示。图4.2 555定时器逻辑符号和和引脚图4.3 555定时器内部结构引脚功能:vi1(th):高电平触发端,简称高触发端,又称阈值端,标志为th。vi2():低电平触发端,简称低触发端,标志为。vco:控制电压端。vo:输出端。dis:放电端。:复位端。555定时器原理

39、:555定时器内含一个由三个阻值相同的电阻r组成的分压网络,产生和两个基准电压;两个电压比较器c1、c2;一个由与非门g1、g2组成的基本rs触发器(低电平触发);放电三极管t和输出反相缓冲器g3。是复位端,低电平有效。复位后, 基本rs触发器的端为1(高电平),经反相缓冲器后,输出为0(低电平)。分析图42的电路:在555定时器的vcc端和地之间加上电压,并让vco悬空,则比较器c1的同相输入端接参考电压,比较器c2反相输入端接参考电压 ,为了学习方便,我们规定:当th端的电压时,写为vth=1,当th端的电压时,写为vtr=1,当端的电压时,写为vtr=0。低触发:当输入电压vi2 且vi

40、1且vi1,则vth=1,比较器c1输出为低电平,无论c2输出何种电平,基本rs触发器因=0,使q1,经输出反相缓冲器后,v00;t导通。这时称555定时器“高触发”。555定时器的“低触发”、“高触发”和“保持”三种基本状态和进入状态的条件(即vth、vtr的“0”、“1”)必须牢牢掌握。表48 555定时器控制功能表输 入输 出thvodis vcc vcc vcclhhhlh不变l导通截止不变导通vco为控制电压端,在vco端加入电压,可改变两比较器c1、c2的参考电压。正常工作时,要在vco和地之间接001f(电容量标记为103)电容。放电管tl的输出端dis为集电极开路输出。根据55

41、5定时器的控制功能,可以制成各种不同的脉冲信号产生与处理电路电路,例如,史密特触发器、单稳态触发器、自激多谐振荡器等。图44所示为自激多谐振荡器电路和波形图。自激多谐振荡器用于产生连续的脉冲信号。电路采用电阻、电容组成rc定时电路,用于设定脉冲的周期和宽度。调节rw或电容c,可得到不同的时间常数;还可产生周期和脉宽可变的方波输出。脉冲宽度计算公式:tw0.7 (r1+rw+r2) c 图44自激多谐振荡器电路和波形图振荡周期计算公式:t0.7 (r1+rw+2r2) c电路的工作原理可对照图所示工作波形图来分析。当接通电源vcc时,如电容c上的初始电压为0,则u0处于高电平,放电管t截止,电源

42、通过r1、r2向c充电,经过t1时间后,uc达到高触发电平(2vcc/3),u0由1变为0,这时放电管t导通,电容c通过电阻r2放电,到t=t2时,u2下降到低触发电平(vcc/3),u0又翻回到1状态,随即t又截止,电容c又开始充电。如此周而复始,重复上述的过程。就可以在输出端(3端)得到矩形波电压。现在计算此电路的振荡周期。为了简单起见,设组件内运放a、a的输入电阻为无穷大,并近似地认为放电管t截止时,dis端对地的等效电阻为无穷大,而放电管t导通时,管压降为零。现以t=t2为起始点,可得充电时间t为:若以t3为起始点,可得电容c的放电时间为:由此可得方波的周期为t=t1+t2,频率为:振

43、荡频率主要取决于时间常数r和c,改变r和c参数可改变振荡频率,幅度则由电源电压vcc来决定。但是输出的矩形波是不对称的,占空比为:如果r1r2,则占空比接近于1。由此可知,若将被测电阻rx或电容cx接到555定时器的合适位置,则只需测出555定时器所产生的信号频率,即可根据以上分析计算得到rx、cx的数值。4.3 数码管显示电路数码管显示器,是用来显示测量脉冲的结果的,分动态显示和静态显示。但静态显示功耗很大,本实验不予采用,而选用数码管静态显示,可大幅降低硬件成本和功耗发热,因为某时刻只有一个数码管处于工作状态,也就是分时显示。我们使用两片74ls373作为7段码和位码驱动锁存器,8个数码管

44、是共阴极数码管,一片uln2803作为位增强驱动器。单片机的定时器/计数器1来定时,用来控制每个数码管显示的时间(本题中定时时间常数为2.5ms),则利用人眼的视觉暂留作用即可实现动数据的动态显示。电路如图45:图45 数码管显示电路5 软件部分设计5.1 keil c软件的使用介绍keil c51集成开发环境是keil software,inc/keil elektronik gmbh开发的基于80c51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是c编译工具在产生代码的准确性和效

45、率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。5.2 keil c软件的基本操作步骤第一步: 启动keil集成开发软件。第二步: 新建文本编辑窗。点击工具栏上的新建文件快捷按键,即可在项目窗口的右侧打开一个新的文本编辑窗,第三步:输入源程序。在新的文本编辑窗中输入源程序,可以输入c语言程序,也可以输入汇编语言程序。在本设计输入c语言程序。第四步:保存源程序。保存文件时必须加上文件的扩展名,如果你使用汇编语言编程,那么保存时文件的扩展名为“.asm”,如果是c语言程序,文件的扩展名使用“*.c ”。第五步:新建立keil工程。点击 工程 新建工程 命令,将出现保存

46、对话框。在保存工程对话框中输入你的工程的文件名,keil工程默认扩展名为.uv2,工程名称不用输入扩展名,一般情况下使工程文件名称和源文件名称相同即可,输入名称后保存,将出现选择设备对话框,在对话框中选择cpu的型号。第六步:选择cpu型号。为工程选择cpu型号,本新建工程选择了atmel公司的at89c52单片机。第七步:加入源程序到工程中。在选择好cpu型号后,点击确定按钮返回主界面,此时可见到工程管理窗中出现“target 1”,点击“target 1”前面的“”号展开下一层的“source group 1”文件夹,此时的新工程是空的,“source group 1”文件夹中什么文件都没

47、有,必须把刚才输入的源程序加入到工程当中。右击工程管理窗中的“source group 1”,出现下拉菜单,点击“增加文件到组source group 1”命令,将出现添加文件对话框。在添加文件对话框中,找到要添加到工程中的源程序文件。注意:在对话框中的文件类型默认为“c 源文件 (*.c)”,如果你要添加到工程中的是汇编语言程序,则在文件类型中必须选中“asm 源文件 (*.a*; *.src) ”, 以*.asm为扩展名的汇编源程序才会出现在文件列表框中。第八步:工程目标target 1属性设置。在工程项目管理窗中的target 1文件夹上右击,出现下拉菜单,点击“目标target 1属性

48、”命令,就进入目标属性设置界面。第九步:源程序的编译与目标文件的获得。至此,我们已经完成了从源程序输入、工程建立、工程详细设置的工作,接下来我们将完成最后的步骤,此时我们可以在文本编辑窗中继续输入或修改我们的源程序,使程序实现我们的目标,在检查程序无误后保存工程。接着点击“构造目标”快捷按钮,进行源程序的编译连接,源程序编译相关的信息会出现在输出窗口中的“构造”页中。编译结果为0错误,0警告,同时产生了目标文件lich1.hex。如果源程序中有错误,则不能通过编译,错误会在输出窗口中报告出来,双击该错误,就可以定位到源程序的出错行,我们可以对源程序进行反复修改,再编译,直到没有错误为止。注意:

49、每次修改源程序后一定要保存。编译通过后,我们打开工程文件夹,可以看到文件夹中有了“lich1.hex”,这就是我们需要的最终目标文件,用编程器(也称烧录器)把该文件写入单片机,单片机就可以实现我们程序的功能了,赶快把目标文件写入单片机,在此,我们就可以看到良好的设计效果。5.3 主程序设计5.3.1 主程序流程图程序初始化结束进入外部中断1停止计数启动定时器1t1是否溢出?否是计算技术次数以及脉宽点亮单位指示灯代码转换动态显示脉宽溢出次数n=1 图51 程序主体框架 程序初始化后,当外部信号为高电平时输入引脚t1,定时器开始工作运行程序,当低电平到来进入外部中断1,开始计数,当t1不溢出,再次进入中段1,停止计数,运行程序计算脉冲宽度,通过译码在数码管上显示脉宽。 p1口置1,tmod=0x91,th=tl=1,et1=1(t1溢出),ex1=1(int1),it1=1(下降沿)tr1=1,delay()掩饰0.4s第一次进入外部中断1,空操作,t1清0t1溢出?再次进入外部中断2,tr1=ex=1。关闭计数和外部中断计算计数次数和脉宽,根据脉宽的范围点亮相应单位指示灯,进入代码转换动态显示脉宽,利用定时器t0的溢出中断来定时刷新(2.5ms)t1的溢出中断3设置溢出次数n=1是否图52 程序详细流程5.3.2 程序源代码#inc

温馨提示

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

评论

0/150

提交评论