第一范文网 - 专业文章范例文档资料分享平台

(完整版)基于单片机的超声波测距仪的设计参考毕业论文

来源:用户分享 时间:2025/7/5 1:53:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

出的C程序已被广泛应用,故直接借用已有程序也能作到对温度的准确读取,所心本设计全部使用C语言编程,这样能使设计中所用到的公式能方便快捷的体现和实现,又缩短了论文的篇幅。

软件采用模块化设计方法,由主程序、超声波发生子程序、超声波接收中断子程序、温度测量子程序、距离计算子程序、显示子程序、键盘扫描处理程序等模块组成。

图6.1为主程序流程图。

系统上电后,首先系统初始化,不断扫描按键k1,若按键k1按下,则开始测量空气温度,然后将P1.0置位,使定时器T0开始定时,控制超声波传感器发出超声波,同时使定时器T1开始定时。CPU循环检测P3.3引脚,当P3.3为低电平时接收到回波,立即使T1停止工作,保存定时器的计数值。

然后根据温度和传输时间计算距离,温度补偿措施使测量精度有了明显提高,计算出距离后调用距离显示子程序,LED显示距离。

最后检测按键k2,若k2闭合,则调用温度显示子程序,LED显示温度(温度并非测量距离时用于补偿的温度,而是当前温度)5s后恢复显示本次测量距离;若按键k2没有闭合,则显示器恒定显示最新一次的测量结果;若要进行下一次测量,则先要按下k3重新开始,再按下按键k1才执行新一次测量。由于不需输入数据,键盘只设置了3个按键,用于开始测量距离并显示温度功能设置等。

6.2 子程序设计

6.2.1 超声波发送子程序及超声波接收中断子程序

超声波发生子程序的作用是通过P1.0端口发送左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T1打开进行计时,定时器T1工作在方式0。

超声波测距仪主程序利用外中断1检测返回超声波信号,一旦接收到返回超声波信号(即引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T1停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T1溢出中断将外中断1关闭,并将测距成功标志字赋值0表示此次测距不成功。

T0中断服务程序如下: sbit send=P1^0;

void timer0(void)interrupt 1 { send=!send; TH0=0x1f; TL0=0xf4; }

超声波接收(外部中断1)程序: void int1(void)interrupt 2 { if(TH1!=0x00&&TH0!=0x00)

{ b=1; TR1=0;

TR0=0;

t=TH1*256+TL1;

t=t; TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00; } else { b=0; TR1=0; TR0=0;

TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00; } }

6.2.2 测温子程序

测温的主要器件是DS18B20,现场温度直接以“一线总线”的数字方式传输,DS18B20中有两个存测得的温度值的两个8位存贮器RAM,用11位存贮温度值,最高位(5位)为符号位。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,

再计算十进制值。图6.2为DS18B20的温度存储方式:

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

2 32 22 12 02 -12 -22 -32 -4 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 S

图6.2 DS18B20的温度存储方式

S S S S 2 62 52 4负温度时S=1,正温度时S=0。因此我们只需要逐位读出它的温度就可以了。读出一个字节C代码如下:

uchar readbyte(void) 直接读一字节程序 { uchar i,k;

i=8; k=0; while(i--) {

tem_in=1; delay_us(1); tem_in=0; k=k>>1; tem_in=1; NOP;

(完整版)基于单片机的超声波测距仪的设计参考毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c030xu3sk8801k8300wxv0h1ll01eyq01c1n_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top