超声波液位控制系统的设计设计

上传人:无*** 文档编号:202679833 上传时间:2023-04-23 格式:DOC 页数:40 大小:484.50KB
收藏 版权申诉 举报 下载
超声波液位控制系统的设计设计_第1页
第1页 / 共40页
超声波液位控制系统的设计设计_第2页
第2页 / 共40页
超声波液位控制系统的设计设计_第3页
第3页 / 共40页
资源描述:

《超声波液位控制系统的设计设计》由会员分享,可在线阅读,更多相关《超声波液位控制系统的设计设计(40页珍藏版)》请在装配图网上搜索。

1、超声波液位控制系统的设计设计专业:电气工程及其自动化 学号: 9310100724 He bei Normal University of Science & Technology本科毕业设计(自然科学) 题 目: 超声波液位控制系统的设计 院(系、部): 机电科学与工程系 学 生 姓 名: 王雷涛 指 导 教 师: 马崇霄 职 称 讲师 2014年5月18日河北科技师范学院教务处制 资料目录1.学术声明11页2.河北科技师范学院本科毕业论文(设计)137页3.河北科技师范学院本科毕业论文(设计)任务书11 页4.河北科技师范学院本科毕业论文(设计)开题报告12 页5.河北科技师范学院本科毕业

2、论文(设计)中期检查表11页6.河北科技师范学院本科毕业论文(设计)答辩记录表11 页7.河北科技师范学院本科毕业论文(设计)成绩评定汇总表12页8河北科技师范学院本科毕业论文(设计)工作总结11页9其他反映研究成果的资料(如公开发表的论文复印件、效益证明等) 页 河北科技师范学院 本科毕业设计 超声波液位控制系统的设计院(系、部)名 称 : 机电科学与工程系 专 业 名 称: 电气工程及其自动化 学 生 姓 名: 王雷涛 学 生 学 号: 9310100724 指 导 教 师: 马崇霄 2014年5月18日河北科技师范学院教务处制 学 术 声 明本人呈交的学位论文,是在导师的指导下,独立进行

3、研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于河北科技师范学院。本人签名: 日期: 指导教师签名: 日期: 摘 要对于超声波液位控制系统这个课题来说有一个不得不解决的实际问题:液位检测。而为了解决这个问题,所以开发了一种基于单片机的超声波液位检测仪。深入讨论了用超声波作为信号源进行液位检测的可行性以及它的优越性。首先,超声波可以在气体、液体、固体和固溶体等介质中进行有效的传播。再者超声波没有有害辐射,具

4、有穿透能力强,方向性好,容易获得较集中的声能,在介质中传播距离远的特点。因此被广泛应用于石油、化工等诸多领域。而现在单片机技术已日渐成熟,价格低廉、性能优异、灵活性高、稳定性好。因此本文采取了以AT89C51单片机作为系统核心部件与超声波技术合二为一,设计出的一种非接触式液面检测控制系统,具有重要的现实意义和应用价值。关键词:液位测量;AT89C51单片机;超声波传感器Abstract The ultrasonic liquid level control system of this subject is a practical problem to solve: liquid level

5、detection. In order to solve this problem, so a kind of ultrasonic liquid level measuring instrument based on. Discusses the feasibility of liquid level detection and its superiority by ultrasonic signal source. First of all, gas,liquid, ultrasonic in solid and solution of effective communication is

6、 body medium.Furthermore the ultrasonic no harmful radiation,has a strong penetrating ability,good directivity, easy access to a centralized energy, propagation distance in the medium. It is widely used in petroleum, chemical and many other fields. And now the single chip technology has become incre

7、asingly mature, low prices, excellent performance, high flexibility, good stability. This paper takes AT89C51 MCU as the core component of Become system with ultrasonic technology, a non contact type liquid level detection and control system design, has the important practical significance and appli

