|
- #include<reg52.h>
- #include<math.h>
- #include <stdio.h>
- #define uchar unsigned char
- #define uint unsigned int
- code uchar smg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};
- sbit jdq1=P2^0;
- sbit jdq2=P2^1;
- sbit jdq3=P2^2;
- sbit jdq4=P2^3;
- sbit LED=P1^0;
- uchar *pr; //指針-重啟模塊(AT指令)
- uchar *pc; //指針-設(shè)置工作模式(1-STA,2-AP,3-STA+AP)
- uchar *pd; //指針-設(shè)置AP熱點的SSID,密碼,和加密方式等0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK
- uchar *pa; //指針-設(shè)置AP地址(AT指令)
- uchar *pm; //指針-設(shè)置多連接(AT指令)
- uchar *ps; //指針-開啟TCP服務(wù)器模式(AT指令)
- uchar *pt; //指針-設(shè)置服務(wù)超時時長(AT指令)
- uchar Buffer='a'; //從串口接收的數(shù)據(jù)(給個初值用于防誤判)
- uint i,j;
- uint aa=200;
- void Delay_1ms(uint i)//1ms延時
- {
- uint x,j;
- for(j=0;j<i;j++)
- for(x=0;x<=148;x++);
- }
- void Com_Int(void) interrupt 4 //串口中斷函數(shù)
- {
- EA = 0;
- if(RI == 1) //當(dāng)硬件接收到一個數(shù)據(jù)時,RI會置位
- {
- Buffer=SBUF;
- RI = 0;
- }
- EA = 1;
- }
- void Com_Init(void) // 串口初始化 -- 晶振11.0592,波特率9600,使能串口中斷
- {
- TMOD = 0x20;
- PCON = 0x00;
- SCON = 0x50;
- TH1 = 0xFd; //設(shè)置波特率 9600
- TL1 = 0xFd;
- TR1 = 1; //啟動定時器1
- ES = 1; //開串口中斷
- EA = 1; //開總中斷
- }
- void main()
- {
- Com_Init();//串口初始化
- Delay_1ms(2000); //延時幾秒時間等模塊啟動
- LED=1;
- while(0)
- {
- pr="AT+RST\r\n";
- while(*pr)
- {
- SBUF=*(pr++);
- while(TI==0); //以查詢方式查詢串口是否發(fā)送完畢
- TI=0; //清發(fā)送標(biāo)志
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
- //設(shè)置工作模式(1-STA,2-AP,3-STA+AP)
- while(1)
- {
- pc="AT+CWMODE=2\r\n";
- while(*pc)
- {
- SBUF=*(pc++);
- while(TI==0);
- TI=0;
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
- //設(shè)置AP熱點的SSID,密碼,和加密方式等
- pd="AT+CWSAP=\"ESP8266_xiaoyu\",\"0123456789\",11,4\r\n";
- while(1)
- {
- while(*pd)
- {
- SBUF=*(pd++);
- while(TI==0);
- TI=0;
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
- //串口發(fā)送指令A(yù)T+CIPMUX=1,讓ESP8266進入多連接模式
- while(1)
- {
- pm="AT+CIPMUX=1\r\n";
- while(*pm)
- {
- SBUF=*(pm++);
- while(TI==0); //以查詢方式查詢串口是否發(fā)送完畢
- TI=0; //清發(fā)送標(biāo)志
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
- //串口發(fā)送指令A(yù)T+CIPSERVER=1,5000,讓模塊開啟TCP服務(wù)器模式,端口為5000
- while(1)
- {
- ps="AT+CIPSERVER=1,5000\r\n";
- while(*ps)
- {
- SBUF=*(ps++);
- while(TI==0);
- TI=0;
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
-
- //串口發(fā)送指令A(yù)T+CIPSTO=0,設(shè)置服務(wù)超時時間,0即永遠不超時
- while(1)
- {
- pt="AT+CIPSTO=0\r\n";
- while(*pt)
- {
- SBUF=*(pt++);
- while(TI==0);
- TI=0;
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
- //串口發(fā)送指令A(yù)T+CIPAP="192.168.1.110",設(shè)置8266 AP地址
- while(1)
- {
- pa="AT+CIPAP=\"192.168.1.110\"\r\n";
- while(*pa)
- {
- SBUF=*(pa++);
- while(TI==0);
- TI=0;
- }
- Delay_1ms(900);
- if(Buffer=='\n')
- {
- Buffer='a';
- break;
- }
- }
-
-
- LED=0;
- while(1)
- {
- if(Buffer=='q')
- jdq1=0;
- if(Buffer=='w')
- jdq2=0;
- if(Buffer=='e')
- jdq3=0;
- if(Buffer=='r')
- jdq4=0;
- if(Buffer=='a')
- jdq1=1;
- if(Buffer=='s')
- jdq2=1;
- if(Buffer=='d')
- jdq3=1;
- if(Buffer=='f')
- jdq4=1;
- }
- }
復(fù)制代碼
|
-
-
wifi遠程控制c程序ok.rar
2018-7-19 12:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
31.62 KB, 下載次數(shù): 12, 下載積分: 黑幣 -5
評分
-
查看全部評分
|