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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1387|回復: 0
打印 上一主題 下一主題
收起左側

單片機簡單輪子轉動

[復制鏈接]
跳轉到指定樓層
樓主
ID:376535 發表于 2018-7-21 12:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit P00=P0^0;
sbit P01=P0^1;//第一個輪子
sbit P02=P0^2;
sbit P03=P0^3;//第二個輪子
/**串口數據使用**/
#define        RX1_Lenth                32                        //串口接收緩沖長度

uchar        idata RX1_Buffer[RX1_Lenth];        //接收緩沖
uchar        TX1_Cnt;        //發送計數
uchar        RX1_Cnt;        //接收計數
uchar i;
signed char a=0;
bit                B_TX1_Busy;        //發送忙標志

/**wifi模塊命令**/
unsigned char        idata LYMS[13]="AT+CWMODE=2\r\n";
unsigned char idata SZLY[38]="AT+CWSAP='ESP8266','0123456789',11,0\r\n";
unsigned char idata RST[8]="AT+RST\r\n";
unsigned char idata SZDLJ[13]="AT+CIPMUX=1\r\n";
unsigned char idata KQFU[21]="AT+CIPSERVER=1,5000\r\n";
unsigned char idata FSSJ[13]="AT+CIPSEND=\r\n";//AT+CIPSEND= 發送數據
void Delay3(unsigned int N)
{
        int i;
        for(i=0;i<N*10;i++);
}
void Uart_Init(void)
{
     TMOD = 0x20;   //定時器工作在定時器1的方式2
     PCON = 0x00;   //不倍頻
     SCON = 0x50;        //串口工作在方式1,并且啟動串行接收        
     TH1 = 0xFd;    //設置波特率 9600
     TL1 = 0xFd;
     TR1 = 1;                //啟動定時器1
                 IT0=1;
           IT1=1;
           EX0=1;
           EX1=1;
                 PX0=0;
           PX1=0;
                 PS=1;
           ES = 1;                //開串口中斷
           EA = 1;                //開總中斷
           RX1_Cnt=0;                //接受計數清零
           TX1_Cnt = 0;        //發送計數清零
           B_TX1_Busy = 0;//初始化判忙標志位               
}
void wifi(void)
{
        char i=0;
        /******************設置WiFi模塊**********************************************/
        for(i=0;i<13;i++)//AT+CWMODE=2 設置成路由模式
        {
                SBUF=LYMS[i];Delay3(5);
        }
        Delay3(1000);
        for(i=0;i<38;i++)//AT+CWSAP="ESP8266","0123456789",11,0 設置路由
        {
                SBUF=SZLY[i];Delay3(5);
        }
        Delay3(3000);
        for(i=0;i<8;i++)//AT+RST 重啟
        {
                SBUF=RST[i];Delay3(5);
        }
        Delay3(5000);
        for(i=0;i<13;i++)//AT+CIPMUX=1 設置成多連接
        {
                SBUF=SZDLJ[i];Delay3(5);
        }
        Delay3(2000);
        for(i=0;i<21;i++)//AT+CIPSERVER=1,5000 開啟TCP服務端口
        {
                SBUF=KQFU[i];Delay3(5);
        }
        Delay3(2000);
}
void dianji1()//左上至右下
{
        P00=0;P01=1;
        P02=0;P03=1;
}
void dianji2()//右上至左下
{
        P00=1;P01=0;
        P02=1;P03=0;

}

void dianjig()//停止電機轉動
{
        P00=0;P01=0;
        P02=0;P03=0;

}
void main()
{
        Uart_Init();
        wifi();
        while(1)
        {
                if(a==2)
                        dianji1();
                else
                {
                        if(a==1)
                                dianji2();
                        else
                        {
                                if(a==3)
                                        dianjig();
                        }

                }

        }

}
void UART1_int (void) interrupt 4
{
        if(RI)
        {
                RI = 0;
                RX1_Buffer[RX1_Cnt] = SBUF;                //保存一個字節
                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)
                                {
                                        if(RX1_Buffer[7]==0x31)
                                        {
                                                if(RX1_Buffer[3]==0x44)
                                                {
                                                        a=0;
                                                }
                                                if(RX1_Buffer[3]==0x45)
                                                {
                                                        a=1;
                                                }
                                                if(RX1_Buffer[3]==0x46)
                                                {
                                                        a=2;
                                                }
                                                if(RX1_Buffer[3]==0x47)
                                                {
                                                        a=3;
                                                }

                                        }
                                }
            }
                        RX1_Cnt=0;
                }

        }

        if(TI)
        {
                TI = 0;
                B_TX1_Busy = 0;                //清除發送忙標志
        }
}

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99福利在线观看 | 亚洲成人观看 | 成人久久18免费网站麻豆 | 国产精品免费观看视频 | h片在线观看网站 | 亚洲福利| 欧美又大粗又爽又黄大片视频 | 欧美精品在线一区 | 国产三级电影网站 | 亚洲视频中文 | 男人午夜视频 | 亚洲 欧美 日韩 在线 | 亚洲精品久久久久中文字幕欢迎你 | 欧美精品久久久 | 亚洲国产成人精品久久 | 欧美日韩一卡二卡 | 精品亚洲一区二区三区 | 国产情侣在线看 | 国产精品免费一区二区三区 | 欧美视频在线观看 | 国产精品免费一区二区三区四区 | 国产精品视频不卡 | 国偷自产av一区二区三区 | 精品视频在线播放 | 91在线观看视频 | 久久成人国产精品 | 新91| 久久精品视频99 | 成人在线免费观看视频 | 五月婷婷丁香 | 久久99精品久久久久久狂牛 | 国产成人免费网站 | 欧美女优在线观看 | 视频在线一区 | 天天爱天天操 | 蜜桃一区二区三区 | 亚洲精品久久久久久一区二区 | 欧美一区二区黄 | 一区二区三区国产 | 九九热这里只有精品6 | 成人在线a |