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

QQ登錄

只需一步,快速開始

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

基于AT89C52單片機(jī)制作藍(lán)牙智能遙控小車程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:876226 發(fā)表于 2021-2-7 08:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
新手制作,簡(jiǎn)單明了,好了廢話不多說!
一、1個(gè)基本的小車模型殼。
二、18650可充電鋰電池2個(gè)。
三、智能小車驅(qū)動(dòng)模塊。
四、HC-05藍(lán)牙模塊。
五、單片機(jī)最小系統(tǒng)。


#include <reg52.h>
sbit ENA=P1^0;
sbit M1A=P1^1;                        
sbit M1B=P1^2;                           
sbit M2A=P1^3;                           
sbit M2B=P1^4;                          
sbit ENB=P1^5;
void tingzhi()         //停止
{
   M1A=0;                                 
   M1B=0;                                 
   M2A=0;                                   
   M2B=0;

}

void qianjin()         //前進(jìn)
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=1;                                   
   M2B=0;
}

void houtui()                    //后退
{
   M1A=0;                                   
   M1B=1;                                   
   M2A=0;                                   
   M2B=1;
}

void zuozhuan()          //左轉(zhuǎn)
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=0;                                   
   M2B=0;
}


void youzhuan()           //右轉(zhuǎn)
{  
   M1A=0;                                   
   M1B=0;                                   
   M2A=1;                                   
   M2B=0;
   
}
void youyuan()           //原地右轉(zhuǎn)
{  
   M1A=0;                                   
   M1B=1;                                   
   M2A=1;                                   
   M2B=0;
   
}
void zuoyuan()           //原地左轉(zhuǎn)
{  
   M1A=1;                                   
   M1B=0;                                   
   M2A=0;                                   
   M2B=1;
   
}

void UART_INIT()
{
        SM0 = 0;
        SM1 = 1;                            //串口工作方式1
        REN = 1;                            //允許串口接收
        EA = 1;                                //開總中斷
        ES = 1;                                //開串口中斷
        TMOD = 0x20;                    //8位自動(dòng)重裝模式
        TH1 = 0xfd;
        TL1 = 0xfd;                        //9600波特率
        TR1 = 1;                            //啟動(dòng)定時(shí)器
}
                                            //串口中斷
void UART_SER() interrupt 4
{
        if(RI)
        {
                RI = 0;        //清除接收標(biāo)志
                switch(SBUF)
                {
                        case 'A': tingzhi(); break;
                        case 'B': qianjin(); break;
                        case 'C': houtui(); break;
                        case 'D': zuozhuan(); break;
                        case 'E': youzhuan(); break;
                        case 'F': zuoyuan(); break;
                        case 'G': youyuan(); break;
                }
        }
}
void main()
{
        UART_INIT();        //串口初始化
        while(1);        
}

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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