8、cation value.Keywords: liquid level measurement; AT89C51 MCU; ultrasonic sensor目 录摘 要I1 绪论11.1 论文研究背景与意义11.2 国内外发展的现状12 设计总体思路22.1 超声波液位控制系统的设计要求22.2 设计具体内容22.3 设计方案23 硬件设计33.1 单片机系统33.1.1 AT89C51性能33.1.2 AT89C51各引脚功能33.2 外围电路的设计53.2.1 超声波的发射电路53.2.2 超声波的接收电路63.2.3 LED的显示电路的设计73.2.4 电源电路103.2.5 报警电路

9、113.2.6 控制电路123.3 控制系统的设计133.3.1 系统硬件方案的设计133.3.2 水位液位控制的原理144 系统软件的设计154.1 超声波测量距离的原理164.2 主程序流程图16 4.2.1定时控制部件16 4.2.2中断系统16 4.2.3 信号控制16 4.2.4 数据存储17 4.2.5 信号处理174.3 环境编译19参考文献21致谢22附录231 绪论 1.1 论文研究背景与意义超声波液位测量仪作为一种典型的非接触测量仪器,在很多方明有着广泛的应用。诸如工业自动控制,工程建设测量和水位高度等方面的测量。与激光测距、微波测距等诸多传统测量方法相比,由于超声波在空气

10、中传播速度远远小于光线和无线电波,时间测量精度的要求也远小于激光测距和微波测距等,因而超声波液位仪电路结构简单,造价低廉,容易设计,且超声波在传播过程中不易受烟雾、空气能见度低等因素的影响,在各个场合均得到广泛应用。然而超声波液位仪在实际应用中也有很多局限性会对测量数据的精确度造成一定的影响。诸如环境温度、风速等,使其无法达到要求。如何解决这些问题具有较大的现实意义。此外,水位一直是一个问题的人,为了检测事故迹象,防患于未然,经济实用,可靠的无线水位检测系统将发挥巨大的作用,水位是水库大坝安全的重要参数,排水和灌溉调度,存储,泄洪水域。自动监控,传输和处理好水位和水库现代化建设提供基本信息。在

11、工业和农业的许多领域,需要监测水位,可能活不过来或人的现场监测。我们可以用遥控器控制,坐在仪器可以检测和控制领域。1.2国内外发展的现状 随着现代化电子技术高速的发展,激光测距,微波雷达测距以及超声波测距。第一种和第二种方法,主要是技术上的困难,另外成本比较高,一般只适合用于军事工业上,而超声波测距的技术则相反首先,它的技术难度较小且成本也比较低廉,所以它比较适合用于民用上的推广。这一技术还能够用来工业上的测量领域。因为超声波有着能量消耗缓慢的优点,所以无论是在哪种介质中进行的的传播,无论距离的长短,都适合使用。所以超声波经常被应用于距离上的测量。由于使用超声波在检测时往往更加的快速,更加的方

12、便,同时也比较简单,容易做到实时控制,另外,还能够满足于工业上的测量精度这一实际难题,因此,在移动机器人的研究与开发当中也常常用到它。随着微机技术的发展和自动测距的提高,超声波测量距离的理论业已逐渐成熟,所以超声波在测距当中的应用还是非常广泛的。在非接触式检测这方面超声波测距有着极为显著的优势。和别的方法相比,诸如光或电磁的方法,超声波测距不会受光的影响,同时也不受色彩以及被测对象等其他方面的诸多影响。当被测物体存在一定的黑暗,灰尘,烟雾,电磁干扰等因素的影响时,超声波有着很强的适应能力。所以,超声波广泛使用于芯片级的测量,例如计算机毕业论文机械手的控制,目标识别,车辆自动导航等。尤其适和使用

