标题:
51单片机驱动WiFi模块(点对点或路由器)
[打印本页]
作者:
wzw199610
时间:
2018-6-22 18:14
标题:
51单片机驱动WiFi模块(点对点或路由器)
0.png
(49.22 KB, 下载次数: 53)
下载附件
2018-6-22 18:33 上传
全部资料51hei下载地址:
http://www.51hei.com/bbs/dpj-120533-1.html
程序.zip
(33.61 KB, 下载次数: 17)
2018-6-22 18:13 上传
点击文件名下载附件
自己单独驱动wifi模块
下载积分: 黑币 -5
单片机源码:
#include <reg52.h>
//#include <Uart.h>
#define uchar unsigned char
#define uint unsigned int //=====================
//=====================================
//#define RELOAD 0xFA
//#define RELOAD_TWO 0xfa
//#define BRTx12_enable() AUXR |= 0x04
//BRT 独立波特率发生器的溢出率快 12 倍
//#define BRT_start() AUXR |= 0x10 //启动独立波特率发生器 BRT 计数。
//=========================================
bit flag=1;
sbit key=P3^2;
sbit kg=P1^0;
sbit kg1=P1^1;
sbit kg2=P1^2;
sbit kg3=P1^3;
sbit kg4=P1^4;
sbit kg5=P1^5;
sbit kg6=P1^6;
sbit kg7=P1^7;
uint f,num,time ;
//========================================= //=======baud 9600=======================
void delay(uint a)
{ uint j,g;
for(j=0;j<10*a;j++)
for(g=0;g<500;g++);
}
void time0() interrupt 1
{
TH0=(65536-100000)/256;
TL0=(65536-100000)%256;
time++;
}
//============================
void Uart_One_Init() //串口1初始化函数,波特率9600
{
TMOD=0x21;//设置定时器1为工作方式2
PCON=0x80;
SCON=0x50;
TH0=(65536-100000)/256;
TL0=(65536-100000)%256;
TH1=0xfd; //设置波特率为9600 ;
TL1=0xfd;
TR1=1;
TR0=1;
ET0=1;
EA=1;
ES=1;
// AUXR|=0X40; //T1*12;
}
void Uart_One_Send(char k)
//串口1发送一个字符
{
ES = 0 ;
SBUF=k;
while(TI!=1);
TI = 0 ;
ES = 1 ;
}
//============================================
void UART_Two_Printf(uchar *p)
{
while(* p!='\0')
Uart_One_Send(*p++);
delay(10);
}
void at()
{
if(flag==1)
{
if(time>149)
{
if(key==0)
{
UART_Two_Printf("AT+CWMODE=1\r\n");
UART_Two_Printf("AT+RST\r\n");
delay(100);
UART_Two_Printf("AT+CWJAP=\"IPH\",\"123456789\"\r\n") ;
delay(300);
UART_Two_Printf("AT+CIPMUX=1\r\n");
delay(10);
UART_Two_Printf("AT+CIPSERVER=1,8080\r\n");
delay(10);
UART_Two_Printf("AT+CIOBAUD=19200\r\n");
}
else
{
UART_Two_Printf("AT+CWMODE=2\r\n");
delay(100);
UART_Two_Printf("AT+RST\r\n");
delay(100);
UART_Two_Printf("AT+CIPMUX=1\r\n");
UART_Two_Printf("AT+CIPSERVER=1,8080\r\n");
delay(10);
UART_Two_Printf("AT+CIOBAUD=19200\r\n");
}
time=0;
flag=0;
}
}
else TR0=0;
}
void dj()
{
if(num==0x31)
{kg=1;}
if(num==0x32)
{kg=0;}
if(num==0x33)
{kg1=1;}
if(num==0x34)
{kg1=0;}
if(num==0x35)
{kg2=1;}
if(num==0x36)
{kg2=0;}
if(num==0x37)
{kg3=1;}
if(num==0x38)
{kg3=0;}
if(num==0x39)
{kg4=1;}
if(num==0x040)
{kg4=0;}
if(num==0x41)
{kg5=1;}
if(num==0x42)
{kg5=0;}
if(num==0x43)
{kg6=1;}
if(num==0x44)
{kg6=0;}
if(num==0x45)
{kg7=1;}
if(num==0x46)
{kg7=0;}
}
void main()
{
Uart_One_Init();
while(1)
{ at();
dj();
}
}
//======================================
void Uart_One_Receive() interrupt 4
{ uint k = 0 ;
if(RI==1)
{ for(f=0;f<18;f++)
{
k=SBUF;
if(f==11)
num=k;
}
RI = 0 ; }
//SBUF=k;
//while(!TI);TI=0;
}
//========================================
复制代码
作者:
15556751075
时间:
2018-6-22 21:46
不错,nice
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1