久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

esp8266手機(jī)遙控代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:332871 發(fā)表于 2018-6-11 09:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/**************************************************************************************
*功能:Wifi模塊測(cè)試                                                                                                               *
*說(shuō)明:手機(jī)安裝測(cè)試APP,手機(jī)連接WiFi模塊,控制開發(fā)板上的LED、蜂鳴器                                          *
***************************************************************************************/
#include <REGX52.H>
#include<intrins.h>

typedef unsigned int uint;
typedef unsigned char uchar;
/**串口數(shù)據(jù)使用**/
#define        RX1_Lenth                32                        //串口接收緩沖長(zhǎng)度

uchar        idata RX1_Buffer[RX1_Lenth];        //接收緩沖
uchar        TX1_Cnt;        //發(fā)送計(jì)數(shù)
uchar        RX1_Cnt;        //接收計(jì)數(shù)
bit                B_TX1_Busy;        //發(fā)送忙標(biāo)志

/*************        端口引腳定義        **************/
sbit LED1=P1^0;//LED1
sbit LED2=P1^1;//LED2
sbit LED3=P1^2;//LED3
sbit DK1=P1^3;//繼電器
sbit BEEP=P2^5;//蜂鳴器        

/**wifi模塊命令**/
unsigned char RST[8]="AT+RST\r\n";
unsigned char LYMS[13]="AT+CWMODE=2\r\n";
//unsigned char SZLY[38]="AT+CWSAP='ESP8266','0123456789',11,0\r\n";

unsigned char SZDLJ[13]="AT+CIPMUX=1\r\n";
unsigned char KQFU[21]="AT+CIPSERVER=1,5000\r\n";
unsigned char FSSJ[13]="AT+CIPSEND=\r\n";//AT+CIPSEND= 發(fā)送數(shù)據(jù)         


void Delay2(unsigned long cnt)
{
        long i;
         for(i=0;i<cnt*100;i++);
}
void Delay3(unsigned int N)
{
        int i;
        for(i=0;i<N*10;i++);
}



/********************************************************************
* 名稱 : Uart_Init()
* 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void Uart_Init(void)
{
     TMOD = 0x20;   //定時(shí)器工作在定時(shí)器1的方式2
     PCON = 0x00;   //不倍頻
     SCON = 0x50;        //串口工作在方式1,并且啟動(dòng)串行接收        
     TH1 = 0xFd;    //設(shè)置波特率 9600
     TL1 = 0xFd;
     TR1 = 1;                //啟動(dòng)定時(shí)器1
         ES = 1;                //開串口中斷
         EA = 1;                //開總中斷
         RX1_Cnt=0;                //接受計(jì)數(shù)清零
         TX1_Cnt = 0;        //發(fā)送計(jì)數(shù)清零
         B_TX1_Busy = 0;//初始化判忙標(biāo)志位               
}
/********************************************************************
* 名稱 : Main()
* 功能 : 主函數(shù)
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void main(void)
{
        char i=0;

        Uart_Init();

        Delay3(2000);
  /******************設(shè)置WiFi模塊**********************************************/
        for(i=0;i<8;i++)//AT+RST 重啟
        {
                SBUF=RST[i];Delay3(5);
        }
        Delay3(5000);
        for(i=0;i<13;i++)//AT+CWMODE=2 設(shè)置成路由模式
        {
                SBUF=LYMS[i];Delay3(5);
        }
        /*Delay3(1000);
        for(i=0;i<38;i++)//AT+CWSAP="ESP8266","0123456789",11,0 設(shè)置路由
        {
                SBUF=SZLY[i];Delay3(5);
        }*/
        Delay3(3000);

        for(i=0;i<13;i++)//AT+CIPMUX=1 設(shè)置成多連接
        {
                SBUF=SZDLJ[i];Delay3(5);
        }
        Delay3(2000);
        for(i=0;i<21;i++)//AT+CIPSERVER=1,5000 開啟TCP服務(wù)端口
        {
                SBUF=KQFU[i];Delay3(5);
        }
        Delay3(2000);
        while (1)
        {

        }
}

