超声波测距模块使用说明
超声波测距报告(带报警)

目录一、超声波测距原理二、超声波测距模块介绍1.主控模块2.电源模块3.显示模块4.超声波模块5.扬声器模块三、超声波测距功能介绍四、超声波测距前景展望五、心得附:程序超声波测距(可报警)一、超声波测距原理超声波发射器定期发送超声波,遇到被测物体时发生反射,反射波经超声波接收器接收并转化为电信号,只要测出发送和接收的时间差t,即可测出超声测距装置到被测物体之间的距离S:S=c*t/2(式中c为超声波在空气中的传播速度,c=331.45*√(1+T/273.16)) 由此可见声速与温度的密切的关系。
在应用中,如果温度变化不大或者对测量要求不太高(例如汽车泊车定位系统),则可认为声速是不变的,否则,必须进行温度补偿。
超声波传感器是超声测距核心部件,传感器按其工作介质可分气相、液相和固相传感器;按其发射波束宽度可分为宽波束和窄波束传感器;按其工作频率又可分为40kHz, 5OkHz等不同等级。
超声波在空气传播过程中,由于空气吸收衰减和扩散损失,声强随着传播距离的增大而衰减,而超声波的衰减随频率增大而成指数增加。
本设计选用气相、窄波束、40kHz的超声波传感器。
二、超声波测距模块介绍该产品共有五个模块,其中主控模块、电源模块、显示模块、扬声器模块集成在开发板上,超声波模块是外接的。
1.主控模块主要部分是51单片机。
51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATLEM公司的AT89系列,它广泛应用于工业测控系统之中。
目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。
51单片机是基础入门的一个单片机,还是应用最广泛的一种。
需要注意的是52系列的单片机一般不具备自编程能力。
主要功能:·8位CPU·4kbytes 程序存储器(ROM) (52为8K)·256bytes的数据存储器(RAM) (52有384bytes的RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)·一个全双工串行通信口·外部数据存储器寻址空间为64kB·外部程序存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
超声波测距仪使用方法说明书

超声波测距仪使用方法说明书1. 概述超声波测距仪是一种常用的测量仪器,通过发射超声波脉冲并接收其回波来测量距离。
本说明书将详细介绍超声波测距仪的使用方法,以便用户能够正确、高效地操作该仪器。
2. 准备工作在开始测量之前,确保以下准备工作已经完成:2.1 确认超声波测距仪的电源已经连接,并处于正常工作状态。
2.2 确认被测物体与测距仪之间没有遮挡物,以保证测量的准确性。
2.3 选择合适的工作模式和单位,根据实际需要进行相应的设置。
3. 测量步骤3.1 启动仪器按下电源开关,待超声波测距仪正常启动后,屏幕上将显示相关的操作提示。
3.2 定位测量目标将测距仪对准待测物体,使其成为屏幕上的测量目标。
可以通过调整测距仪的方向和角度来精确定位。
3.3 发射超声波脉冲按下“发射”按钮,超声波测距仪将发射一组超声波脉冲,并记录下发送时刻。
3.4 接收回波当超声波脉冲遇到物体并被反射回来时,测距仪将接收到回波,并记录下接收时刻。
3.5 计算距离根据发送和接收时刻之差,超声波测距仪可以计算出测量目标与仪器之间的距离。
4. 测量注意事项4.1 避免测量目标表面有较强的光照或强烈的声音,以免影响超声波的传播和接收。
4.2 在测量长距离时,要保持仪器与测量目标之间的直线视线,以减小测量误差。
4.3 对于不规则形状的物体,建议进行多次测量并取平均值,以提高测量结果的准确性。
4.4 定期检查超声波测距仪的探头是否清洁,避免灰尘或其他杂质的影响。
5. 故障排除在使用超声波测距仪过程中,可能会遇到一些常见的故障情况,以下是一些常见问题的排除方法:5.1 无法启动或显示异常:检查电源连接是否正常,试试更换电池或充电。
5.2 测距不准确:确认测量目标与测距仪之间没有遮挡物,并确保仪器正确定位。
5.3 回波信号弱:检查探头是否干净,并调整适当的增益和灵敏度。
5.4 其他问题:如有其他问题,请参考产品说明书或联系售后服务。
6. 常见应用场景超声波测距仪在多个领域具有广泛的应用,包括建筑工程、机械制造、物流仓储等。
HC-SR04超声波测距模块说明书

