ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:621.38KB ,
资源ID:2945474      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2945474.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机开发板超声波测距数码管显示.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、51单片机开发板超声波测距数码管显示计算机技术系项目工作报告课程名称单片机开发板设计与制作实训班级学号姓名 项目名称超声波测距,数码管显示实训日期/时间2015.6.23-2015.7.5地点指导教师同组成员仪器设备(参考资料)计算机、Keil uVision2、Proteus ISIS 电烙铁、开发板、HC-SR04超声波模块实训内容(任务安排)1焊接开发板2自选课题3开发与调试4项目汇报与总结一、 项目名称与要求项目名称:超声波测距,数码管显示功能描述:采用HC-SR04超声波模块,STC89C52单片机以及数码管显示设计的一种超声波测距显示器,可以实现测量物体到仪器距离以及显示等功能,可

2、以测量范围为2cm 450cm ,精确度为1cm。是一种结构简单、性能稳定、使用方便、价格低廉的超声波距离测量器,具有一定的实用价值。 2、项目设计思路 1、硬件资源单片机开发板(携带数码管);HC-SR04超声波模块;STC89C52芯片;2、软件设计思路软件设计采用C语言编程,运用模块化程序设计思想,对不同功能模块的程序进行分别编程,以便移植或调用,这样使软件层次结构清晰,有利于软件的调试修改。 软件设计思路是:系统初始化、发射脉冲串、计时、接收输入脉冲,接收串口输入速度值、计算距离、显示距离值、重复。超声波测距算法设计如下:超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测

3、物体后反射回来,就会被超声波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。该距离的计算公式如下: d=s/2(vt)/2 其中:d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。超声波测距原理图如下: 3、项目涉及的知识点说明HC-SR04超声波模块简介: 实物图: 正面:背面:HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能, 测距精度可达高到 1cm;模块包括超声波发射器、接收器与控制电路。 1、基本工作原理: (1)采用 IO 口 TRIG 触发测距,给至少

4、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超

5、声波模块四、软件设计1、程序流程图 2.程序清单#include reg51.h#include /常变量定义:code unsigned char table= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf; /表:共阳数码管 0-9 - unsigned int time=0;unsigned int timer=0;unsigned long S=0;bit flag =0;unsigned char l_disbuff4= 0xff,0,0,0,;/显示缓冲unsigned char l_posit=1; /位选择/引脚定

6、义: sbit SMG_q = P10; /定义数码管阳级控制脚(千位)本例程只用到三位数码管sbit SMG_b = P11; /定义数码管阳级控制脚(百位)sbit SMG_s = P12; /定义数码管阳级控制脚(十位)sbit SMG_g = P13; /定义数码管阳级控制脚(个位)sbit RX = P21; /模块引脚sbit TX = P20;/*/显示函数,参数为显示内容void display() P0=0XFF; / switch(l_posit) case 0: /选择千位数码管,关闭其它位 SMG_q=0; SMG_b=1; SMG_s=1; SMG_g=1; P0=0

7、xff; /tablel_disbuff0; /此位不显示 break; case 1: /选择百位数码管,关闭其它位 SMG_q=1; SMG_b=0; SMG_s=1; SMG_g=1; P0=tablel_disbuff1&0x7f;/加入小数点 break; case 2: /选择十位数码管,关闭其它位 SMG_q=1; SMG_b=1; SMG_s=0; SMG_g=1; P0=tablel_disbuff2; break; case 3: /选择个位数码管,关闭其它位 SMG_q=1; SMG_b=1; SMG_s=1; SMG_g=0; P0=tablel_disbuff3; b

8、reak; l_posit+; if(l_posit3) l_posit=0; /*/void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100; /算出来是CM if(S=700)|flag=1) /超出测量范围显示“-” flag=0; l_disbuff1=10; /“-” l_disbuff2=10; /“-” l_disbuff3=10; /“-” else l_disbuff1=S%1000/100; l_disbuff2=S%1000%100/10; l_disbuff3=S%1000%10 %10; /*/

9、void zd0() interrupt 1 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志/*/void zd3() interrupt 3 /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_(); _n

10、op_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; /*/void main( 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;

11、 /关闭计数 Conut(); /计算 五、系统调试过程与演示1.电路板焊接2.载入程序调试3.调试结果演示如下:A4纸规格:长:29.7 cm宽:21 cmA4长度测量:A4宽度测量:六、项目总结 单片机课是一门实践性很强的课程,仅有课堂上理论知识的学习,对运用好单片机是完全不够的,必须亲自做实验,从实验中吸取教训,总结经验,增加实战经验,加深对单片机的理解,更好的运用单片机。单片机实验课的目的就是为学生提供做实验的机会,让学生能够从几个简单的实验中学会单片机开发的过程和单片机的实际运用。通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培

12、养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。经过几个星期的实训设计,我要感谢我的指导教师张劲老师在实训设计中对我给予的悉心指导和帮助,也谢谢同学对我的的帮助。在此次实训中,对Keil uVision2软件的使用有了明显的提高,比以前更加的熟悉了用该软件菜单的各项调试工具和窗口,再结合硬件和软件,进行整体调试。我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。总之,亲自动手是课堂学习的延续,电子领域随时随地都在发生着翻天覆地的变化,现有的知识储备总是落后于科技的发展脚步,我们只有不断学习新知识,才能做到面对新课题时游刃有余。通过为期一周的单片机实训,使我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。并且,这次实训是真正意义上的学以致用。让我们对单片机有了更加清晰的了解更深刻的认识。所以,在这里我得感谢我们的实训老师! 首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。换是我们认识到这次试训不仅仅是一个软件的应用,更多的是使我们认识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1