超声波模块就是调不通。。。求助。

2020-01-23 14:48发布

本帖最后由 673835452 于 2014-4-27 22:56 编辑
  1. #include <reg51.h>
  2. //ӽޅ֨ӥ
  3. sbit trig=P1^0;
  4. sbit echo=P3^2;
  5. //endb
  6. //Ҥ֨ӥ
  7. unsigned char j,time,timel,timeh;
  8. //ғʱ20us        
  9. void delayus()
  10. {
  11.         unsigned int us;
  12.         for(us=0;us<200;us++);
  13. }
  14. //        end
  15. //ғʱ
  16. void delay(unsigned char d)
  17. {
  18.         unsigned int a,b;
  19.         for(a=d;a>0;a--)
  20.                 for(b=110;b>0;b--);
  21. }

  22. // end
  23. void main ()
  24. {
  25.         
  26.         unsigned char l;
  27.         //IT0=1;        
  28.         TMOD = 0x21;   
  29.         SCON = 0x50;   
  30.         TH1 = 0xFD;   
  31.         TL1 = 0xfd;
  32.         TR1 = 1;  
  33.         EA=1;               
  34.         trig=0;
  35.         echo=0;
  36.         
  37. while(1)
  38.         {
  39.                 EA=0;
  40.                 trig=1;
  41.                 delayus();
  42.                 trig=0;
  43.                 while(echo==0);
  44.                 j=0;         //ԉ٦Ҫ־
  45.                 EA=1;
  46.                 EX0=1;
  47.                 TH0=0;
  48.                 TL0=0;
  49.                 TF0=0;
  50.                 TR0=1;
  51.                 delay(60);
  52.                 TR0=0;
  53.                 //EX0=0;
  54.                 if(1==j)
  55.                 {
  56.                         time=timel*256+timeh;
  57.                         l=time*0.0172;                        
  58.                 }
  59.                 if(0==j)
  60.                 {
  61.                         l=0;
  62.                
  63.                 }
  64.                 SBUF=l;
  65.                 while(!TI);
  66.                 TI=0;
  67.         }
  68. }
  69. void wai () interrupt 0
  70. {
  71.         
  72.         EX0=0;
  73.         timel=TL0;
  74.         timeh=TH0;
  75.         j=1;
  76. }
  77. void ding () interrupt 1
  78. {
  79.         TH0=0;
  80.         TL0=0;
  81. }

  82.         
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
673835452
1楼-- · 2020-01-23 15:38
不知道哪里出问题了。。
Xujuango
2楼-- · 2020-01-23 21:09
什么情况
673835452
3楼-- · 2020-01-24 01:49
 精彩回答 2  元偷偷看……
luweixuan
4楼-- · 2020-01-24 02:42
673835452 发表于 2014-4-27 19:26
发送过来老是0

把你用的模块芯片资料或者模块信息发上来,要不谁都没法帮你。
电子喵星人
5楼-- · 2020-01-24 05:18
看看是不是定时器中断与串口波特率发生器的配置冲突了,导致串口能用而用来计算超声波的定时器不能用
673835452
6楼-- · 2020-01-24 08:44
luweixuan 发表于 2014-4-27 20:34
把你用的模块芯片资料或者模块信息发上来,要不谁都没法帮你。

HC-SR04 已经上传了

一周热门 更多>