欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2486|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)智能小車尋跡的程序的問題,思考良久找不到問題所在,想請教一下各...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:469368 發(fā)表于 2019-10-17 23:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
20黑幣
不才想利用單片機(jī)控制光電開關(guān)傳感器,當(dāng)光電開關(guān)傳感器檢測到障礙物時就走xx毫秒。但現(xiàn)在的問題是一接通電源左電機(jī)動而右電機(jī)不動,檢測到障礙物則相反(即右電機(jī)動左電機(jī)不動),思考良久仍然找不出問題所在,拜托各位前輩慷慨相助,不吝賜教。單片機(jī)程序如下:
#include "reg52.h"
/*電機(jī)驅(qū)動IO定義*/
sbit IN1 = P1^0; //為1 左電機(jī)反轉(zhuǎn)
sbit IN2 = P1^1; //為1 左電機(jī)正轉(zhuǎn)
sbit IN3 = P1^2; //為1 右電機(jī)正轉(zhuǎn)
sbit IN4 = P1^3; //為1 右電機(jī)反轉(zhuǎn)
sbit EN1 = P1^4; //為1 左電機(jī)使能
sbit EN2 = P1^5; //為1 右電機(jī)使能
sbit left_led2 = P3^4;//左避障信號 為0 識別障礙物 為1沒有識別到障礙物
sbit right_led2 = P3^5;//右避障信號 為0 識別障礙物 為1沒有識別到障礙物
#define left_motor_en  EN1 = 1 //左電機(jī)使能
#define right_motor_en  EN2 = 1 //右電機(jī)使能

#define left_motor_stops IN1 = 0, IN2 = 0//左電機(jī)停止
#define right_motor_stops IN3 = 0, IN4 = 0//右電機(jī)停止
#define left_motor_go  IN1 = 0, IN2 = 1//左電機(jī)正傳
#define left_motor_back  IN1 = 1, IN2 = 0//左電機(jī)反轉(zhuǎn)
#define right_motor_go  IN3 = 1, IN4 = 0//右電機(jī)正傳
#define right_motor_back IN3 = 0, IN4 = 1//右電機(jī)反轉(zhuǎn)
unsigned char pwm_left_val = 100;//左電機(jī)占空比值 取值范圍0-170,0最快
unsigned char pwm_right_val = 100;//右電機(jī)占空比值取值范圍0-170 ,0最快
unsigned char pwm_t;//周期
void delay(unsigned int z)//毫秒級延時
{
unsigned int x,y;
for(x = z; x > 0; x--)
  for(y = 114; y > 0 ; y--);
}
/*小車前進(jìn)*/
void forward()
{
left_motor_go; //左電機(jī)前進(jìn)
right_motor_go; //右電機(jī)前進(jìn)
}

//定時器0中斷
void timer0() interrupt 1
{
pwm_t++;//周期計時加
if(pwm_t == 255)
  pwm_t = EN1 = EN2 = 0;
if(pwm_left_val == pwm_t)//左電機(jī)占空比
  EN1 = 1;  
if(pwm_right_val == pwm_t)//右電機(jī)占空比
  EN2 = 1;   
}
void main()
{

TMOD |= 0x02;//8位自動重裝模塊
TH0 = 220;
TL0 = 220;//11.0592M晶振下占空比最大比值是256,輸出100HZ
TR0 = 1;//啟動定時器0
ET0 = 1;//允許定時器0中斷
EA = 1;//總中斷允許
while(1)
{
  //為0 識別障礙物 為1沒有識別到障礙物

  if(left_led2 == 0  || right_led2 == 1)//小車右側(cè)識別到障礙物,前進(jìn)
  {
   forward();//前進(jìn)

   delay(540);
   left_motor_stops;
   right_motor_stops;//停止
  }
   
}
}


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

使用道具 舉報

沙發(fā)
ID:235200 發(fā)表于 2019-10-18 01:38 | 只看該作者
從程序看只有停止和前進(jìn)兩種運(yùn)動控制,這種情況應(yīng)該是電機(jī)驅(qū)動的信號未接對
回復(fù)

使用道具 舉報

板凳
ID:469368 發(fā)表于 2019-10-18 09:08 來自觸屏版 | 只看該作者
csmyldl 發(fā)表于 2019-10-18 01:38
從程序看只有停止和前進(jìn)兩種運(yùn)動控制,這種情況應(yīng)該是電機(jī)驅(qū)動的信號未接對

也就是說接線接錯了嗎?謝謝前輩不吝賜教
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表