





























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
机部将发出个周期电平检测回波,旦检测到有回波信号则输出回响信号,回响信号的脉冲宽度与检测的距离成正比,由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
芯片是高性能硅门器件,为八进制态非反转透明锁存器。
当锁存使能引脚为高时,这些器件的锁存对于数据是透明的也就是说输出同步,当锁存使能引脚变低时,符合建立时间和保存时间的数据会被锁存。
芯片的引脚图如图所示,功能表如表所示。
表功能表输入输出使能锁存使能输出不变高阻图芯片引脚图数码管显示及报警电路设计是发光二极管的缩写。
数码管里面有只发光二极管,分别记作,其中为小数点,每只发光二极管都有根电极引到外部引脚上,而另外只引脚就连接在起同样也引到外部引脚上,记作公共端,其中引脚的排列因不同的厂商而有所不同。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位。
根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动静态驱动也称直流驱动。
静态驱动是指每个数码管的每个段码都由个单片机的口进行驱动,或者使用如码二十进位解码器进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用口多,如驱动个数码管静态显示则需要个口来驱动,要知道个单片机可用的口才个。
故实际应用时必须增加解码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动数码管动态显示界面是单片机中应用最为广泛的种显示方式之,动态驱动是将所有数码管的个显示笔划的同名端连在起,位选通由各自独立的线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位元选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。
透过分时轮流控制各个数码管的端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位元数码管的点亮时间为,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是样的,能够节省大量的口,而且功耗更低。
动态扫描显示方式在数码管应用系统中应用得最为广泛,这也是我在本设计中的显示方法。
共阳极与共阴极这两种方法难度差不多,考虑到我自己对于共阳极的编程更熟悉,因此在该设计中我也采用数码管共阳极的接法。
至于语音报警,则采用个简单的蜂鸣器,利用单片机产生方波来控制。
根据所测距离的长短来决定该方波的频率,即蜂鸣器的报警频率。
语音报警电路和数码管显示电路分别如图和图所示。
图语音报警电路图图数码管显示电路图第四章系统软件设计本系统的主要功能为发送超声波对回波进行检测计算测量距离显示测量距离声光报警等。
软件包括主程序超声波发射子程序中断服务程序定时器溢出中断程序四个主要模块组成。
系统主程序的设计主程序对系统环境初始化后,首先置位回波接收标志和由单片机口输出个高电平以启动超声波发射电路,同时启动定时器。
然后调用计算距离子程序,根据定时器记录的时间计算出待测距离。
接着调用显示子程序,将测出距离以十进制码方式送显示,同时也调用声音处理程序,控制蜂鸣器的发声。
最后主程序通过回波信号的接收若标志位清零,说明接收到回波信号,则主程序返回到起始端重新置位回波接收标志位和在上发送高电平,如此往下运行,循环往复。
本设计中系统的核心技术在于距离的测量,精确的测距后通过单片机来处理数据是比较容易实现的。
各种信号都将干扰到测距,其中余波信号的干扰严重影响到本设计中精确的测距。
接收回路中的超声波信号共有两个波束,第个波束为余波信号,即超声波接收探头在发射探头发射信号后,马上就接收到了超声波信号。
另个波束为有效信号,即经过被物体表面反射的回波信号。
超声波在测距时,需要测的是从开始发射到接收到信号的声波往返的时间差,需要检测的有效信号为反射物体反射的回波信号,故要尽量避免检测到余波信号。
所谓余波就是在刚发射超声波时直接到达接受探头的直达波,它是超声波检测中存在测量盲区的主要原因。
超声波接收电路收到回波后,比较器动作,发出有效信号,计算机通过外部中断引脚感受回波信号的到达时间,中断发生后表示已接收到回波信号,此时停止计时,并读取计数器中的数值,此数值即为需要测量的时间差的数据。
由于常温下超声波在空气中的传播速度约为,所以发射点距障碍物之间的距离为由于单片机内部定时器的计时实际上是对机器周期机的计数,设计中时钟频率取,设计数值,则机机机或程序中对测距数据的处理方法是距离按式进行计算,其中,为计数器,装入定时初值打开总中断打开中断启动计数扫描数码管算出来是当距离小于时,发出频率为的声音当距离小于时,发出频率为的声音当距离小于时,发出频率为的声音超出测量范围显示显示显示显示中断用来计数器溢出,超过测距范围中断溢出标志中断用来扫描数码管模块计数结束后重装定时器初值计数值为,从开始的得到的频率给恢复初值若已到,就改变电平设为方式,允许中断允许中断开启定时器开启总中断关总中断超声波发生器复位有效延时产生个的脉冲,当为零时等待开启计数当为计数并等待关闭计数计算的值,此时声速取为。
综上所述,可得到系统主程序流程图如图所示。
超声波发生器复位,发射超声波接收完回波后关中断计算距离显示距离及指示蜂鸣器动作接收到回波后启动,开中断系统初始化开始延时图系统主程序流程图在系统初始化的过程中,主要是设定定时器的工作方式,同时还要打开总中断等。
当发出个时长为的高电平,便可启动超声波发生器产生超声波,同时打开定时器进行及时。
当超声波接收到回波信号后,会产生个低电平给,之后进入中断处理程序。
在主程序中又会恢复定时器的初值等,依次进行循环。
部分源程序见附录。
中断处理程序的设计外部中断入口关外部中断读取时间值计算距离输出结果开外部中断返回图中断处理程序流程图中断服务程序负责计算车尾距障碍物的距离,其程序流程图如图所示。
通过前面的超声波接收电路,若接收到回波信号,则测距模块的脚会产生低电平至单片的引复杂的体系,同时将其复杂性通过对象的质朴性得以屏蔽。
每个对象都拥有其类型。
按照通用的说法,每个对象都是个类的个实例,其中类就是类型的同义词。
每个类中最重要的区别于其它类的特性就是你可以发生什么消息给他特定类型的所有对象都可以接收同样的消息。
这是句意味深长的表述,你在稍后便会看到。
因为圆形类型的对象同时也是几何形类型的对象,所以个圆形对象必定能够接受发送给几何形对象的消息。
这意味着你可以编写与几何形交互并自动处理所有与几何形性质相关的事务的代码。
这种可替代性是中最强有力的概念之。
提出了个对对象的更加简洁的描述对象拥有状态行为和标识这意味着每个对象都可以拥有内部数据它们给出了该对象的状态和方法它们产生行为,并且每个对象都可以附录唯地与其他对象区分开,具体说来,就是每个对象在内存中都有个唯的地址。
每个对象都有个接口亚里士多德大概是第个深入研究类型的哲学家,他曾提出过鱼类和鸟类这样的概念。
所有的对象都是唯的,但同时也是具有相同的特性和行为的对象所归属的类的部分,这种思想被直接应用于第个面向对象语言,他在程序中使用基本关键词来引入新的类型。
就像其名字样,是为了开发诸如经典的银行出纳员问题这样的仿真程序而创建的。
在银行出纳员问题中,有出纳员客户账户交易和货币单位等许多对象。
在程序执行期间具有不同的状态而其他方面都相似的对象会被分组到对象的类中,这就是关键词的由来。
创建抽象数据类型类是面向对象程序设计的基本概念之。
抽象数据类型的运行方式与内置类型几乎完全致你可以创建类型的变量按照面向对象的说法,称其为对象或实例,然后操作这些变量称其为发送消息或请求你发送消息,对象就能够知道需要做什么。
每个类的成员或元素都共享相同的性质每个账户都有结余金额,每个出纳都可以处理存款请求等。
同时每个成员都有其自身状态每个账户都有不同的结余金额,每个出纳都有自己的名称。
因此,出纳客户账户交易等都可以在计算机程序中被表示成为唯的实体。
这些实体就是对象,每个对象都属于定义了特性和行为的个特定的类。
所以,尽管我们在面向对象程序设计中实际所作的是创建新的数据类型,但事实上所有的面向对象程序设计语言都使用关键词来表示数据类型。
当你看到类型词时,请将其作为类来考虑,反之亦然。
既然类被描述成了具有相同特性数据元素和行为功能的对象集合,那么个类就确实是个数据类型,就像所有浮点型数字具有相同的特性和行为集合样。
二者的差异在于,程序员通过定义类来适应问题,而不再被强制只能使用现有的被设计用来表示在机器中的存储单元的数据类型。
你可以根据需求,通过添加新的数据类型来扩展编程语言。
编程系统欣然接受新青岛理工大学毕业设计论文的类,并且给予它们与内置类型相同的管护和类型检查。
面向对象的方法不是仅局限于构件仿真程序。
无论你是否同意任何程序都是你所设计的系统的个仿真的观念,面向对象技术确实可以将大量的问题降解为个简单的解决方案。
旦类被建立,你想要创建该类的多少个对象,就可以创建多少个了,然后去操作它们,就像它们是存在于你机部将发出个周期电平检测回波,旦检测到有回波信号则输出回响信号,回响信号的脉冲宽度与检测的距离成正比,由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
芯片是高性能硅门器件,为八进制态非反转透明锁存器。
当锁存使能引脚为高时,这些器件的锁存对于数据是透明的也就是说输出同步,当锁存使能引脚变低时,符合建立时间和保存时间的数据会被锁存。
芯片的引脚图如图所示,功能表如表所示。
表功能表输入输出使能锁存使能输出不变高阻图芯片引脚图数码管显示及报警电路设计是发光二极管的缩写。
数码管里面有只发光二极管,分别记作,其中为小数点,每只发光二极管都有根电极引到外部引脚上,而另外只引脚就连接在起同样也引到外部引脚上,记作公共端,其中引脚的排列因不同的厂商而有所不同。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位。
根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动静态驱动也称直流驱动。
静态驱动是指每个数码管的每个段码都由个单片机的口进行驱动,或者使用如码二十进位解码器进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用口多,如驱动个数码管静态显示则需要个口来驱动,要知道个单片机可用的口才个。
故实际应用时必须增加解码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动数码管动态显示界面是单片机中应用最为广泛的种显示方式之,动态驱动是将所有数码管的个显示笔划的同名端连在起,位选通由各自独立的线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位元选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。
透过分时轮流控制各个数码管的端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位元数码管的点亮时间为,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是样的,能够节省大量的口,而且功耗更低。
动态扫描显示方式在数码管应用系统中应用得最为广泛,这也是我在本设计中的显示方法。
共阳极与共阴极这两种方法难度差不多,考虑到我自己对于共阳极的编程更熟悉,因此在该设计中我也采用数码管共阳极的接法。
至于语音报警,则采用个简单的蜂鸣器,利用单片机产生方波来控制。
根据所测距离的长短来决定该方波的频率,即蜂鸣器的报警频率。
语音报警电路和数码管显示电路分别如图和图所示。
图语音报警电路图图数码管显示电路图第四章系统软件设计本系统的主要功能为发送超声波对回波进行检测计算测量距离显示测量距离声光报警等。
软件包括主程序超声波发射子程序中断服务程序定时器溢出中断程序四个主要模块组成。
系统主程序的设计主程序对系统环境初始化后,首先置位回波接收标志和由单片机口输出个高电平以启动超声波发射电路,同时启动定时器。
然后调用
