51單片機(jī)ESP8266WIFI模塊LED燈的無(wú)線控制
51單片機(jī)ESP8266WIFI模塊LED燈的無(wú)線控制。具體步驟如下:
1、51單片機(jī)和無(wú)線WIFI模塊的連接:RXD、TXD、GND和51單片機(jī)的TXD、RXD、GND接好,模塊其他引腳均為高電平,電源VCC是3.3V左右(兩節(jié)1.5v干電池)。
2、關(guān)于安卓手機(jī)方面測(cè)試時(shí)可以使用,網(wǎng)絡(luò)調(diào)試助手(下載這個(gè)app安裝在手機(jī)即可)發(fā)送數(shù)字1表示小燈亮,0表示燈滅。后續(xù)想深入的話可以自己開發(fā)安卓app軟件。
3、WIFI模塊參數(shù)設(shè)置由于參數(shù)的設(shè)置方法和步奏網(wǎng)上資料很全,也可以參考:
51單片機(jī)驅(qū)動(dòng)ESP8266模塊的C語(yǔ)言程序:http://blog.sina.com.cn/s/blog_68541adc0102x8pk.html
AT89C51控制ESP8266WIFI模塊程序一文:http://blog.sina.com.cn/s/blog_68541adc0102y0jx.html
4、相關(guān)程序:
單片機(jī)無(wú)線WIFI模塊控制
內(nèi)容:通過(guò)MCU上位機(jī)對(duì)ESP8266wifi模塊的控制和設(shè)置,實(shí)現(xiàn)手機(jī)端控制LED燈
的亮滅。
注意:該型號(hào)單片機(jī)是普通89C51單片執(zhí)行速度的12倍,內(nèi)含RAM1280字節(jié),ROM為60K,PCA 計(jì)數(shù)器,PWM發(fā)生模塊,ADC轉(zhuǎn)換模塊等,晶振一定是11.0592MHz。
#include 'reg52.h' //包含頭文件
#define uint unsigned int
#define uchar unsigned char
#define RELOAD_COUNT 0xFA //宏定義波特率發(fā)生器的載入值
//define RELOAD_COUNT (256-(((11520000/16)/12)/9600)) 也可以或波特率9600 //256-晶振頻率/波特率x16=BRT
sbit LED0=P3^2;
sfr AUXR=0x8E;
sfr BRT=0x9C;
sfr AUXR1=0xA2;
uchar Receive,i;
uint n;
uchar Recive_table[15]; //用于接收wifi模塊反饋到MCU上的數(shù)據(jù)
void ms_delay(uint t)
{
uint i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
void us_delay(uchar t)
{
while(t--);
}
void Uart_Init()//使用定時(shí)器1作為波特率發(fā)生器(STC89C52、STC89C51、AT89C51或者STC12C560S2等均可)
{
SCON=0x50; //設(shè)置為串行口以方式1工作,8位異步通訊,允許接收中斷。
//一幀信息為10位,1位起始位,8位數(shù)據(jù)位(低位在先),1位停止位。
PCON=0x80; //SMOD波特率選擇位為1,SMOD=1.
TMOD=0x21; //設(shè)置定時(shí)器1為波特率發(fā)生器,工作在模式2,8位自動(dòng)裝載
TH1=RELOAD_COUNT;//波特率9600 ,TH1=256-FOSC/16/12/波特率
TL1=TH1;
EA=1; //總中斷打開
ES=0; //關(guān)閉串口中斷
TR1=1; //啟動(dòng)定時(shí)器1
}
void Send_Uart(uchar value)
{
ES=0; //關(guān)閉串口中斷
TI=0; //清發(fā)送完畢中斷請(qǐng)求標(biāo)志位
SBUF=value; //發(fā)送
while(TI==0); //等待發(fā)送完畢
TI=0; //清發(fā)送完畢中斷請(qǐng)求標(biāo)志位
ES=1; //允許串口中斷
}
void ESP8266_Set(uchar *puf) // 數(shù)組指針*puf指向字符串?dāng)?shù)組
{
while(*puf!='