51单片机开发板超声波测距数码管显示.docx

上传人:b****1 文档编号:1987641 上传时间:2023-05-02 格式:DOCX 页数:17 大小:621.33KB
下载 相关 举报
51单片机开发板超声波测距数码管显示.docx_第1页
第1页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第2页
第2页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第3页
第3页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第4页
第4页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第5页
第5页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第6页
第6页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第7页
第7页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第8页
第8页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第9页
第9页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第10页
第10页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第11页
第11页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第12页
第12页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第13页
第13页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第14页
第14页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第15页
第15页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第16页
第16页 / 共17页
51单片机开发板超声波测距数码管显示.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

51单片机开发板超声波测距数码管显示.docx

《51单片机开发板超声波测距数码管显示.docx》由会员分享,可在线阅读,更多相关《51单片机开发板超声波测距数码管显示.docx(17页珍藏版)》请在冰点文库上搜索。

51单片机开发板超声波测距数码管显示.docx

51单片机开发板超声波测距数码管显示

计算机技术系

项目工作报告

课程

名称

单片机开发板

设计与制作实训

班级

学号

姓名

项目名称

超声波测距,数码管显示

实训日期/时间

2015.6.23-2015.7.5

地点

指导教师

同组成员

仪器设备

(参考资料)

计算机、KeiluVision2、ProteusISIS电烙铁、开发板、HC-SR04超声波模块

实训内容

(任务安排)

1焊接开发板

2自选课题

3开发与调试

4项目汇报与总结

一、

项目名称与要求

项目名称:

超声波测距,数码管显示

功能描述:

采用HC-SR04超声波模块,STC89C52单片机以及数码管显示设计的一种超声波测距显示器,可以实现测量物体到仪器距离以及显示等功能,可以测量范围为2cm–450cm,精确度为1cm。

是一种结构简单、性能稳定、使用方便、价格低廉的超声波距离测量器,具有一定的实用价值。

2、项目设计思路

1、硬件资源

单片机开发板(携带数码管);

HC-SR04超声波模块;

STC89C52芯片;

2、软件设计思路

软件设计采用C语言编程,运用模块化程序设计思想,对不同功能模块的程序进行分别编程,以便移植或调用,这样使软件层次结构清晰,有利于软件的调试修改。

软件设计思路是:

系统初始化、发射脉冲串、计时、接收输入脉冲,接收串口输入速度值、计算距离、显示距离值、重复。

超声波测距算法设计如下:

超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。

这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。

该距离的计算公式如下:

d=s/2(v×t)/2

其中:

d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。

超声波测距原理图如下:

3、项目涉及的知识点说明

HC-SR04超声波模块简介:

实物图:

正面:

 

背面:

HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到1cm;模块包括超声波发射器、接收器与控制电路。

1、基本工作原理:

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

2、主要技术参数:

(1)使用电压:

DC---5V  

(2)静态电流:

小于2mA      

(3)电平输出:

高5V    

(4)电平输出:

底0V        

(5)感应角度:

不大于15度   

(6)探测距离:

2cm-450cm

(7)高精确度:

1cm   

 

三、硬件设计

1、电路原理图

HC-SR04超声波模块电路图:

2、元器件或模块清单

主要元器件

单片机开发板

STC89C52芯片

共阳极四位数码管0.36英寸(3641B)

外围模块

HC-SR04超声波模块

 

四、软件设计

1、程序流程图

 

2.程序清单

#include"reg51.h"

#include

//常变量定义:

codeunsignedchartable[]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};

//表:

共阳数码管0-9-

unsignedinttime=0;

unsignedinttimer=0;

unsignedlongS=0;

bitflag=0;

unsignedcharl_disbuff[4]={0xff,0,0,0,};//显示缓冲

unsignedcharl_posit=1;//位选择

//引脚定义:

sbitSMG_q=P1^0;//定义数码管阳级控制脚(千位)本例程只用到三位数码管

sbitSMG_b=P1^1;//定义数码管阳级控制脚(百位)

sbitSMG_s=P1^2;//定义数码管阳级控制脚(十位)

sbitSMG_g=P1^3;//定义数码管阳级控制脚(个位)

sbitRX=P2^1;//模块引脚

sbitTX=P2^0;

/********************************************************/

//显示函数,参数为显示内容

voiddisplay()

