久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1847|回復: 5
打印 上一主題 下一主題
收起左側

單片機小車超聲波舵機模塊不知道為什么只有舵機轉,小車不走

[復制鏈接]
跳轉到指定樓層
樓主
大佬看看是不是代碼有問題,已經卡這快一個星期了,
#include<reg52.h>
#include<intrins.h>
#define uint  unsigned int
#define uchar unsigned char
sbit trig=P1^0;
sbit echo=P2^0;    //觸發控制信號輸入
sbit pwm=P2^6;     //回響信號輸出
sbit M1A=P0^0;
sbit M1B=P0^1;
sbit M2A=P0^2;  
sbit M2B=P0^3;
uchar count,jd;
uint  time=0,timer=0;   
bit flag =0;   
unsigned long s=0,zs=0,ys=0;
void delay(uint x)  
{
uint i,j;
     for(i=x;i>0;i--)   
for(j=110;j>0;j--);  
}
  void tingzhi()  //停止
  {
  M1A=0;
    M1B=0;
    M2A=0;
    M2B=0;
  }
  void qianjin()  //前進
  {
  M1A=0;
    M1B=1;
    M2A=0;
    M2B=1;
  }
  void houtui()   //后退
  {
  M1A=1;
    M1B=0;
    M2A=1;
    M2B=0;
  }
  void zuozhuan()  //左轉
  {
  M1A=1;
    M1B=0;
    M2A=0;
    M2B=1;
  }  
    void youzhuan()  //右轉
{
    M1A=0;
    M1B=1;
    M2A=1;
    M2B=0;
}  
void ceju(void)
{
  while(!echo);   //當echo為零時等待
    TR0=1;          //開啟計數
    while(echo);    //當echo為1計數并等待
  TR0=0;
  time=TH0*256+TL0;
  TH0=0;
  TL0=0;
  s=(time*1.7)/100;  //單位cm
}
   void qingling()
   {
    time=0;
    TH1=65036/256;
  TL1=65036%256;
    count=0;
   }
  void zd0()interrupt 1  //T0中斷用來計數器溢出,超過測距范圍
  {
  flag=1;                //中斷溢出標志
  }
  void zd1()interrupt 3
  {
  TH1=65036/256;
  TL1=65036%256;
   if(count<jd) pwm=1;
   else pwm=0;
   count++;
   count=count%40;
   timer++;
    if(timer>=800)
    {
    timer=0;
     trig=1;
  _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
     trig=0;
    }
  }
  void main(void)
  {
  jd=3;
   count=0;
   TMOD=0x11;
   TH0=0;
   TL0=0;
   TH1=65036/256;
  TL1=65036%256;
   IE=0x8a;
   while(1)
   {
   TR1=1;
    ceju();
    if(s<=10);
    {
    tingzhi();
     jd=1;
     count=0;
     delay(20);
     TR1=0;
     qingling();
     TR1=1;
     ceju();
     ys=s;
     jd=5;
     count=0;
     delay(20);
     TR1=0;
     qingling();
     TR1=1;
     ceju();
     zs=s;
     jd=3;
     count=0;
     delay(20);
     TR1=0;
     if((zs>=ys)&&(zs>10))
     {
     zuozhuan();
     }
     else if((ys>=zs)&&(ys>10))
     {
     youzhuan();
     }
     else
     {
     houtui();
     }
     if((s>10)||(flag==1))
     {
      qianjin();
     }
    }
   }
  }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:702493 發表于 2020-3-11 09:55 | 只看該作者
我寫了個小車移動的程序,里面沒有關于超聲波舵機的相關程序,只要插上超聲波trig小車就不走,拔了走,求原因
回復

使用道具 舉報

板凳
ID:367369 發表于 2020-3-11 15:28 | 只看該作者
sbit echo=P2^0;    //觸發控制信號輸入

void ceju(void)
{
  while(!echo);   //當echo為零時等待
    TR0=1;          //開啟計數
    while(echo);    //當echo為1計數并等待
  TR0=0;
  time=TH0*256+TL0;
  TH0=0;
  TL0=0;
  s=(time*1.7)/100;  //單位cm
}
P2^0腳的模式是怎樣的  后面沒看到echo 的變化
這里兩個while 如果echo 值沒有一直01變化
就必然會產生一個while(1)的死循環;程序就會死在這里
回復

使用道具 舉報

地板
ID:702493 發表于 2020-3-11 19:40 來自手機 | 只看該作者
game灬boy 發表于 2020-3-11 15:28
sbit echo=P2^0;    //觸發控制信號輸入

void ceju(void)

可我看很多資料都這么寫!

1583926787701.jpg (1.98 MB, 下載次數: 45)

1583926787701.jpg
回復

使用道具 舉報

5#
ID:367369 發表于 2020-3-29 16:10 | 只看該作者
1145421628 發表于 2020-3-11 19:40
可我看很多資料都這么寫。

小車不走肯定是程序死在某個地方了,安照你的代碼問題應該出在ceju上面

示例代碼可能有把ECHO初始化,然后超聲波返回時對其進行改變,或者在中斷中將其變化
看不到你得硬件很難分析;你的P20腳的電平必須在ceju();時01變化

sbit trig=P1^0;
sbit echo=P2^0;    //觸發控制信號輸入
sbit pwm=P2^6;     //回響信號輸出

你得這些接的什么腳?可能是硬件接法問題
你得分析P20腳的電平到底怎么變的
回復

使用道具 舉報

6#
ID:477107 發表于 2020-3-29 19:46 | 只看該作者
程序看上去沒有明顯錯誤,確定硬件也沒有問題嗎,接線也都是正確的?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美乱操| 久久男人 | 日本不卡在线观看 | 亚洲综合五月天婷婷 | 欧美激情在线一区二区三区 | 亚洲成人av一区二区 | av在线黄| 性一交一乱一透一a级 | 国产精品a久久久久 | 欧美日韩精品免费 | 天天操精品视频 | 狠狠爱综合网 | 色999视频 | 九九热精品视频 | 伊人最新网址 | 欧美理论片在线观看 | 日韩av一区二区在线观看 | 国产亚洲欧美在线 | 国产精品久久久久久久久久尿 | 日韩视频在线免费观看 | 在线欧美| 亚洲精品电影 | 日韩av在线一区二区 | 国产在线中文字幕 | 亚洲精品欧美精品 | 麻豆久久| 一区二区在线观看免费视频 | 福利网址 | 欧美a在线 | 国产一级黄色网 | 国产精品精品视频一区二区三区 | 日日夜夜91| 精品1区2区 | 国产精品亚洲精品日韩已方 | 一级黄色影片在线观看 | 亚洲激情专区 | 欧美日韩高清在线一区 | 色婷婷久久久亚洲一区二区三区 | www.99精品| 国产精品99久久免费观看 | 成人高清视频在线观看 |