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

QQ登錄

只需一步,快速開始

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

51單片機(jī)控制小車運(yùn)動(dòng)C語(yǔ)言代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:287365 發(fā)表于 2018-3-4 10:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>

sbit Moto_RA=P1^6;
sbit Moto_RB=P1^5;
sbit Moto_LA=P1^4;
sbit Moto_LB=P1^3;        //左右電機(jī)驅(qū)動(dòng)

/***********************************
*函數(shù)名稱:void Delay(unsigned char num)
*函數(shù)功能:延時(shí)
*參數(shù)說(shuō)明:num 延時(shí)時(shí)間 數(shù)值最大255
*返回說(shuō)明:無(wú)
*其它說(shuō)明:不精準(zhǔn)延時(shí)
***********************************/
void Delay(unsigned char num)
{
    unsigned int temp=0;
    while(num--)
    {
        temp=2000;
        while(temp--);
    }
}



/***********************************
*函數(shù)名稱:void Car_Run(unsigned char dire)
*函數(shù)功能:行進(jìn)方向控制
*參數(shù)說(shuō)明:dire 方向 0:停止   1:前   2:后   3:左   4:右
*返回說(shuō)明:無(wú)
*其它說(shuō)明:左右方向?yàn)樵剞D(zhuǎn)彎 【若想前進(jìn)中和后退中轉(zhuǎn)彎 需要與調(diào)速函數(shù)配合 使兩個(gè)車輪轉(zhuǎn)速不同】
***********************************/
void Car_Run(unsigned char dire)
{
    switch (dire)
    {
        case 0:             //停止
        {
            Moto_RA=0;
            Moto_RB=0;
            Moto_LA=0;
            Moto_LB=0;        
        }break;
        case 1:            //前進(jìn)
        {
            Moto_RA=1;
            Moto_RB=0;
            Moto_LA=1;
            Moto_LB=0;        
        }break;
        case 2:            //后退        
        {
            Moto_RA=0;
            Moto_RB=1;
            Moto_LA=0;
            Moto_LB=1;        
        }break;
        case 3:            //左轉(zhuǎn)        
        {
            Moto_RA=1;
            Moto_RB=0;
            Moto_LA=0;
            Moto_LB=1;        
        }break;
        case 4:            //右轉(zhuǎn)
        {
            Moto_RA=0;
            Moto_RB=1;
            Moto_LA=1;
            Moto_LB=0;        
        }break;
        default:break;
    }
}


/***********************************
*函數(shù)名稱:void main(void)
*函數(shù)功能:程序入口
*參數(shù)說(shuō)明:無(wú)
*返回說(shuō)明:無(wú)
*其它說(shuō)明:main函數(shù)有且只有一個(gè)
***********************************/
void main(void)
{
    while(1)
    {
        Car_Run(1);        //前進(jìn)
        Delay(20);
        Car_Run(2);        //后退
        Delay(20);
        Car_Run(3);        //左轉(zhuǎn)
        Delay(20);
        Car_Run(4);        //右轉(zhuǎn)
        Delay(20);
        Car_Run(0);        //停止
        Delay(20);
    }
}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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