{

P0=0XFF;//

switch(l_posit){

case0:

//选择千位数码管,关闭其它位

SMG_q=0;

SMG_b=1;

SMG_s=1;

SMG_g=1;

P0=0xff;//table[l_disbuff[0]];//此位不显示

break;

case1:

//选择百位数码管,关闭其它位

SMG_q=1;

SMG_b=0;

SMG_s=1;

SMG_g=1;

P0=table[l_disbuff[1]]&0x7f;//加入小数点

break;

case2:

//选择十位数码管,关闭其它位

SMG_q=1;

SMG_b=1;

SMG_s=0;

SMG_g=1;

P0=table[l_disbuff[2]];

break;

case3:

//选择个位数码管,关闭其它位

SMG_q=1;

SMG_b=1;

SMG_s=1;

SMG_g=0;

P0=table[l_disbuff[3]];

break;

}

l_posit++;

if(l_posit>3)

l_posit=0;

}

 

/********************************************************/

voidConut(void)

{

time=TH0*256+TL0;

TH0=0;

TL0=0;

S=(time*1.7)/100;//算出来是CM

if((S>=700)||flag==1)//超出测量范围显示“-”

{

flag=0;

l_disbuff[1]=10;//“-”

l_disbuff[2]=10;//“-”

l_disbuff[3]=10;//“-”

}

else

{

l_disbuff[1]=S%1000/100;

l_disbuff[2]=S%1000%100/10;

l_disbuff[3]=S%1000%10%10;

}

}

 

/********************************************************/

voidzd0()interrupt1//T0中断用来计数器溢出,超过测距范围

{

flag=1;//中断溢出标志

}

 

/********************************************************/

 

voidzd3()interrupt3//T1中断用来扫描数码管和计800MS启动模块

{

TH1=0xf8;

TL1=0x30;

display();

timer++;

if(timer>=400)

{

timer=0;

TX=1;//800MS启动一次模块

 

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

TX=0;

}

}

/*********************************************************/

voidmain(void)

{

TMOD=0x11;//设T0,T1为方式1

TH0=0;

TL0=0;

TH1=0xf8;//2MS定时

TL1=0x30;

ET0=1;//允许T0中断

ET1=1;//允许T1中断

TR1=1;//开启定时器

EA=1;//开启总中断

while

(1)

{

while(!

RX);//当RX为零时等待

TR0=1;//开启计数

while(RX);//当RX为1计数并等待

TR0=0;//关闭计数

Conut();//计算

}

}

五、系统调试过程与演示

1.电路板焊接

2.载入程序调试

3.调试结果演示如下:

A4纸规格:

长:

29.7cm

宽:

21cm

A4长度测量:

 

A4宽度测量:

六、项目总结

单片机课是一门实践性很强的课程,仅有课堂上理论知识的学习,对运用好单片机是完全不够的,必须亲自做实验,从实验中吸取教训,总结经验,增加实战经验,加深对单片机的理解,更好的运用单片机。

单片机实验课的目的就是为学生提供做实验的机会,让学生能够从几个简单的实验中学会单片机开发的过程和单片机的实际运用。

通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

经过几个星期的实训设计,我要感谢我的指导教师张劲老师在实训设计中对我给予的悉心指导和帮助,也谢谢同学对我的的帮助。

在此次实训中,对KeiluVision2软件的使用有了明显的提高,比以前更加的熟悉了用该软件菜单的各项调试工具和窗口,再结合硬件和软件,进行整体调试。

我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。

总之,亲自动手是课堂学习的延续,电子领域随时随地都在发生着翻天覆地的变化,现有的知识储备总是落后于科技的发展脚步,我们只有不断学习新知识,才能做到面对新课题时游刃有余。

 

通过为期一周的单片机实训,使我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。

并且,这次实训是真正意义上的学以致用。

让我们对单片机有了更加清晰的了解更深刻的认识。

所以,在这里我得感谢我们的实训老师!

首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。

这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。

换是我们认识

到这次试训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂上无法得到的东西。

单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是费城必要的。

如:

LED显示器、键盘和显示器的应用和原理。

在这次实训中,我们组做的事‘超声波测距’。

从单片机开发版的焊接到程序的写入运行,最后让测距仪可以使用。

这使我们深深地体会到了单片机在现实生活中的小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。

更让我们体会到了单片机手动的开始平台的完善与成熟。

只要你有想法,单片机就有可能让他成为现实。

在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发平台都有了一定的了解,真是受益颇多。

通过这几天的试训,使我的感触很深,解决一个问题有很多办法的,要达到目的,不同的人就有不同的方法。

然后,我也深深体会到要注重团退合作,同学们的帮助会起到很大作用。

在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。

这次实训真的受益匪浅!

以前对单片机只是‘纸上谈兵’,经过这次实训,我们才是真正的自己动手去应用单片机,摸索单片机蕴藏的知识。

最后,我得在此感谢我们的实训老师的谆谆教诲和悉心教导!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2