HC-SR04超声波测距模块◼产品概述HC-SR04是一款升级的超声波测距模块。
新增加UART,IIC及1-WIRE(单总线)功能,模式可以通过外围电阻设置。
2CM超小盲区,4M典型最远测距,2mA超低工作电流。
采用自研超声波测距解调芯片,使其外围更加简洁,工作电压更宽(2.8-5.5V)。
驱动采用扫频技术,减少探头本身一致性对灵敏度的影响。
内部40K驱动频率采用正温度补偿,切合探头中心频率的温度特性,减小温度影响。
外部晶振为外观兼容而放置的晶振,不起任何作用,不焊接晶振的模块价格更有优势。
◼实物图片◼主要特性⚫采用专业解调芯片⚫工作电压:2.8-5.5V⚫工作电流:2mA⚫支持GPIO,UART,IIC及1-WIRE多种接口模式,默认输出模式兼容HC-SR04⚫2CM盲区,4M典型最远测距⚫200mS周期⚫可配置各种颜色及加固型探头◼典型应用⚫玩具,机器人避障⚫液位,水位测量⚫坐姿检测⚫其它测距应用◼性能参数◼GPIO/UART/IIC/1-WIRE模式选择◼测量操作一:GPIO模式工作模式同HC-SR04。
外部MCU给模块Trig脚一个大于10uS的高电平脉冲;模块会给出一个与距离等比的高电平脉冲信号,可根据脉宽时间“T”算出:距离=T*C/2(C为声速)声速温度公式:c=(331.45+0.61t/℃)m•s-1(其中330.45是在0℃)0℃声速:330.45M/S20℃声速:342.62M/S40℃声速:354.85M/S0℃-40℃声速误差7左右。
实际应用,如果需要精确距离值,必需要考虑温度影响,做温度补偿。
如有需要,可关注我司带温补单芯片RCWL-9700。
二:UART模式UART模式波特率设置:9600N1命令返回值说明0XA0BYTE_HBYTE_MBYTE_L 输出距离为:((BYTE_H<<16)+(BYTE_M<<8)+BYTE_L)/1000单位mm0XF1公司及版本信息连接串口。
US-100超声波测距模块在Arduino平台上的使用说明