13、于空气的范围内,由于在空气中的速度慢,沿传播方向的结构的信息,很容易被检测到回波的信号,因此,它具有很高的分辨率,另外,它的计算精度也远远的高于其他方法;同时超声波传感器还具有结构简单,体积小的特点,可靠性高,信号容易处理。因此在本设计当中测距方面使用的是超声波。2 设计总体思路2.1超声波液位控制系统设计要求: (1)测量液位高度h的范围要求为h5M; (2)能够实现上下液位高度的控制; (3)达到上下限高度时能够自动控制; (4)通过温度检测来对声速进行修正; (5)假如出现故障时可以自动报警; (6)数码管显示;2.2设计具体内容: (1)AT89C51主控单元电路; (2)超声波发射电

14、路; (3)超声波接收电路; (4)温度补偿电路; (5)报警及显示电路; (6)液位控制电路;2.3设计方案超声波液位测量系统主要由AT89C51单片机、温度检测电路、超声波发射电路、超声波接收电路、LED显示电路、报警电路以及控制执行电路等组成。通过超声波液位检测系统对液位的检测所得数据再通过AT89C51单片机的运算控制后,通过液位控制电路(即控制执行电路)控制水位的变化。3 硬件设计3.1 单片机系统单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整得计算机所需要的大部分部件:例如CPU,内存,总线系统等等。而目前普遍使用的单片机有51系列单片机,PIC单片机,AVR单片机。

15、眼下应用的最为广泛的8位单片机还是intel公司开发的51系列单片机。51系列的单片机的特点是:硬件结构比较合理,指令系统规范,再加上它的生产历史悠久,世界范围内有许多的芯片公司都够买了51系列单片机芯片的核心专利技术,并且在51系列的基础之上还扩充了其它的性能,使得现在的芯片的运行速度变得更快,性价比也更高。因此,在本设计当中使用的是AT89C51单片机。3.1.1 AT89C51的性能AT89C51单片机是美国的ATMEL公司生产的具有的低电压,高性能的CMOS8位单片机,片内不仅含有4KB的可以反复擦写的只读程序存储器而且,还有着128字节的随机存储器。AT89C54采用了美国的ATME

16、L公司的高密度非易失存储器制造技术制造,和工业标准上的MCS-51指令集以及输出管脚相兼容,因为AT89C51将多种功能的8位CPU和闪烁存储器组合在了单个芯片当中,同时,ATMEL公司生产的AT89C51还是一种高效的微控制器件,它为很多嵌入式的控制系统提供了一种灵活性非常高并且价格低廉的方案。 AT89C51功能性能:与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器

17、和掉电模式。 3.1.2 AT89C51各引脚功能AT89C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图2所示:图2 AT89C51的引脚图AT89C51芯片的各引脚功

18、能为:P0口:这组引脚共有8条,P0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部接上拉电阻。P1口:这8个引脚和P0口的8个引脚类似,P1.0为最低位,P1.7为最高位,

19、当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:表1 P3口各位的第二功能P3口各位第二功能P3.0 RXT(串行口输入)P3.1 TXD(串行口输出)P3.2/INT0(外部中断0输入)P3.3/

20、INT1(外部中断1输入)P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时器/计数器1的外部输入)P3.6/WR(片外数据存储器写允许) P3.7/RD(片外数据存储器读允许)VCC 为+5V电源线,VSS 接地。ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/EA:片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,若/EA=1

21、,则允许使用片内ROM, 若/EA=0,则只使用片外ROM。/PSEN:片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。3.2外围电路的设计3.2.1超声波的发射压电超声换能器的压电石英晶体是通过谐振器工作来使用的。超声波换能器具有两个压电晶片和一个单板。当它的两极外加脉冲信号

