重庆彩票网

返回列表 发新帖本帖赏金 5.00元(功能说明)
打印

[应用方案] N76E003 超声波测距

[复制链接]
476|17
跳转到指定楼层
楼主

  1. #include "N76E003.h"
  2. #include "Common.h"
  3. #include "Delay.h"
  4. #include "SFR_Macro.h"
  5. #include "Function_define.h"

  6. #define uint unsigned int
  7. #define uchar unsigned  char
  8. #define NOP() {_nop_();_nop_();_nop_();_nop_();}


  9. sbit Trig=P0^5;//测距触发引脚
  10. long int temp,t;
  11. int i=0;

  12. /************************************************************************************************************
  13. * 外部中断0服务程序
  14. ************************************************************************************************************/
  15. void int0() interrupt 0
  16. {
  17.         t=(TH0*256+TL0);//计算高电平持续的时间,上升沿到来时候开始计时,下降沿到来进入外部中断,关闭计时器,停止计时
  18.         TH0=0;
  19.         TL0=0;
  20. }

  21. void main (void)
  22. {
  23.                 Set_All_GPIO_Quasi_Mode;
  24.                 P00_Input_Mode;//将P00设置为输入模式
  25.                 P00 = 1;
  26.                 Trig=0;//为低电平
  27.                 TMOD=0x19;
  28.                 TR0=1;//启动定时器0
  29.                 EX0=1;//使能部中断0
  30.                 IT0=1;//外部中断0下降沿触发
  31.                 set_EA;//开启总中断
  32.     while(1)
  33.     {
  34.                         Trig=1;
  35.                         NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
  36.                         Trig=0;
  37.                         temp=t*0.17;//得到距离
  38.     }
  39. }
复制代码


使用特权

评论回复

打赏榜单

linoox 打赏了 5.00 元 2019-11-06
理由:正在用n76e003做超声波测距,我对这个芯片不熟,遇到了一些问题,能加您的qq咨询一下吗,我的qq是1279141018 黎工。非常感谢

评论

捉虫天师 2019-11-6 22:51 回复TA
@linoox :遇到了啥技术难题 
21mengnan 2019-11-6 19:37 回复TA
@linoox :这程序很难理解吗?就是让发射管发射信号时候开始定时器计时,然后收到回波信号触发外部中断,在中断读出来时间,这个时间是声波一来一回的时间,T*V=2S;V=340m/S所以S=t*170m/s 如果这里时间单位不是S,而是ms,那么就是S=t*0.17 
linoox 2019-11-6 10:44 回复TA
正在用n76e003做超声波测距,我对这个芯片不熟,遇到了一些问题,能加您的qq咨询一下吗,我的qq是1279141018 黎工。非常感谢 
沙发
 楼主 | 2019-6-11 22:55 | 只看该作者
跟尺子出来的数据差不多

使用特权

评论回复
板凳
 楼主 | 2019-6-11 22:56 | 只看该作者
觉得直接使用N76E003单片机自带的输入捕获功能就可实现对超声波模块信号宽度测量,但是测出来的数据误差很大,明明原理跟外部中断差不多的呀,还发现用3.3V驱动模块,用逻辑分析仪可以得到比较好的波形,但是单片机读取的数据就是不对,还是用5V供电才能得到一个相对准确的数据

使用特权

评论回复
地板
 楼主 | 2019-11-6 19:38 | 只看该作者
这个例子使用了定时器,外部中断,所以还是非常简单的,官方提供的BSP已经充分介绍了这两个功能的用法,这是基本的功能了。这个超声波测距的理论很简单,就是发射声波时候开始计时,然后接收到声波的回波后触发中断读取计时数据。然后根据声波在空气中的速度算出来距离。

使用特权

评论回复
5
 楼主 | 2019-11-6 19:39 | 只看该作者
我觉得这个没必要再多讲了吧,哈哈。

使用特权

评论回复
6
| 2019-11-6 20:05 | 只看该作者
那意思这个需要修改一下。

使用特权

评论回复
7
| 2019-11-6 20:06 | 只看该作者
  1. #include "N76E003.h"
  2. #include "Common.h"
  3. #include "Delay.h"
  4. #include "SFR_Macro.h"
  5. #include "Function_define.h"

  6. #define uint unsigned int
  7. #define uchar unsigned  char
  8. #define NOP() {_nop_();_nop_();_nop_();_nop_();}


  9. sbit Trig=P0^5;//测距触发引脚
  10. long int temp,t;
  11. int i=0;

  12. /************************************************************************************************************
  13. * 外部中断0服务程序
  14. ************************************************************************************************************/
  15. void int0() interrupt 0
  16. {
  17.         t=(TH0*256+TL0);//计算高电平持续的时间,上升沿到来时候开始计时,下降沿到来进入外部中断,关闭计时器,停止计时
  18.         TH0=0;
  19.         TL0=0;
  20. }

  21. void main (void)
  22. {
  23.                 Set_All_GPIO_Quasi_Mode;
  24.                 P00_Input_Mode;//将P00设置为输入模式
  25.                 P00 = 1;
  26.                 Trig=0;//为低电平
  27.                 TMOD=0x19;
  28. //TR0=1;//启动定时器0
  29.                 EX0=1;//使能部中断0
  30.                 IT0=1;//外部中断0下降沿触发
  31.                 set_EA;//开启总中断
  32.     while(1)
  33.     {
  34.                         Trig=1;
  35.                         NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
  36.                         Trig=0;
复制代码

使用特权

评论回复
8
| 2019-11-6 20:07 | 只看该作者
谁有板子,试试怎么搞精度比较靠谱。比较准。

使用特权

评论回复
9
| 2019-11-6 22:51 | 只看该作者
不知道上面那位打赏的朋友是遇到了什么难题啊。应该以回帖形式提问,这样大家可以方便回复啊。

使用特权

评论回复
10
| 2019-11-6 23:24 | 只看该作者
资料不错,看看。

使用特权

评论回复
11
| 2019-11-7 00:02 | 只看该作者
看来不错,有打赏。

使用特权

评论回复
12
| 2019-11-7 19:35 | 只看该作者
多谢各位大佬分享。

使用特权

评论回复
13
| 2019-11-7 22:13 | 只看该作者
这个资料非常不错。我也借此巩固了知识。

使用特权

评论回复
14
| 2019-11-7 23:27 | 只看该作者
之前没研究过,看起来很容易理解。

使用特权

评论回复
15
| 2019-11-8 11:05 | 只看该作者
以前没研究,学习一下。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
返回列表 发新帖 本帖赏金 5.00元(功能说明)
我要发帖 投诉建议 创建版块 申请版主

论坛热帖

在线客服 快速回复 返回顶部 返回列表
宝赢彩票官方网站 北京Pk10技巧 宝赢彩票网 宝赢彩票娱乐网站 宝赢彩票注册 北京赛车pk10