找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

三路循跡小車程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:406145 發(fā)表于 2018-10-7 15:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit IN1 = P1^0;         //P20與電機(jī)驅(qū)動(dòng)IN1相連
sbit IN2 = P1^1;         //P21與電機(jī)驅(qū)動(dòng)IN2相連
sbit IN3 = P1^2;         //P22與電機(jī)驅(qū)動(dòng)IN3相連
sbit IN4 = P1^3;         //P23與電機(jī)驅(qū)動(dòng)IN4相連
       //P00左邊模塊
sbit D1 = P0^0;       //P01中間模塊
sbit D3 = P0^3;      //P02右邊模塊
sbit D6 = P0^6;
      
uint temp;
void left_zheng(void);
void left_fan(void);
void right_zheng(void);
void right_fan(void);
void ting(void);
void go(void);
void back(void);
void delayms(uint z);
void main(void)
{
while(1)
{


// temp = P0&0xff;

if(D1 == 0 && D3 == 0 && D6 == 0)
{
  ting();
}
if(D1 == 0 && D3 == 0 && D6 == 1)
{
   left_zheng();
}
if(D1 == 0 && D3 == 1 && D6 == 0)
{
   go();
}
if(D1 == 0 && D3 == 1 && D6 == 1)
{
    left_zheng();
}
if(D1 == 1 && D3 == 0 && D6 == 0)
{
    right_zheng();
}
if(D1 == 1 && D3 == 0 && D6 == 1)
{
   go();
}
if(D1 == 1 && D3 == 1 && D6 == 0)
{
   right_zheng();
}
if(D1 == 1 && D3 == 1 && D6 == 1)
{
   ting();
}
/* switch(temp)
  {
   case 0x00: ting();   break;
   case 0x01: right_zheng();  break;
   case 0x02: go();            break;
   case 0x03:  go();           break;
   case 0x04:  left_zheng();   break;
   case 0x05:  go();           break;
   case 0x06:  go();           break;
   case 0x07:  ting();        break;
   default:  break;   
  }  */  
}
}
void left_zheng(void)     //IN1 = 1, IN2 = 0;反轉(zhuǎn)
{             //IN1 = 0, IN2 = 1;正轉(zhuǎn)
IN1 = 0;       //IN3 = 1, IN4 = 0;反轉(zhuǎn)
IN2 = 0;       //IN3 = 0, IN4 = 1;正轉(zhuǎn)
IN3 = 0;
IN4 = 1;
delayms(100);
}
void left_fan(void)      
{            
IN1 = 0;      
IN2 = 0;      
IN3 = 1;
IN4 = 0;
delayms(50);
}
void right_zheng(void)
{
IN1 = 0;
IN2 = 1;
IN3 = 0;        //IN1 = 0, IN2 = 0;制動(dòng)
IN4 = 0;
delayms(100);       //IN1 = 1, IN2 = 1;制動(dòng)
}
void right_fan(void)
{
IN1 = 1;
IN2 = 0;
IN3 = 0;        
IN4 = 0;
delayms(50);      
}
void go(void)
{
IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 1;
delayms(30);
}
void back(void)
{
IN1 = 1;
IN2 = 0;
IN3 = 1;
IN4 = 0;
delayms(50);
}
void ting(void)
{
IN1 = 0;
IN2 = 0;
IN3 = 0;
IN4 = 0;
delayms(50);
}  

void delayms(uint z)
{
uint i,j;
for(i = 0; i < z; i++)
  for(j = 0; j < 110; j++);
}


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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-10-7 17:03 | 只看該作者
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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