22、时,它的频率等于压电晶片的固有振荡频率,压电谐振的发生,和共振的振动产生的超声波,然后超声波发生器;反之,如果不是两个电极的电压,当共振板接收到超声波,压迫压电振动,机械能量转换为电信号,这时它就成为超声波接收换能器。超声波发射和接收换能器的结构略有不同,应使用设备上的标记。 图3.2.1 超声波发射电路3.2.2超声波的接收超声波接收电路芯片CX20106A是接收红外探测器,经常被用于红外线的遥控接收器。针对红外遥控常使用的载波频率为38KHz超声波的频率和距离较近,可以利用它制作超声波接收电路。实验结果表明,使用CX20106A接收超声(高电平输出信号无),具有良好的灵敏度且它的抗干扰能力

23、也比较强。 图3.2.2超声波检测接收电路3.2.3 LED显示系统设计在单片机应用系统中,显示的两种常用方法:LED数码管静态显示和动态扫描显示。所谓静态显示,每个显示将占用的I / O接口锁存功能的笔段字形代码分离。所以只要单片机显示字体的代码发送到接口电路,不要忽略它,直到显示新数据,然后发送新的字体的代码,因此,该方法使用简单方便。在显示电路的设计,单片机P0 P2口控制数码管显示,此连接到单片机的引脚资源的浪费,但理论知识是比较低的,和超声波发射和接收电路不需要销大量的支持,所以我选择这样的方式。数码管的选择,为了使数码管亮度,我选择了数码管的共阴极数码管脚,获得了很高的水平。显示装

