2020年新版超声波测速系统.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
题目:超声波测距系统 一、设计目的: 1、 通过本次课程设计加深对单片机课程的全面认识和掌握, 对单片机课程的 应用进一步的了解。 2、 掌握定时器、外部中断的设置和编程原理。 3、 通过此次课程设计能够将单片机软硬件结合起来, 对程序进行编辑,校验。 设计任务: 设计任务: 利用单片机及外围接口电路 (显示接口电路)设计制作超声波测距仪器,用 LED把测 距仪距被测物的距离显示出来。 三、 具体要求: 使用软件Proteus 7 Professional测试仿真调试,并在keil环境下编写程序 并调试。 在面包板上进行初步仿真测试,设计好布线以及焊接排序。 3?在PCB板上焊接元器件电路,并进行测试得出实验结果。 四、 设计原理 (一)硬件设计 1.超声波测距原理 超声波测距原理是通过超声波发射器向某一方向发射超声波 (一般为40KHz 的超声波),在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立 即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速 度为v,而根据计时器记录的测出发射和接收回波的时间差厶 t ,就可以计算出 发射点距障碍物的距离S ,即:S = v ?△ t 12 障碍韧 障碍韧 超声波测距仪原理框图 单片机最小系统 单片机最小系统电路,由主控器 STC89C52时钟电路和复位电路三部分 组成。单片机STC89C52乍为核心控制器控制着整个系统的工作,而时钟电路 负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、 稳定地工作。 晶振电路 位单片机提供时钟频率 复位电路 复位是单片机的初始化操作。其主要功能是把 PC初始化为0000H,使单 片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程 序运行出错或操作错误使系统处于死锁状态时, 为摆脱困境,也需按复位键重 新启动。 总的电路图如下: H庄fJC理Milni/HFdSEEET H庄fJC理 Mil ni/H FdSE EET Flkth FllMN 电恥 i = ^4LKE D 21 FW 应更M FJMCO fF VIS: 口网 h3 rm N.4 巧c hi 町严 冲押1 f.37iFy (二)软件设计 软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、超声波 发射和接收,距离计算、结果的输出。外部中断服务子程序主要完成时间值的读 取。主程序首先是对系统环境初始化,设置定时器 T1工作模式为16位定时计 数器模式。置位总中断允许位EA。然后给Trig —个20us的高电平,然后在Echo 引脚等待其变为高电平,一旦输出了高电平,表明超声波已开始发射,此刻即计 时,等待Echo变为低电平,即触发外部中断0的跳变沿方式中断。读取当前定 时器的值,换算成时间,乘以波速,即得到测距距离。 程序如下: #in elude <reg52.h> #include vintrins.h> #defi ne uchar un sig ned char #defi ne uint un sig ned int uchar code table[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};〃 共阳极 0-9 unsigned char Ied[]={0x40,0x79,0x24, 0x30,0x19,0x12,0x02,0x78,0x00,0x10};//带小数点的位码 sbit SMG_q = P2A0; //定义数码管的千位 sbit SMG_b = P2A1; //定义数码管的百位 sbit SMG_s = P2A2; //定义数码管的十位 sbit SMG_g =卩2八3; //定义数码管的个位 sbit Trig =卩2八7; //发送波形 sbit Echo = P3A2; //回波产生中断 //succeed_flag测试成功标志位//延时毫秒sbit test = //succeed_flag测试成功标志位 //延时毫秒 uint succeed_flag,time,timeH,timeL; void delayms( uint z) { uint x,y; for(x=z;x>0;x__) for(y=110;y>0;y--); } void delay_20us() 〃延时 20 微秒函数 { uchar a ; for(a=0;a<=100;a++); } 数码管显示数据转换程序 ********************// void display( uint temp) { uchar ge,shi,bai,qia n; qia n=temp/1000; bai=temp%1000/100; s

文档评论(0)

cooldemon0601 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档