unsigned int TrigPin = 3; //将 Arduino 的 Pin3 连接至 US-100 的 Trig/TX unsigned long Time_Echo_us = 0; unsigned long Len_mm = 0;
void setup() { //Initialize
如果先将 US-100 与 Arduino 连好,再给 Arduino 下载程序,在下载程序时会出错, 因为 US-100 与 Arduino 的通信和 Arduino 下载程序时使用的同一个串口,会相互干扰。
图 3.1:串口模式下 US‐100 与 Arduino 的连接
3.2 串口模式下测距使用例程
}
3.3 串口模式下测温使用例程
int Temperature45 = 0;
void setup() { //将 Arduino 的 RX 与 TX(Digital IO 0 和 1)分别于 US-100 的 Echo/Rx 和 Trig/Tx 相连,确保连接前已经使 US-100 处于串口模式。
Serial.begin(9600); //设置波特率为 9600bps. }
Serial.begin(9600); //测量结果将通过此串口输出至 PC 上的串口监视器 pinMode(EchoPin, INPUT);//设置 EchoPin 为输入模式。 pinMode(TrigPin, OUTPUT); //设置 TrigPin 为输出模式。 }
void loop()
{ //通过 Trig/Pin 发送脉冲,触发 US-100 测距
unsigned int HighLen = 0; unsigned int LowLen = 0; unsigned int Len_mm = 0; void setup() { //将 Arduino 的 RX 与 T(X Digital IO 0 和 1)分别于 US-100 的 Echo/Rx 和 Trig/Tx 相连,确保连接前已经使 US-100 处于串口模式。
AJ-SR04M-超声波测距模块(单头)

一体化超声波测距模块使用说明书型号: AJ-SRO4M-T-X产品实物图:深圳市安吉电子深圳安吉电子目录>>产品概述 (2)>>产品特点 (4)>>产品应用 (4)>>技术参数 (5)产品结构图 (5)电气参数 (5)>>模块输出格式说明 (6)模式切换方法 (6)模块启动流程 (6)模式1工作方式 (7)模式2工作方式 (8)模式3工作方式 (9)模式4工作方式 (10)模式5工作方式 (11)开关量工作方式 (12)>>模块安装说明 (13)波束角图 (13)位置选择 (14)情况一 (14)情况二 (14)情况三 (15)情况四 (15)情况五 (16)测人范围 (16)>>注意事项 (17)>>产品尺寸 (17)超声波换能器尺寸 (17)控制主板尺寸 (18)板载换能器主板尺寸 (18)>>产品概述AJ-SR04M-T-X超声波测距模块,是采用收发一体的防水带线探头,运用非接触试超声波探测技术设计而成。
产品在20cm 至800cm 范围内,能够准确探测出与平面物体间的距离,并且在20cm 至250cm 范围内,能够准确测人。
基本工作原理:此超声波测距模块连接3-5.5V 电源后,模块本具备5种工作模式。
如有相关要求,可以与本公司联系,我们会为您提供和定做符合您需求的产品模式1:普通脉宽方波 最低功耗2.5mA模式2:低功耗脉宽方波 最低功耗40uA模式3:自动串口 最低功耗2.5mA模式4:串口触发 最低功耗20uA模式5:ASCII码输出 最低功耗20uA>>产品特点1、体积小,使用便捷;2、功耗低, 先择低功耗模式时 <20ua ;3、使用电压宽 3-5.5V工作电压3、测量精度高最高分辩率1mm精度;4、抗干扰强;5、一体化封闭式防水带线探头,适用于潮湿、恶劣的测量场>>产品应用场合1、智能小车测距,避障2、物体距离测量,人体高度测量3、智能交通控制,停车位控制4、教研,安防,工业控制5、人工智能,飞机高度测量等>>技术参数:产品结构图深圳安吉电子深圳安吉电子电气参数>>模块输出格式说明切换模式的方法,在断电的情况下面更换模块上面R19阻值即可变更模式模块启动流程图模式1引脚定义: Trig 触发信号Echo 输出回响信号模式1工作方式:当给Trig一个大于10us高电平触发信号,模块会工作一次相应Echo引脚会输出一次高电平,高电平的时间即为距离物体的距离通过Echo计算距离的公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;模式1模块最低功耗为2.5mA模式2引脚定义: Trig 触发信号Echo 输出回响信号模式2工作方式:当给Trig一个大于1ms高电平触发信号,模块会工作一次相应Echo引脚会输出一次高电平,高电平的时间即为距离物体的距离(注意Trig高电平的时候要大于1ms才能保证正常触发)通过Echo计算距离的公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;模式2模块最低功耗为40uA模式3引脚定义: RX 无任何意义TX 输出回响信号模式3工作方式: 模块每100ms自动输出一帧,含4 个8 位数据.帧格式为:0XFF+H_DATA+L_DATA+SUM 波特率设置 9600,none,8bit,1stop1、0XFF:为一帧开始数据,用于判断.2、H_DATA:距离数据的高8 位.3、L_DATA:距离数据的低8 位.4、SUM: 数据和,用于效验.H_DATA+L_DATA=SUM(仅低8 位).5、H_DATA 与L_DATA 合成16 位数据,即以毫米为单位的距离值.例如:产品应答: FF 07 A1 A7其中校验码SUM=A8=(0x07+0xA1)&0x00ff0x07 为距离的高位数据;0xA1 为距离的低位数据;距离值为0x07A1; 转换成十进制为1953; 单位为: 毫米通过Echo计算距离的公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;模式3模块最低功耗为2.5mA模式4引脚定义: RX 发任何数都会触发一次,或者置一次低电平也会触发一次 TX 输出回响信号模式4工作方式: 向RX引脚发送一次串口数据或者把RX引脚置低一次,模块测距后会输出一帧数据,含4 个8 位数据.帧格式为: 0XFF+H_DATA+L_DATA+SUM ,波特率设置 9600,none,8bit,1stop1、0XFF:为一帧开始数据,用于判断.2、H_DATA:距离数据的高8 位.3、L_DATA:距离数据的低8 位.4、SUM: 数据和,用于效验.H_DATA+L_DATA=SUM(仅低8 位).5、H_DATA 与L_DATA 合成16 位数据,即以毫米为单位的距离值.例如:产品应答: FF 07 A1 A7其中校验码SUM=A8=(0x07+0xA1)&0x00ff0x07 为距离的高位数据;0xA1 为距离的低位数据;距离值为0x07A1; 转换成十进制为1953; 单位为: 毫米通过Echo计算距离的公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;模式4模块最低功耗为20uA模式5引脚定义: RX 发任何数都会触发一次,或者置一次低电平也会触发一次 TX 输出回响信号模式5工作方式: 向RX引脚发送一次串口数据或者把RX引脚置低一次,模块测距后会输出一帧数据,数据用ASCII码显示出来,波特率设置 9600,none,8bit,1stop模式5模块最低功耗为20uA开关量模式引脚定义: Trig 默认高电平为工作,置低电平模块暂停工作Echo 大于设定值输出低电平,小于输出高电平开关量模式工作方式: 模块200ms会自动检测一次,并判断Trig引脚状态高电平模块则工作一次低电平模块则暂工作等待高电平到来,大于设定值Echo输出低电平,小于Echo输出高电平如何设置距离:一: 模块通上电源二: 探头对着物体比如墙面三: 按下”设定开关”大于0.5秒,如果探头离墙面2 米设置的距离就是2 米>>模块安装说明波束角图深圳安吉电子波束角:超声波传感器在发射超声波时沿传感器中轴线的延长线(垂直于传感器表面0°线)方向上的超声射线能量最大。
KS103超声波测距模块说明书

工作电压:3.0V~5.5V 直流电源 工作时瞬间最大电流:10.6mA@5.0V, typical 工作电流:1.6-2.7 mA@5.0V, typical 休眠时最大耗电量:500uA@5.0V, typical (串口模式时不休眠) 功耗:使用纳瓦技术省电,5s 未收到 I2C 控制指令自动进入 uA 级休眠,并可随时被主机 I2C 控
位
I2C
(4)
数据。
Note 4: 这种总线钳制探测方式可以为客户获得更大的探测速度及效率,而不是通过定时器延时或 delay 函数延时每次探测都要至少等
待 65ms。换言之,用户大部分时候仅需要快速知晓 1m 范围内是否有障碍物。具体延时时间应大于表 1 所列各指令的最大探测时间。
如果不希望 SCL 线在探测时被拉低,可以通过发送指令 0xc3 指令,之后断电重启 KS101B/KS103/KS103S 后 SCL 线仍然不会拉低。如果想恢复 I2C 钳制及 SCL 拉低功能,发送
Note 1: 要达到最佳的工作状态推荐使用+5V 电源,低于 5V 的电压将影响测距量程。并且,严禁将 VCC 与 GND 接反,否则可能会
损坏电路。超过 3 秒钟的电路反接将可能导致不可恢复的损坏。
具体连线如下图所示(20 个):
VCC VCC
R1
R2
4.7K
4.7K
VCC SDA SCL GND
I2C 地址
寄存器 2
8 位数据指令
延时等待或查询 SCL
否
线是否为高?
3
是
接收 16 位 I2C 数据
多量程探测 探测指令从 0x01 到 0x2f,数值越大,信号增益越大。指令 0x01 对应量程约 100mm,0x02
JSN-SR04T-2.0 一体化超声波测距模块说明书

JSN-SR04T-2.0一体化超声波测距说明书1、产品特点:JSN-SR0T4-2.0超声波测距模块可提供20cm-600cm的非接触式距离感测功能,测距精度可达高到2mm;模块包括收发一体的超声波传感器与控制电路组成。
模式一的用法与本司的HC-SR04模块谦容。
本产品采用工业级一体化超声波探头设计,防水型,性能稳定,谦容市场上所有的MCU工作。
1、体积小,使用便捷2、供电范围宽,低功耗3、测量精度高,分辨率高4、探测盲区小,距离更远5、输出方式多样化,脉宽输出,串口输出。
2、实物图:3、规格参数:脉宽输出串口输出工作电压DC: 3.0-5.5V工作电流小于8mA探头频率40kHz最远射程600cm最近射程20cm远距精度±1cm分辨率1mm测量角度75度输入触发信号1、10uS以上的TTL脉冲2、串口发送指令0X55输出回响信号输出脉宽电平信号,或TTL接线方式3-5.5V(电源正极) Trig (控制端)RX Echo(输出端)TX GND(电源负极产品尺寸L42*W29*H12 mm工作温度-20℃—+70℃产品颜色PCB板为蓝色4、功能说明:本模块共有三种工作模式可以选择,客户可根据自己实际需要进行切换或实验。
如下图模式一:R27=open 即是不用焊接。
该模式说明如下1、基本工作原理:(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2;(4)模块被触发测距后,如果接收不到回波(原因超过所测范围或是探头没有正对被测物),ECHO口会在60MS后自动变为低电平,标志着此次测量结束,不论成功与否。
(5)LED指示灯说明,LED非电源指示灯,它在模块接收到触发信号后才会亮,此时模块处于工作状态。
HC-SR04超声波测距模块

.超声波测距模块04C-SRH 1、产品特点:2cm-400cm 的非接触式距离感测功能,HC-SR04 超声波测距模块可提供基本工;模块包括超声波发射器、接收器与控制电路。
测距精度可达高到3mm作原理:模块自动发的高电平信号; (2) TRIG 触发测距,给至少 10us (1)采用 IO 口有信号返回,通过 40khz 的方波,自动检测是否有信号返回; (3) 8 送个输出一个高电平,高电平持续的时间就是超声IO 口 ECHO(340M/S))/2;声速=(高电平时间*波从发射到返回的时间。
测试距离、实物图:2VCC 供如右图接线,,GND 为地电5V 源信线,TRIG 触发控制信响号输入,ECHO 回线。
等四支号输出图一实物图3、电气参数HC-SR04超声波模电气参工作电DC 5 V工作电15mA工作频率40Hz....4、超声波时序图:图二、超声波时序图以上时序图表明你只需要提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。
一旦检测到有回波信号则输出回响信号回响信号的脉冲宽度与所测的距离成正比。
由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式:uS/58=厘米或者 uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为 60ms 以上,以防止发射信号对回响信号的影响。
注:1、此模块不宜带电连接,若要带电连接,则先让模块的GND 端先连接,否则会影响模块的正常工作。
2、测距时,被测物体的面积不少于0.5 平方米且平面尽量要求平整,否则影响测量的结果、实物规格:5.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超声波测距资料超声波测距模块连线:我们将超声波测距模块用红色,绿色两根导线引出,红色线(超声波测距模块电源脚)接5208K实验仪+5V,绿色线(超声波测距模块接地脚)接5208K实验仪GND.打开5208K实验仪电源, 超声波测距模块初始化显示27.将超声波发射接收头对准障碍物,数码管将显示超声波测距模块与障碍物之间的距离。
超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。
测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
超声波学习板采用AT89S51单片机晶振为12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,段码驱动用74LS244集成电路,位码用S8550三极管驱动。
超声波测距的算法原理: 超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则距离为340mx0.03S=10.2米。
这就是超声波探头到反射物体之间的距离。
产品性能特点:成品板上自带:超声波收发传感器、接收放大电路、四位LED数码显示、四位按键(四个按钮和蜂鸣器属于功能预留,程序中无定义),电源部分自带整流、滤波、稳压电路,允许交流7~15V或者直流9~16V输入,经过实际测试,测量范围可达27~250厘米,测量精度为1厘米。
下图是超声波测距学习板的元件布局图,以下是部分汇编源程序;/////////////////////////////////////////////////////// ; USE BY :超声波测距器; IC :AT89C51; TEL :; OSCCAL :XT (12M); display :共阳LED显示;/////////////////////////////////////////////////////// ;测距范围7CM-11M,堆栈在4FH以上,20H用于标志;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离;VOUT EQU P1.0 ; 红外脉冲输出端口speak equ p1.1;********************************************;* 中断入口程序 *;********************************************;ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHretiORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI;;********************************************;* 主程序 *;********************************************;START: MOV SP,#4FHMOV R0,#40H ;40H-43H为显示数据存放单元(40H为最高位)MOV R7,#0BHCLEARDISP: MOV @R0,#00HINC R0DJNZ R7,CLEARDISPMOV 20H,#00HMOV TMOD,#11H ;T1为 T0为16位定时器MOV TH0,#00H ;65毫秒初值MOV TL0,#00HMOV TH1,#00HMOV TL1,#00HMOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV R4,#04H ;超声波肪冲个数控制(为赋值的一半)SETB PX0SETB ET1SETB EASETB TR1 ;开启测距定时器start1: LCALL DISPLAYJNB 00H,START1 ;收到反射信号时标志位为1CLR EALCALL WORK ;计算距离子程序clr EAMOV R2,#32h;#64H ;测量间隔控制(约4*100=400MS)LOOP: LCALL DISPLAYDJNZ R2,LOOPCLR 00Hsetb et0mov th0,00hmov tl0,00hSETB TR1 ;重新开启测距定时器SETB EASJMP Start1;;**************************************************** ;* 中断程序* *;****************************************************;T1中断,发超声波用 ;T1中断,65毫秒中断一次INTT1: CLR EACLR TR0clr ex0MOV TH0,#00HMOV TL0,#00HMOV TH1,#00HMOV TL1,#00HSETB ET0SETB EASETB TR0 ;启动计数器T0,用以计intt11:CPL VOUT ;40KHZnopnopnopnopnopnopnopnopnopDJNZ R4,intt11;超声波发送完毕,MOV R4,#04Hlcall delay_250 ;延时,避开发射的直达声波信号SETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断0,收到回波时进入PINT0: nopjb p3.2,pint0_exitCLR TR0 ;关计数器CLR EA ;CLR EX0 ;MOV 44H,TL0 ;将计数值移入处理单元MOV 45H,TH0 ;mov th0,#00hmov tl0,#00hjnb p3.2,$SETB 00H ;接收成功标志pint0_exit:RETI;;**************************************************** ;* 显示程序 *;**************************************************** ; 40H为最高位,43H为最低位,先扫描高位DISPLAY: MOV R1,#40H;GMOV R5,#7fH;GPLAY: MOV A,R5MOV P0,#0FFHMOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5JNB ACC.4,ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT: MOV P2,#0FFHMOV P0,#0FFHRET;TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh ;共阳段码表 "0" "1" "2" "3" "4" "5""6" "7" "8" "9" "不亮""A""-" ;;****************************************************;* 延时程序 *;****************************************************;DL1MS:push 06hpush 07hMOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1pop 07hpop 06hRET;;****************************************************;* 距离计算程序 (=计数值*17/1000cm) *;****************************************************;work: PUSH ACCPUSH PSWPUSH BMOV PSW, #18hMOV R3, 45HMOV R2, 44HMOV R1, #00DMOV R0, #17DLCALL MUL2BY2MOV R3, #03HMOV R2, #0E8HLCALL DIV4BY2LCALL DIV4BY2MOV 40H, R4MOV A,40HJNZ JJ0MOV 40H,#0AH ;最高位为零,不点亮JJ0: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #100DLCALL DIV4BY2MOV 41H, R4MOV A,41HJNZ JJ1MOV A,40H ;次高位为0,先看最高位是否为不亮SUBB A,#0AHJNZ JJ1MOV 41H,#0AH ;最高位不亮,次高位也不亮JJ1: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #10DLCALL DIV4BY2MOV 42H, R4MOV A,42HJNZ JJ2MOV A,41H ;次次高位为0,先看次高位是否为不亮SUBB A,#0AHJNZ JJ2MOV 42H,#0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0POP BPOP PSWPOP ACCRET;;****************************************************;* 两字节无符号数乘法程序 *;****************************************************; R7R6R5R4 <= R3R2 * R1R0超声波专用发射接收头,有T字样的是发射头,标有R字样的是接收头。