24、置及其驱动电路原理图如图3.2.3所示 图3.2.3显示电路用于显示控制系统的计算机测量和数据有一个发光二极管(LED数码管显示或)和液晶显示器(LCD)。两个显示电路简单,功耗低,成本低,使用寿命长,使用4个LED显示系统的输出结果。阴阳分,数码管,本系统采用8段LED,如图所示,每个数码管的内部有8个发光二极管,阴极公共端由8个发光二极管连接在一起,正常显示公共端低电平(接地),发光二极管是光依赖a-dp引脚是高水平的。形状的LED数码管的结构如图所示,外部有12个引脚,其中数字1、2、3、4也被称为公共选择结束,剩余的8引脚称为段选端,当你想做一个数码管显示数字(0-9(一)必须在数码管

25、的段选端加用数字显示的数字对应的8位的段选码(也被称为字形码),与低水平的选择端耦合。由于系统中显示的内容比较简单,显示数量不多,所以数码管方便、经济。LED具有一个共同的阴极和阳极两。如图所示。二极管的阴极连接在一起,通常公共阴极接地,阳极将发光二极管连接在一起,以获得电压+5V。由8个发光二极管显示,其中7个发光二极管,字体”每个冲程8”(部分)一 G,另一点是DP发光二极管。当一个发光二极管的正向电压必须被应用,中风,是光;当没有电压的黑暗。为了保护LED免受损坏,需要外部电流限制电阻器。 符号和引脚 共阴极 共阳极图3.7 数码管类型 数码管显示有两种工作模式,即静态显示和动态扫描显示

26、模式。为了节省端口和降低功耗,系统采用动态扫描显示模式。动态扫描显示模式解决了一些在LED数码管的“控制”和“控制”的问题,电路通过P0口实现:一个共同的目标,即LED数码管的“控制”,是由P2口控制。此连接线连接在一起的场数,因此,显示不同的内容,必须轮流显示的方式,即,在一个时刻,只是一位字位线的选通,其他每个字中的位线断开状态,而场线的一个相应的输出显示字段代码字符。在这一刻,只有这一个节目,其他几个黑暗。在这个系统中,该字线选通不通过npn8050三极管的导通与截止的控制,即晶体管在“开始”状态。(1) LED基本结构LED显示器组成的多个发光二极管显示装置显示。单片机的使用是在七段数

27、码显示最。七段LED数码显示由8个发光二极管LED显示领域,7被安排在一个“日”形,另一个点的发光二极管显示右下角显示一个小数点,可以显示不同的组合不同的数字。LED引脚说明如图3.2.3(1)所示:图3.2.3(1)LED引脚排列 (2) LED译码方式解码方法由显示字符定义的转换得到相应的域代码,对LED数码管显示,硬件解码软件解码模式两种译码通常。硬件解码是指将使用特殊的硬件电路的字符代码显示。软件解码是写软件解码程序,译码程序是要显示的域代码的字符,解码过程通常查表程序。为了系统简化了硬件电路的设计,通过软件编程的LED译码。由于本设计采用共阳极LED,对应的字符、字段代码如表2所示:

28、表2 八段共阳LED数码显示管字形码表显示字符共阳极字段码显示字符共阳极字段码0C0H592H1F9H662H2A4H7F8H3B0H880H499H990H3.2.4电源电路 本系统采用市电220V,50Hz供电,而单片机以及其它芯片均采用直流5V和12V电压供电。故需要设计降压电路。本电路使用了由LM7805和LM7812构成的桥式稳压整流电路。电路如图3.2.4所示。图3.2.4电源电路减压后,整流桥,为单片机和其他设备的电源电压和直接过滤LM7805,齐纳二极管/电阻组合方案,LM7805、LM7812通常达两个数量级,提高有效输出阻抗,低静态电流。LM7805、LM7812可以提供本

29、地的卡监管,结合单点的调整,解决分配问题。由于有足够的热定型,LM7805、LM7812稳压器可提供100mA的输出电流,但也包括电流限制功能,限制在安全值范围内的峰值输出。LM7805、LM7812为输出晶体管提供安全区的保护,限制内部功耗。如果在耗散范围内功率,热关断电路将防止经济过热,芯片。3.2.5报警电路对于一些紧急或异常情况,可以使操作人员不可忽视,以便及时处理,常常需要有更多的关注将意识产生报警信号,报警信号通常有三种类型:闪光报警器,蜂鸣器报警,语音报警,系统采用压电蜂鸣器报警电路简单、方便。如图3.2.5所示的报警电路,压电蜂鸣器报警装置,它需要大约10毫安驱动电流,仅在两个

30、直流电压引线和3 15V,可以产生3或嗡嗡声,结束在蜂鸣器连接到+5 V的高水平,另一端连接在初始状态pl.4,pl.4总是输出一个高水平的1,当需要报警时,其端口程序可以实现零,声音控制可延时程序。 图3.2.5 报警电路3.2.6控制电路控制系统部分是以AT89C51单片机为核心芯片,外加其他相关硬件来实现的液位控制系统,利用超声波液位检测系统来检测水位高度,并通过LED来显示。报警电路用来实施报警安全提示,当液位低于用户设定的值时,液位控制系统自动打开泵上水,当水位到达设定值时,系统自动关闭水泵或打开排水泵。 图3.2.6 控制电路3.3控制系统的设计3.3.1系统硬件方案系统方案设计液

31、位控制是利用把超声波液位检测系统检测到的液位的状态通过AT89C51把输出状态直接接到单片机的I/O接口,单片机经过运算控制,输出数字信号,输出接口接LED进行显示,实现液位的报警和键盘的显示与控制;图2即是液位控制系统:超声波液位检测系统控制执行装置 图3.3.1 液位控制系统 由上图可观察到超声波检测系统对液面进行测量,通过AT89C51单片机的运算控制,再通过对阀门的开启实现对水体的液位进行调节控制,阀门的驱动设备是电动机。3.3.2水位液位控制原理系统设置液位上下限A、B,在下限位置下设置一报警液位C,在上限位置上设置一报警液位D。并用其来表示可以允许的液位变化的上、下限位置。在正常情

32、况下水位应控制在上下限范围之内。其中,A在下限水位B在上限水位。利用AT89C51单片机控制电机带动水泵供水。随着供水,水面液位会逐渐上升当水位上升到上限水位的时候,控制系统控制电机和水泵停止工作,不在供水;当水位处于上、下限之间时,此时无论是电机带动水泵给供水,使水位上升,还是电机不工作,水位不断下降,都会继续维持原有的工作状态;当水位处于下限位置以下时,控制系统控制电机转动,带动水泵给供水。水位检测是通过超声波液位检测系统来进行水位高度的检测的。在系统的设定中从上到下的第一道位置设定为水位的上限报警线,也就是说当水面液位高于这一系统的设置位置时,开水阀的控制系统即进入自动报警环节,以此来告

33、诉工作人员注意,加水电磁阀极有可能出现了故障,从而无法进行正常的工作,需要人为的干预;系统设定的第二个位置的含义是控制系统控制加水阀自动停止加水的位置线,也就是说当水位高于此位置时,控制系统会自动关闭加水电磁阀,从而达到停止供水的目的;系统设置的第三个位置是自动加水线,也就是说当水位低于这一系统设定的位置时,控制系统将会自动接通加水电磁阀,从而达到开始供水的目的;系统设置的第四个位置是水位下限报警线,也就是说当水面的液位低于此处时,控制系统将会自动接通报警电路从而报警,以提醒人们注意到,加水电磁阀可能出故障如图3.3.2。 图3.3.2 水位控制流程图4软件系统超声波测距系统的软件设计主程序,

34、超声波发射,超声波接收中断程序、显示子程序。我们知道C语言程序来实现复杂的算法,汇编语言程序具有较高的效率和简单的计算程序运行的时间,和超声波测距仪的程序需要一个更复杂的计算(计算的距离),所以控制程序可以使用C语言编程。4.1超声波测量距离的原理超声波测距的原理为通过超声波发生器发出信号,接收信号,并记录信号发出经反射到接收这段的时间t。假设T为超声波信号发出那一时刻的时间,发出的信号经反射后被接受到。在本设计中只要计算出从发出超声波信号到接收到返射信号所用的时间,即可得出超声波发生器与水位液面的距离。距离的计算公式为: d=s/2=ct/2 (4-1)其中,d为测距仪与被测物的距离,s是d

35、的两倍,c为声速,t为声波从发射到接收所用的时间。4.2 主程序流程图4.2.1定时控制部件定时控制部分起着控制作用,由定时控制逻辑,指令寄存器(IR)和振荡器(OSC)电路。指令寄存器(IR)是用来存储从程序存储器指令,定时控制逻辑是用于解码指令,IR,和OSC定时脉冲产生的指令,以完成相应的指令执行 18 。定时控制部分起着控制作用,由定时控制逻辑,指令寄存器(IR)和振荡器(OSC)电路。指令寄存器(IR)是用来存储从程序存储器指令,定时控制逻辑是用于解码指令,IR,和OSC定时脉冲产生的指令,以完成相应的指令执行。OSC是心的控制器,可提供时钟控制器。引脚XTAL1反向放大输入管Q4,

36、XTAL2是对第二季度产量。只要引脚XTAL1和XTAL2外部定时反馈回路,振荡器产生的时钟频率的矩形脉冲序列,是一个重要的性能指标,单片机。时钟频率高,单片机控制节奏更快,更快。也决定了系统时钟和定时器的时钟频率。4.2.2中断系统 每个中断源都可以用一个SFR (IE-EIE2)中的相关中断允许位允许或禁止,但是必须首先置1EA 位(IE.7)以保证每个单独的中断允许位有效。不管每个中断允许位的设置如何,清0EA 位将禁止所有中断。 根据以上所述的系统硬件的设计和所完成功能,系统软件需要实现以下功能:4.2.3信号控制在超声波液位控制系统的硬件设计当中,我们己经完成了对超声波发射电路、超声

37、波的回波检测电路、报警电路、显示电路、控制执行电路等的设计。而在超声波液位控制系统的软件中,我们则要完成发射脉冲信号以及对回波信号的数据采集。4.2.4数据存储为了得到超声波的发射信号与接收到的回波信号之间的时间差,我们需要读出此刻计数器上的数值,然后把它存储在RAM当中,而且在每次发射的周期开始时,都需要把计数器进行清零处理。4.2.5信号处理RAM中存储的计数值并不能作为距离值直接显示输出,因为计数值为十六进制数,先要将十六进制数转换为十进制数,然后根据计数值与实际距离的转换公式计算出距离值。软件分为两部分,主程序和中断服务程序。主程序完成初始化工作。如图4.2.5所示为系统的主程序流程。

38、 外部中断子程序 开始 程序初始化 定时中断子程序 收到回波 结束是 否 图4.2.5 主程序流程图定时中断服务子程序完成超声波的发射和接收,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。程序流程图为图4.2.5(1),图4.2.5(2)。定时中断入口定时器初始化发射超声波发射完否 停止发射 结束 结束 开外部中断 输出结果 计算距离 读取时间值 关外部中断 外部中断入口图4.2.5(2) 外部中断服务子程序 否 是 图4.2.5(1)定时服务 4.3编译环境C语言的使用必须使用C编译器,为了写一个C程序编译成机器码,这样单片机才能执行编写好的程序。KeiluVision

39、3是一位优秀的软件很多单片机应用开发的软件,它支持许多不同的公司MCS51芯片系统结构,包括编辑,编译,仿真等于一体,同时还支持PLM,程序设计,汇编和C语言,它的界面和常用的微软VC+界面相似,界面友好,简单易用,在调试过程中,仿真软件具有很强的功能。所以很多51应用工程师或普通单片机”的发展。 参考文献1 蔡朝洋.单片机控制实习与专题制作M.北京:北京航空航天大学出版社,2006.2 彭伟.单片机C语言程序设计实训100例,基于8051+Proteus仿真M.北京:电子工业出版社,2009.3 康华光.电子技术基础模拟部分M.北京:高等教育出版社,2006.4 胡汉才.单片机原理及其接口技

40、术M.北京:清华大学出版社,2004.5 沙占友.单片机外围电路设计M.北京:电子工业出版社,2006.6 于永,戴佳,常江.51单片机C语言常用模块与综合系统设计实例精讲M.北京:电子工业出版社,2007.8 江志红.51单片机技术应用系统开发案例精选M.北京:清华大学出版社,2008.9 马忠梅.51单片机C语言应用程序设计M.北京:北京航空航天大学出版社,2007.10 周润景.Proteus在MCS-51&ARM7系统中的应用百例M.北京:电子工业出版社,2006.11 陈明莹.8051单片机基础教程M.北京:电子工业出版社,2006.12 J.B. Zhou.Applying of

41、C8051F020 MCU in nuclear spectrum acquisition system. He dian zi xue Yu Tance Jishu/Nuclear Electronics and detection Technology M.2005.13 E.E.Solomon.Fire alarm system reliability J.Consulting-Specifying Engineer.1987.14 F.Wan.Development of driving and sampling circuit for CCD based on C8051F020 M

42、.2005.15 楼然苗.51系列单片机设计实例M .北京: 北京航空航天大学出版社,1998.199204.致谢在本次设计中,我得到了马崇霄老师的精心指导,自始至终关心督促毕业设计的进度和质量。帮我解决了很多设计中遇到的难题。由于毕业设计不同于以往的课程设计,它综合了我们这四年来所学专业课的诸多内容,是我们对大学所学知识的总结。由于设计内容较多,所以在设计过程中不可避免的遇到了许多问题,但是因为有马老师的精心指导,为我的设计提出了很多好的方法和建议,使我在设计的过程中避免了许多弯路,同时也使我省出时间更好的完善设计的内容等。总之,衷心的感谢马崇霄老师在此次设计中对我提供的帮助,让我对自己的设

43、计有更深的理解,也让自己更加自信!附录 /超声波液位控制程序清单:/晶振=12MHz/MCU=AT89C51/P0.0-P0.7共阳数码管引脚/Trig = P10/Echo = P32#include /包括一个51标准内核的头文件#define uchar unsigned char /定义一下方便使用#define uint unsigned int#define ulong unsigned long/*sfr CLK_DIV = 0x97; /为AT单片机定义,系统时钟分频 /为AT单片机的IO口设置地址定义sfr P0M1 = 0X93;sfr P0M0 = 0X94;sfr P1

44、M1 = 0X91;sfr P1M0 = 0X92;sfrP2M1 = 0X95;sfrP2M0 = 0X96;/*sbit Trig = P10; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit test = P11; /测试用引脚uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/数码管0-9uint distance4; /测距接收缓冲区uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; /自定义寄存器bit succeed_flag; /

45、测量成功标志/*函数声明void conversion(uint temp_data);void delay_20us();/void pai_xu();void main(void) / 主程序 uint distance_data,a,b; uchar CONT_1; CLK_DIV=0X03; /系统时钟为12MHz晶振 P0M1 = 0; /将io口设置为推挽输出 P1M1 = 0; P2M1 = 0; P0M0 = 0XFF; P1M0 = 0XFF; P2M0 = 0XFF; i=0; flag=0;test =0;Trig=0; /首先拉低脉冲输入引脚TMOD=0x11; /定时

46、器0,定时器1,16位工作方式TR0=1; /启动定时器0 IT0=0; /由高电平变低电平,触发外部中断ET0=1; /打开定时器0中断 /ET1=1; /打开定时器1中断EX0=0; /关闭外部中断EA=1; /打开总中断0 while(1) /程序循环EA=0;Trig=1;delay_20us();Trig=0; /产生一个20us的脉冲,在Trig引脚 while(Echo=0); /等待Echo回波引脚变高电平succeed_flag=0; /清测量成功标志EX0=1; /打开外部中断TH1=0; /定时器1清零TL1=0; /定时器1清零TF1=0; /TR1=1; /启动定时器

47、1EA=1;while(TH1 30);/等待测量的结果,周期65.535毫秒(可用中断实现) TR1=0; /关闭定时器1EX0=0; /关闭外部中断if(succeed_flag=1) distance_data=outcomeH; /测量结果的高8位distance_data=3) CONT_1=0; b=a; conversion(b); / i=0; / /*/外部中断0,用做判断回波电平INTO_() interrupt 0 / 外部中断是0号 outcomeH =TH1; /取出定时器的值 outcomeL =TL1; /取出定时器的值 succeed_flag=1; /至成功测

48、量的标志 EX0=0; /关闭外部中断 /*/定时器0中断,用做显示timer0() interrupt 1 / 定时器0中断是1号 TH0=0xfd; /写入定时器0初始值 TL0=0x77; switch(flag) case 0x00:P0=ge; P2=0xfd;flag+;break; case 0x01:P0=shi;P2=0xfe;flag+;break; case 0x02:P0=bai;P2=0xfb;flag=0;break; /*/*/定时器1中断,用做超声波测距计时timer1() interrupt 3 / 定时器0中断是1号 TH1=0;TL1=0; */*/显示数

49、据转换程序void conversion(uint temp_data) uchar ge_data,shi_data,bai_data ; bai_data=temp_data/100 ; temp_data=temp_data%100; /取余运算 shi_data=temp_data/10 ; temp_data=temp_data%10; /取余运算 ge_data=temp_data; bai_data=SEG7bai_data; shi_data=SEG7shi_data; ge_data =SEG7ge_data; EA=0; bai = bai_data; shi = shi_data; ge = ge_data ; EA=1; /*void delay_20us() uchar bt ; for(bt=0;btdistance1) t=distance0;distance0=distance1;distance1=t; /*交换值 if(distance0distance2) t=distance2;distance2=distance0;distance0=t; /*交换值 if(distance1distance2) t=distance1;distance1=distance2;distance2=t; /*交换值 */

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

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

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


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