超声波测距仪实验报告
超声波测距实验报告
超声波测距实验报告1. 实验目的1.掌握超声波测距的基本原理;2.熟悉超声波测距仪器的使用;3.培养实验操作能力和数据处理能力。
2. 实验原理超声波测距是利用超声波在空气中的传播速度和反射原理,通过测量超声波发射和接收之间的时间间隔来计算被测物体与测距仪之间的距离。
超声波在空气中的传播速度约为 340 m/s。
3. 实验器材与步骤3.1 器材1.超声波测距仪;2.连接线;3.测量物体。
3.2 步骤1.连接超声波测距仪与电源;2.打开超声波测距仪,进行自检;3.将测量物体放置在合适的位置;4.调整超声波测距仪的测量范围;5.记录测量数据;6.分析数据,计算距离。
4. 实验数据与分析本实验共进行五次测量,记录数据如下:序号 | 测量距离(cm) | 误差(cm) |— | ———— | ——– |1 | 150.0 | 2.0 |2 | 152.5 | 1.5 |3 | 148.0 | 2.0 |4 | 151.0 | 1.0 |5 | 149.5 | 1.5 |平均距离 = (150.0 + 152.5 + 148.0 + 151.0 + 149.5) / 5 = 150.0 cm最大误差 = 2.0 cm最小误差 = 1.0 cm5. 实验总结本次实验掌握了超声波测距的基本原理和操作方法,通过对测量数据的分析,得出被测物体与测距仪之间的平均距离为 150.0 cm,最大误差为 2.0 cm,最小误差为 1.0 cm。
实验结果表明,超声波测距技术在实际应用中具有较高的准确性和可靠性。
6. 建议与改进1.在实验过程中,要确保测量物体与测距仪之间的距离在测距仪的测量范围内;2.提高实验操作技巧,减小人为误差;3.后续可以尝试使用不同类型的超声波测距仪进行实验,比较其性能和精度。
7. 实验拓展7.1 超声波测距的应用领域超声波测距技术广泛应用于工业、农业、医疗、交通、安防等领域,例如:1.工业领域:测量物体的尺寸、厚度、距离等;2.农业领域:测量土壤湿度、作物高度等;3.医疗领域:测量人体内部器官的距离、厚度等;4.交通领域:车辆测距、速度检测等;5.安防领域:监控设备、报警系统等。
超声波测距实验报告
目录1、课题设计的目的和意义 (3)2、课题要求 (3)2.1、基本功能要求 (3)2.2、提高要求 (4)3、重要器件功能介绍 (4)3.1、CX20106A红外线发射接收专用芯片 (4)3.2、AT89C51系列单片机的功能特点 (5)3.3、ISD1700优质语音录放电路 (6)4、超声波测距原理 (8)4.1、超声波测距原理图 (8)4.2、超声波测距的基本原理 (9)5、硬件系统设计 (10)5.1、超声波发射单元 (10)5.2、超声波接收单元 (11)5.3、显示单元 (11)5.4、语音单元 (12)5.5、硬件设计中遇到的难题: (12)6、系统软件设计 (14)7、调试与分析 (15)7.1调试 (15)7.2误差分析 (15)8、总结 (16)9、附件 (17)9.1、总电路 (17)9.2、主要程序 (18)10、参考文献 (22)1课题设计的目的及意义随着科学技术的快速发展,超声波在测距仪中的应用越来越广,但就目前技术水平而言,人们可以利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距作为一种新型的非常重要有用的工具在各方面都有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。
如声纳的发展趋势:研究具体的高定位精度的被动测距声纳,以满足军事和渔业等的发展需求,实现远程的被动探测和识别。
毋庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
超声波测距在某些场合有着显著的优点,因为这种方法是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,因此它是一种非接触式的测量,所以他就能够在某些场合或环境比较恶劣的环境下使用。
比如测有毒或者有腐蚀性化学物质的液面高度或者高速公路上快速行驶汽车之间的距离。
随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最注重发展到具有创造力。
课程设计实验报告-超声波测距仪的设计
超声波测距仪的设计一、设计目的本设计利用超声波传输中距离与时间的关系,采用STC51单片机进行控制和数据处理,设计出能够精确测量两点间距离的超声波测距仪。
同时了解单片机各脚的功能,工作方式,计数/定时,I/O口的相关原理,并稳固学习单片机的相关内容知识。
二、设计要求1.设计一个超声波测距仪,能够用四段数码管准确显示所测距离2.精度小于1CM,测量距离大于200CM三、设计器材元器件数量STC51单片机 1个超声波测距模块URF-04 1个电阻〔1K 200 4.7K〕 3 个晶振〔12MHz〕 1 个共阳极四位数码管 1 个极性电容〔33pF〕 2 个非极性电容〔22uF〕 1 个四、超声波测距系统原理331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以到达毫米级。
超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米〔15℃时〕。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,那么有340m×0.03S=10.2m。
由于在这10.2m 的时间里,超声波发出到遇到返射物返回的距离如下:图1 测距原理超声波测距器的系统框图如下列图所示:图2 系统框图五、设计方案及分析〔包含设计电路图〕4.1硬件电路设计4.1.1 单片机最小系统控制模块设计与比拟方案二:采用STC51单片机控制。
STC51单片机是一种低功耗、高性能CMOS8位微控制器,具有 8KB的系统可编程Flash 存储器。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路,能够满足题目设计的所有要求,而且我们对STC51单片机也比拟熟悉,因此我们选择方案二。
最小系统电路图如图3所示图3 单片机最小系统显示模块设计采用四位共阳极数码管显示,连接电路简单,显示电路连接图如图4所示图4 数码管显示电路超声波测距模块a.本系统采用超声波模块URF04进行测距,该模块使用直流5V供电,理想条件下测距可达500cm,广泛应用于超声波测距领域,模块性能稳定,测度距离精确,盲区〔2cm〕超近。
超声测距实验报告
超声测距实验报告一、实验目的本次超声测距实验的主要目的是研究和掌握利用超声波进行距离测量的原理和方法,并通过实际操作和数据分析,评估测量系统的精度和可靠性。
二、实验原理超声波是一种频率高于 20kHz 的机械波,其在空气中传播时具有良好的指向性和反射特性。
超声测距的基本原理是利用超声波在发射后遇到障碍物反射回来的时间差来计算距离。
具体计算公式为:距离=(超声波传播速度×传播时间)/ 2 。
在常温常压下,空气中超声波的传播速度约为 340 米/秒。
通过测量超声波从发射到接收的时间间隔 t,就可以计算出距离。
三、实验仪器与材料1、超声测距模块:包括发射探头和接收探头。
2、微控制器:用于控制超声模块的工作和处理数据。
3、显示设备:用于显示测量结果。
4、电源:为整个系统供电。
5、障碍物:用于反射超声波。
四、实验步骤1、硬件连接将超声测距模块的发射探头和接收探头正确连接到微控制器的相应引脚。
连接电源,确保系统正常供电。
将显示设备与微控制器连接,以便显示测量结果。
2、软件编程使用相应的编程语言,编写控制超声模块工作和处理数据的程序。
实现测量时间的计算和距离的换算,并将结果输出到显示设备。
3、系统调试运行程序,检查系统是否正常工作。
调整发射功率和接收灵敏度,以获得最佳的测量效果。
4、测量实验将障碍物放置在不同的距离处,进行多次测量。
记录每次测量的结果。
五、实验数据与分析以下是在不同距离下进行多次测量得到的数据:|距离(米)|测量值 1(米)|测量值 2(米)|测量值 3(米)|平均值(米)|误差(米)||||||||| 05 | 048 | 052 | 050 | 050 | 000 || 10 | 095 | 105 | 100 | 100 | 000 || 15 | 148 | 152 | 150 | 150 | 000 || 20 | 190 | 205 | 195 | 197 | 003 || 25 | 240 | 255 | 245 | 247 | 003 || 30 | 290 | 305 | 295 | 297 | 003 |通过对实验数据的分析,可以看出在较近的距离(05 米至 15 米)内,测量误差较小,基本可以准确测量。
超声波测量检测实训报告
一、实验目的1. 熟悉超声波测量检测的基本原理和实验方法;2. 掌握超声波测距仪器的操作技能;3. 学会利用超声波测量检测技术进行实际应用;4. 提高分析问题和解决问题的能力。
二、实验原理超声波是一种频率高于人类听觉上限(20kHz)的声波。
超声波在介质中传播时,其传播速度与介质的密度、弹性模量等因素有关。
超声波测量检测技术利用超声波的这些特性,通过测量超声波在介质中的传播时间或反射时间来获取距离信息。
三、实验仪器与设备1. 超声波测距仪;2. 超声波发射器;3. 超声波接收器;4. 数字示波器;5. 电源;6. 测量距离的标尺;7. 实验平台。
四、实验内容1. 超声波测距仪器的使用与操作;2. 超声波传播速度的测量;3. 超声波反射系数的测量;4. 超声波衰减系数的测量;5. 超声波测距的实际应用。
五、实验步骤1. 超声波测距仪器的使用与操作(1)打开超声波测距仪,调整仪器至正常工作状态;(2)根据实际需求,选择合适的测量模式(如距离测量、速度测量等);(3)将超声波发射器固定在实验平台上,确保发射器与接收器之间的距离固定;(4)将超声波接收器放置在距离发射器一定距离的位置;(5)启动超声波测距仪,观察测量结果。
2. 超声波传播速度的测量(1)根据实验要求,设置超声波发射器与接收器之间的距离;(2)启动超声波测距仪,记录超声波往返传播时间;(3)根据超声波往返传播时间,计算超声波在介质中的传播速度。
3. 超声波反射系数的测量(1)将超声波发射器与接收器之间的距离设置为固定值;(2)启动超声波测距仪,记录超声波往返传播时间;(3)根据超声波往返传播时间,计算超声波在介质中的传播速度;(4)利用超声波传播速度和超声波发射器与接收器之间的距离,计算超声波的反射系数。
4. 超声波衰减系数的测量(1)根据实验要求,设置超声波发射器与接收器之间的距离;(2)启动超声波测距仪,记录超声波往返传播时间;(3)根据超声波往返传播时间,计算超声波在介质中的传播速度;(4)利用超声波传播速度和超声波发射器与接收器之间的距离,计算超声波的衰减系数。
超声波测距仪实训报告
超声波测距仪实训报告一、实训目的本次超声波测距仪实训的主要目的是让我们深入了解超声波测距的原理和应用,通过实际操作和调试,掌握超声波测距仪的设计、制作和调试方法,提高我们的实践动手能力和解决问题的能力,同时培养我们的团队合作精神和创新思维。
二、实训原理超声波测距的原理是利用超声波在空气中的传播速度和往返时间来计算距离。
超声波发生器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
已知超声波在空气中的传播速度为 340 米/秒,根据计时时间 t 就可以计算出发射点距障碍物的距离 s,即 s = 340t/2。
三、实训设备与材料1、超声波传感器模块(包括发射探头和接收探头)2、单片机开发板3、显示屏4、杜邦线若干5、面包板6、电源适配器四、实训步骤1、硬件电路设计将超声波传感器模块与单片机开发板进行连接,使用杜邦线将发射探头连接到单片机的某个输出引脚,接收探头连接到单片机的某个输入引脚。
将显示屏连接到单片机的相应引脚,以便显示测量到的距离值。
2、软件编程选择合适的编程语言和开发环境,如 C 语言和 Keil 软件。
编写初始化程序,包括单片机引脚的配置、定时器的设置等。
编写超声波发射和接收的控制程序,实现超声波的发射和接收,并计算往返时间。
根据距离计算公式,将计算得到的距离值转换为合适的格式,并通过显示屏进行显示。
3、系统调试硬件调试:检查电路连接是否正确,电源是否正常,传感器是否工作正常等。
软件调试:通过单步调试、设置断点等方式,检查程序的执行流程和计算结果是否正确。
综合调试:将硬件和软件结合起来进行调试,不断修改和优化程序,直到系统能够稳定准确地测量距离。
五、实训过程中遇到的问题及解决方法1、测量误差较大问题描述:测量得到的距离值与实际距离存在较大偏差。
原因分析:可能是由于超声波在空气中的传播受到温度、湿度等环境因素的影响,也可能是由于硬件电路的干扰或者软件算法的不完善。
超声波测距实训报告结尾
首先,通过本次实训,我们明白了超声波测距技术的原理和应用。
超声波测距仪利用超声波的传播特性,通过测量声波在介质中传播的时间,从而计算出目标物体的距离。
这种非接触式的测量方法,具有精度高、速度快、不受光照和介质影响等优点,在工业、农业、医疗、科研等领域有着广泛的应用前景。
在实训过程中,我们首先学习了超声波测距仪的组成及工作原理。
通过阅读相关资料,我们了解了超声波传感器、单片机、显示屏等关键部件的功能和作用。
在此基础上,我们通过实验验证了超声波在空气中的传播速度,为后续的测距计算奠定了基础。
接下来,我们学习了超声波测距仪的设计与制作。
在老师的指导下,我们完成了电路图的绘制、元器件的选型、电路板的制作和焊接等工作。
在这个过程中,我们遇到了许多困难,如电路板焊接不良、传感器参数不匹配等。
但在老师和同学的帮助下,我们逐一解决了这些问题,最终成功制作出了自己的超声波测距仪。
在测试阶段,我们进行了多次实验,测试了测距仪在不同距离、不同角度、不同环境下的测量精度。
实验结果表明,我们的超声波测距仪在距离范围内具有较高的测量精度,且稳定性较好。
此外,我们还尝试了不同的超声波传感器和单片机,发现不同的组合会对测量结果产生一定影响,这为我们后续的优化工作提供了参考。
在实训过程中,我们还学习了如何利用单片机编程控制超声波测距仪。
通过学习C 语言编程,我们掌握了单片机的基本原理和编程方法。
在编程过程中,我们学会了如何读取传感器数据、计算距离、显示结果等。
这些技能对我们今后的学习和工作具有重要意义。
总结本次实训,我们有以下几点收获:1. 深入了解了超声波测距技术的基本原理和应用领域;2. 提升了动手能力和解决问题的能力;3. 掌握了电路设计、焊接、编程等技能;4. 增强了团队合作意识和沟通能力。
当然,在实训过程中我们也发现了一些不足之处:1. 测距仪的测量精度有待提高;2. 软件功能较为简单,有待进一步优化;3. 实验环境对测量结果有一定影响,需要进一步研究。
超声波测距实训报告格式
一、实训目的1. 掌握超声波测距的基本原理和操作方法。
2. 学会使用超声波测距模块进行实际测量。
3. 熟悉超声波测距系统的硬件组成和软件编程。
4. 提高非接触式测距技术的应用能力。
二、实训时间2023年X月X日至2023年X月X日三、实训地点XXX实验室四、实训器材1. 超声波测距模块2. 单片机或微控制器(如Arduino)3. 连接线4. 电源5. 计算器6. 实验台五、实训原理超声波测距是基于超声波在介质中传播的速度和时间关系进行距离测量的技术。
当超声波从发射器发出后,遇到障碍物会被反射回来,接收器接收到反射波后,通过计算超声波往返时间,即可得到障碍物与发射器之间的距离。
六、实训步骤1. 硬件连接(1)将超声波测距模块的发射引脚和接收引脚分别连接到单片机或微控制器的数字输出和数字输入引脚。
(2)将电源连接到单片机或微控制器的电源引脚。
(3)将单片机或微控制器连接到电脑,用于程序下载和调试。
2. 软件编程(1)编写程序,设置超声波模块的引脚模式,包括发射和接收引脚的模式。
(2)编写程序,控制超声波模块发射超声波信号。
(3)编写程序,读取接收到的反射波信号,计算超声波往返时间。
(4)编写程序,根据超声波往返时间和声速计算距离。
3. 实验操作(1)将单片机或微控制器程序下载到设备中。
(2)将设备放置在合适的位置,确保超声波模块能够发射和接收信号。
(3)启动程序,观察距离显示结果。
4. 数据分析(1)记录不同测量条件下的距离值。
(2)分析距离值与实际距离之间的误差。
(3)讨论误差产生的原因。
七、实训结果1. 测量距离范围:0.3米至5米2. 测量精度:±1厘米3. 距离显示:通过单片机或微控制器显示,可实时更新八、实训总结1. 通过本次实训,掌握了超声波测距的基本原理和操作方法。
2. 学会了使用超声波测距模块进行实际测量,并了解了超声波测距系统的硬件组成和软件编程。
3. 提高了非接触式测距技术的应用能力,为今后的学习和工作打下了基础。
超声波测距实习报告
一、实习背景随着科技的不断发展,超声波测距技术逐渐在各个领域得到广泛应用。
为了提高自身实践能力,了解超声波测距技术在实际应用中的原理和操作,我参加了本次超声波测距实习。
二、实习目的1. 了解超声波测距的基本原理及工作流程;2. 掌握超声波测距仪的使用方法及注意事项;3. 培养动手能力和团队合作精神;4. 提高对超声波测距技术在实际应用中的认识。
三、实习内容1. 超声波测距原理及工作流程超声波测距是利用超声波在介质中传播的速度和反射原理来测量距离的一种技术。
当超声波发射器发出超声波后,在遇到障碍物时,部分超声波会被反射回来。
通过测量发射超声波和接收反射超声波之间的时间差,可以计算出障碍物与测距仪之间的距离。
超声波测距工作流程如下:(1)发射器发射超声波;(2)超声波遇到障碍物后反射回来;(3)接收器接收反射回来的超声波;(4)计算发射和接收之间的时间差;(5)根据超声波在介质中的传播速度,计算出障碍物与测距仪之间的距离。
2. 超声波测距仪的使用方法及注意事项(1)使用前,确保超声波测距仪的电源充足,避免因电量不足导致测量误差;(2)将测距仪放置在平稳的表面上,避免因震动导致测量误差;(3)调整测距仪的量程,使其适应被测物体的距离;(4)根据需要,调整测距仪的发射角度,确保超声波能够有效传播;(5)在测量过程中,避免测距仪受到其他信号的干扰;(6)测量完成后,关闭测距仪,确保设备安全。
3. 实际操作在实习过程中,我们使用超声波测距仪对实验室内的物体进行了测量。
具体操作如下:(1)将测距仪放置在平稳的桌面上;(2)调整测距仪的量程,使其适应被测物体的距离;(3)调整测距仪的发射角度,确保超声波能够有效传播;(4)按下测距仪的测量按钮,开始测量;(5)观察测距仪的显示屏,读取测量结果;(6)重复以上步骤,对多个物体进行测量。
四、实习心得通过本次超声波测距实习,我深刻认识到以下几方面:1. 超声波测距技术在实际应用中的重要性;2. 掌握超声波测距仪的使用方法及注意事项对于提高测量精度至关重要;3. 动手能力在实践过程中得到了锻炼,为今后的工作积累了宝贵经验;4. 团队合作精神在实习过程中得到了体现,为今后的团队协作打下了基础。
超声波测距实验报告
超声波测距模块工作原理
超声波发射器发射 一组超声波脉冲
脉冲遇到物体后反 射回来
超声波接收器接收 反射回来的脉冲
通过计算发射和接 收脉冲之间的时间 差,得到物体与传 感器之间的距离
编写Arduino程序,控制 超声波传感器发送和接收 信号
连接Arduino板与电脑, 上传程序并运行
调整超声波传感器的角度 和位置,确保测量距离准 确
开始测量
准备超声波传感器和Arduino板 连接超声波传感器和Arduino板 编写程序,设置触发和接收引脚 启动Arduino板,开始测量距离
数据记录和处理
添加标题
添加标题
添加标题
添加标题
拓展应用场景:将超声波测距技术 应用于更多领域,如自动驾驶、智 能机器人等。
降低成本:通过优化设计和生产工艺, 降低超声波传感器和测距系统的成本, 使其更广泛地应用于各种领域。
感谢您的观看
汇报人:XX
实验步骤
准备实验器材
超声波传感器 添加标题
连接线 添加标题
添加标题 Arduino开发板
添加标题 面包板
跳线 添加标题
测量工具 添加标题
添加标题 电脑和软件
添加标题 实验环境
搭建实验装置
准备超声波传感器、 Arduino板、面包板、跳 线等材料
连接超声波传感器与 Arduino板的引脚
连接Arduino板与面包板 的引脚
学会使用超声波传感器进行距离测 量
学会分析实验数据,得出结论
掌握数据处理和分析技巧
学习如何使用超声波传感器进行距 离测量
超声波测距实验报告
超声波测距系统实物设计报告一.设计要求1.测量距离不小于0.3米,数字显示清晰,无数字叠加,动态显示测量结果,更新时间约为0.5秒左右。
2.测量精度优于0.1米,显示精度0.01米。
3.距离小于0.3米时,蜂鸣器发出”嘀嘀”报警。
4.测量距离超过1.0米时,指示灯显示超量程。
二.系统设计思路1.原理框图2.系统组成模块(一)(一)40KHZ 40KHZ 方波产生电路1、分析:利用555定时器组成的多谐振荡器作为时钟信号的产生电路,通过理论计算加上微调电阻和电容的值,得到所需频率的矩形波,当R2远大于R1时,矩形波的占空比接近50%50%,可近似为方波。
,可近似为方波。
超声波振荡器控制门超声波放大器闸门CP 信号(2Hz )计数开启清零计数超声波放大滤波正弦波前沿检测超声波接收器超量程灯光显示小于0.3米蜂鸣报计数显示电路反射物超声波发射器17KHzCP 2、单元电路如下图;3、参数计算:4、仿真结果:(二)(二)2Hz 2Hz 时钟信号发生电路:时钟信号发生电路:1、分析:利用555定时器组成的多谐振荡器作为时钟信号的产生电路,定时器组成的多谐振荡器作为时钟信号的产生电路,通过通过理论计算加上调整电阻和电容的值,得到所需频率的矩形波。
其中占空比在70%70%以上。
以上。
以上。
2、单元电路如下所示:参数计算:R1=710K 欧,R2=375欧,C1=1微F (三)17kHz 时钟信号发生电路:时钟信号发生电路:1、分析:利用555定时器组成的多谐振荡器作为时钟信号的产生电路,定时器组成的多谐振荡器作为时钟信号的产生电路,通过通过理论计算加上调整电阻和电容的值,得到所需频率的矩形波。
理论计算加上调整电阻和电容的值,得到所需频率的矩形波。
2、单元电路如下所示:3、参数计算:R1=1K 欧,R2=395欧,C5=47nf ;4、仿真5、功能:数字显示的测量结果要求动态更新时间约0.5秒左右,所以要求一个频率约2Hz 的时钟信号来控制刷新数据,保证结果显示稳定不闪烁。
超声波测距仪实验报告
课题名称:超声波测距仪班级:应用电子0901:吴星超学号:0503090128指导老师:文博前言随着人类社会从工业化社会到信息化社会的发展,视觉传达设计经历了商业美术、工艺美术、印刷美术设计、装潢设计、平面设计等几大阶段的演变,最终成为以视觉媒介为载体,利用视觉符号表现并传达信息的设计。
对于每一位“为传达而设计”的设计者来说,如何正确、充分地传达信息是我们始终要面临的中心问题。
但是,在当今社会,由于科技的进步,社会环境和社会秩序的更新,各种视觉媒介的充斥,影响着人们的思维、观念和感情,仅仅把传达信息的关键词定位于正确和充分显然是不够的。
鉴于时代的要求与设计本质的要求,必须要把视觉传达设计的创新重视起来,以创新为前提充分准确地传达信息。
设计界存在着大量的抄袭、模仿之作,使得设计活动成为一种程式。
比如一说到大学标志,就等于是篆书外加一个圆托印章;一谈到VIS设计,便是大量相同的模版拷贝;一说到数码的视觉符号,就是一大堆蚂蚁般的“1”+“0”;一谈到商品的广告,就是戴眼镜的博士或美女的推荐代言等等。
人们无时无刻都被这些“东施效颦”的设计所侵犯和骚扰,这些设计给我们带来了视觉污染,人们不禁要问:设计究竟怎么了?面对这些,我们每一个设计师都责无旁贷。
现在该是大力宣扬“设计创新”的时候了,因为这个时代比以往任何时期都更需要清晰而独创的视觉传达设计。
那么,视觉传达设计的创新究竟体现在哪些方面?目录一、超声波测距仪的制作 (3)1.1 超声波测距的原理 (3)1.2 超声测距仪的硬件电路 (5)1.2.1回流信号放大电路 (5)1.2.2 信号检波电路 (6)1.3超声波测距程序设计 (7)二、总结: (20)三、参考文献 (20)一、超声波测距仪的制作1.1 超声波测距的原理根据相关的物理学知识,声音在介质中如空气和石头中传播时,其衰减特性与其频率相关,频率越高越不容易衰减,相应地其传播距离越远。
当声音的频率在20KHz以上的围时,超出了人耳的听觉围,变成了超声波,可以传播较远的距离而不衰减,且其本身的信号频率特性不容易受环境噪音的干扰。
课程设计实验报告-超声波测距仪的设计
西安邮电大学单片机课程设计报告书题目:超声波测距仪的设计院系名称自动化学院朱敏(06)李蕊蕊(12)朱奇峰(18)学生姓名周腾(19)但莉(22)专业名称测控技术与仪器班级测控0901班时间2012年 5 月 21 日至 6 月3 日超声波测距仪的设计一、设计目的本设计利用超声波传输中距离与时间的关系,采用STC51单片机进行控制和数据处理,设计出能够精确测量两点间距离的超声波测距仪。
同时了解单片机各脚的功能,工作方式,计数/定时,I/O口的相关原理,并巩固学习单片机的相关内容知识。
二、设计要求1.设计一个超声波测距仪,能够用四段数码管准确显示所测距离2.精度小于1CM,测量距离大于200CM三、设计器材元器件数量STC51单片机 1个超声波测距模块URF-04 1个电阻(1K 200 4.7K) 3 个晶振(12MHz) 1 个共阳极四位数码管 1 个极性电容(33pF) 2 个非极性电容(22uF) 1 个四、超声波测距系统原理在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声测距大致有以下方法:①取输出脉冲的平均值电压,该电压(其幅值基本固定)与距离成正比,测量电压即可测得距离;②测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔t,故被测距离为S=1/2vt。
本测量电路采用第二种方案。
由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
超声波测距适用于高精度的中长距离测量。
因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。
超声波测距实验报告
超声波测距实验报告超声波测距实验报告引言:超声波测距是一种常见的测量技术,广泛应用于工业、医学和科学研究领域。
通过发射超声波并测量其返回时间,我们可以计算出被测物体与传感器之间的距离。
本实验旨在探究超声波测距的原理和应用,并通过实际操作验证其可靠性和准确性。
实验步骤:1. 实验器材准备:超声波传感器、数字示波器、计算机等。
2. 连接电路:将超声波传感器与数字示波器和计算机相连。
3. 设置参数:根据实验要求,设置传感器的工作频率和测量范围。
4. 发射超声波:通过控制电路,使传感器发射超声波信号。
5. 接收信号:传感器接收到返回的超声波信号,并将其转换为电信号。
6. 数据处理:将接收到的信号传输到计算机,并使用相应的软件进行数据处理和分析。
7. 计算距离:根据超声波的传播速度和返回时间,计算被测物体与传感器之间的距离。
实验结果:经过多次实验,我们得到了一系列距离数据,并进行了统计和分析。
结果表明,超声波测距的准确性较高,误差在合理范围内。
同时,我们还观察到在不同环境条件下,超声波的传播和测量结果可能会受到一定的影响。
例如,声波在空气中的传播速度与温度和湿度有关,因此在不同的环境下,需要进行相应的修正。
实验讨论:超声波测距技术在许多领域中都有广泛应用。
在工业领域,它可以用于测量物体的距离、检测障碍物并进行避障等。
在医学领域,超声波测距被应用于超声诊断、医学成像等。
此外,超声波测距还可以用于地震勘探、水下探测等科学研究领域。
然而,超声波测距也存在一些局限性。
首先,超声波在传播过程中会受到物体的吸收、散射和衍射等影响,从而导致信号衰减和失真。
其次,超声波的传播速度与介质的性质和温度有关,因此在不同的介质中,需要进行相应的修正和校准。
此外,超声波测距还受到传感器的分辨率和灵敏度等因素的限制,影响了其测量的精确度。
结论:通过本次实验,我们深入了解了超声波测距的原理和应用。
实验结果表明,超声波测距是一种准确可靠的测量技术,具有广泛的应用前景。
超声波测距仪设计实验报告
超声波测距仪设计实验报告课题设计目的及意义随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。
无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。
在新的世纪里,面貌一新的测距仪将发挥更大的作用。
随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。
但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。
因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。
城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。
而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。
控制系统核心部分就是超声波测距仪的研制。
因此,设计好的超声波测距仪就显得非常重要了。
这就是我设计超声波测距仪的意义。
实验原理超声波在液体、固体中衰减小、穿透力强、对某些固体、穿透深度能达到几十米的范围;另外,超声波方向性好,能够定向传播。
因此,可以作为物体探查和进行测量的可靠手段。
超声波测距实验报告
超声波测距实验报告电子综合实验课程报告课题名称:超声测距仪专业:生物医学工程班级:,,级生物医学,,班姓名:敖一鹭刘晓莎尹曼邹燕一引言随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
声波测距作为一种典型的非接触测量方法,在很多场合,诸如工业自动控制,建筑工程测量和机器人视觉识别等方面得到广泛的应用。
和其他方法相比,如激光测距、微波测距等,由于声波在空气中传播速度远远小于光线和无线电波的传播速度,对于时间测量精度的要求远小于激光测距、微波测距等系统,因而超声波测距系统电路易实现、结构简单和造价低,且超声波在传播过程中不受烟雾、空气能见度等因素的影响,在各种场合均得到广泛应用。
然而超声波测距在实际应用也有很多局限性,这都影响了超声波测距的精度。
一是超声波在空气中衰减极大,由于测量距离的不同,造成回波信号的起伏,使回波到达时间的测量产生较大的误差;二是超声波脉冲回波在接收过程中被极大地展宽,影响了测距的分辨率,尤其是对近距离的测量造成较大的影响。
其他还有一些因素,诸如环境温度、风速等也会对测量造成一定的影响,这些因素都限制了超声波测距在一些对测量精度要求较高的场合的应用,如何解决这些问题,提高超声波测距的精度,具有较大的现实意义。
为了今后能够为社会做出更多有益的发明发现,超声测距课程设计应运而生。
二课题要求以单片机AT89C51为中心控制单元,配以超声波发射、接收装置,实现超声波发射及接收其遇到障碍物发生反射形成的回波信号,并根据超声波在介质中的传播速度及超声波从发射到接收到回波的时间,计算出发射点距障碍物的距离,设计出一套基于单片机的脉冲反射式超声波测距系统,利用单片机进行操作控制,用数码管作输出显示,设计发射、接收、检测、显示硬件电路和测距系统软件。
三基本要求1 能实现测距操作;2 能清晰稳定地显示测量结果, 具有测量完成提示;3 能正确实现单次测量;4 测量范围在0.5——2m;5 测量精确度2cm。
超声波测距
超声波测距仪实训报告姓名:学号:一、题目要求;1.使用超声波传感器测量距离。
2.测量精度到达0.1米。
3.通过设计制作来更好地理解超声波传感器和51单片机的工作原理与实际应用。
二、方案设计;首先利用单片机输出一个40KHZ的信号,把信号引入到与超声波发射器相连的信号引脚上,再由超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波接收器收到反射波就立即停止计时。
超声波接收器再通过一个解码器,当无信号返回时解码器输出高电平,当有信号返回时解码器输出低电平。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:S=VT/2。
最后使用共阳7段数码管动态显示出测量距离。
三、硬件设计与实现;1、at89s51单片机最小系统超声波测距仪首先必须输出一个40KHZ的信号,所以可以利用单片机最小系统,使其中1脚输出40KHZ的高低电平信号。
单片机的最小系统包括:时钟振荡电路、复位电路、电源电路、程序储存控制电路。
时钟振荡电路必须在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,晶体振荡器常用12M,电容用30pf;复位电路包括上电复位与按键复位,可利用电容充电与按下按键来实现复位功能,电容使用电解电容22uf,电阻1K。
程序储存控制由内部启动,所以直接接入5V高电平。
2. 超声波发射电路由于电片机输出的电流较小,远远不能启动超声波发射器,所以发射电路最主要的是需要1个驱动电路将40KHZ的信号输给T/R40超声波发射器。
常用3个反向器既可,可是由于自己对三极管驱动电路较为了解,用三极管的成本又较低,所以在刚开始选择了使用三极管驱动电路。
三极管使用9012的PNP管。
发射极接入电源,基极通过电阻与单片机的频率输出脚相连,集电极连接1个电阻后接地,当基极接受到单片机输出的一个微小的电流时,集电极就能输出1个其100倍的电流。
超声波测距器实验报告
超声波测距器的设计设计说明:超声波测距器可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于,如液位、井深、管道长度、物体厚度等的测量。
也有很多方法可以测量,这里用超声波设计一个测距器,实现距离的测量。
1、基本部分a)测量电阻范围:0.10—3.00mb)测量精度:1cmc)测量时与被测物体无直接接触,能够清晰、稳定的显示测量结果。
2、发挥部分a)可以根据温度的不同,导致的速度的不同,用不同的速度测量距离。
摘要:本文介绍了基于AT89C52单片机的超声波测距器。
通过DS18B20数字温度测量仪测出当前的室温,送入单片机,单片机经过对比,进而得出用哪个档进行测量,单片机和发射电路发射出超声波,超声波遇到障碍物,反射回来,在经过接收电路接收,送入单片机,单片机经过计算,得出距离,并在数码管上显示出距离。
测量精度高达±0.5%,并且显示稳定的4位有效数字。
不仅测量简便,读数直观,且测量精度、分辨率较高。
关键词:单片机;DS18B20;CX20106A;TCT40-10F1;TCT40-10S1一、系统设计1、模块方案比较与论证由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波检测距离设计比较方便,计算处理也较简单,并且在测量精度方面也能达到日常使用的要求。
超声波发生器可以分为两大类:一类是用电器方式产生超声波;另一类是用机械方式产生超声波。
根据设计要求并综合各方面因素,本次决定采用AT89C51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,本系统的总方框图如图(1)所示:为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。
1.1单片机系统及显示电路单片机采用89C51或其兼容系列。
系统采用12MH最高精度的精度,以获得较稳定的时钟频率,并减小测量误差。
单片机用P1.0端口输出超声波换能器所需的40kHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。
超声波测距实训报告
超声波测距实训报告
超声波测距实训报告
一、实验目的
1. 掌握超声波测距的原理和方法;
2. 学习使用超声波模块进行测距;
3. 验证超声波测距的准确性和可靠性。
二、实验原理
超声波测距原理是利用超声波传播速度较快、能够穿透介质的特性来测量距离的一种方法。
通过发射超声波信号并接收回波信号,根据信号的往返时间来计算距离。
超声波模块一般由超声波传感器和控制电路组成。
超声波传感器会发射一束超声波信号,并接收回波信号。
控制电路会计算信号往返时间,并转换为距离值。
三、实验步骤
1. 将超声波模块与Arduino主板通过引脚连接;
2. 在Arduino上编写程序,设置超声波模块的引脚模式,并读取距离值;
3. 将Arduino通过USB线连接到电脑上,并上传程序;
4. 打开串口监视器,观察并记录测得的距离值;
5. 移动障碍物,再次记录距离值,并与实际距离进行对比。
四、实验数据
实验中我们测得的距离值如下:
实际距离(cm)测得距离(cm)
10 9.8
20 19.6
30 29.4
五、实验结果分析
通过实验数据可以看出,超声波测距的结果与实际距离十分接近,测距精度较高。
但是由于超声波信号的传播受到环境影响,如空气温度、湿度等,可能会有一定的误差。
同时,超声波测距的有效范围也受限于传感器的特性。
六、实验结论
通过本次实验,我们成功掌握了超声波测距的原理和方法,并验证了其准确性和可靠性。
超声波测距在实际应用中具有较高的测量精度和稳定性,广泛用于物体检测、避障等领域。
超声波测距仪设计实验报告2
超声波测距仪设计实验报告一、实验目的1)了解超声波发生器原理以及超声波测距原理;2)根据超声波测距原理,设计超声波测距仪硬件电路;3)熟悉PCB板的设计与制作;4)熟悉基于单片机或嵌入式系统的开发编程;5)熟悉电路的综合调试。
二、实验内容1)认真研究有关理论知识并大量查阅相关资料,确定系统的总体设计方案,设计出系统框图;2)决定各项参数所需要的硬件设施,完成电路的理论分析和PCB板设计与制作;3)设计制作或购买单元模块并对各单元模块进行调试与验证;4)将单元电路及相关零散电子元件整合到PCB板上并进行整体调试;5)完成原理图设计和硬件制作;6)编写程序和整体调试电路;7)完成实验报告,将设计制作成果以及报告交给老师验收。
三、实验原理超声波是一种在弹性介质中的机械振荡,其指向性强,能量消耗缓慢,在空气中传播的距离较远,因而超声波经常用于距离的测量。
超声波测距仪就是以超声波作为测量工具的一种仪器。
本实验的超声波测距仪主要由超声波收发装置、单片机、测温装置、语音报警装置、LCD显示等几部分组成。
系统测量距离的原理是利用单片机控制超声波收发模块发出40khz的方波串,自动检测接收端能否收到超声波在遇到障碍物后反射回来的回波,反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定产生锁定信号启动单片机中断程序,得到时间T。
超声波在空气中的传播速度与温度有关(C=331.5+0.607*T/0C (m/s)),因而在检测是否能收到回波的同时还要通过温度传感器检测环境温度。
单片机利用超声波收发装置返回的超声波传输时间和温度传感器返回的温度系数利用给定的算法(S=(C*T)/2)在单片机程序的控制下得出超声波传输的距离同时在LCD上显示距离和温度,当检测到的距离低于给定范围时单片机就会控制超限报警装置报警。
(一)压电式超声波发生器原理压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
它有两个压电晶片和一个共振板。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题名称:超声波测距仪班级:应用电子0901:吴星超学号:0503090128指导老师:文博前言随着人类社会从工业化社会到信息化社会的发展,视觉传达设计经历了商业美术、工艺美术、印刷美术设计、装潢设计、平面设计等几大阶段的演变,最终成为以视觉媒介为载体,利用视觉符号表现并传达信息的设计。
对于每一位“为传达而设计”的设计者来说,如何正确、充分地传达信息是我们始终要面临的中心问题。
但是,在当今社会,由于科技的进步,社会环境和社会秩序的更新,各种视觉媒介的充斥,影响着人们的思维、观念和感情,仅仅把传达信息的关键词定位于正确和充分显然是不够的。
鉴于时代的要求与设计本质的要求,必须要把视觉传达设计的创新重视起来,以创新为前提充分准确地传达信息。
设计界存在着大量的抄袭、模仿之作,使得设计活动成为一种程式。
比如一说到大学标志,就等于是篆书外加一个圆托印章;一谈到VIS设计,便是大量相同的模版拷贝;一说到数码的视觉符号,就是一大堆蚂蚁般的“1”+“0”;一谈到商品的广告,就是戴眼镜的博士或美女的推荐代言等等。
人们无时无刻都被这些“东施效颦”的设计所侵犯和骚扰,这些设计给我们带来了视觉污染,人们不禁要问:设计究竟怎么了?面对这些,我们每一个设计师都责无旁贷。
现在该是大力宣扬“设计创新”的时候了,因为这个时代比以往任何时期都更需要清晰而独创的视觉传达设计。
那么,视觉传达设计的创新究竟体现在哪些方面?目录一、超声波测距仪的制作 (3)1.1 超声波测距的原理 (3)1.2 超声测距仪的硬件电路 (5)1.2.1回流信号放大电路 (5)1.2.2 信号检波电路 (6)1.3超声波测距程序设计 (7)二、总结: (20)三、参考文献 (20)一、超声波测距仪的制作1.1 超声波测距的原理根据相关的物理学知识,声音在介质中如空气和石头中传播时,其衰减特性与其频率相关,频率越高越不容易衰减,相应地其传播距离越远。
当声音的频率在20KHz以上的围时,超出了人耳的听觉围,变成了超声波,可以传播较远的距离而不衰减,且其本身的信号频率特性不容易受环境噪音的干扰。
我们可以利用超声波的这一特性进行测距。
我们可利用并列安装的一对超声波探头来发射和接收超声波。
发射头标识为T(Transmit),接收头标识为R(Reiceive),它们里面采用谐振频率为40KHz的压电晶体来发射和接收超声波。
当发射头外接40KHz的振荡源,如单片机端口时,它能发出最大功率的超声波。
接收头只有在接收到中心频率为40KHz的超声波时才能产生谐振,由于压电效应将物理振荡转化为电信号输出,输出电压信号的幅值在uV量级。
在测距时,用这对探头对准要测距的物体如车辆、墙壁等,由单片机端口输出40KHz的PWM(脉宽调制信号)驱动超声波发射头(T 头)发射出40KHz的一个短促脉冲(0.2—0.5ms),然后单片机开始计时,直到通过接收头和接收放大电路检测到回波信号,然后停止计时,得到超声波传播总时间Ts,再乘以当地温度下声速Vs得到超声波走的总路程,再除以2就得到了超声波探头与物体的实际距离。
注意:超声波脉冲以5-10个频率周期为宜,太长则测距误差太大,太短则能量不足导致接收不到。
声音的速度与温度和当地的空气密度有关,最好以实测值为宜,否则可能导致较大的误差。
T/R40 超声波探头(40KHz本征频率)超声波发射和接收的硬件电路1.2 超声测距仪的硬件电路1.2.1回流信号放大电路采用电路来实现测距仪功能的主要困难在于,回波小信号的检测。
由于在接收探头的压电晶体两端产生的回波电信号极其微弱,在uV 量级,因此要进行高增益的放大,然后才能进行有效的检测。
在这里,我们采用了三个NPN型8050三极管的共射极交流耦合组态进行三级放大。
在两级的级连处采用了0.1uF的电容进行交流耦合,集电极接至5V电源以提供集电结的反偏电压,基极接在两个串联50K电阻上,以获得直流工作点(2.5V)。
放大之后的信号由上图中的SIGNAL端输出。
单极直流电流增益:单级直流电压增益:交流电压增益要低于直流增益,经过实测,此电路的三级交流电压增益在30000左右,可将uV级的电压信号放大至十至百mV的量级。
1.2.2 信号检波电路经过回波信号放大电路,已经进入了数字芯片可以检测的围,但此时的信号仍为频率信号,并不能直接为单片机所识别。
因此还需要一个检波译码芯片,能够识别出40KHz的频率波并将其转化为数字电平信号。
LM567为一种典型的音频信号译码芯片,音频信号由其3脚引入。
当此音频信号的频率与LM567的设置频率相同时,则其第8脚的输出电平由高变低。
LM567的设置频率由5、6脚之间接上的可调电阻器的阻值进行调节。
可变电阻调节方法:将一个40KHz的频率源连接到LM567的3脚,将LM567的OUT端连接至电压表,然后调节5、6脚之间的电位器直到OUT端的电平变低。
至此,微弱的回波电信号在此已转化为LM567的OUT端输出的可被单片机识别的数字电平信号。
1.3超声波测距程序设计程序流程源代码:/*****************************************************************/ /* 文件名; clock_c */ /* 程序描述:显示时钟 */ /*****************************************************************/ //系统包含的头文件#include <hidef.h>#include <MC68HC908QY4.h>//中断函数和子函数声明部分void _ADC_Interrupt(void); //ADC中断子程序void _KBD_Interrupt(void); //键盘中断子程序void _TOF_Interrupt(void); //定时器溢出中断子程序void _TCH1_Interrupt(void);//定时器通道1中断子程序void _TCH0_Interrupt(void);//定时器通道0中断子程序void _IRQ_Interrupt(void); //外部中断中断子程序void _Startup(void); //复位中断子程序//用户子程序定义void SYS_Init(void); //系统初始化子程序void pled(unsigned char k);//串行数据输出子程序void display(unsigned char dispchar,unsigned char n);//数码管显示子程序//宏定义#define CONFIG1_VAL 0x3D //用户配置config1寄存器的值#define CONFIG1_ADR 0xFDEA //CONFIG1_VAL存放的地址#define JMP_TAB_ADR 0xFDEB //用户中断向量起始地址#define JMP_Code 0xCC //跳转指令直接寻址方式的指令码typedef void (*tIntFunc)(void); //声明一个指向函数的数据类型typedef struct jumpEntry { //声明一个结构体jumpEntry类型unsigned char jmpIstr;tIntFunc intFunc; //定义一个tIntFunc类型的变量} JumpEntry;//CONFIG1_VAL存放到CONFIG1_ADR定义的地址中const unsigned char CONFIGX CONFIG1_ADR = CONFIG1_VAL;//定义各中断向量的中断入口const JumpEntry IntJmpTable[] JMP_TAB_ADR = { //定义数组IntJmpTable,元素为JumpEntry类型JMP_Code, _ADC_Interrupt, //AD转换中断矢量地址:$FDEBJMP_Code, _KBD_Interrupt, //键盘唤醒中断矢量地址:$FDEE JMP_Code, _TOF_Interrupt, //定时计数器溢出中断矢量地址:$FDF1JMP_Code, _TCH1_Interrupt, //定时器通道1溢出中断矢量地址:$FDF4JMP_Code, _TCH0_Interrupt, //定时器通道0溢出中断矢量地址: $FDF7JMP_Code, _IRQ_Interrupt, //IRQ矢量地址: $FDFAJMP_Code, _Startup //复位矢量地址:$FDFD};//数码管显示编码容为:{0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F,-,三}const unsigned char sgcode[20]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f,0x77,0x7c,0x39,0 x5e,0x79,0x71,0,0x40,0x49,0x66} ;unsigned char dspbf[4]={0x0d,0x0c,0x0d,0x0c}; //存放待显示的数据//unsigned char mscnt; //定时器溢出计数位int backtime; //定义一个全局变量,存储超声波传播时间Bool intflag=0; //定义一个全局变量,存储超声接收中断标志Bool intflag2=0; //定义一个全局变量,存储超声发射标志int temp;int temp1;//主程序开始void main(void){ unsigned char i;unsigned char j;SYS_Init();TSC_TSTOP=0;//允许开始计数for(;;){DisableInterrupts; //禁止所有的中断if(intflag=0) //intflag标志是为了判断是否有超声波接收中断产生{ //如果有接收中断产生,则将其置位,如果没有,则为0,此时数码管上显示"dcdc"dspbf[0]=0x0d;dspbf[1]=0x0c;dspbf[2]=0x0d;dspbf[3]=0x0c;}for(i=0;i<4;i++){ display(dspbf[i],i); } //分别送去显示for(i=0;i<4;i++){ display(dspbf[i],i); } //分别送去显示intflag2=0;intflag=0;TSC_TOIE=0; //禁止计数中断backtime=0;TSC_TOIE=1;for(i=0;i<5;i++) //发射一个短脉冲40KHz{PTA^=0x12; //PTA1 和PTA4共同驱动超声波发射探头 ^为按位异或_asm(nop);}for(i=0;i<10;i++) //发射完超声后,延时一小段时间禁止所有的接收中断,防止造成误接收{_asm(nop); //C语言中嵌入的空操作指令}EnableInterrupts; //开启所有的中断intflag2=1; //超声波的发射标志,在超声波发射后置位,在接收后清0for(j=0;j<20;j++) //显示并等待较长的时间等待接收回流中断并处理距离值{for(i=0;i<4;i++){ display(dspbf[i],i); } //分别送去显示for(i=0;i<4;i++){ display(dspbf[i],i); } //分别送去显示for(i=0;i<4;i++){ display(dspbf[i],i); } //分别送去显示}}}/*************************************************************************//* 文件名:系统初始化子程序*//* 程序描述:包括config寄存器的设置、端口寄存器的设置、定时器寄存器的设置*//* 输入参数:无*//* 返回:无*//*************************************************************************/void SYS_Init(void){CONFIG2=0x00; //使用部晶振,关闭复位引脚CONFIG1=0x3d; //禁止看门狗,禁止LVI模块禁止LVI复位//INTSCR=0x00;////////////////A B口的初始化DDRB=0xff; //PTB7,PTB6为输入,其余为输出PTBPUE=0xc0; //PTB7,PTB6 设置上拉电阻PTB=0xff; //置B口全为1DDRA=0x12; //A口为输入方式 PTA1 PTA4为输出方式PTA=0x02; //A口全为0/////////////////定时计数器的初始化TSC=0x63; //设置允许定时器溢出中断,设置分频因子为32 n=t*f/p p为分频因子TMOD=1;//设置预置寄存器值定时器的部晶振频率为 3.2Mhz//TMOD=0.00001*3.2M/32=1/////////////////键盘控制状态寄存器的初始化KBSCR=0x00; //键盘状态和控制寄存器允许键盘中断下降沿触发KBIER=0x04; //键盘中断控制寄存器禁止键盘中断自动唤醒设定PTA2为中断输入口EnableInterrupts; // 开总中断}/***************************************************************************//*文件名:display函数*//*程序描述:在位置n上,显示数值dspchar *//*调用子程序:传送数值的pled函数*//*输入参数:dspchar,n *//* dspchar:段选信号,输入用户要显示的数据*//* n:位选信号, *//*返回参数:无/***************************************************************************/void display(unsigned char dspchar,unsigned char n){unsigned char i,j,k=1;for(j=0;j<(n+2);j++){k*=2;}pled(sgcode[dspchar]) ; //发送编码到LEDPTB=0x00;PTB+=k; //位选for(i=0;i<25;i++){ //延时_asm(nop);}PTB=0x00;}/***************************************************************************//*文件名:pled函数*//*程序描述:8位并行输出串行移位编程,PTB1为时钟信号,将PTB0的输出并行输出 *//*输入参数:需显示数值的编码k/*返回:无*//*********************************************************************** ****/void pled(unsigned char k){unsigned char i;PTB=0x00; //PTB口全部变成低电平for(i=0;i<8;i++){PTB_PTB1=0; //将PTB1变低,即时钟信号变低if(k<0x80) PTB_PTB0=1; //从高位开始发送,检查最高位是否为1,为0则PTB0=1,高位为1则默认为0PTB_PTB1=1; //给出一个下降沿信号,移位信号PTB=0x00;//准备处理下一位k<<=1;//左移}}/*********************************************************************** ****//*********************************************************************** ****///以下为中断函数,需要用到时,在相应的函数编写即可interrupt void _ADC_Interrupt(void) {}interrupt void _KBD_Interrupt(void){if(intflag2==1) //如果超声波已发射{if(intflag==0) //如果在超声波发射后第一次接收到回波,为了防止杂散回波的干扰{intflag2=0;DisableInterrupts; // 接收到回波后禁止所有中断 TSC_TOIE=0; //禁止定时溢出中断temp=(float)(backtime)*1.89;backtime=0; //对backtime重新写值时必须禁止定时溢出中断的产生TSC_TOIE=1;intflag2=0;intflag=1; //处理距离值并显示temp1=temp/10; //距离值除以10之后赋给一个中间变量 dspbf[0]=temp/1000; //把千位存入第0个数码管显存中dspbf[2]=temp1%10; //把十位存入第2个数码管显存中temp1=temp/100;dspbf[1]=temp1%10; //把百位存入第1个数码管显存中dspbf[3]=temp%10; //把个位存入第一个 }}}/*********************************************************************/ /* 文件名:定时器溢出中断子程序 */ /* 程序描述:定时器每溢出1次,backtime自动加1,溢出周期为TMOD*32/3.2MHz=10us *//* 输入参数:无*//* 返回:无*//*********************************************************************/ interrupt void _TOF_Interrupt(void){backtime++;TSC_TOF=0; //清除定时计数器溢出中断标志位,以允许下次计时溢出}interrupt void _TCH1_Interrupt(void){}interrupt void _TCH0_Interrupt(void){}interrupt void _IRQ_Interrupt(void){}二、总结:做这个项目使我们受益匪浅。