当前位置:首页 > 基于AT89C51单片机超声波测距仪的设计毕业设计
5.2超声波发生子程序和接收子程序
(1)超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。
(2)超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。
(3)如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0 关闭,并将测距成功标志字赋值2以表示此次测距不成功。如下图5-2所示:
图5-2超声波发生子程序和超声波接收中断程序流程图
5.3 超声波的接收与处理
接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器IC1A和IC1B两极放大后加至IC2。IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C4决定其锁定带宽。调节R8在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。
13
前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下: receive1:push psw
push acc
clr ex1 ;关外部中断1
jnb p1.1, right ;P1.1引脚为0,转至右测距电路中断服务程序 jnb p1.2, left ;P1.2引脚为0,转至左测距电路中断服务程序 return:SETB EX1;开外部中断1 pop acc pop psw reti
right: ... ;右测距电路中断服务程序入口 AJMP RETURN
left:... ;左测距电路中断服务程序入口 AJMP RETURN
14
6单片机系统的可靠性
6.1测试单片机系统的可靠性
当一个单片机系统设计完成后,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的。
(1)测试单片机软件功能的完整性。这是针对所有单片机系统功能的测试,测试软件是否写得正确完整。
(2)上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可抗性。
(3)老化测试。测试长时间工作情况下,单片机系统的可抗性。必要的话可以放置在高温、高压以及强电磁干扰的环境下测试。
(4)ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可抗性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等。
6.2单片机的抗干扰性
影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺的影响。这些都是单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。
形成干扰的基本要素有三个:
(1)干扰源。指产生干扰的元件、设备或信号,用数学语言描述为du/dt、di/dt大的地方就是干扰源,如雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源 (2)传播路径。指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
(3)敏感器件。指容易被干扰的对象,如A/D、D/A变换器,单片机,数字IC,弱信号放大器等。
15
7软硬件调试
7.1调试
测试是为了发现程序中的错误而执行程序的过程。具体地说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。
超声波测距仪的制作和调试,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C的大小,以获得合适的接收灵敏度和抗干扰能力。
7.2提高精度的方案及系统设计
(1)温度校正的方法提高测距精度
由上述的误差分析知,如果能够知道当地温度,则可根据公式 ⑷ 求出当地声速,从而能够获得较高的测量精度。而问题的关键在于获得温度数据的方法。采用热敏电阻、热电耦、集成温度传感器都可以获得较为准确的温度值。
为了便于对温度信号的数据采集及处理,我们采用 DALASS 公司生产的 DS18B20 集成温度传感器。 DS18B20 采用了 DALASS 公司的 1-WIRE 总线专利技术,能够仅在占用控制器一个 I/O 口的情况下工作(芯片可由数据线供电),极大的方便了使用者的调试使用,而且其在- 10oC ~+ 85oC 的工作环境下可以保持± 0.5% 的使用精度,在这个空间内足以保证为超声波测距设备提供足够的精度范围。
通过 DS18B20 芯片获得的数据信号经由 1-WIRE 总线传至 MCU ,由软件进行声速换算。为了更好的实现换算过程同时兼顾设备的使用成本,我们采用宏晶公司的最新推出的 STC12C5410 单片机实现超声波测距的各项功能。 STC12C5410 采用了低成本、低功耗、强抗干扰设计,并且在最高支持 48MHz 的前提下能够实现 1 个时钟 / 机械周期的运行速度。由于能够使用高频率的晶振,因此相对于普通单片机来说可以有效的减少由计时问题带来的量化误差,能够满足较高精度超声波测距仪的设计要求。
(2)标杆校正的方法提高测距精度
在复杂环境下,如果难于获得环境温度,或者不便获得环境温度时,如果仍旧要求较高的测量精度,我们采用所谓标杆校正的方法实现超声波测距精度的校正。标杆校正的示
16
共分享92篇相关文档