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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2002|回復(fù): 0
收起左側(cè)

藍(lán)牙發(fā)送字符并回收

[復(fù)制鏈接]
ID:114255 發(fā)表于 2016-4-14 19:05 | 顯示全部樓層 |閱讀模式
#include<reg51.h>


sbit a=P1^0;                         //led1
sbit b=P1^1;
sbit c=P1^2;
sbit d=P1^3;
sbit h1=P0^0;         //紅外對(duì)管
sbit h2=P0^1;         //紅外對(duì)管
sbit h3=P0^4;         //紅外對(duì)管



int  go,back,left,right,clean,clean_over,xunji,xunji_over;
int flag_uart=0;
int flag_on=0;


void UsartConfiguration();                          //串口初始化


void main()
{
        UsartConfiguration();
        while(1)
        {
          if(flag_uart==1)
         {
                 ES=0;
                  flag_uart=0;
                  switch(flag_on)
                 {
                   case 1:        go=1;         break;
                   case 2:        back=1;       break;
                   case 3:        left=1;       break;
                   case 4:        right=1;      break;
                   case 5:        clean=1;        break;
                   case 6:        xunji=1;        break;
                   case 7:        clean_over=1;   break;
                   case 8:        xunji_over=1;   break;
                 }
                 ES=1;
                 flag_on=0;
         }
         if(go==1)
         a=0;


        }
}

//串口初始化
void UsartConfiguration()
{
        SCON=0X50;                        //設(shè)置為工作方式1
        TMOD=0X20;                        //設(shè)置計(jì)數(shù)器工作方式2
        PCON=0X80;                        //波特率加倍
        TH1=0XFd;                                //計(jì)數(shù)器初始值設(shè)置,注意波特率是9600
        TL1=0XFd;
        ES=1;                                                //打開(kāi)接收中斷
        EA=1;                                                //打開(kāi)總中斷
        TR1=1;                                        //打開(kāi)計(jì)數(shù)器
}


//串口中斷:中斷入口號(hào)4

void Usart() interrupt 4
{

        int receiveData;
        receiveData=SBUF;//出去接收到的數(shù)據(jù)
        RI = 0;//清除接收中斷標(biāo)志位


        //new
        flag_uart  =  1;
        if(receiveData==97)          flag_on=1;
        else if(receiveData=='i')    flag_on=2;
        else if(receiveData=='j')    flag_on=3;
        else if(receiveData=='k')         flag_on=4;
        else if(receiveData=='l')    flag_on=5;
        else if(receiveData=='m')         flag_on=6;
        else if(receiveData=='n')         flag_on=7;
        else if(receiveData=='o')         flag_on=8;




        SBUF=receiveData;    //將接收到的數(shù)據(jù)放入到發(fā)送寄存器
        while(!TI);                         //等待發(fā)送數(shù)據(jù)完成
        TI=0;                                                 //清除發(fā)送完成標(biāo)志位
}


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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