以下是小编整理的基于单片机的超声波测距仪的设计与实现毕业论文(共含11篇),欢迎阅读与收藏。同时,但愿您也能像本文投稿人“Dreaming”一样,积极向本站投稿分享好文章。
中文摘要 本设计基于单片机AT89C52,利用超声波传感器HC-SR04、LCD显示屏及蜂鸣器等元件共同实现了带温度补偿功能可报警的超声波测距仪。我们以AT89C52作为主控芯片,通过计算超声波往返时间从而测量与前方障碍物的距离,并在LCD显示。单片机控制超声波的发射。然后单片机进行处理运算,把测量距离与设定的报警距离值进行比较判断,当测量距离小于设定值时,AT89C52发出指令控制蜂鸣器报警,并且AT89C52控制各部件刷新各测量值。在不同温度下,超声波的传播速度是有差别的,所以我们通过DS18B20测温单元进行温度补偿,减小因温度变化引起的测量误差,提高测量精度。超声波测距仪可以实现4m以内的精确测距,经验证误差小于3mm。
关键词:超声波;测距仪;AT89C52;DS18B20;报警
Design and Realization of ultrasonic range finder based
ABSTRACT The design objective is to design and implement microcontroller based ultrasonic range finder. The main use of AT89C52, HC-SR04 ultrasonic sensor alarm system complete ranging production. We AT89C52 as the main chip, by calculating the round-trip time ultrasound to measure the distance to obstacles in front of, and displayed in the LCD. SCM ultrasonic
transmitter. Then the microcontroller for processing operation to measure the distance and set alarm values are compared to judge distance, when measured distance is less than the set value, AT89C52 issue commands to control the buzzer alarm, and control each member refresh AT89C52 measured values. Because at different temperatures, ultrasonic wave propagation velocity is a difference, so we DS18B20 temperature measurement by the temperature
compensation unit, reducing errors due to temperature changes, and improve measurement
accuracy. Good design can achieve precise range ultrasonic distance within 4m, proven error is less than 3mm.
Keywords:Ultrasonic;Location;AT89C52;DS18B20;Alarm
目录
第一章 前言 ..................................................................................................................................................... 1
1.1 课题背景及意义 .............................................................................................................................. 1
1.1.1超声波特性 .............................................................................................................................. 1
1.1.2超声波测距 .............................................................................................................................. 2
1.2 超声波模块基本介绍 ........................................................................................................................ 3
1.2.1 超声波的电器特性 ............................................................................................................... 3
1.2.2 超声波的工作原理 ............................................................................................................... 5
1.3主要研究内容和关键问题 .............................................................................................................. 6
第二章 方案总体设计 ..................................................................................................................................... 7
2.1 超声波测距仪功能 ............................................................................................................................ 7
2.2设计要求 ............................................................................................................................................. 8
2.3系统基本方案 ..................................................................................................................................... 9
2.3.1方案比较 .................................................................................................................................. 9
2.3.2方案汇总 ................................................................................................................................. 11
第三章 系统硬件设计 ................................................................................................................................... 13
3.1 单片机最小系统 .............................................................................................................................. 13
3.2 超声波测距模块 ............................................................................................................................. 13
3.3 显示模块 .................................................................... 15
3.4温度补偿电路 ................................................................ 15
3.5 蜂鸣报警电路 ................................................................................................................................. 16
第四章 系统软件设计 ................................................................................................................................... 17
4.1 AT89C52程序流程图 ...................................................................................................................... 17
4.2 计算距离程序流程图 ...................................................................................................................... 19
4.3 报警电路程序流程图 ...................................................................................................................... 19
4.4 超声波回波接收程序流程图 .......................................................................................................... 20
第五章 系统的调试与测试 ......................................................................................................................... 21
5.1 安装 .................................................................................................................................................. 21
5.2 系统的调试 ...................................................................................................................................... 21
第六章 总结 ................................................................................................................................................... 23
参考文献......................................................................................................................................................... 24 致 谢........................................................................................................................... 错误!未定义书签。
附录 ................................................................................................................................................................ 26
附录1 整机电路原理图 ........................................................................................................................ 26
附录2 超声波温度和速度的关系 ........................................................................................................ 27
附录3 部分源程序 ................................................................................................................................ 29
第一章 前言
1.1 课题背景及意义
1.1.1超声波特性
众所周知,振动产生声波。通常每秒声波振动的次数被称为频率,单位是Hz。人的听觉范围为20?20,000Hz,即我们无法获取振动频率小于20Hz和大于20,000Hz的声波。所以科学家把声波按照人类的听觉范围进行了分类:振动频率大于20,000Hz的成为超声波,小于20Hz的称为次声波。
超声波是一种超越人类听力极限的声波,频率大于20KHz,是在弹性介质中的机械振荡。超声波能够在固体、液体和气体中传播,不同的传播介质传播的速度不相同。超声波和其他机械波一样,在传播的过程中也会因折射和反射而衰减。超声波有以下特性:
1.波长
通常我们把波的传播速度用波长乘以频率来表示。电磁波传播的速度非常快,高达3×108m/s,但是声波传播的速度很慢,在空气中常温常压下仅为343m/s(20℃、101KPa)。在波传播的速度比较低的情况下,波长非常短,更容易辨识,如果用超声波来测距,也就代表着我们能够在距离和方向上获得更高的分辨率。有了更高的分辨率,才可能使我们在测量过程中得到更高的精度。
2.反射特性
通过捕获在目标上反射的超声波,从而检测到物体的存在。因为金属、水泥、玻璃、木材、橡胶与纸能够反射将近100%的超声波,用超声波能够很轻易地找到这些对象。但是像布匹、棉毛等材料,它本身吸收超声波,用超声波来检测它们很困难。同时,要想探测位于凹凸表面和斜坡表面上的物体,由于被测物的不规则使得反射波变得不规则,测量难度会加大。超声波本身的特性决定了空旷的场所是超声波的理想测试环境,并且被测物体一定要能够反射超声波。
3.温度效应
超声波在空气中传播是随环境温度温度变化的,可以用c =331.5+0.607t(m/s)来表示声波的传播速度。 其中“c”为声波传播速度(m/s),“t”表示温度(℃)。所以,要想精确地测量障碍物的距离,实时检测环境温度并进行补偿是非常必要的,尤其冬季
室内外温差较大,对超声波测距的精度影响很大,此时可用温度补偿模块来减小温度变化所带来的测量误差。考虑到本设计的测试环境是在室内,而且超声波主要是用于实现避障功能,对测量精度要求不高,所以关于温度效应对系统的影响问题在这里不做深入的探讨。超声波在空气中传播时,温度与速度的关系会在附录中,供查阅。
4.衰减
在空气中传播的超声波,会因为在球形表面上发生衍射现象导致能量扩散损失,也会因介质吸收能量造成吸收损失,并且波强衰减量与距离是成正比的。超声波的衰减率还与频率成正比。如图6所示,超声波的频率增高,衰减率就越高,传播的距离也就越短。由此可见超声波的衰减特性直接影响了超声波传播的有效距离。
1.1.2超声波测距
在现实生活中某些特殊场合,有些传统的测距方式存在着难以克服的缺陷,例如电极法测量液位,运用差位分布电极,通过给电或发射脉冲来进行液面检测,由于电极长时间浸泡在液体中,非常容易被腐蚀和电解,进而失去灵敏性。使用超声波测距就能够很好地解决这些问题。当下市面上超声波测距系统存在体积庞大、价格昂贵、精度偏低等种种问题,使其在一些中小规模的测距中难以得到普遍的使用。在这样的背景下,本文设计了一款基于AT89C52单片机的低成本、高精度、微型化的超声波测距仪。
超声波较之于其他机械波,具有以下特有性质:超声波为定向传播,绕射少,反射能力强;超声波衰减很小,穿透能力强,在空气中传播速度较慢,也可在液体固体中传播;当超声波从一种介质入射到另一种介质时,由于在两种介质中的传播速度不同,在介质面上会产生反射、衍射等现象。因此,它在军用,农牧业,医学,工业有广泛的应用。并且能够实现洗涤、焊接、粉碎、测速测距等功能。
虽然目前的技术水平,人类利用超声波传感器的技术成果还是很有限的,但是随着科学技术的飞速发展,超声波传感器的应用领域将越来越广泛。这是一个蓬勃发展的技术和工业领域,有着无限的发展前景。展望未来,超声波传感器在各方面都是一个新的重要的工具,将有巨大的发展空间。在运动测距中将有更高精度的方向定位,以满足社会日益增长的需求。声纳定位的精度的提高,可以满足未来秘密武器进行打击的需要。无需多言,未来的超声波传感器、自动化智能集成联合其他的传感器,可以实现多传感器的一体化协同作业。伴随传感器技术的进步,传感器将具有简单的学习功能,自动确定发展方向的功能,并最终具有创造性。
2
1.2 超声波模块基本介绍
1.2.1 超声波的电器特性
1.声压特性
声压级 (S.P.L.) 是表示音量的单位,利用下列公式予以表示。
S.P.L.= 20logP/Pre (dB)式中,“P”为有效声压 (μbar),“Pre”为参考声压 (2×10-4μbar)如图1所示为几种常用超声波传感器的声压图。
图1 超声波传感器的声压图
2.灵敏度特性
灵敏度是一个用来表示声音接收级的单位,如下式所列。
灵敏度= 20log E/P (dB),此式中,“E”是产生的电压 (V),“P”是输入的声压(μbar)。超声波收发器的灵敏度直接决定系统的测距范围,如图8所示为几种中常见超声波传感器的灵敏度图,从图中可以发现40KHz时传感器的声压级最高,也就是说40KHz时所对应的灵敏度最高。
3
图2 超声波传感器灵敏度示意图
3.辐射特性
把超声波传感器安装在台面上。然后,测量角度与声压 (灵敏度) 之间的关系。为了准确地表达辐射,与前部相对比,声压 (灵敏度) 级衰减6dB的角度被称为半衰减角度,用θ1/2表示。超声波设备的外表面尺寸较小易于获得精确的辐射角度。图3展示的是几种常见的超声波传感器的辐射特性。
图3 超声波传感器的辐射特性
分析以上研究结果不难看出超声波传感器工作在40KHz范围内具有最大的声压级和最高的灵敏度,这为设计中选择合适的超声波传感器指明了方向。
4
1.2.2 超声波的工作原理
市面上常见的超声波传感器多为开放型,
超声波传感器的内部结构如图4所示,复合式振动器巧妙地固定在底座上。这种复合振动器是由谐振器、金属片和电陶片构成的双压电晶片的元件振动器。谐振器是圆锥形的,目标是可以有效辐射因振动而产生的超声波,而且能够有效地聚合超声波于振动器中心。
当电压被施加到压电陶瓷,用于机械形变的电压与频率将会改变。另外,振动会使压电陶瓷产生电荷。运用这个原理,由两片压电陶片或者一片压电陶片和一片金属片组成的振子称作双压电晶片元件,当向其时间电信号时,它将弯曲振动产生超声波。反向操作,即将超声波振动施加到双压电晶片元件,就会产生电信号。
图4 超声波传感器内部结构图
图5 声压在不同距离下的衰减特性
5
1.3主要研究内容和关键问题
因为超声波检测更加快捷、便利,并且运算简便,更易完成实际控制。所以超声波测距在移动机器人领域得到广泛使用。在实际工业运用中,用超声波测距可以使机器人在移动中自动避开障碍物。也因此要求系统必须能够及时获取障碍物的位置信息(距离和方向)。因为超声波测距系统的这些特点,其在车辆倒车雷达的制造上也已被广泛使用。
本设计主要研究通过单片机控制各模块工作,是通过单片机来控制各模块协同工作,控制超声波发射器发射超声波信号,使超声波接收器捕捉辨识回波信号,利用发射回收波信号的时间差,再利用温度补偿函数从而换算测量距离。
生活中运用本设计时,测量距离可能会随时改变,为了及时捕捉改变的距离值,即提高超声波测距仪的灵敏度,通过设定采样周期来实现实时测距。
主要有以下问题需要解决:
1.超声波回波检测
超声波信号发送后,会在障碍物表面进行反射和衍射,有些反射波可能会经过多次反射,超声波接收器会接收到多个回波信号,如何在众多回波中正确辨别是一个难点。
因为本设计研究的是短距离测距,那么如果在发射波后,一段时间内没有接收到回射波,我们就判定为超距,结束本次作业,返回清零,重新开始测距。
2.温度的影响
超声波在空气中传播时,它的速度是受外部温度影响的,我仔细的查阅了不同温度下对应超声波速度值,发现温度会严重影响测量精度。所以使用一种方法将外部温度对超声波测距精度的影响降到最低显得十分迫切。
3.如何报警
当测量距离小于一定范围时,属于危险范围,因为不论是机器人还是汽车,在与障碍物距离很近时,由于惯性原因难以避免与其相撞,所以与障碍物相距一定范围内时,要求系统会自动报警。报警通过什么实现,用什么方式,如何判定,这便成为我研究的另一个问题。我们考虑的是设计的实用性,用何种方法简便快捷的实现是研究重点。
6
第二章 方案总体设计
2.1 超声波测距仪功能
为了实现测距,本设计由硬件和软件两部分组成。主要由MCU控制单元、温度补偿模块、超声波模块、按键输入模块、显示模块、报警模块等组成。在这个设计中的核心模块是单片机。其中硬件有单片机、各功能模块、输入输出设备和各组成电路,软件是所有工作程序的统称。单片机通过系统急性比较处理,从而控制蜂鸣器报警。系统总体的功能方框图如图5所示。
图5系统功能方框图
主控制模块由AT89C52构成,就相当于人的大脑,主要起到控制协调各模块作业的作用。通过超声波发射接收的往返时间差,利用 L= vt/2精确测量出障碍物的距离,并显示在液晶屏上,同时显示当前温度T及该报警设定值。
由AT89C52控制的定时器负责产生超声波脉冲并计时,遇到障碍物后反射, 超声波接收模块对声波进行捕捉,再次计时。然后根据超声波往返的时间差、当前温度下超声波传播的速度代入温度补偿后的算式L=vt/2算得障碍物距离。超声波接收模块以及超声波发射模块就相当于人的眼睛,是获取外部信息最主要的通道。
按键输入模块有四个按键组成,主要作用是设置超声波测距仪的最小报警距离。 测温模块由主要作用是测量实际温度,把数据传输到主控模块,从而提取出相应温度下超声波在空气中传播的速度
显示模块由LCD1602构成,主要作用是显示测距结果、温度、以及最小报警距离。
7
报警模块由蜂鸣报警器组成,主要作用是在所测距离小于设置最小距离时发出蜂鸣、报警。应用如倒车雷达,当车尾离障碍物的实际距离小于一定值后,倒车雷达会报警提示。
信号通过单片机的各个模块处理进行综合分析,实现超声波测距仪的功能。在此基础上,完成系统方案的总体设计,并最后通过硬件和软件实现各功能。并附有硬件电路图、程序流程图、功能框图,特定系统配置、电路的原理与程序设计相伴。该系统的控制是很容易的、可靠的、测距精度高、可读性和流程明了等优势。实现后的作品可用于需要测量距离参数的各种应用场合。
2.2设计要求
考虑到设计的应用,本设计主要有以下设计要求:
1.主控模块
本设计旨在设计实现微型超声波测距仪,语言要求:C语言
低成本的51单片机是很好的选择,要求使用者要熟悉51单片机集成开发环境,单片机的内部结构、资源以及硬件和软件调试设备的基本方法和技能,而且可以使用C语言编写项目文件。
2.测量距离范围:4m
超声波测距仪,由于超声波方向性强、渗透力强、容易得到声能等较集中的优势,因为声衰减问题,因此并不适用于长距离范围。目前主要应用于倒车雷达,导航失明,视力矫正等。
盲人导航主要是判断当前方向的障碍物距离,从而帮助盲人选择正确的路线,此设计可以搭配GPS导航、语音播报等系统共同协助视力障碍者选择正确的前进路线。
视力矫正主要适用于坐姿不正确,读书、看电视、玩电脑离书本和屏幕太近的人群,首先根据实际需要设定报警距离,当使用者超过报警距离后自动报警。
以上都是短距测距,所以本设计4m的测量距离完全可以满足测量需要。
3.误差范围:3mm
超声波测距可能因为障碍物不规则、温度影响等原因影响测量精度,本设计添加了
8
温度补偿模块,大大提高了测量精度,知道老师要求精度优于1%,考虑到在实际中的应用,我查取了相关资料,觉得控制在3mm误差范围内是比较合适且可实现的。
4.温度补偿
自行构建基于单片机的最小系统,完成相关硬件电路的设计实现
5.显示
利用数显装置显示障碍物的距离值(以cm为单位,误差不超过1cm);了解超声波测距原理,温度补偿实现方法。
6.报警
当被测距离小于预定的距离时,向蜂鸣器发送信号报警。
2.3系统基本方案
2.3.1方案比较
1. 主控制器模块
方案1:
系统的核心部件选择一块CPLD(复杂可编程逻辑器件,诸如EPM7128LC84-15),以实现功能的控制和处理。 CPLD具有速度快、易于编程、资源丰富、开发周期短等优点,可以用VHDL语言开发编写。与单片机相比,CPLD在控制上有很大的不足。还有,CPLD的处理速度是异常迅速的,但是超声波测距处理速度的要求不会太高,则对系统处理信息的要求也不会过高,在这一点上,MCU足以胜任了。使用该方案,在控制上会遇到很多困难。出于这个原因,我们不使用这种方案的,所以产生第二个方案。 方案2:
机为系统的核心,用其超声数据处理,以实现其既定的性能指标。进行系统的全面分析,关键在于实现超声波测距,但在这一点上,单片机展示了其优势――控制简单、方便、快捷。其结果是,该微控制器可以充分发挥其资源丰富,有更强大的控制功能和位寻址的操作功能,价格低廉等特点。所以,较为理想的是第二个方案。
综上所述,我们选择了方案2。
2. 超声波模块
9
方案1:
由一块T40-16作为超声波模块。此模块具有1-1000cm非接触式的测距功能,但其造价高,很难有更广泛的应用。故放弃此方案。
方案2:
使用HC-SR04来实现超声波的收发,它可以进行2―400cm的非接触式距离检测,其测距误差不超过3mm。该模块包含反射超声波的超声波发射器、接收回波的接收器和控制电路。其物美价廉,测距精度高,故采用第2方案。
3. 电源模块
出于本设计使用便捷性的考虑,选择便携电源供电,故提出以下两种供电方案。 方案1:
采用12V蓄电池向系统供电。蓄电池拥有很强的电流驱动能力,和稳定的电压输出性能。但是蓄电池的体积太大,使用非常不方便。所以我们放弃了这个方案。
方案2:
采用3节1.5 V干电池共4.5做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。
综上所述采用第2套方案。
4. 显示模块
方案1:
数码管显示。由于数字显示速度快、简单易用、简洁的显示等特点使它得到广泛应用。在这里我们需要显示的是测得的距离值和温度值以及报警距离的设置,不足以满足使用需要,因此我们放弃了此方案。
方案2:
使用LCD1602液晶显示屏。由于其清晰的液晶显示屏、丰富的内容、清晰地显示信息、便于使用、显示速度快等优点已被广泛使用。对于此系统我们要求不仅能显示测量距离、温度,还要显示报警距离的设定,故用物美价廉的LCD1602显示,充分发挥出LCD的显示优势。因此我们选择了此方案。
10
5. 温度补偿模块
方案1:
使用PT100温度传感器用于温度补偿电路。 PT100铂电阻传感器是利用其随温度变化的阻值、并显现出一定的函数关系的特点来进行温度补偿的,具有抗震动性、稳定性、精度高、耐高压等特点。但其操作较为复杂。
方案2:
温度补偿电路使用DS18B20作为温度传感器。通过“一线”总线(1-Wire是一种独特的数字信号的总线协议,独特的电源线和信号线的复合一起只使用一个口线;每个芯片独有的编码,支持网络寻址和零功耗等待等,这条总线需要的硬件连线最少)。DS18B20数字温度输出这种独特的方法允许多个DS18B20容易建立传感器网络,从而提供更多地可能性给整个测量系统的建立和组合。这已经比其他的温度传感器在转换时间、测量精度、分辨率、传输距离等有了长足的进步,为用户提供了更便捷的使用和更让人满意的结果。
相比之下,DS18B20数字温度直接输出,无需采取纠正措施,故选择方案2。
6. 报警模块
方案1:
使用语音芯片进行提示,优点可以自由设定要提示的声音。缺点使用复杂,需要专门的编程软件,成本高控制复杂,不便于普及。
方案2:
采用蜂鸣器提示,电路简单实用,可靠性高。
综上所述我们选择方案2。
2.3.2方案汇总
我们最终确定了如下方案:
1、主控芯片采用AT89C52单片机作为主控制器。
2、使用HC―SR04超声波模块
11
3、用3节干电池供电。
4、用LCD1602显示。
5、采用DS18B20做温度补偿。
6、使用蜂鸣报警器报警
12
第三章 系统硬件设计
3.1 单片机最小系统
对单片机的认识源于大一时电子爱好者协会的一次讲座。当时大三的学长们在做智能车,精彩的演讲和有趣的知识吸引了我,也让我对单片机产生了兴趣。他告诉我,单片机就相当于人的大脑,它不能像电脑那样做出特别复杂的运算,但它足以完成很多操作任务。他当时用的也是51单片机,因为感觉性能比较稳定,运算速度快,而且物美价廉。后来通过大三对单片机课程的学习,进一步对AT89C52了解,因此本次设计选用AT89C52作为主控制器。主控制系统电路如图6所示。
图6 单片主控电路
单片机通过发送信号来控制主控制电路协调超声波发射模块,超声波接收模块,显示模块,温度模块,报警模块。
超声波测距仪中各模块主要由单片机主控电路进行控制和协调,从而有条不紊的进行工作。
3.2 超声波测距模块
使用现成的超声波模块HC―SR04, 它的工作原理是:向IO口TRIG发送信号,加大于10us的高电平;该模块能够自动发送8个频率40KHz 的方波,且处于工作状态是检测是否有回波信号;如有返回信号,会在IO口向ECHO传输一个高电平信号,此高电平延续的时间便是超声波的往返时间。l(测试距离)=v(声速)t(高电平时间)/2。实物如下图7。其中VCC能够提供4.5V电源,GND为接地,TRIG可以触发输入信号,
ECHO
13
则为含有回波信号的四条线。
图7 超声波模块实物 图8 超声波接口
T/R-40-12型超声波传感器的震荡频率为40KHz,传播10米超声波信号强度便衰减到40个声压级,此时超声波接收探头就很难接收到回波信号。因此,从理论上分析,本设计超声波测距部分的实际范围是10cm―400cm,理想的避障范围是10cm―100cm,所以实际壁障安全距离应设在50cm―80cm之间。
图9 避障原理
图9中,超声波指向性地发送一段超声波并计时,超声波经过在空气中传播后,遇到障碍物反射回来被超声波接收器捕捉到,同时停止计时。利用时间差计算法算出距离。
14
图10 超声波接口电路图
3.3 显示模块
显示模块采用数LCD1602,连接图如图所示
图11 LCD显示电路
显示模块主要用来显示测量的距离值、温度传感器测量的温度值以及最小的报警距离。
3.4温度补偿电路
温度补偿电路采用DS18B20传感器,P2.4接DS18B20数据总线,由单片机控制DS18B20温度转换和数据的传输,并且将10k的`上拉电阻连接到数据总线。该系统采用外接电源
15
DS18B20的优点是I / O接口不需要强拉,总线控制器并不需要在温度很高的情况下转换。因此转换在可以允许的范围内,单线总线上附加数据的传输,如图15所示的硬件结构。
图12温度补偿电路DS18B20
3.5 蜂鸣报警电路
如图13所示,蜂鸣报警电路由蜂鸣器、三极管、接到单片机上P13引脚上的电阻组成。
图13 蜂鸣报警电路图
16
第四章 系统软件设计
4.1 AT89C52程序流程图
如图14所示为超声波测距单片机AT89C52程序流程图。
图14 系统软件的整体流程图
17
流程图具体细分如下:
1、系统初始化
单片机AT89C52、LCD1602、蜂鸣报警器、超声波测距模块通过上电复位并自行运行单片机清零程序。
2、发射超声波
自动读取超声波测距程序,AT89C52控制HC―SR04指向性地发射超声波并且记录时间,待捕捉到回波时终止计时,算得回波时间。
3、判断是否检测到回波
超声波接收电路出于运行状态。如超声波接收电路收到回波,则将信号发送到单片机并再次计时,通过温度补偿后的算式算得障碍物当前距离;如超声波接收电路未在设定时间收到回波,则返回。
4、显示
显示距离、当前温度、设置的报警距离。
5、是否小于超声波报警距离
将测得距离与报警值进行比较,如小于报警值,则进行报警。
6、再次检测等待下次报警
18
4.2 计算距离程序流程图
图15 计算距离程序流程图
首先调用温度函数进行温度补偿,得到当前温度下的超声波传播速度v;然后调用时间函数t,即超声波发射与超声波回波的时间差;再将以上函数代入算式=vt/2算得当前温度下障碍物的距离;最后返回。
4.3 报警电路程序流程图
首先调用测量函数l,然后与报警设定值进行比较,如测量值l小于报警设定值0.5m,则向蜂鸣器发送报警信号,蜂鸣器进行报警;如测量值l大于报警距离0.5m,则不报警,返回调用测量函数。
19
图16报警电路程序流程图 图17 超声波回波接收程序流程图
4.4 超声波回波接收程序流程图
如图17所示,首先单片机控制超声波发射器发射超声波,同时计时开始,超声波接收器处于工作状态,如接收到回波,则再次计时,计算超声波往返时间差t;如未收到超声波回波,则返回超声波放射,重新发射并计时。
20
第五章 系统的调试与测试
5.1 安装
1.检查元件
按电路图购买好元件后,首先需要检测元件是否完好。按照各种元件检测的方法分别进行检测,这项任务虽然重复繁琐,但是我觉得这是必做的工作,因为只要有一个元件出了问题,设计就不能实现它的功能。同时需要细心对照原理图,使其一一对应,多次检查确保正确后才可以上件、焊件,以防因元件错误不便修正,导致功能无法实现。
2.放置、焊接各元件
出于对本设计便携的要求,选用了正好可以容纳所有器件的小块洞洞板。然后依照原理图对应放置各元件,此过程中先安放、焊接低层元件,最后焊高层的和要求较高的元件。特别要注意易损元件的焊接,我把它们放在最后,同时要注意集成芯片上焊接不能连续焊接超过10s,并且注意芯片的安装方向。
5.2 系统的调试
打开电源开关,电源指示灯亮起,LCD1602正常显示。距离0.90m,温度28°C,设定报警距离0.5m。向障碍物进一步靠近。
21
当靠近后,距离显示为0.44m,发出蜂鸣警报。
软件调试正常,屏幕正常显示,正常工作。
经过多次测试调试,与实际温度对比、实际距离对比,该设计能够在一定范围内稳定的工作,并测出距离,并且误差小于3毫米。设计成功。
22
第六章 总结
在台老师的悉心指导下,自己从初拿题目的一头雾水,到一步步地学习、设计、改正,再改正,到最后完成本设计,这个过程让我收获良多。
这是我的学生生涯中最后一次完成作业,一份特别的作业。学校的教育是有限的,更重要的是我在这个过程中培养的独立思考、独立完成任务的能力以及终生学习的信念。我觉得这才是一所高等学府应有的教育模式,人脑不是计算机,也不是储存器,比起存储,我相信现在的一台普通电脑就比人一辈子记忆量还大。我认为大脑是一个特殊的信息加工处理器,较之电脑,它拥有更多地创造性以及无限可能。我想求学这么多年,可能学习、锻炼的正是这种能力。在信息爆炸的年代,知识在飞速的更新,有可能我们现在学习的知识已经过时很多年,但为什么还要学习这些知识,这种行为并不是没有意义的,它让我们学会了学习方法,在掌握前人知识的基础上,我们可以更好更快地创造。
这次经历,对于我个人的成长来说意义深远。这个过程不像我最初想的那么简单,原以为可以一边工作一边完成设计的我,也辞掉了刚刚入门的工作,专心地投入其中。专注本身就是一种历练,本身也是人的一种优秀的品质。
大一的时候,自己对于大学的一切都很新鲜,着迷,先后参加院学生会,创业大赛等组织及活动,丰富了自己的课余生活,也在实践与学习中加深了对世界、人生、价值的思考。大二经历了一年的颓废,基本上课余时间都在寝室打游戏,挂了科,付出了代价。大三时迷恋上了市场营销、心理学,先是看了三十二本世界各领域名人的传记,从初中高中时的模仿到了总结分析,认识到成功的路虽不同,但是成功者的许多特质都是相同的,然后开始全心扎入市场营销的学习中,拜读了科特勒、泰勒、德鲁克等名师大家的许多著作,同时自己的三观有了新的提升,但这期间由于想法极端,耽误了大学学业。由于大三的积累,到了大四就有些急于求成了,想尽快融入社会,实现自我价值。却忘记了应该先把应该走的路走好,才能走自己想走的路。
这次宝贵的经历,让我明白,路是走出来的,不是想出来的。我会把我对梦想的渴望,拆分成一步步可以执行的计划,按部就班地完成。
23
参考文献
[1] 宋文绪. 传感器与检测技术[M]. 北京: 高等教育出版社, .
[2] 余锡存. 单片机原理及接口技术[M]. 西安: 西安电子科技大学出版社, .
[3] 李全利. 单片机原理及接口技术[M]. 北京: 北京航空航天大学出版社, 2004.
[4] 薛均义, 张彦斌. MCS-51系列单片微型计算机及其应用[M]. 西安: 西安交通大学出版社, .
[5] 徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计[M]. 北京: 北京航空航天大学出版社, .
[6] 康华光. 电子技术基础(模拟部分)[M]. 北京: 高等教育出版社, 2004.
[7] 胡萍.超声波测距仪的研制[J]. 计算机与现代化,,7(10):21~23.
[8] 时德刚,刘哗. 超声波测距的研究[J]. 计算机测量与控制,,9(10):31~33.
[9] [美]J.马库斯. 电子电路大全[M]:卷1,日用电路. 北京:计量出版社,1985.
[10] 苏长赞. 红外线与超声波遥控[M]. 北京:人民邮电出版社,1993.7.
[11] 张谦琳. 超声波检测原理和方法[M]. 北京:中国科技大学出版社,1993.10.
[12] 九州. 放大电路实用设计手册[M]. 沈阳:辽宁科学技术出版社,2002.5.
[13] 樊昌元,丁义元. 高精度测距雷达研究[J]. 电子测量与仪器学报,2000,9(8):3537.
[14] 苏伟,巩壁建. 超声波测距误差分析[J]. 传感器技术,2004,3(4):17~20.
[15] 赵保全. 中国集成电路大全[M].北京:国防工业出版社,1985.
[16] 肖景和. 数字集成电路应用精粹[M]. 北京:人民邮电出版社,2003. [17] 陈晓文. 电子线路课程设计[M].北京:北京电子工业出版社.2004.
[17] 陈卿,侯薇. 家电控制与检测用集成电路[M].北京:中国计量出版社,2005. [20] 何希才. 传感器技术及应用[M]. 北京:北京航空航天大学出版社,2005.
[18] 余成波. 传感器与自动检测技术[M]. 北京:高等教育出版社,2004.
24
25
附录
附录1 整机电路原理图
26
附录2 超声波温度和速度的关系
27
28
附录3 部分源程序
温度补偿程序 void init2 {
//T2CON=0x0c;
RCAP2H=(65536-5)/256; RCAP2L=(65536-5)%256; TH2=(65536-5)/256; TL2=(65536-5)%256; EA=1; ET2=1; TR2=1;
// PT2=1; //T2}
void main() {
init1(); //xianshi(); //init2(); //T2tx=0;
IT0=0; //init(); //while(1); }
void timer1() interrupt 3 {
tx=~tx; k++; if(k==3) { k=0; TR0=0;
设为高优先级 液晶初始化 温度字母 初始化 外部中断低电平触发定时器初始化 29
TR0=1;
delaynus(6); //除共振 EX0=1;
//for(d=0;d
void int0() interrupt 0 {
IE0=0; //中断触发位 EX0=0; //关中断 TR1=0; ET1=0; TR0=0; ET0=0;
date=TH0*256+TL0; date+=500; if(TZ>=0&&TZ
jl=(date*0.161); }
if(TZ>10&&TZ
jl=(date*0.169); }
if(TZ>20&&TZ
jl=(date*0.172); }
if(TZ>30&&TZ
jl=(date*0.174); }
30
if(TZ>40&&TZ
jl=(date*0.175); }
xianshic();
for(d=800;d>0;d--); TH0=0x00; TL0=0x00; ET1=1; TR1=1; O++; if(O==100) { O=0; TR1=0; ET1=0; TR2=1; ET2=1; }
}
void timer0() interrupt 1 //{ TR1=0; TR0=0; TH0=0X00; TL0=0X00; TR1=1; }
void timer2() interrupt 5 { TF2=0; EXF2=0; TR2=0;
31
计时
ET2=0;
xianshi(); //温度字母 readyread(); TL=readonechar(); TH=readonechar(); TZ=TH*16+TL/16; xianshiwen(TZ); delay(10); TR1=1; }
#include //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int #include #include
//数码管段选定义 0 1 2 3 4 5 6
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
7 8 9 //断码
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, //数码管位选定义
uchar code smg_we[]={0xe0,0xd0,0xb0,0x70};
uchar dis_smg[8] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}; uint code wendu_buchang1[46] = {
//温度补偿表格
// 0-9度 //10-19度 //20-29度 //30-39度
//40-45度
331,332,333,333,334,334,335,336,336,337, 337,338,339,339,340,341,341,342,342,343, 343,344,345,345,346,346,347,348,348,349, 349,350,351,351,352,352,353,354,354,355, 355,356,357,357,358,358 };
sbit smg_we1 = P3^4; sbit smg_we2 = P3^5; sbit smg_we3 = P3^6; sbit smg_we4 = P3^7;
32
ET1=1;
//无符号整型 宏定义 变量范围0~65535
//数码管位选定义
sbit dq = P2^4; //18b20 IO口的定义 uint temperature ; // sbit c_send = P3^2; sbit c_recive = P3^3;
//超声波发射 //超声波接收
sbit beep = P2^3; //蜂鸣器IO口定义 uchar smg_i = 3; //显示数码管的个位数 bit flag_300ms ;
long distance; //距离 uint set_d; //距离 uchar flag_csb_juli; //超声波超出量程
uint flag_time0; //用来保存定时器0的时候的 uchar menu_1; //菜单设计的变量
/***********************小延时函数*****************************/ void delay_uint(uint q) { while(q--); }
/**********************1ms延时函数****************************/ void delay_1ms(uint q) { uint i,j; for(i=0;i
/**********************处理距离函数***************************/ void smg_display() {
dis_smg[0] = smg_du[distance % 10]; dis_smg[1] = smg_du[distance / 10 % 10]; dis_smg[2] = smg_du[distance / 100 % 10] & 0x7f; }
/***************把数据保存到单片机内部eeprom中****************/ void write_eeprom()
33
{
SectorErase(0x2000);
byte_write(0x2000, set_d % 256); byte_write(0x, set_d / 256); byte_write(0x2058, a_a); }
/******************把数据从单片机内部eeprom中读出来*****************/ void read_eeprom() {
set_d = byte_read(0x2001); set_d
set_d |= byte_read(0x2000); a_a = byte_read(0x2058); }
/**************开机自检eeprom初始化*****************/ void init_eeprom() {
read_eeprom(); if(a_a != 1) { set_d = 50; a_a = 1; write_eeprom(); } }
/********************独立按键程序*****************/ uchar key_can; //按键值 void key() //独立按键程序 {
static uchar key_new;
key_can = 20; //按键值还原 P2 |= 0x07;
if((P2 & 0x07) != 0x07)
//按键按下
34
//先读
//新的单片机初始单片机内问eeprom
{
delay_1ms(1); //按键消抖动 if(((P2 & 0x07) != 0x07) && (key_new == 1)) {
//确认是按键按下
key_new = 0; switch(P2 & 0x07) {
case 0x06: key_can = 3; break; case 0x05: key_can = 2; break; case 0x03: key_can = 1; break; } } } else key_new = 1; }
/*******************数码管的位选******************/ void smg_we_switch(uchar i) { switch(i) {
case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break; case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break; case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break; case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break; } }
/***********************数码显示函数***************************/ void display() {
static uchar i; i++; if(i >= smg_i)
35
//得到k2键值 //得到k3键值 //得到k4键值
i = 0;
smg_we_switch(i); P1 = dis_smg[i]; }
/***********************18b20初始化函数************************/ void init_18b20() { bit q; dq = 1; dq = 0; dq = 1; q = dq; dq = 1; }
/*******************写18b20内的数据*********************/ void write_18b20(uchar dat) { uchar i; for(i=0;i
//写数据是低位开始
dq = 0;
//把总线拿低写时间隙开始
//把总线拿高 //给复位脉冲 //750us
//把总线拿高 等待 //110us
//读取18b20初始化信号 //200us
//把总线拿高 释放总线
delay_uint(1); //15us delay_uint(80); delay_uint(10); delay_uint(20);
//位选 //段选
dq = dat & 0x01; //向18b20总线写数据了 delay_uint(5); // 60us dq = 1; dat >>= 1; } }
/*******************读取18b20内的数据*********************/ uchar read_18b20()
36
//释放总线
{
uchar i,value; for(i=0;i
//把总线拿低读时间隙开始 //读数据是低位开始 //释放总线 //开始读写数据
value >>= 1; if(dq == 1) value |= 0x80;
delay_uint(5); //60us 读一个时间隙最少要保持60us的时间 }
return value; }
/******************读取温度的值、读出来的是小数***************/ uint read_temp() { uint value; uchar low; init_18b20();
//在读取温度的时候如果中断的太频繁了,就应该把中断给关 //初始化18b20
了,否则会影响到18b20的时序
write_18b20(0xcc); //跳过64位ROM write_18b20(0x44); //启动一次温度转换命令 delay_uint(50); init_18b20();
//500us //初始化18b20
//返回数据
write_18b20(0xcc); //跳过64位ROM write_18b20(0xbe); //发出读取暂存器命令 EA = 0;
low = read_18b20(); //读温度低字节 value = read_18b20(); //读温度高字节 EA = 1; value
//把温度的高位左移8位
//把读出的温度低位放到value的低八位中 //转换到温度值
37
value *= 0.0625;
return value; }
//返回读出的温度
/*********************小延时函数********************/ void delay() {
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); }
/*********************超声波测距程序************************/ void send_wave() {
c_send = 1; delay(); c_send = 0; TH0 = 0; TL0 = 0; TR0 = 0; TR0=1; while(c_recive) {
flag_time0 = TH0 * 256 + TL0;
if((flag_time0 >40000)) //当超声波超过测量范围时,显示3个888 {
38 //执行一条_nop_()指令就是1us
//10us的高电平触发
//给定时器0清零
//关定时器0定时 //当c_recive为零时等待
while(!c_recive);
//当c_recive为1计数并等待
TR0 = 0; flag_csb_juli = 2; distance = 888; break ; } else {
flag_csb_juli = 1; } }
if(flag_csb_juli == 1) { TR0=0; //
//关定时器0定时 //读出定时器0的时间
distance =flag_time0; 0.017M 算出来是米
if(temperature
distance *= wendu_buchang1[temperature] / 2.0 * 0.0001; // 0.017 = 340M / 2 = 170M = 0.017M 算出来是米
else
distance *= 358 / 2.0 * 0.0001; // 0.017 = 340M / 2 = 170M = 0.017M 算出来是米
if((distance >500)) {
distance = 888; } } }
/*********************定时器0、定时器1初始化******************/ void time_init() {
EA = 1;
//开总中断
TMOD = 0X11; //定时器0、定时器1工作方式1
39
distance *= 340 / 2 * 0.0001; // 0.017 = 340M / 2 = 170M =
//距离 = 速度 * 时间
//如果大于3.8m就超出超声波的量程
ET0 = 1; TR0 = 1; ET1 = 1; TR1 = 1; }
//开定时器0中断 //允许定时器0定时 //开定时器1中断 //允许定时器1定时 1
/****************按键处理数码管显示函数***************/ void key_with() {
if(key_can == 1) //设置键
{
menu_1 ++; if(menu_1 >= 3) {
menu_1 = 0; smg_i = 3; //只显示3位数码管 }
if(menu_1 == 1) {
smg_i = 4; //只显示4位数码管 } }
if(menu_1 == 1) //设置报警
{
if(key_can == 2) {
set_d ++ ; //加1
if(set_d >400) set_d = 400; }
if(key_can == 3) { set_d -- ;
//减1
if(set_d
40
set_d = 1; }
dis_smg[0] = smg_du[set_d % 10];
//取小数显示
dis_smg[1] = smg_du[set_d / 10 % 10] ; //取个位显示 dis_smg[2] = smg_du[set_d / 100 % 10] & 0x7f ; //取十位显示 dis_smg[3] = 0x88; //a write_eeprom(); } }
/****************报警函数***************/ void clock_h_l() {
static uchar value; if(distance
value ++; //消除实际距离在设定距离左右变化时的干扰 if(value >= 2) {
beep = ~beep; //蜂鸣器报警 } } else {
value = 0; beep = 1; } }
/****************主函数***************/ void main() { beep = 0;
//开机叫一声
delay_1ms(150); P0 = P1 = P2 = P3 = 0xff;
41 //保存数据
//取消报警
send_wave(); //测距离函数
smg_display(); //处理距离显示函数 time_init(); //定时器初始化程序 init_eeprom(); //开始初始化保存的数据 send_wave(); send_wave(); while(1) {
if(flag_300ms == 1) {
flag_300ms = 0;
temperature = read_temp(); //先读出温度的值 clock_h_l(); //报警函数 send_wave();
//测距离函数
if(menu_1 == 0)
smg_display(); //处理距离显示函数 if(menu_1 == 2) {
dis_smg[0] = 0xff;
dis_smg[1] = smg_du[temperature % 10]; //取温度的个位显示 dis_smg[2] = smg_du[temperature / 10 % 10] ; //取温度的十位显示 dis_smg[3] = 0xff; } } key(); {
key_with(); } } }
/********************定时器1中断服务程序********************/ void time1_int() interrupt 3
42 //测距离函数 //测距离函数
//显示温度
//按键函数
if(key_can
//按键处理函数
{
static uchar value;
//定时2ms中断一次
TH1 = 0xf8;
TL1 = 0x30; //2ms display(); //数码管显示函数
value++; if(value >= 150) { value = 0; flag_300ms = 1; } }
43
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作 者 签 名: 日 期: 指导教师签名: 日 期:
使用授权说明
本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日 期:
44
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期: 年 月 日
45
导师签名: 日期: 年 月 日
46
基于单片机的交通灯控制系统设计与实现
以AT89S51单片机为核心器件,设计了多功能交通灯控制系统.软件仿真和硬件实现的结果表明该系统具有红绿灯显示功能、时间倒计时显示功能、左转提示和紧急情况发生时手动控制等功能.
作 者:王冬梅 张建秋 路敬t WANG Dong-Mei ZHANG Jian-Qiu LU Jing-Yi 作者单位:大庆石油学院电气信息工程学院,黑龙江大庆,163318 刊 名:佳木斯大学学报(自然科学版) 英文刊名:JOURNAL OF JIAMUSI UNIVERSITY(NATURAL SCIENCE EDITION) 年,卷(期): 27(1) 分类号:U491.5+1 关键词:单片机 交通灯 数码管基于单片机控制的数字气压计设计与实现
摘要:介绍了一种精密数字气压计的软硬件实现方法。该方法通过气压传感器获得与大气压相对应的模拟电压值,并经过V/F变换输入到单片机进行处理,从而实时显示相应的气压值。用本文所述的方法制成的气压计携带方便,操作简单,精确度高,完全符合设计要求。关键词:气压计;气压传感器;V/F转换器;单片机
1引言
气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。
气象学研究表明,在垂直方向上气压随高度增加而降低。例如在低层,每上升100m?气压便降低10hPa;在5~6km的高空,高度每增加100m,气压便会降低7hPa;而当高度进一步增加时,即到9~10km的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱底部的气压就会减小。一般把作用于单位面积上空气柱的重量称为大气压力。
2气压计的结构
本文研究的气压计结构如图1所示。其中气压传感器用来将被测气压转换为电压信号;用V/F转换器则可把气压传感器输出的电压信号转换成具有一定频率的脉冲信号;以便用单片机接收该脉冲信号,并根据单位时间内得到的脉冲数,依据电压与频率的线性关系式计算出所对应的气压值,最后在单片机控制下由LED显示出来。
本气压计能够在气压传感器的线性范围内准确测量相应气压值。需要说明的是,其测量值是绝对气压值。本文研究的气压计的技术指标如下:
●测量范围:300hPa~1050hPa;
●测量精度:0.1%FS(20℃);
●显示精度:0.1%,由4个8段LED显示实现;
●工作温度范围:0~85℃;
●电源电压:9V。
3系统实现
在系统构建过程中,需要考虑稳定性、复杂程度、造价和调试的难易程度等因素。图1所示框图中的每一部分就是一个单元电路,可完成各自的功能。模块之间没有复杂的信号传输,且干扰很少,因而系统整体比较稳定。
3.1气压传感器
气压传感器在气压计中占据核心位置。设计时可根据测量精度、测量范围、温度补偿、测量绝对气压值等几个性能指标来选取气压传感器。
由于该气压计显示的是绝对气压值,因而需要选取测量绝对气压值的气压传感器。同时为了简化电路,提高稳定性和抗干扰能力,要求该气压传感器应带有温度补偿。
为此,笔者选用Motorola的MAX4100A气压传感器来测量绝对气压值。该传感器的温度补偿范围为-40~+125℃;压力范围为20kPa~1050kPa;输出电压信号(Vs=5.0V)范围为0.3~4.65V;测量精度为0.1%VFSS,同时在20kPa~1050kPa时具有良好的线性,具体输出关系如下:
Vout=Vs(0.01059P-0.1528)±Error
式中,Vs是工作电压,P是大气压值,Vout为输出电压。
3.2V/F变换
V/F器件的作用是将输入电压的幅值转换成频率与输入电压幅值成正比的脉冲串。虽然V/F本身还不能算做量化器,但加上定时器与计数器以后也可以实现A/D转换。它的突出特点就是把模拟电压转换成抗干扰能力强,可远距离传送并能直接输入计算机的脉冲串,从而通过测量V/F的输出频率来实现A/D转换功能。
考虑到外围电路实现的难易程度和相应的性能指标,笔者选用了LM331电压/频率转换芯片。该器件使用了温度补偿能隙基准电路,因而具有极佳的温度稳定性,最大温漂为50ppm/℃,同时该器件的脉冲输出可与任何逻辑形式兼容;LM331可单、双电源供电,电压范围为5~40V;满量程范围1Hz~100kHz;最大非线性误差为0.01%。图2所示是该系统中LM331的外围电路。在该电路中,基于LM331的压频转换关系为:
fo=KVi
其中,K=Rs/(2.09RtCtRL)?,Rs=Rs1+Rs2
实际上,电路中的Rs主要用于调节电路的转换增益?Rt,Ct,RL的典型值分别为6.8kΩ、0.01pF和100kΩ,K值则可由设计者自己决定。该设计中,取K=2000,Rs=28.424kΩ?主要是考虑到单片机部分使用测频率法来测fo能够保证频率信号的测量精度。由于Rs、RL、Rt和电容Ct会直接影响fo的转换结果。因此,对这些元件的参数有一定的要求,设计时应根据转换精度适当选择。电容CL对转换结果虽然没有直接影响,但是应选择漏电流小的电容器。用电阻R1,电容C1组成低通滤波器,可减少输入电压中的干扰脉冲,提高转换精度。
图3
3.3单片机
本气压计实现方案需使用单片机的P1口和P3口的一部分以及一个中断源、一个定时器和一个计数器。因此,笔者选用了ATMEL的AT89C2051单片机,该器件与89C51兼容,具有2kB的可重复编程闪存,2.7V~6V的工作电压范围,128Byte的内部RAM以及两个I/O口(P1,P3)、2个16位的计数器/定时器和6个中断源,并可直接驱动LED输出,同时带有可编程的串行通讯口。另外,该单片机还具有体积小,价格低等特点。
3.4LED显示
单个LED是由7段发光二极管构成的显示单元。有10个引脚,对应于7个段、一个小数点和两个公共端。在显示电路中,这些发光二极管有两种接法:共阳极接法和共阴极接法。本设计中需要用4个LED组成显示单元,并采用动态显示方式。由于使用4个单个LED进行显示的'连线比较复杂,同时单片机的端口驱动能力也难以保证,而需要加入专门的驱动芯片。所以,笔者采用了4个LED连体的、内部已将其相应段接好的共阳极LED,它具有12个引脚,含7个段和4个公共端,为提高数码管的亮度,可在位选线上加入一个三极管驱动电路。
由AT89C2051控制的显示电路如图3所示。该显示电路需要选取合适的电阻R和Ra,才能保证LED的亮度,过大或者过小都无法让LED正常显示。设计时取R为4.7kΩ?Ra为510Ω比较理想。若考虑印制板布线的方便,可以采用贴片电阻和排阻来节省空间。另外,也可以用74LS244和74LS06构成驱动显示电路,但这样同样要加限流电阻。因为74LS06是开漏器件,需要在输出处加上拉电阻。
4软件实现
通过以上设计,便可通过fo来计算P的大小以得到实时的气压值。硬件电路设计完成之后,可使用AEDK5196PH仿真器的仿真环境进行仿真,并可用C51语言来编写处理程序。其基本程序流程如图4所示。
程序设定:T0为定时器,基本的定时时基为50ms。T1为计数器,运用内部中断0可保证T0定时满500ms后就读取此时计数器的值,以计算气压值。如使T1、T0均工作于方式1,并在P1口送字型码,同时可用P3.0~P3.3做位选线,那么,其相应的函数如下:
(1)定时器T0中断函数:
voidtimer0(void)interrupt1using1
{uintx,y;
uintcount_pluse;
ET0=0;//关闭T/C0中断
Tcount++;//中断次数
if?Tcount==10){
TR1=0;//停止计数器计数
Tcount=0;
x=TH1;
y=TL1;
count_pulse=(x*256+y)*2;
ph=(uint)(10*((float)(countpulse+1520)/105.9???//计算气压值
TH1=0x00;//重设计数初值
TL1=0x00;
}
TH0=-50000/256;//重设50ms初值
TL0=-50000%256;
if(TL0!=0)TH0--;
ET0=1;
TR1=1;
return;
}
该中断函数主要用于完成脉冲的读取和气压值的计算。ph是个全局变量,可用来保存气压值。
(2)在显示函数里,将气压值先按位进行分离并保存到数组,然后送段码和相应位选就可以显示出相应的气压值了。具体程序如下:
voiddisplay(uintph_in)
{uchari=0;
ucharj=0;
ucharselect_bit=0;//位选
do{
cur_buf[i]=ph_in%10;
i++;
j=i;
}while(ph_in=ph_in/10);?//当高位为零时?结束循环
i=0;
select_bit=0xfe;
do
{P1=tab[*p];
P3=select_bit;
dl_ms;?
select_bit=(selectbit》1)+1;
//从最右边一位开始显示,循环左移
p++;
i++;
}while(i<j);
p=cur_buf;//指针归位
return;}
这样,在主程序中,只要在程序第一次运行时进行初始化,然后再循环调用显示函数即可实现实时显示功能。
5结束语
笔者曾用纯硬件电路设计过气压计。实践表明,由于受温度的影响及硬件参数的限制,实时显示时稳定性较差,并且精确度不高。而改用V/F变换信号及编程的方法实现该测量则完全克服了上述缺点。结果表明:该方法具有精度高、稳定性好、功能易于扩展等优点,可为仪器及电子产品设计提供一种新的思路。
基于μPD78F0034单片机的出租车计费器的设计与实现
摘要:介绍了基于μPD78F0034单片机和模块式结构的出租车计费器的硬件和软件设计方法,讨论了μPD78F0034单片机的主要特点;介绍了该单片机和PC机串行通信的硬件连接方法;同时给出了采用单、双信号防作弊技术来防止计费器作弊的具体实现方法。关键词:出租车计费器;μPD78F0034;串行通信;防作弊技术
随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印 、IC卡付费、语音报话、和电脑串行通信等功能。通常,设计出租车计费器面临以下三方面的问题:
(1)不同国家和地区的计费方式存在差异。有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费;即使同一地区,不同车型的出租车,其计费方式也有差别;另一方面,出租车还面临几年一次的调价或调整计费方式等问题。因此,所设计的计费器不仅要能满足不同国家和地区的要求,而且计费方式的调整也应当很方便。(本网网收集整理)
(2)由于个别地区对计费器有特殊要求,有时必须修改软件;另外,计费器还面临软件的升级;因而,所设计的计费器应能很方便地重新编程。
(3)计费器必须要有防作弊功能,能有效防止司机作弊;同时要防止计费器在营运过程中死机。
为此,笔者设计了一款计费器,较好地解决了上述问题。该计费器内设置了多达64个选项,几乎涵盖了大多数国家和地区的出租车计费方式,因此,使用时无需更改计费器的硬件,而只需更改相应的选项资料,便可适用于不同的国家和地区,且计费资料的传送可由电脑通过RS-232串口或专用的手持式资料传输器来完成,非常方便;由于采用了具有32kB FLASH ROM的单片机μPD78F0034,因此,编程时无需将单片机从电路板上取下,就可以直接对单片机进行编程;另外,该设计还采用单、双信号防作弊技术和看门狗电路,较好地解决了计费器的作弊现象及死机问题。目前,该计费器已在许多大中城市得到了广泛的应用。
1 系统中各模块的硬件结构
这种用μPD78F0034为主控器件设计的计费器的组成框图如图1所示。整个计费器系统共由五个模块组成,分别为主控模块、按键显示模块、防作弊及脉冲输入模块、通信模块和电源模块。
1.1 主控模块
主控模块的结构框图如图2所示,图中的单片机为日本NEC 公司的μPD78F0034,该芯片的主要特点如下:
●时钟为8.38MHz时,指令周期为0.24μs;
●ROM为32kB FLASH,RAM为1024 bytes;
●可寻址空间为64kB bytes,有5个外部中断和15个内部中断;
●带有39个CMOS I/O,8个CMOS输入和4个N-CH漏极开路I/O;
●带有1个16位定时/计数器和2个8位定时/计数器;
●带有1个时钟定时器、1个看门狗定时器和1个UART端口;
●支持I2C 总线,可输出时钟及蜂鸣信号;
●外部数据总线为8位,内部寄存器为16位;
●有8位无符号乘法指令和16位除法指令;
●工作电压范围为1.8V~5.5V,具有STOP/HALT工作模式。
由此可见,该芯片的性能要优于目前流行的MCS-51系列,其8位无符号乘法指令及16位除法指令给软件编程带来了很大的方便。对μPD78F0034编程时,只需用其5个引脚,其中3个引脚在正常工作时用到,因此在设计电路板时可将这三个引脚做一跳线开关;编程时,将这三个引脚与编程器相连,正常工作时则与电路板上的元件相连。这样就可以不用将μPD78F0034从电路板上取下(因该单片机为贴片式封装,取下会很麻烦)而直接对其编程,即在系统可编程,该方法为开发调试及以后的功能修改和软件升级提供了极大的方便。本次开发时,甚至没有用到μPD78F0034的开发系统,而是在PC机上将程序写好后,通过编译变成二进制代码,然后直接通过编程器将其写入到μPD78F0034中,便可调试计费器的各项功能。此外?该主控模块中的复位、看门狗及电源监控由MAX705芯片来完成。时钟及存储器由芯片DS1244Y来完成。通过选项可以设定是否有打印功能,各种打印命令数据均由PC机通过RS-232串行口或手持式资料传输器传给计费器并存储在DS1244Y
中。该计费器可使用司机卡、采集卡及收费卡三种IC卡,使用哪种卡均可由选项控制。计费器通过一条I/O线控制语音接口电路。乘客上车时,单片机送50ms的低脉冲给语音电路使其说一段话。乘客下车时,单片机则用20ms的低脉冲使语音电路说另一段话。
1.2 通信模块
图3所示为通信模块组成图,它主要由单片机的两个I/O口、MAX232和一些电阻电容等组成。图中电阻均为10kΩ,电容均为10μF;单片机的P30为串行数据接收脚、P31为串行数据发送脚,通信的波特率设为9600。图中,MAX232芯片的作用是将单片机输出的TTL电平转换成PC机能接收的232电平或将PC机输出的232电平转换成单片机能接收的TTL电平。计费器通过通信模块与PC机或手持式资料传数器进行串行通信,以便设置计费器的`各种参数及采集计费器里存储的各种数据。
1.3 按键及显示模块
按键及显示模块如图4所示,该模块由4片4511、1片4028、1片2003、20个数码管及一些发光二极管(作为计程、计时收费指示灯)组成。计费器有6个功能键,而实际上对外只有四个按键,分别设为A、B、C、D键。空车状态按下C键,计费器进入载客模块;空车状态按下B键,计费器进入通信模块;空车状态按下A键,计费器进入查询模块,然后按A键往上查询、按D键往下查询。另两个功能按键放在计费器内,用跳线J1、J2表示。在空车状态,J1短路时,计费器清除存储的所有数据;当计费器复位时,如J2短路,计费器直接进入资料传输模块(此功能主要为了防止计费器内资料紊乱或新计费器没有资料时进入死循环)。
1.4 防作弊及脉冲输入模块
防作弊及脉冲输入模块如图5所示。为了提高计费器的抗干扰能力,脉冲输入信号采用了光耦方式。出租车的脉冲传感器通常有两种,即单信号脉冲传感器和双信号脉冲传感器;所谓单信号脉冲传感器指的是出租车开动时,只有一条信号线输出脉冲信号;而双信号脉冲传感器指的是出租车开动时,有两条信号线同时输出幅度相同、相位相反的脉冲信号。与此对应,防作弊方式有单信号防作弊和双信号防作弊两种。究竟选哪种,可由计费器内的选项及硬件跳线来决定。
a 单信号防作弊的工作原理
如图5所示,当计费器通过选项选定单信号防作弊方式后,跳线开关B与A相连、B与C断开,单片机通过P35使开关与K点相连。当有脉冲输入时,INT0产生一中断,单片机执行中断子程序;然后通过P35使开关与K点断开,即断开脉冲传感器的电源,此时检测P36的电平,如为低,则为正常,为高则为作弊脉冲。当作弊脉冲累积到一定数量(此数值由计费器的参数设定)后,计费器便认定有作弊发生,于是报警,同时产生一系列动作如车资、计程公里和计程时间全部清零或者锁死计费器等,究竟产生何种动作,可由选项来决定。
b 双信号防作弊的工作原理
当计费器选定双信号防作弊后,跳线开关B与C接通、B与A断开。当有脉冲输入时,INT0产生一中断,单片机执行中断子程序,此时单片机须判别P36脚输入的信号是否为低电平,为低则正常,否则为作弊脉冲。其余与单信号防作弊时一样。
1.5 电源模块
该模块为一开关电源,用于将输入的12V直流电源变为稳定的5V电源。由于12V电源由出租车上的电瓶提供,有一定的分散性,尤其当电瓶质量不好时,12V电源较低。而开关电源的适用范围较广,且驱动能力较强,因此,使用开关电源可有效防止因输入电压过低而产生的各种故障。
2 软件设计
该计费器的软件设计主要由两部分组成,一是单片机的软件设计,二是PC机的软件设计。由于二者均采用模块化设计方法,因此,该程序结构清晰,便于今后修改及升级。鉴于篇幅的限制,下面只介绍这两部分的设计流程。
2.1 单片机的软件设计
单片机的软件设计流程如图6所示。其中初始化模块由硬件初始化和软件初始化两部分组成,硬件初始化主要是对单片机及其它相关芯片进行初始化;而软件初始化主要是对各种软件标志进行初始化,同时将断电前保存的各种状态数据读入单片机的RAM中;然后根据选项决定是否要识别司机卡、以及是直接回到空车状态还是回到断电前计费器所处的载客状态(如复位选项为0,则计费器复位后直接回到空车状态;而在为1时,如断电前计费器处于载客状态,则复位后回到载客状态,如断电前计费器处于非载客状态,则复位后直接回到空车状态)。图中的每个模块均由许多子模块组成,如载客模块应包含计程计费、计时计费、打印车票、暂停、客次数据写入RAM中等子模块;而查询则包括查询当天累计数据、总累积数据及客次记录等子模块。每个模块均可通过按键回到空车模块(图中未画出)。
2.2 PC机的软件设计
由于VB6.0有串行通讯MSComm(电话盒)控件来为应用程序提供串行通信,且具有良好的用户界面及简单方便的串行通信功能,因此,无须借用其它语言就可以开发出优秀的通信软件。PC机软件主要由以下几个模块组成:计费资料修改及传输、打印命令数据修改及传输、选项数据修改及传输、采集当天累积、
采集总累积和采集客次记录等(由于篇幅的限制,这里没有给出程序流程图)。由于软件中设置了下拉式菜单及各种控制按钮,因此,直接用鼠标点击控制按钮或下拉式菜单即可完成相应的操作(当然,也可通过按下快捷键来实现)。计费资料、打印命令数据及选项数据均各自存于一文本文件中;此外,该软件还设置了各种口令,可防止无关人员非法修改数据。
3 设计时应注意的问题
该计费器的选项多达64个,功能齐全,能适应不同地区的需要,但软件编程及调试也比较复杂,需要特别小心。为了使计费器能够稳定、可靠地工作,进行软、硬件设计时要注意以下几点:
(1)为了防止计费器死机,软件编程时应采用指令冗余技术、软件陷阱技术以及软件看门狗技术。有兴趣者可查阅参考文献。
(2)由于司机卡、采集卡、收费卡共用一个IC卡接口,因此,主控模块要注意区分卡的类型,应按照IC卡的有关控制命令正确编程。
(3)尽量不用IC插座。由于IC插座有较大的分布电容,因此,应把IC直接焊在印刷电路板上。每个IC应加一个去耦电容,去耦电容在印刷电路板上的引脚要尽量短。另外,石英晶体的外壳也要接地。
(4)由于计费器采用开关电源,因此,设计时第一要在开关管的C、E极间加RC吸收电路。并在二次整流回路的整流二极管两端加RC吸收电路以抑制浪涌电压。第二要加厚开关管与散热片之间绝缘垫片的厚度,以减少开关管与散热片之间的耦合电容。第三要使用电源滤波器。因为在电源的输入端加入滤波器可以抑制输入端的瞬态干扰;直流电源的输出端也要接入电容滤波器,以将输出电压的纹波限制在一定范围内,同时抑制数字信号产生的脉冲干扰。第四还应采用屏蔽措施来进一步减少开关电源的干扰。
4 结束语
本计费器的设计由于采用了功能很强的单片机μPD78F0034、电源监控和看门狗芯片MAX705及单、双信号防作弊技术,因而基本上杜绝了出租车在营运过程中计费器的死机现象及作弊现象。从使用情况看,该计费器稳定性好、可靠性高、返修率很低。另外,由于采用了模块式结构和在系统可编程方法,因此,其软件的修改和升级也非常方便。
基于单片机控制的数字气压计设计与实现
摘要:介绍了一种精密数字气压计的软硬件实现方法。该方法通过气压传感器获得与大气压相对应的模拟电压值,并经过V/F变换输入到单片机进行处理,从而实时显示相应的气压值。用本文所述的方法制成的气压计携带方便,操作简单,精确度高,完全符合设计要求。关键词:气压计;气压传感器;V/F转换器; 单片机
1 引言
气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的'气压变化来获取气压值的。
气象学研究表明,在垂直方向上气压随高度增加而降低。例如在低层,每上升100m?气压便降低10hPa;在5~6km的高空,高度每增加100m,气压便会降低7hPa;而当高度进一步增加时,即到9~10km的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱底部的气压就会减小。一般把作用于单位面积上空气柱的重量称为大气压力。
2 气压计的结构
本文研究的气压计结构如图1所示。其中气压传感器用来将被测气压转换为电压信号;用V/F转换器则可把气压传感器输出的电压信号转换成具有一定频率的脉冲信号;以便用单片机接收该脉冲信号,并根据单位时间内得到的脉冲数,依据电压与频率的线性关系式计算出所对应的气压值,最后在单片机控制下由LED显示出来。
本气压计能够在气压传感器的线性范围内准确测量相应气压值。需要说明的是,其测量值是绝对气压值。本文研究的气压计的技术指标如下:
●测量范围:300hPa~1050hPa;
●测量精度:0.1%FS(20℃);
●显示精度:0.1%,由4个8段LED显示实现;
●工作温度范围:0~85℃;
●电源电压:9V。
3 系统实现
在系统构建过程中,需要考虑稳定性、复杂程度、造价和调试的难易程度等因素。图1所示框图中的每一部分就是一个单元电路,可完成各自的功能。模块之间没有复杂的信号传输,且干扰很少,因而系统整体比较稳定。
3.1 气压传感器
气压传感器在气压计中占据核心位置。设计时可根据测量精度、测量范围、温度补偿、测量绝对气压值等几个
[1] [2] [3] [4] [5]
基于μPD78F0034单片机的出租车计费器的设计与实现
摘要:介绍了基于μPD78F0034单片机和模块式结构的出租车计费器的硬件和软件设计方法,讨论了μPD78F0034单片机的主要特点;介绍了该单片机和PC机串行通信的硬件连接方法;同时给出了采用单、双信号防作弊技术来防止计费器作弊的具体实现方法。关键词:出租车计费器;μPD78F0034;串行通信;防作弊技术
随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印 、IC卡付费、语音报话、和电脑串行通信等功能。通常,设计出租车计费器面临以下三方面的问题:
(1)不同国家和地区的计费方式存在差异。有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费;即使同一地区,不同车型的出租车,其计费方式也有差别;另一方面,出租车还面临几年一次的调价或调整计费方式等问题。因此,所设计的计费器不仅要能满足不同国家和地区的要求,而且计费方式的调整也应当很方便。
(2)由于个别地区对计费器有特殊要求,有时必须修改软件;另外,计费器还面临软件的升级;因而,所设计的计费器应能很方便地重新编程。
(3)计费器必须要有防作弊功能,能有效防止司机作弊;同时要防止计费器在营运过程中死机。
为此,笔者设计了一款计费器,较好地解决了上述问题。该计费器内设置了多达64个选项,几乎涵盖了大多数国家和地区的出租车计费方式,因此,使用时无需更改计费器的硬件,而只需更改相应的选项资料,便可适用于不同的国家和地区,且计费资料的传送可由电脑通过RS-232串口或专用的手持式资料传输器来完成,非常方便;由于采用了具有32kB FLASH ROM的.单片机μPD78F0034,因此,编程时无需将单片机从电路板上取下,就可以直接对单片机进行编程;另外,该设计还采用单、双信号防作弊技术和看门狗电路,较好地解决了计费器的作弊现象及死机问题。目前,该计费器已在许多大中城市得到了广泛的应用。
1 系统中各模块的硬件结构
这种用μPD78F0034为主控器件设计的计费器的组成框图如图1所示。整个计费器系统共由五个模块组成,分别为主控模块、按键显示模块、防作弊及脉冲输入模块、通信模块和电源模块。
1.1 主控模块
主控模块的结构框图如图2所示,图中的单片机为日本NEC 公司的μPD78F0034,该芯片的主要特点如下:
●时钟为8.38MHz时,指令周期为0.24μs;
●ROM为32kB FLASH,RAM为1024 bytes;
●可寻址空间为64kB bytes,有5个外部中断和15个内部中断;
●带有39个CMOS I/O,8个CMOS输入和4个N-CH漏极开路I/O;
●带有1个16位
[1] [2] [3] [4]
旅游网站的设计与实现毕业论文
我国旅游务网站从开始出现,目前,具有一定旅游资讯能力的网站已有5000多家。其中专业旅游网站300余家,主要包括地区性网站,专业网站和门户网站的旅游频道三大类。我国现在的旅游网站良莠不齐,比较有实力的品牌网站数量不多。大多数旅游网站还仅仅局限于在网上做一些旅游产品的广告宣传介绍或是客房票务预订,商务电子化程度太低,技术创新力度不够,还不能全面涵盖游客日益增长的对吃、住、游、行等各方面的基本需求,更无法为游客提供个性化要求的旅游产品。旅游网站要扩大自身的影响力,打出自己的品牌必须要兴建起个性化自助服务的商务网站平台及覆盖面广、信息量大、可提供专业便利的全程个性服务,这才是旅游网站得以长期生存发展的根本所在。同时旅游网站的安全性和旅游网站针对搜索引擎的优化也是优秀旅游网站不可缺少的部分。本网站主要是以世界知名旅游胜地神农架,为主题背景来开发模拟设计。
1 网站可行性研究
软件开发中可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。若问题无法解决,则花费在系统开发上的时间、人力、软硬件资源就会成为浪费。因此,在对旅游网站进行开发之前,首先需要从以下几个方面对其可行性进行研究。
1.1技术的可行性
本旅游网站系统的开发主要包括后台数据库的建立和维护以及前台页面的浏览开发两个方面。对于前者要求建立数据一致性和完整性强,数据安全性好的数据库;而对于后者则要求应用程序功能完备、易使用等特点。基于这两点,系统可采用B/S结构的开发模式,服务器端使用功能强大的数据库软件Microsoft SQL Server 实现数据的存储和维护;客户端使用跨平台网络开发语言ASP.NET实现应用程序的设计。Microsoft Visual studio也给编程人员提供了得心应手的集成开发环境。ASP.NET拥有C#开发语言的强大功能,足以实现应用程序所需要实现的功能,还可以结合HTML语言的使用来实现系统操作的便利性。于是,该系统在技术上是可行的。
1.2经济可行性
本系统使用的基本开发工具为Microsoft Visual studio2005(开发平台), Microsoft SQL Server 2000(数据库软件),IIS (Internet信息服务器),Dreamwerver8和Photoshop7.0都是网络提供的免费软件。系统投入使用后,只需网站管理员通过浏览器浏览系统页面
进行相应操作:对网站信息和数据做更新、修改、删除就可完成对网站的.系统维护和管理。对网站进行相应的推广和宣传,提高网站的知名度,使更多的人在互联网上更容易的通过搜索引擎搜索到旅游网站,游客就可以通过网上直接找到网站所属的旅行社,这样将会为旅行社带来立竿见影的效果,能大大的提升旅行社的业务量,使旅行社获得丰厚的利润。收益将远远大于投资。
1.3操作的可行性
网站管理员对系统进行的操作都是通过浏览器进入网站后台系统,在可视化的界面下对网站内容进行使用和操作。由于网站系统对信息的流向和出错都进行了人性化的处理。只要具有普通上网能力的人都可以对网站后台系统进行使用和操作。就操作性方面系统是可行的。
2需求分析
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,即仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。下面分七个小节来对该前台点菜系统在各方面的需求进行分析。
2.1 网站系统运行环境
本旅游网站系统按照标准的800×600分辨率建设运行;本旅游网站的运行必须在安装了IIS (Internet信息服务器)、Micosoft.NET Framework2.0、Microsoft SQL Server 2000数据库等软件的计算机上。系统的开发使用了Microsoft Visual studio2005(开发平台), Microsoft SQL Server 2000(数据库软件),IIS (Internet信息服务器),Dreamwerver8和Photoshop7.0等软件。
2.2 网站系统现状与实现目标
本旅游网站系统是在神农架旅游人数日益增多的情况下应运而生,它是一个关于现代人对旅游要求的提高和信息方便快捷日益加速而提出的一套应于网络的旅游网站系统。
旅游是神农架立区之本。自开发旅游以来,已打下了相当好的基础,旅游业的支柱地位已初见端倪。可是神农架区全民办旅游的气氛还不浓,合力还不够,思想观念还没有完全统一,许多政策和管理措施还不到位,旅游规划不严格,旅游资金投入不足,旅
游企业体制不完善等弊端的存在使的坚持大旅游、高起点、优布局、功能全、可持续的原则很难实现。于是制订出神农架林区旅游产业的总体规划,把神农架规划建设成为独具湘西风格和旅游城市特色的湘鄂渝的交通枢纽和旅游中心,争取城市人口规模达50万左右,年接待国内外旅游者突破1000万人次。电子商务旅游在这种情况下被提了出来,它能满足不同游客的不同要求,使的他们在查询和预定旅游线路、酒店预定、选择接待旅行社等方面能方便、及时、快捷和有效。
旅游网站不仅适合小型的旅行社,对于大中型的旅行社一样适宜。本网站系统通过旅客与我们网站的联系人员联系,能很快的得到需要的服务。该系统为游客提供了经典的旅游线路和报价,酒店价格、条件,航班消息,车次信息和旅游天气查询等.通过使用网页的自动刷新功能,自动检测浏览客户的最新消息,以实现后台数据的自动刷新和实时互动这两个功能;通过神农架各旅游网站实际考核,获取它们好的布局结构,结合自己的个性特点,创建一个别具风格的个性界面。
本旅游网站以旅游新闻发布、旅游线路发布、景区图片和游客留言等功能为核心,其宗旨是及时、准确、完整发布游客所需要的相关信息,同时给游客带来方便和给公司创造利益。它的主要功能如下:
一、旅游线路信息发布以及预定功能:顾客可通网站查看相应的旅游线路信息和预定旅游线路功能,管理员可以在后台对旅游线路进行发布、更新,对于线路预定可以进行相应的处理。
二、酒店查询、预订功能:顾客可以通过网站查询神农架酒店情况,同时还可以对合适的酒店进行预订。
三、旅游景点介绍功能:顾客在网站可以查看神农架主要旅游景区和景点介绍信息,管理员可以在后台对旅游景点信息进行更新、修改和删除。
四、旅游新闻发布功能:顾客可以通过旅游网站查看神农架最新的旅游资讯和旅游动态,网站管理员可以在后台发布、更新和删除旅游新闻。
五、旅游风景图片发布功能:游客可以通过网站查看神农架最新的风光图片,可以点击小图看大图,图片按照相应的旅游景点分类,管理员可以上传和修改、删除图片信息。六、旅游服务指南和旅游问答发布功能:游客可以通过网站查看一些神农架旅游的注意事项和在神农架旅游经常遇到的一些问题,管理员在后台可以对信息进行更新和修改、删除功能。
七、机票和自驾车旅游路径查询功能:游客可以通过网站,查询相应出发地到目的地的机票航班和自驾车路径。
八、游客留言板功能:游客可以通过留言板给管理员留言,管理员可以通过登录对留言进行管理和回复。
九、旅游会议信息发布功能:游客可以查看神农架旅游会议信息和旅游会议安排。十、提供友情链接,使用户方便到达相关站点;
根据网站的建站原则与目的,结合神农架旅游的一般特点,本网站具体包括如下栏目:旅游新闻发布:管理员发布相关旅游新闻,实现动态管理旅游图片发布:管理员发布相关景区图片,实现动态管理
旅游线路发布和预定:管理员发布相关旅游线路,对线路的预定进行相应的处理旅游酒店查询、预订功能:对当地的酒店进行查询、预订
旅游景点介绍:管理员发布相关的旅游景点,对景点信息进行动态管理游客留言板:游客可以在此进行留言
网站管理:包括信息发布管理、留言本管理、论坛管理、网站系统设置等模块。
【摘要】针对目前本科毕业论文参与人数多、协作性强等特点,构建了一个基于Web的毕业论文选题系统。系统采用MySQL+PHP进行开发,实现了选题信息的发布、学生对选题的预选、老师对学生的正选等功能,并通过会话、事务等机制对并发及双向选题过程加以控制。该系统在实际应用中取得了很好的效果。
【关键词】Web;选题系统;会话;事务
毕业论文是本科人才培养的重要实践性教学环节,也是学士学位评定的重要依据。毕业论文选题过程一般分为几轮,每轮包括3步:首先老师将整理的论文题目及任务书发布给学生;然后学生从中预选自己感兴趣的论文题目;进而老师对预选了本人发布选题的学生进行正选。如果一轮选题过后仍有学生未被正选,则将进入下一轮。
随着近年来本科毕业论文参与人数的增多以及分工协作的加强,如何通过学生与老师之间的双向选择合理高效地进行选题,成为毕业论文工作面临的一个难题。一个可行的解决思路就是依托校园网,构建基于Web的毕业论文选题系统。与其他教务管理软件相比,本文所介绍的毕业论文选题系统更注重对信息的并发控制和实时处理。一方面,选题信息发布(或修改、删除)、学生预选(或退选)以及老师正选等更新操作能够同时进行、相互制约。另一方面,更新后的信息能及时反馈给所有的登录用户,为其进一步操作提供参考。此外,管理员能够及时获取最新的选题统计信息,以便对各个选题环节进行监控。二系统的开发环境本系统基于Dell公司的PowerEdge 1800系统(3.00GHzIntel Xeon双处理器配置)及Red Had Enterprise LinuxAdvanced Server 3操作系统环境,能够提供较大规模、高速可靠的数据服务能力。
采用浏览器/服务器(B/S)模式的体系结构,分别以Apache作为Web服务器及MySQL作为数据库服务器。所有的Web应用程序基于跨平台脚本编程语言PHP进行开发,从而使系统具有良好的通用性。三系统的设计与实现系统的功能结构主要包括5个部分:1.老师登录后,能够发布新的选题;学生登录后,能够对已发布的选题进行预选,也能退选已预选的选题;3.老师登录后,还能对已预选本人发布选题的学生进行正选;管理员登录后,能够对被正选的学生进行退选;5.管理员登录后,还能获取最新的选题统计报表。上述功能的实现分别需要访问数据库中不同的数据表,主要包括选题信息表、学生信息表、老师信息表、预选信息表、正选信息表等。同时也通过相应数据表实现各种操作之间的协调与制约,主要体现在以下几方面:1.每个老师可发布多个选题,不能删除已被预选的选题。
[Web的毕业论文选题系统的设计与实现]
基于80C196单片机的某红外预警设备控制系统的设计与实现
红外预警设备是复杂的目标探测系统,其控制部分的实现相对较难,本文主要通过对某型红外预警系统主控电路软、硬件实现方法的介绍,详细说明了该系统控制部分的'总体设计,以期对防空兵发展新型光电探测设备提供有益的借鉴.
作 者:何宝福 李鹏 HE Bao-fu LI Peng 作者单位:防空兵指挥学院,河南,郑州,450052 刊 名:电光与控制 ISTIC PKU英文刊名:ELECTRONICS OPTICS & CONTROL 年,卷(期): 12(4) 分类号:V249.12 TN219 关键词:红外预警系统 主控 航迹处理【摘要】随着互联网的出现以及信息技术飞速发展,数据、语音、视频等综合承载需求量也日益增长,目前传统的城域网已不能满足日益增长的综合承载要求,因而将IP城域网作为多业务综合承载网,实现宽带用户的有效快速接入。
本文针对移动城域网建设的现状,并结合多年从事移动城域网设计工作积累的经验,就移动城域网设计与实现,简单的谈了一些建议,以供参考。
一、前言
随着科技的进步,我国综合国力得到明显的提高,数据通信市场得到了快速发展,用户需求不断提高,业务种类也不断增多,而IP城域网建设重点将转移到具备多业务承载、支持业务差异化、可运营、可管理能力方面。
目前,如何使IP城域网高效接入用户,进而提供安全与可靠的网络环境,以保障业务的快速发展己成为电信运营商必须面临的问题。
因此,在全业务竞争环境下,IP城域网建设已成为电信运营商的必然选择。
二、移动城域网的概述
移动IP城域网作为CMNET省网的一种综合业务接入网络,是IP承载网在城域网内的延伸,同时也是全业务运营最重要的基础平台。
因而IP城域网的建设直接关系到移动核心业务技术的发展以及移动全业务的运营。
通过建设IP城域网,可以有效地解决移动数据承载网络中存在的问题,进一步完善现有IP城域网网络结构,同时增加业务控制层和宽带接入网,从而促进IP承载网、MDCN、CMNET、城域网四张数据承载网之间的融合。
因此,提高现有IP城域网网络设备性能,是提高移动网络业务接入能力以及丰富移动业务支撑的最为有效的手段。
三、移动城域网建设的现状
近几年来,随着计算机互联网的快速发展,电信网络架构经历一场重大的变革,业务服务由传统的以话音业务为导向逐步演化成以数据业务,特别是以IP业务为导向,加上业务与技术的不断融合,IP化的潮流正在全面覆盖通信运营商的各项业务。
如今,IP网络的电信化,电信网络的IP化已经成为电信网络发展的必然趋势,因而电信运营商们均提出了建设骨干IP网络双平面发展策略,并且加快IP城域网的建设,促进双平面骨干IP网络融合,以满足综合承载需求。
随着中国电信运营商的重组完成以及网络的融合,电信运营商们即将面临着全业务竞争的压力。
而只有网络的融合才能为客用户提供多业务、无差别的通信服务与体验。
目前,我国主要的电信运营商中国移动、中国联通、中国电信均确立了IP网双平面的发展策略,而未来的IP骨干网将呈现两个平面,一个是互联网业务网,用于承载全部普通互联网业务,而另一个则是IP/MPLS业务承载专网。
四、移动城域网的方案设计
在移动城域网建设方案的设计过程中,应当充分考虑城域网建设地的具体实际情况,通过调研以及开座谈会等形式,来对对地市的机房状况、网络现状、传输资源等方面进行深入并全面的了解,根据数据资料结果,最终形成了IP城域网建设方案。
此外,在方案设计中,应当明确了网络分城域网骨干网和宽带接入网的建设,并且对路由协议、IP地址、自治域、QinQ、IP QOS等内容进行了设计和规划。
五、移动城域网设计的实现
IP城域网是运营商Internet骨干网和IP承载网骨干网在城域范围内的延伸,在降低网络投资成本和综合运维成本的同时,能够极大地加快运营商业务承载网络的融合,进而提高网络质量以及收益,从而达到提升新业务接入能力的目的。
移动IP城域网的实施应当按照网络层次的清晰化以及网络结构扁平化的原则来进行,逐步进行IP城域网骨干网以及宽带接入网的建设,把用户可识别、质量可控制、业务可区分、网络可管理作为建设目标,以满足移动业务的正常承载。
在移动IP城域网的实施过程中,对于普通客户,可以通过AR、BRAS进行接入,再通过跨域方案,实现跨骨干网的MPLSVPN互联。
而对于全国性重要大客户,一般可以直接接入CMNET骨干网,或采用CE双归的连接方案进行实施。
六、结束语
综上所述,移动城域网设计与实现对未来城域网的优化与建设具有重要的意义。
随着城域网规模的不断发展,用户多业务的需求日益增加,移动IP城域网的前途不可估量。
参考文献
[1]李海鸥.移动城域网设计与实现研究[J].软件工程,2010,6(7):11-12.
[2]揭摄.面向ALL-IP的移动城域网演进探讨[J].移动通信,2008,3(14):24-25.
[3]苏东宁.甘肃移动IP城域网的规划与设计研究[J].电子与通信工程,2011,3(5):22-23.
[4]林秋辉.城域网设计方案研究[J].宽带IP网络,2010,3(4):12-13.
中国移动IP城域网的建设与优化【2】
【摘要】 随着互联网技术、通信技术和多媒体技术等高新技术的不断发展与融合,语音、视频、数据等综合承载业务的需求量正不断增长,传统的城域网已无法满足综合承载的需要。
当前,我国主要电信运营商(如移动、联通),均提出了建设骨干IP网络双平面的发展战略,通过进一步加快IP城域网的建设,以满足多业务综合承载的需要。
本文从IP城域网应用中的关键技术出发,并以中国移动IP城域网的建设为例,就其建设思路和优化方案进行了分析与探讨。
【关键字】 中国移动 IP城域网 建设 优化
IP城域网即是指在城市范围以内,以IP为组网协议的互联网。
它通过多种传输媒介,如光纤、电缆等,使用TCP/IP作为数据传输的通信协议,并利用路由器、交换机、网关等多种网络设备进行组网,以实现IP数据包的高速路由和交换传输。
简而言之,IP城域网即是一个城市范围内的规模较大的高速局域网,它通过高速路由器等网络设备与Internet直接相连。
对IP城域网的建设与优化,不仅能加快电信运营商在业务承载网络方面的融合,而且可以进一步降低运维成本和网络投资成本,并有效提升了新业务的接入能力,满足了多种业务在IP网络中的承载需要。
一、IP城域网中的关键传输技术的应用
由于最新型的IP城域网,均是在现有的网络技术基础上所建立起来的。
因此,中国移动等电信运营商在建设IP城域网时,即可采用IP over ATM、IP over SDH 、IP over WDM等先进的网络传输技术。
1.1 IP over ATM
IP over ATM技术的基本原理是:首先在ATM层将IP数据包全部封装为ATM信元,并以ATM信元形式在信道中传输,当网络中的交换机接到一个IP数据包时,便可根据IP数据包的IP地址进行路由地址的处理,然后再按路由进行转发操作,这样便可在ATM网中建立一个虚电路(VC),此后的IP数据包则可以在虚电路上按直通方式传输。
IP over ATM传输技术的特点是,将IP与ATM技术相融合,可充分发挥出ATM支持多业务、提供服务质量保证(QoS)的技术优势,能解决网络中的传输速率问题,提高网络的性能,并可降低设备成本,增加了城域网的可管理性和可扩展性。
1.2 IP over SDH
★ 毕业论文设计
★ 设计毕业论文评语