版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本文利用超声波传输中距离与时间的关系采用C8051F410单片机进行控制及数据处理设计出了能精确测量点间距离的超声波测距仪,利用所设计出的超声波测距仪可应用于汽车倒车、建筑工地以及一些工业现场的位置监控以及液位、井深、管道长度的测量等现场。本测距仪能较精确测量被测物与测距仪之间的距离。在分析国内外单片机超声波测距仪相关技术的根底上,结合最新研究成果,对超声波测距系统的研制进行了深入探讨和研究。该系统分为测距模块、系统控制模块和显示报警模块,并分别对其进行方案分析,构建了单片机超声波测距仪构架和设计方案,在硬件电路中,详细阐述了运用单片机技术实现超声波测距的原理,分析了以单片机为主控单元的系统硬件和软件设计,并对该系统进行了试验和误差分析,给出了本系统的稳定性指标。关键词:C8051F单片机,超声波,LED,收发电路AbstractThistextmakeuseofthesupervoicewavedeliverintermediaterangeandtimeofrelationadoptiontheC8051F410listslicethemachinecarryoncontrolanddataprocessingdesignabilityprecisionmeasuresupervoicethatorderdistancewaverangefinder,makeuseofdesignofsupervoicewaverangefindercanapplicationreversethecaratthecar,buildinglandandsomeindustrythespotofpositionsupervisionandliquid,welldeep,pipinglengthofmeasureetc.thespot.Thisrangefinderabilitymoreprecisionmeasureismeasuredanofthingandrangefinderofdistance.Atanalysisdomesticandinternationallistslicemachinesupervoicewavetherangefinderberelatedtechniqueoffoundationup,combinelatestresearchresult,tosupervoicewavemeasuretobeapartfromsystemofdeveloppedtocarryonthoroughstudyandresearch.It'ssystem'sturntoisdividedintomeasuretobeapartfromamoldpiece,systemcontrolmoldpieceandmanifestationreporttothepoliceamoldpiece,anddifferenceastoit'scarryonaprojectanalysis,setuplistslicemachinesupervoicewaverangefinderframeanddesignproject,inthehardwareelectriccircuit,detailedelaboratedanusagelistslicemachinetechniquerealizationsupervoicewavetheprinciplewhichmeasuretobeapartfrom,analysiswithlistslicemachineforlordcontrolsystemhardwareandsoftwareofunitdesign,andrightnessshouldthesystemcarriedontoexperimentwitherrormarginanalysis,givethestabilityindexsignofthissystem.Keywords:TheC8051F,supervoicethewave,theLED,receiveanddispatchelectriccircuit目录摘要IAbstractII1绪论11.1问题的提出和课题的研究意义1测距仪的现状及超声波测距优势1超声波测距仪的研究现状及开展趋势22超声波测距原理概述3超声波的开展史3超声波的含义及其应用3超声波的含义及其应用3国际方面4国内方面4超声波的特点4超声效应4超声波测距的优势和原理5超声波传感器62.5.1超声波发生器及其原理6单片机超声波测距系统构成73超声波硬件设计方案83.1C8051F410单片机83.1.1系统概述83.1.2C8051F的特点93.1.3C8051F单片机增加的功能93.1.4C8051F单片机的引脚图103.2超声波测距系统构成103.2.1设计的思路103.2.2设计的重点与难点12硬件设计的原理图123.3.1MCU及其超声波驱动电路123.3.2蜂鸣器电路133.3.340KHZ超声波接收处理电路133.3.4显示电路144系统软件设计164.1主程序编制及流程图164.2中断效劳程序的流程图16信号处理程序17程序中有关存储器、存放器及标志位的内容及用途175调试及性能分析185.1焊接考前须知185.2硬件调试185.3软件调试195.3性能分析21参考文献22结束语23致谢24附录I硬件原理图25附录II元器件清单26附录III程序清单281绪论1.1问题的提出和课题的研究意义随着科学技术的快速开展,超声波将在测距仪中的应用越来越广泛。但就目前技术水平来讲,人们可以利用的测距技术还十分的有限。因此,这是一个正在蓬勃开展而有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的开展空间,它将朝着更加高定位、高精度的方向开展,以满足日益开展的社会需求,如声纳的开展趋势根本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续开展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自身噪声,改善潜艇声纳的工作环境。毋庸置疑,未来的超声波测距仪将于自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能开展到具有学习功能,最终开展到具有创造力。在新的世纪里面貌一新的测距仪将发挥更大是的作用。近年来随着科技的飞速开展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本文的研究,就是以超声波为测量工具,通过C8051F410单片机的控制,经过一系列转换、放大电路组成超声波测距仪以实现对处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境中的被测物的测量。以解除操作员用常规手段测量距离带来的不便以及危险,提高测量的平安性。现状及超声波测距优势随着科学技术的开展和工业生产水平的提高,石油、化工、机械、汽车工业等各类工业都得到了迅猛的开展,但随之而来的技术落后严重制约着工业的开展步伐,其中,距离的测量尤为突出。目前国内一般使用专用集成电路设计超声波测距仪,但是专用集成电路的本钱很高,并且显示距离也比较困难,操作使用也不是很方便,而本设计研究的测距器本钱低廉,性能优良,市场前景极为广阔,对提高我国超声波测距工业实际水平,具有较大的意义,在整个距离变化过程中自动测量距离的远近,并用数字显示出来,在距离到极限距离时会发出急促的警告声,提醒操作员注意采取措施。本设计对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在距离测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。超声波距离测量仪能测量并显示液位的高度,同时用间歇嘟嘟声报警,间歇时间随障碍物距离缩短而缩短。操作员不但可以直接观察被显示的距离,还可以用听觉判断距离的远近。利用超声测距技术与单片机设计制作出超声波距离测量仪。该系统在常见的距离测量装置的根底上采用计算机控制技术和超声波测距技术,通过显示距离的远近并根据其距离远近实时发出报警,解除了操作员用常规手段测量距离带来的不便以及危险,提高了测量的平安性。随着工业水平飞速开展以及人民对物质需求水平的不断提高超声波测距仪作为一种新型的距离测量方式已经被越来越多的行业所应用。同时由于本设计有着对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高,而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。相信在不久的将来超声波测距将会更加广阔的应用前景。在工业生产中超声波测量占据着极为重要的地位,具有广阔的应用领域液位测量数据是实际生产和过程控制的重要参数储液罐储存液体的总量就是利用液位测量进行管理和控制的。超声波液位测量技术在石油、化工等工业领域中得到广泛应用,阐述了该技术涉及的传感器结构、安装方式、远程控制及信号处理软件等方面的进展,随着网络通信技术的应用,预计该技术将向数字网络是的灌区液位定位系统开展。2超声波测距原理概述超声波的含义及其应用当物体振动时会发出声音,科学家们将每秒振动的次数称为声音的频率,他的单位是HZ。我们人类耳朵能听到声波频率为20-20000HZ,当声波的频率大于20000HZ或小于20HZ时,我们便听不到。因此我们把频率高于20000HZ的声波称为超声波。2.1.2超声波的含义及其应用超声效应已广泛用于实际,主要有如下几方面:(1)超声检验。超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。超声成像是利用超声波呈现不透明物内部形象的技术。把从换能器发出的超声波经声透镜聚焦在不透明试样上,从试样透出的超声波携带了被照部位的信息,经声透镜会聚在压电接收器上,所得电信号输入放大器,利用扫描系统可把不透明试样的形象显示在荧光屏上,上述装置称为超声显微镜。声全息术是利用超声波的干预原理记录和重现不透明物的立体图像的声成像技术。用同一超声信号源鼓励两个放置在液体中的换能器,它们分别发射两束相干的超声波:一束透过被研究的物体后成为物波,另一束作为参考波。物波和参考波在液面上相干叠加形成声全息图,用激光束照射声全息图,利用激光在声全息图上反射时产生的衍射效应而获得物的重现,通常用摄像机和电视机作实时观察。(2)超声处理。利用超声的机械作用、空化作用、热效应和化学效应,可进行超声焊接、钻孔、固体的粉碎、乳化、脱气、除尘、去锅垢、清洗、灭菌、促进化学反响和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。(3)根底研究。超声波作用于介质后,在介质中产生声弛豫过程,声弛豫过程伴随着能量在分子各自电度间的输运过程,并在宏观上表现出对声波的吸收〔见声波〕。通过物质对超声的吸收规律可探索物质的特性和结构,这方面的研究构成了分子声学这一声学分支。对频率在1012赫兹以上的超声波,波长可与固体中的原子间距相比较,此时必须把固体当作是具有空间周期性的点阵结构。点阵振动的能量是量子化的,称为声子〔见固体物理学〕。特超声对固体的作用可归结为特超声与热声子、电子、光子和各种准粒子的相互作用。对固体中特超声的产生、检测和传播规律的研究,以及量子液体——液态氦中,声现象的研究构成了近代声学的新领域——量子声学。.3国际方面自19世纪末到20世纪初,在物理学上发现了压电效应与反压电效应之后,人们解决了利用电子学技术产生超声波的方法,从此迅速揭开了开展与推广超声技术的历史篇章。1922年,德国出现了首例超声波治疗的创造专利。1939年发表了有关超声波治疗取得临床效果的文献报道。40年代末期超声治疗在欧美兴起,直到1949年召开的第一次国际医学超声波学术会议上,才有了超声治疗方面的论文交流,为超声治疗学的开展奠定了根底。1956年第二届国际超声医学学术会议上已有许多论文发表,超声治疗进入了实用成熟阶段。国内方面国内在超声治疗领域起步稍晚,于20世纪50年代初才只有少数医院开展超声治疗工作,从1950年首先在北京开始用800KHz频率的超声治疗机治疗多种疾病,至50年代开始逐步推广,并有了国产仪器。公开的文献报道始见于1957年。到了70年代有了各型国产超声治疗仪,超声疗法普及到全国各大型医院。40多年来,全国各大医院已积累了相当数量的资料和比较丰富的临床经验。特别是20世纪80年代初出现的超声体外机械波碎石术和超声外科,是结石症治疗史上的重大突破。如今已在国际范围内推广应用。高强度聚焦超声无创外科,已使超声治疗在当代医疗技术中占据重要位置。而在21世纪(HIFU)超声聚焦外科已被誉为是21世纪治疗肿瘤的最新技术。超声波的特点(1)超声波在传播时,方向性强,能量易于集中。(2)超声波能在各种不同媒质中传播,且可传播足够远的距离。(3)超声波与传声媒质的相互作用适中,易于携带有关传声媒质状态的信息〔诊断或对传声媒质产生效应〕。超声波是一种波动形式,它可以作为探测与负载信息的载体或媒介〔如B超等用作诊断〕。声波同时又是一种能量形式,当其强度超过一定值时,它就可以通过与传播超声波的媒质的相互作用,去影响,改变以致破坏后者的状态,性质及结构〔用作治疗〕。当超声波在介质中传播时,由于超声波与介质的相互作用,使介质发生物理的和化学的变化,从而产生一系列力学的、热的、电磁的和化学的超声效应,包括以下4种效应:(1)机械效应。超声波的机械作用可促成液体的乳化、凝胶的液化和固体的分散。当超声波流体介质中形成驻波时,悬浮在流体中的微小颗粒因受机械力的作用而凝聚在波节处,在空间形成周期性的堆积。超声波在压电材料和磁致伸缩材料中传播时,由于超声波的机械作用而引起的感生电极化和感生磁化〔见电介质物理学和磁致伸缩〕。(2)空化作用。超声波作用于液体时可产生大量小气泡。一个原因是液体内局部出现拉应力而形成负压,压强的降低使原来溶于液体的气体过饱和,而从液体逸出,成为小气泡。另一原因是强大的拉应力把液体“撕开〞成一空洞,称为空化。空洞内为液体蒸汽或溶于液体的另一种气体,甚至可能是真空。因空化作用形成的小气泡会随周围介质的振动而不断运动、长大或突然破灭。破灭时周围液体突然冲入气泡而产生高温、高压,同时产生激波。与空化作用相伴随的内摩擦可形成电荷,并在气泡内因放电而产生发光现象。在液体中进行超声处理的技术大多与空化作用有关。(3)热效应。由于超声波频率高,能量大,被介质吸收时能产生显著的热效应。(4)化学效应。超声波的作用可促使发生或加速某些化学反响。例如纯的蒸馏水经超声处理后产生过氧化氢;溶有氮气的水经超声处理后产生亚硝酸;染料的水溶液经超声处理后会变色或退色。这些现象的发生总与空化作用相伴随。超声波还可加速许多化学物质的水解、分解和聚合过程。超声波对光化学和电化学过程也有明显影响。各种氨基酸和其他有机物质的水溶液经超声处理后,特征吸收光谱带消失而呈均匀的一般吸收,这说明空化作用使分子结构发生了改变。超声波测距的优势和原理由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能到达工业实用的要求。超声波测距的方法有多种,本超声波测中系统的原理为:检测出从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,将这个时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度随温度变化,其对应值如表2.1,根据计时器记录的时间t(见图2.1),就可以计算出发射点距障碍物的距离(s),即:s=vt/2。温度(℃)-30-20-100102030100声速(m/s)313319325323338344349386表2.1声速与温度的关系图2.1超声波测距时序图超声波传感器.1超声波发生器及其原理为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电型超声波传感器的工作原理:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图2.2所示,是在压电元件上施加电压,元件就变形,即称应变。假设在图a所示的已极化的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。假设外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。图2.2压电逆效应图2.5.2单片机超声波测距系统构成开始测量开始测量超声波信号开定时器关定时器数据运算显示器接收检测电声换能器电声换能器驱动电路图2.3超声波测距系统框图单片机C8051F410发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LCD液晶屏进行显示。限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。3超声波硬件设计方案按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。单片机使用51系列的C8051F410单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。超声波接收模块超声波接收模块超声波发射模块单片机控制系统〔C8051F410〕显示模块按键供电单元系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三局部。单片机的晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。通过单片机的P0.3端口输出超声波换能器所需的40kHz的方波信号,P0.5端口监测超声波接收电路输出的返回信号。显示电路采用当下最流行的汉显LCD液晶显示屏,显示控制线接入单片机的P2.2、P2.3、P2.4、P2.5、P2.6端口,显示控制总线接入单片机的P1.0、P1.2、P1.3、P1.4、P1.5、P1.6端口以实现超声波测距信号的显示。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经液晶显示屏将测得的结果显示出来。3.1C8051F410单片机系统概述C8051F系列器件是完全集成的混合信号系统级MCU芯片,有真正的12位多通道ADC(F206),8位多通道ADC(F220/1/6)或没有ADC,每种器件都有与8051兼容的CIP-51微控制器内核和8K字节的FLASH存储器,还有硬件实现的UART和SPI串行接口,该系列器件22或32个通用I/O引脚,其中一些引脚用于数字外设接口,任何一个端口引脚都可以配置为ADC的模拟输入。采用流水线结构,单周期指令运行速度是8051的12倍,全指令集成运行速度是原来的9.5倍。片内还集成了VDD监视器,WDI,和时钟振荡器,片内FLASH存储器还具有在系统重新编程能力,并可用于非易失性数据存储,可以关闭任何一个或全部外设以节省功耗。所有器件都有256字节的SRAM,F206/226/236还另有1024字节的RAM.片内JTAG调试支技功能允许使用安装在最终应用系统上的产品MCU进行非侵入式〔不占用片内资源〕全速系统调试。该调试系统支持观察和修改存储器和存放器,支持断点,观察点,单步及运行和停机命令。在使用JTAG调试时,所有的模拟和数字外设都可全功能运行。每个MCU都可以在工业温度范围内用2.7V-3.6V的电压工作,有48脚TQFP和32脚LQFP封装端口I/O容许5V的输入信号。3.C8051F的特点(1)高速流水线结构的8051与MCS-51指令集完全兼容(2)4个8位宽的I/O端口(3)峰值速度达25MIPS〔时钟为25MHZ时〕(4)全速非侵入式的在系统调试接口片内,真正12位〔8051F020〕,或10位C8051F02213100KSPS的8位通道ADC带PGA和模拟多路开关。(5)0~25MHZ的时钟频率(6)电源管理方式(7)可选的1024字节XRAM(8)8K字节FLASH程序存储器(9)片内看门狗定时器,VDD监视器和温度传感器。3.C8051F单片机增加的功能在CIP-51内核的内部和外部有几项关键性的改良,提高了整体性能更易于在最终应用中使用。扩展的中断系统向CIP-51提供22个中断源,标准〔8051只有7个中断源〕允许大量的模拟和数字外设中断微控制器,一个中断驱动的系统需要较少的MCU干预,却有更高的执行效率,在设计一个多任务实时系统时,这些增加的中断源是非常有用的。MCU可有多达6个复位源;一个片内VDD监视器,一个看门狗定时器,一个时钟丧失检测器,一个由比较器0提供的电压检测器,一个软件强制复位以及外部复位引脚,/RST引脚是双向的可接受外部复位或将内部产生的上电复位信号输出到/RST引脚,通过将MONE引脚拉为高电平来使能片内VDD监视器除了VDD监视器和复位输入引脚以外,每个复位源都可以由用户软件禁止。在一次上电复位之后的MCU初始化期间,WDT可以一直被允许。C8051F020内部电路包括CIP-51微控制器内核及RAM,RO,I/O口,定时/计数器。ADC,DAC,PCA,SPI和SMBVS等部件。即把计算机的根本组成单元以及模拟和数字外设集成在一个芯片上,构成一个完整的片上系统〔SOS〕.3.C8051F单片机的引脚图图3.2C3.2超声波测距系统构成设计的思路本系统的设计思想是采用以C8051F单片机为核心,来设计一种低本钱、高精度、微型化数字显示超声波测距仪。超声波测距可测出回波和发射脉冲之间的时间间隔,利用S=Ct/2就可以算出距离,再在LCD上显示出来。当然还可以设置假设干个键,以用来控制电路的工作状态。限制的最引脚名称F226,F230,48F221,F231,32类型说明VDD11,318数字电源GND5,6,8,139地XTAL196模拟输入为晶体或陶瓷谐振器的内部振荡电路XTAL2107模拟输出为晶体或陶瓷谐振器的鼓励驱动器4028数字I/O口模拟输入端口0位03927数字I/O口模拟输入端口0位13826数字I/O口模拟输入端口0位23725数字I/O口模拟输入端口0位33624数字I/O口模拟输入端口0位43523数字I/O口模拟输入端口0位53422数字I/O口模拟输入端口0位63321数字I/O口模拟输入端口0位72416数字I/O口模拟输入端口2位02315数字I/O口模拟输入端口2位1P2,2/MOSI2214数字I/O口模拟输入端口2位22113数字I/O口模拟输入端口2位31511数字I/O口模拟输入端口2位41612数字I/O口模拟输入端口2位517数字I/O口模拟输入端口2位618数字I/O口模拟输入端口2位744数字I/O口模拟输入端口3位0表3.1C大可测距离存有四个因素:超声波的幅度,反射面的质地,反射面和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。根据设计要求并综合各方面因素,采用C8051F单片机作为主控制器,用动态扫描法实现LCD液晶屏数字显示,超声波驱动信号可以用单片机的定时器和计数器来完成。设计的重点与难点本设计的任务是设计一个超声波测距仪,可以应用于汽车倒车位置监控,也可用于如液位、井深、管道长度的测量等场合。测量范围在0-1m,测量精度1-2cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。系统组成的设计:各局部硬件的选取很有讲究,要十分合理。设计的难点是:(1)超声波信号的接收、发射的设计(2)显示电路设计(3)流程图及程序的设计MCU及其超声波驱动电路图3.3MCU及其超声波驱动电路图电路如图3.3所示。图为超声波测距仪的MCU及其超声波驱动电路原理图,图中采用C8051F单片机作为主控制器,通过单片机的P0.3端口输出超声波换能器所需的的方波信号,信号又经过两极74LS04反相器后驱动超声波探头发射超声波。两个反相器。P0.3输出高电平时,两个反相器通路,发射40KHZ超声波;P0.3输出低电平时,停止发射。反相器的作用是防止单片机初始化时超声波探头瞬间动作。蜂鸣器电路电路如下图。通过供电电路给蜂鸣器电路供+5V电源,接入蜂鸣器BEER的第一引脚作为供电电源。蜂鸣器的第二引脚接入三极管S8050的集电极同时将S8050的发射极接地,然后有单片机的P2.1控制S8050做蜂鸣器的开关使用。当单片机发出高电平是三极管导通,蜂鸣器发出声音;当单片机P2.1口发出低电平时蜂鸣器不发声。图蜂鸣器电路图3.3.340KHZ超声波接收处理电路电路图如图3.5所示。超声波探头接收由障碍物反射回来的超声波。其中,AD620作为第一级放大电路对接收回来的超声波信号进行一千倍的信号放大,然后将信号送入TL084进行信号的第二级放大,放大20倍。信号再进入由TL084组成的一阶滤波电路同时进行两倍信号放大。然后信号进入由两个TL084组成的带通滤波电路进行滤波同时将信号放大两倍。然后信号进入由TL084和两个超级二极管组成的整形电路同时将电信号由交流转换成直流。信号在进入由TL084和C23、C24组成的电路对直流信号进行放大。信号进入由TL084组成的电压跟随器增加抗干扰能力并且加大驱动能力。信号在进入单片机前流经由LM358组成的钳位电路,此电路将电流信号降压到2.8V用于保护单片机防止单片机被烧毁。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P0.5输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P0.5由高电平变为低电平后,立即停止内部计时器计时。单片机将测得图40KHZ超声波接收处理电路的时间与声速相乘再除以2即可得到测量值,最后经液晶显示屏将测得的结果显示出来。显示电路图3.6液晶显示电路本系统采用液晶显示屏显示所测距离值,如图。显示电路采用当下最流行的汉显LCD液晶显示屏,显示控制线接入单片机的P2.2、P2.3、P2.4、P2.5、P2.6端口,显示控制总线接入单片机的P1.0、P1.2、P1.3、P1.4、P1.5、P1.6端口以实现超声波测距信号的显示。4系统软件设计4.1主程序编制及流程图为主程序流程图。开机后先显示“宁夏理工学院〞亮灯并且蜂鸣器发声,表示开始工作。T0用于记录发射至接收的时间间隔t(单位为ms)。初始化后,程序控制发射40KHZ的超声波信号,发射开始立即启动定时器开始计时。发射完成。CPU接收回波信号后,立即产生中断同时立即停止计数。定时器专门用于记录CPU发射脉冲信号前沿至回波脉冲信号前沿之间的距离t,由此时间可换算出障碍物的距离,并决定嘟声间隙。可设定T1的定时值,用来控制嘟声间隙时间和闪烁显示时间。综合考虑各类因素及实际情况,为了使计算简化,取空气中声速为340m/s,或34cm/ms,那么障碍物距离d的计算公式如下d=(t*34cm/ms)/2=t*17cm/ms.N开始初始化处理信号,计算距离等待回波中断发射超声波,开始计时,停止发射超声波N开始初始化处理信号,计算距离等待回波中断发射超声波,开始计时,停止发射超声波有回波否?有回波否?、?YY4.2中断效劳程序的流程图CPU接收回波信号后,立即产生INT0中断同时T0立即停止计数取计数值置有回波标志。定时器T0专门用于记录CPU发射脉冲信号前沿至回波脉冲信号前沿之间的距离t,由此时间可换算出障碍物的距离,并决定嘟声间隙。可设定T1的定时值,用来控制嘟声间隙时间和闪烁显示时间。INT0中断INT0中断T0停止取计数值置有回波标志T0停止取计数值置有回波标志中断返回中断返回信号处理程序信号处理首先判断有无回波信号。假设无回波信号,那么说明距离没有超过警戒距离,或所测距离较远已超出最大探测距离,此时置闪烁显示“〞并发出长嘟声。空中有各种干扰信号,如工业粉尘,机器运转时发出的噪声。这些噪声中含有40KHZ的谐波成分,被放大后可能引起显示干扰。另外,电子设备特别是刚启动时,电源中也有许多干扰脉冲。因此,除在硬件电路中采取措施外,软件中还要参加抗干扰程序。一般可根据距离变化的速度和回波信号脉宽来分析,对接收的信号进行甄别,筛选出正确信号。4.4程序中有关存储器、存放器及标志位的内容及用途32H扫描显示循环数40H个位显示符存放器41H十位显示符存放器42H百位显示符存放器44H嘟声方波脉宽值45H闪烁显示间隙系数50H1#信号低8位51H1#信号高8位52H2#信号低8位53H2#信号高8位54H3#信号低8位55H3#信号高8位56H4#信号低8位57H4#信号高8位R2信号计数器R3连续无回波计数器标志位:11H1#信号存储标志12H2#信号存储标志13H3#信号存储标志01H回波标志。01H=1,有回波;01H=0,无回波5调试及性能分析5.1焊接考前须知因为考虑到做好的传感器要具有一定的使用价值,所以体积要略有控制,使用了一些SMD器件,给焊接带来了难度,但对于我来讲即使一个挑战同样也是一个挑战自我的时机。首先要有适宜的工具,我选择的是30W的尖头烙铁;尖头镊子,用于抓取小器件。由于需要焊接一些SMD器件,所以我选择了0.3mm的细焊锡丝。焊接是3要注意焊接的顺序:先焊小的SMD器件然后在按器件的高度从矮到高依次焊接直插器件,体积较大的器件最后焊接,如本设计中的超声波传感器等。在焊接SMD器件时可先将器件的一个焊盘上锡〔注意:先给接大面积地线的器件上锡,因为大面积地线的散热作用明显,会给后续焊接带来麻烦!〕然后用尖镊子拿住器件,先放在没有焊锡的焊盘上,再用镊子夹住〔这样可以保证器件贴着PCB〕器件,同时用烙铁熔化上好锡的焊盘,平推器件到焊锡中〔注意:为了方便另外一个焊盘的焊接,可适当偏向已上锡的焊盘,另一侧焊盘留下较大的空间〕。然后,用免清洗的助焊剂略涂一些,用细焊锡丝逐脚焊接,方法和焊接直插器件类似,先放上烙铁头,略延时后将焊锡丝送上,只是时间稍短,焊锡不要给的太多,以免连焊到一块。全部焊好之后,可以用烙铁尖点IC引脚的端头,再次让焊点熔化一次,使焊锡更好的将引脚和PCB连接。硬件调试我对各个器件调试的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试,以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的C8051F410单片机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,看液晶屏的显示结果会不会变化,在测量范围内能否正常显示。如果一直显示“---〞,说明所测距离超过量程,需要缩短距离。试验板中的声速没有进行温度补偿,声速值为340m/s首先,在焊接完成后,调试屏幕显示局部,发现显示背光异常,经检测发现原理图绘制错误导致,在电路板后侧割线,飞线完成。其次,在调试超声波接收局部时,发现单片机工作异常,经过分析得到超声波回波信号被放大后电压超过单片机所能承受的5V以上。在电路板上加了保护装置,一个稳压二极管,和一个电阻,问题解决。再其次,在调试超声波接收局部时,发现波形不正常且波形缓慢,经分析得知是电容C23、C24组成的滤波电路对波形造成的影响。去掉C23、C24滤波电容,然后观察波形,病症消失,问题解决。再次,蜂鸣器型号错误,导致上电单片机复位,更换适宜的蜂鸣器,问题解决。最后,超声波回波信号,接收到以后,进行放大。放大以后进过单片机内部的比较器进行比较。得到一个比较输出信号。在调试过程中,发现测距的量程大小与比较器的比较电压有关。可以调节电位器,获得适宜的灵敏度。软件调试软件调试过程中,主要是决定超声波的发送时间长短,经过调整时间,可以得到一个适宜的发射功率。在程序中的延时值为200。超声波发送结束后,需要快速复位计数器的值,开始计数。等到回波信号收到以后,单片机捕捉模块,捕捉到信号的下降沿,这时可以认为回波到达。关闭计数器,取出计数值。将计数值转换为时间值,这个要根据时钟频率,分频系数等决定。在程序中已有说明。下列图为测试时截取的波形,通过波形的变化说明测试的过程。说明超声波发送时间是一个很短暂的时间,从波形中可以很明显看到超声波发射波形拉开后的状况,可以清晰看到发送波形的周期超声波发射端管脚波形,有明显的毛刺,这说明超声波被驱动可以清晰看到发送与接收到回波的时间差5.3性能分析从实物测试的总体来说本测距板根本上到达了要求,理想上超声波测距能到达5到7米左右,而我们所能实现的最大距离只有1米,测量结果受环境温度影响。分析原因如下:(1)长距离的测量需要大功率的超声波驱动电路,但由于大功率的驱动电路在制作本钱、产品体积等方面存在着诸多的制约因素,综合各方面的因素本设计采用没有采用大功率驱动电路,所以测量距离只有1米。(2)超声波在空气中的传播速度受温度的影响,但由于加温度补偿电路会增加制作本钱以及产品体积,不加温度补偿电路对精度的影响不是太大,综合各方面因素本测距板没设计温度补偿电路,来对测量结果进行修正。所以测量一米的误差在1—2cm。参考文献陈富安.单片机与可编程控制器应用技术[M].北京:电子工业出版社,,11~20张齐.单片机应用系统设计技术[M].北京:电子工业出版社,,102~120李刚.单片机应用系统设计技术[M].西安:电子科技大学出版社,,205~220李冰.80C51嵌入式系统编程[M].北京:清华大学出版社,2005,65~76徐爱卿.MCS-51/96单片机原理及应用[M].北京:北京航空航天大学出版社,2006,234~240蔡振江.单片机原理及应用[M].北京:电子工业出版社,1996,140~164张毅刚.新编MSC-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003,50~65[8]樊尚春.传感器技术及应用[M].北京:航空航天大学出版社,,45~50[9]吕建平、梅军进等.电子线路CAD[M].北京大学出版社,90~100[10]胡辉.单片机原理及接口技术[M].北京:中国水利水电出版社,1999,209~310结束语为期两个月的毕业设计即将结束,我也完成了自己的毕业设计任务“超声波距离测量〞。通过亲手做毕业设计,我发现了自己知识的匮乏和能力的欠缺,我觉得自己对专业知识的认识、理解是比较浅薄的。在设计过程中,我遇到了许多问题,例如:各硬件芯片的选择,流量计局部设计,软件的编程等。不过这些问题在马老师的细心帮助下一点一点地解决了。实际的应用加深了我对大学所学的软、硬件知识的理解。单片机的选用与学习增强了我们的实际分析解决问题的能力。这次设计让我初次体验了设计的过程,学习了开发应用的主要方法,也让我意识到理论知识与实际应用之间的距离。在本设计中没有涉及到芯片内部的元件设计,另外就软件设计而言也存在着一些缺乏之处,我相信这些缺乏之处在以后的工作和学习中会得到改良。毕业设计作为大学阶段的最后一项任务,是对自己大学四年来学习水平的综合检验。它能使我对所学的知识有一个系统的把握,并在此根底上做到融会贯穿。同时,对自己自学能力的培养等都大有裨益。转眼间毕业设计已接近尾声,在这两个多月里,无论是在专业知识,还是在专业技能方面自己都得到了很好的锻炼,并有相应的提高,作为大学四年学习的总结,使我认识到学习过程中的许多缺陷与缺乏,并对所学的专业知识进行了重新温习与整理,使许多独立的专业课程在实践中得到了融会贯穿。这将对我今后的学习和工作起到了很大的帮助作用,让我认识到了必须踏踏实实的学习,决不能眼高手低,要注重理论与实践的结合。致谢我经过这次系统的课程设计,熟悉了对一项课题进行研究、设计和实验的详细过程。这些在我将来的工作和学习当中都会有很大的帮助。课程设计培养了严肃认真和实事求是的科学态度。而且培养了吃苦耐劳的精神,同学之间的友谊互助也充分的在课程设计当中表达出来了。在本次毕业设计的历程中,自己遇到了许多想不到的困难。同时在毕业设计中,遇到了很多没见到的问题与现象,真是学到了很多新的东西。本次毕业设计的完成,除了自己的努力外,好多人给予了很多的帮助,有些问题才能得以顺利解决。在这次的毕业设计过程中,我遇到了好多不懂的问题,都是马俊涛老师耐心帮助与指导,当我遇到问题时,总能够热心指导,耐心教育。在这里还要感谢同组同学,在最后的论文定稿期间,给了我巨大的帮助,同时也教会了我不少的东西,在这里对他的热心帮助表示衷心的感谢。毕业设计结束了,给我留下了美好的回忆。路漫漫其修远兮,吾将上下而求索。所以最后我再一次衷心感谢马附录I硬件原理图附录II元器件清单CommentFootprintDesignators0805-CC2550805-CC9170R1206R5R43R42R44100R0805R39R38R37R84100uf/50VE4E3E1310K0805R40R29R28R27R26R24R23R22R21R20R16R15R913-12V0805-LEDD611K0805R36R33R7R6R2R35R3471N4148LL-34D9D821N5819D511uf0805-CC11820K0805R11R1022K0805R17R1220805-LEDD71330R805R31805R251430R805R191430R805R181430R805R141430R805R131470uf/16VE2147uf/25V47UF_SMDE5147uHL11805R411560R805R115V0805-LEDD4174LS04SO-14U517805D-PAKU11AD620DIP8U71AMS1117SOT-223-CU31BAT54SLT1_1SOT-23-1D11D102BELLB11C8051F410/2LQFP-32U41CON10IDE10J21CON16LM16080-1J41CON3CON3J31CON4J11LM358SO-8U101MAX765DIP8U21MMBT2222SOT-23-1Q11POTTO-220-AVR11RES-S805R321RES-S805R311RES-S805R301SM4007SM-1D3D2D13SPEAKERS2S12SW-PBSW-1S31TL084SO-14U9U82附录III程序清单主程序#include"c8051F410.h" //包含了数据代码定义#include"initialization.h" //包含了所有外设的初始化#include"display.h"xdataunsignedintDISBUF[17];unsignedinttime_use;sbitbeep=P2^1;xdatacharcount_num_s;voidmain(void){ unsignedcharxdatai,j=0; EA=0; PCA0MD&=~0x40;//WDTE=0〔去除看门狗使能〕//WDTE=0〔去除看门狗使能〕 PCA0MD=0x00; Init_Device(); //设备硬件初始化 lcd_init(); //显示屏初始化,显示标志等 beep=0; //关闭蜂鸣器 for(i=0;i<50;i++) //给定一个较长的延时,等待设备初始化完成 { delay(50000); delay(50000); } //EA=1; count_num_s=1; //将超声波发送次数设置为1,以便第一次超声波发送 //============一下是显示图标和固定字符===================// WriteGraphic(2,0,48,160,Graphic_Clear160); WriteGraphic(3,16,16,8,DISP[0]); WriteGraphic(3,24,16,8,DISP[1]); WriteGraphic(3,32,16,8,DISP[2]); WriteGraphic(3,40,16,8,DISP[3]); WriteGraphic(3,48,16,8,DISP[4]); WriteGraphic(3,88,16,8,DISP[5]); WriteGraphic(3,96,16,8,DISP[6]); WriteGraphic(3,104,16,8,DISP[7]); WriteGraphic(3,112,16,8,DISP[8]); WriteGraphic(3,120,16,8,DISP[4]);WriteGraphic(5,32,16,8,DISP[10]); WriteGraphic(5,40,16,8,DISP[11]); WriteGraphic(5,48,16,8,DISP[12]); WriteGraphic(5,56,16,8,DISP[13]); WriteGraphic(5,64,16,8,DISP[14]); WriteGraphic(5,72,16,8,DISP[15]); WriteGraphic(5,80,16,8,DISP[4]); //============一下是显示图标和固定字符END===================// while(1) //进入循环局部,循环发送超声波,一个很短时间的超声波 { beep=0; if(count_num_s==1) //启动第一次的超声波发送,以后到收到返回波形后,会自动复位到这里继续发送 { PCA0CPM2=0x47; //翻开发送40KHZ的方波,占空比为50% delay(200);//发送超声波时间,可以调整,以便实现较好的灵敏度 PCA0CPM2=0x01; //关闭发送40KHZ的方波 TH1=0x00; //复位定时器的值为零 TH1=0x00; TR1=1; //翻开计数器 count_num_s=0; } S=time_use*314; //测得距离就等于时间乘以速度 //=========以下是显示测得的距离======================= WriteGraphic(2,0,48,160,Graphic_Clear160); WriteGraphic(3,16,16,8,DISP[0]); WriteGraphic(3,24,16,8,DISP[1]); WriteGraphic(3,32,16,8,DISP[2]); WriteGraphic(3,40,16,8,DISP[3]); WriteGraphic(3,48,16,8,DISP[4]); WriteGraphic(3,88,16,8,DISP[5]); WriteGraphic(3,96,16,8,DISP[6]); WriteGraphic(3,104,16,8,DISP[7]); WriteGraphic(3,112,16,8,DISP[8]); WriteGraphic(3,120,16,8,DISP[4]); WriteGraphic(5,32,16,8,DISP[10]); WriteGraphic(5,40,16,8,DISP[11]); WriteGraphic(5,48,16,8,DISP[12]); WriteGraphic(5,56,16,8,DISP[13]); WriteGraphic(5,64,16,8,DISP[14]); WriteGraphic(5,72,16,8,DISP[15]); WriteGraphic(5,80,16,8,DISP[4]); //=========以下是显示测得的距离END======================= delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); delay(50000); }}voidPCA_ISR(void)interruptINTERRUPT_PCA0using3 //收到回波信号后的中断程序,所以在主程序里看不到时间计算程序。{ if(CF==1) { CF=0; } if(CCF0==1) { CCF0=0; } if(CCF1==1) { CCF1=0; } if(CCF2==1) //如果收到回波,那么开始处理 { CCF2=0; {TR1=0; //关闭计数器time_use=TH1; //读取计数器的值,低字节time_use=(time_use<<8)|TL1;//将上下字节连接起来,组成最终的时间TL1=0; //时间值取走后,将计数器复位TH1=0;count_num_s=1; //将超声波发送次数设置为1,以便在主程序里可以发送下一次超声波 } } if(CCF3==1) { CCF3=0; }}///////////////////////////////////////GeneratedInitializationFile///////////////////////////////////////#include"c8051F410.h"//Peripheralspecificinitializationfunctions,//CalledfromtheInit_Device()functionvoidPCA_Init(){PCA0CN=0x40;PCA0MD&=~0x40;PCA0MD=0x03;PCA0CPM0=0x21;PCA0CPM1=0x11;PCA0CPM2=0x47;PCA0CPH2=0x4D;}voidComparator_Init(){inti=0;CPT0CN=0x85;for(i=0;i<35;i++);//Wait10usforinitializationCPT0CN&=~0x30;CPT0MX=0x22;CPT0MD=0x80;}voidPort_IO_Init(){//P0.0-CP0(Cmp0),Open-Drain,Digital//P0.1-CEX0(PCA),Open-Drain,Digital//P0.2-CEX1(PCA),Open-Drain,Digital//P0.3-CEX2(PCA),Push-Pull,Digital//P0.4-Skipped,Open-Drain,Analog//P0.5-Skipped,Open-Drain,Analog//P0.6-Unassigned,Open-Drain,Digital//P0.7-Unassigned,Open-Drain,Digital//P1.0-Unassigned,Push-Pull,Digital//P1.1-Unassigned,Push-Pull,Digital//P1.2-Unassigned,Push-Pull,Digital//P1.3-Unassigned,Push-Pull,Digital//P1.4-Unassigned,Push-Pull,Digital//P1.5-Unassigned,Push-Pull,Digital//P1.6-Unassigned,Push-Pull,Digital//P1.7-Unassigned,Push-Pull,Digital//P2.0-Unassigned,Push-Pull,Digital//P2.1-Unassigned,Push-Pull,Digital//P2.2-Unassigned,Push-Pull,Digital//P2.3-Unassigned,Push-Pull,Digital//P2.4-Unassigned,Push-Pull,Digital//P2.5-Unassigned,Push-Pull,Digital//P2.6-Unassigned,Push-Pull,Digital//P2.7-Unassigned,Open-Drain,DigitalP0MDIN=0xCF;P0MDOUT=0x08;P1MDOUT=0xFF;P2MDOUT=0x7F;P0SKIP=0x30;P0ODEN=0xFF;XBR0=0x10;XBR1=0xC3;}voidTimer_Init(){TCON=0x40;TMOD=0x10;}voidOscillator_Init(){inti=0;OSCICN=0x87;}voidInterrupts_Init(){//EIE1=0x10;//EIP1=0x10;IE=0x08;}//Initializationfunctionfordevice,//CallInit_Device()fromyourmainprogramvoidInit_Device(void){PCA_Init(); //计数器阵列初始化,主要负责超声波发送 Port_IO_Init(); //端口初始化,所有的端口在这里初始化Timer_Init(); //超声波回波计数器初始化,主要是计算回波的时间Comparator_Init();//比较器初始化,这个比较器作用是比较回波是否有效Oscillator_Init(); //时钟初始化,系统使用内部时钟Interrupts_Init(); //中断初始化,定时器等中断的初始化工作单片机初始化程序///////////////////////////////////////GeneratedInitializationFile///////////////////////////////////////#include"c8051F410.h"//Peripheralspecificinitializationfunctions,//CalledfromtheInit_Device()functionvoidPCA_Init(){PCA0CN=0x40;PCA0MD&=~0x40;PCA0MD=0x03;PCA0CPM0=0x21;PCA0CPM1=0x11;PCA0CPM2=0x47;PCA0CPH2=0x4D;}voidComparator_Init(){inti=0;CPT0CN=0x85;for(i=0;i<35;i++);//Wait10usforinitializationCPT0CN&=~0x30;CPT0MX=0x22;CPT0MD=0x80;}voidPort_IO_Init(){//P0.0-CP0(Cmp0),Open-Drain,Digital//P0.1-CEX0(PCA),Open-Drain,Digital//P0.2-CEX1(PCA),Open-Drain,Digital//P0.3-CEX2(PCA),Push-Pull,Digital//P0.4-Skipped,Open-Drain,Analog//P0.5-Skipped,Open-Drain,Analog//P0.6-Unassigned,Open-Drain,Digital//P0.7-Unassigned,Open-Drain,Digital//P1.0-Unassigned,Push-Pull,Digital//P1.1-Unassigned,Push-Pull,Digital//P1.2-Unassigned,Push-Pull,Digital//P1.3-Unassigned,Push-Pull,Digital//P1.4-Unassigned,Push-Pull,Digital//P1.5-Unassigned,Push-Pull,Digital//P1.6-Unassigned,Push-Pull,Digital//P1.7-Unassigned,Push-Pull,Digital//P2.0-Unassigned,Push-Pull,Digital//P2.1-Unassigned,Push-Pull,Digital//P2.2-Unassigned,Push-Pull,Digital//P2.3-Unassigned,Push-Pull,Digital//P2.4-Unassigned,Push-Pull,Digital//P2.5-Unassigned,Push-Pull,Digital//P2.6-Unassigned,Push-Pull,Digital//P2.7-Unassigned,Open-Drain,DigitalP0MDIN=0xCF;P0MDOUT=0x08;P1MDOUT=0xFF;P2MDOUT=0x7F;P0SKIP=0x30;P0ODEN=0xFF;XBR0=0x10;XBR1=0xC3;}voidTimer_Init(){TCON=0x40;TMOD=0x10;}voidOscillator_Init(){inti=0;OSCICN=0x87;}voidInterrupts_Init(){//EIE1=0x10;//EIP1=0x10;IE=0x08;}//Initializationfunctionfordevice,//CallInit_Device()fromyourmainprogramvoidInit_Device(void){PCA_Init(); //计数器阵列初始化,主要负责超声波发送 Port_IO_Init(); //端口初始化,所有的端口在这里初始化Timer_Init(); //超声波回波计数器初始化,主要是计算回波的时间Comparator_Init(); //比较器初始化,这个比较器的作用是用来比较回波是否有效Oscillator_Init(); //时钟初始化,系统使用内部时钟Interrupts_Init(); //中断初始化,定时器等中断的初始化工作}}显示驱动程序#include"c8051F410.h" //包含了数据代码定义#include"Font_library.h" //包含了数据代码定义/*=========并口数据线============*/#defineLCDBusP1//P3/*=========控制信号线===========*/sbit_CS1=P2^2;//片选sbit_RST=P2^3;//存放器选择sbitRS=P2^4;//写信号sbit_WR=P2^5;//读信号sbit _RD=P2^6;//复位信号//==========变量申明============xdataunsignedintBLA_Count;//背光控制变量,用来计时用xdataunsignedcharContrastLevel;//forcontrastsettinglevelbitBla_Flag;//=====================函数申明=====================voidlcd_delay(unsignedinttime); //LCD延时函数voiddelay(unsignedintm);voidlcd_init(void);//初始化LCD函数voidLCD_refresh(void);voidClrScn(void);//清LCDvoidSdCmd(unsignedcharCommand);//写存放器命令函数voidSdData(unsignedcharDData); //写数据命令函数voidWriteByteCurDisplay(unsignedcharxx,unsignedcharyy,unsignedcharText);//;写一个ASICII字符voidWriteStr(unsignedcharxx,unsignedcharyy,unsignedchar*pstr);//写字符串voidWriteGraphic(unsignedcharx1,unsignedchary1,unsignedcharRow,unsignedcharTier,unsignedchar*GDData);voidWriteGraphicbrak(unsignedcharx1,unsignedchary1,unsignedcharRow,unsignedcharTier,unsignedchar*GDData);/*************************************************Function:voidlcd_init(void)Description:屏幕显示的全部初始化,包括屏幕内容显示Others:2011-5-12*******************************
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年互联网电路租赁合同(三篇)
- 2025年个人租房合租合同常用版(4篇)
- 保龄球馆装修合同范本
- 主题餐厅装修免租合同
- 专卖店吊顶装修合同
- 机场建设渣土运输协议范本
- 辽宁雕花板岗亭施工方案
- 临时承接合同范本
- 伪造员工劳动合同范本案例
- 基金托管合同范例
- JJG 921-2021环境振动分析仪
- GB/T 308.1-2013滚动轴承球第1部分:钢球
- 中药炮制学-第五、六章
- 中国风军令状誓师大会PPT模板
- 小儿高热惊厥精品课件
- 2023机械工程师考试试题及答案
- 2022年电拖实验报告伍宏淳
- 丰田汽车战略规划与战略管理体系研究(2021)
- 公共政策学(第三版)-课件
- 冷却塔是利用水和空气的接触
- 我的家乡--安徽亳州.PPT
评论
0/150
提交评论