/********************************************************************
* 名稱 : Uart_Int()
* 功能 : 串口中斷子函數(shù)
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void UART1_int (void) interrupt 4
{
//        char i,a,b,c;
        if(RI)
        {
                RI = 0;
                RX1_Buffer[RX1_Cnt] = SBUF;                //保存一個(gè)字節(jié)
                if(RX1_Buffer[0]==0x45)
                {
                        RX1_Cnt++;
                }
                else
                {
                        RX1_Cnt=0;
                }
                if(RX1_Cnt>=10)
                {
                        if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
                        {
                                if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)//判斷LED
                                {
                                        if(RX1_Buffer[7]==0x31)//判斷LED1
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        LED1=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        LED1=1;
                                                }
                                        }
                                        if(RX1_Buffer[7]==0x32)//判斷LED2
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        LED2=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        LED2=1;
                                                }
                                        }
                                        if(RX1_Buffer[7]==0x33)//判斷LED3
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        LED3=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        LED3=1;
                                                }
                                        }
                                }
                                if(RX1_Buffer[4]==0x4A&&RX1_Buffer[5]==0x44&&RX1_Buffer[6]==0x51)//判斷繼電器
                                {
                                        if(RX1_Buffer[7]==0x31)//判斷LED1
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        DK1=1;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        DK1=0;
}

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

使用道具 舉報(bào)

沙發(fā)
ID:332871 發(fā)表于 2018-6-12 09:23 | 只看該作者
/********************************************************************
* 名稱 : Uart_Int()
* 功能 : 串口中斷子函數(shù)
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void UART1_int (void) interrupt 4
{
//        char i,a,b,c;
        if(RI)
        {
                RI = 0;
                RX1_Buffer[RX1_Cnt] = SBUF;                //保存一個(gè)字節(jié)
                if(RX1_Buffer[0]==0x45)
                {
                        RX1_Cnt++;
                }
                else
                {
                        RX1_Cnt=0;
                }
                if(RX1_Cnt>=10)
                {
                        if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
                        {
                                if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)//判斷LED
                                {
                                        if(RX1_Buffer[7]==0x31)//判斷LED1
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        LED1=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        LED1=1;
                                                }
                                        }
                                        if(RX1_Buffer[7]==0x32)//判斷LED2
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        LED2=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        LED2=1;
                                                }
                                        }
                                        if(RX1_Buffer[7]==0x33)//判斷LED3
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        LED3=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        LED3=1;
                                                }
                                        }
                                }
                                if(RX1_Buffer[4]==0x4A&&RX1_Buffer[5]==0x44&&RX1_Buffer[6]==0x51)//判斷繼電器
                                {
                                        if(RX1_Buffer[7]==0x31)//判斷LED1
                                        {
                                                if(RX1_Buffer[3]==0x4B)//判斷開
                                                {
                                                        DK1=1;
                                                }
                                                if(RX1_Buffer[3]==0x47)//判斷關(guān)
                                                {
                                                        DK1=0;
                                                }
                                        }
                                }
                                if(RX1_Buffer[3]==0x46&&RX1_Buffer[4]==0x4D&&RX1_Buffer[5]==0x51&&RX1_Buffer[6]==0x43&&RX1_Buffer[7]==0x53)//判斷蜂鳴器
                                {
                                        BEEP=1;Delay2(100);BEEP=0;Delay2(100);BEEP=1;Delay2(100);BEEP=0;Delay2(100);
                                }
                                RX1_Cnt=0;
                        }
                        else
                        {
                                RX1_Cnt=0;
                        }
                        RX1_Cnt=0;
                }
        }
        if(TI)
        {
                TI = 0;
                B_TX1_Busy = 0;                //清除發(fā)送忙標(biāo)志
        }
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区在线观看 | 久久中文字幕一区 | 国产精品久久精品 | 亚洲精品视频二区 | 亚洲精品一区中文字幕乱码 | 国产精品久久久亚洲 | 欧美五月婷婷 | 久久九| 国产一区二 | 精品久久久久久久久久久久久久 | 91毛片在线观看 | 日韩久久久久 | 有码在线 | 久久高清国产视频 | 亚洲成人免费视频在线 | 天天干天天插天天 | 一区二区三区免费在线观看 | 精品国模一区二区三区欧美 | 久久青视频 | 日日操夜夜操天天操 | 久久久精彩视频 | 精品一区二区三区视频在线观看 | 9191av| 爱操av | 日韩午夜在线播放 | 九九热最新地址 | 五月婷婷视频 | 伊人狠狠干 | 91免费在线播放 | 黄色片网站在线观看 | 国产精品99久久久久久久久 | 国产精品久久久久久久久久免费 | 中文av电影| 国产成人一区二区三区久久久 | 亚洲欧美精品国产一级在线 | 亚洲首页 | 91成人在线 | 成人久久视频 | 伊人久操| 日韩av在线不卡 | 夜夜久久 |