找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

藍(lán)牙小車程序

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

#define uchar unsigned char
#define uint unsigned int

uchar tmp;
unsigned char zkb=70 ;     
sbit IN1=P2^2;
sbit IN2=P2^3;

sbit ENA=P2^0;
sbit ENB=P2^1;

int t=0;

void dely(int a)
{
int i,j;
for(i=0;i<a;i++)
for(j=0;j<110;j++);
}

void Go()
{
  IN1=1;
  IN2=0;
}

void Back()
{
  IN1=0;
  IN2=1;
}

void Stop()
{
  IN1=0;
  IN2=0;
}

void timer0() interrupt 1
{
        if(t<zkb)
        {                 
           ENA=1;
           ENB=1;
        }
        else
        {
           ENA=0;
           ENB=0;
        }                 

        TH0=(65535-50)/256;
        TL0=(65535-50)%256;

        t++;
        if(t>=100)
          {t=0;}
}



void Init()        
{      
        TMOD = 0x21;          //定時(shí)器1工作于8位自動(dòng)重載模式,用于產(chǎn)生波特率
        TH1=TL1=0xFD;          //11.0592M晶振,9600波特率      
        SCON = 0x50;     //設(shè)定串行口工作方式1  允許接受  
        PCON &= 0x7F;    //波特率不倍增
        TR1 = 1;                     //啟動(dòng)定時(shí)器1
        ES=1;                         //開啟串口中斷
        EA=1;                          //開啟總中斷
                   
    RI=0;  

    TH0=(65535-50)/256;
    TL0=(65535-50)%256;
    ET0=1;
    TR0=1;                                                                                                                 
}   

void main()
{
   Init();                                                //初始化
   while(1)
   {                
          switch(tmp)
         {
               case 'F':                                         
                  Go();
                              break;
            case 'B':                                           
                  Back();
                              break;       
       case 'S':                                           
                  Stop();
                              break;     
       case 'a':                            
                  zkb=10;                     
                              break;                                                                               
            case 'b':                            
                  zkb=20;                     
                              break;                                                         
            case 'c':                         
                  zkb=30;                                                                            
                              break;                                       
            case 'd':                            
                  zkb=40;                                    
                              break;
            case 'e':                            
                  zkb=50;                                                                                    
                              break;
            case 'f':                            
                  zkb=60;                            
                              break;
            case 'g':                            
                  zkb=70;                      
                              break;
            case 'h':                            
                  zkb=80;                                                                                     
                              break;       
            case 'i':                            
                  zkb=90;                                                                                     
                              break;
            case 'j':                            
                  zkb=100;                                             
                              break;                                                                                         
                }         
        }

}

void serial_RX() interrupt 4         
{
                if(RI==1)                     
            {
                 RI = 0;
                 tmp = SBUF;
            }     
}






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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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