資源簡(jiǎn)介
單片機(jī)通過串口通信方式與ESP8266wifi模塊通信,點(diǎn)亮LED小燈

代碼片段和文件信息
#include????????????????????????//包含頭文件
#define?uint?unsigned?int
#define?uchar?unsigned?char
#define?RELOAD_COUNT?0xF3?????????//宏定義波特率發(fā)生器的載入值
//define?RELOAD_COUNT?(256-(((11520000/16)/12)/9600))?也可以或波特率9600?//256-晶振頻率/波特率x16=BRT
/*****************LED燈對(duì)應(yīng)P0口的1個(gè)端口*************/
sbit?LED0=P2^0;
uchar?Receivei;?????????????????????????????
uint?n;
uchar?Recive_table[15];????????//用于接收wifi模塊反饋到MCU上的數(shù)據(jù)
/*******************************************************************
名稱:延時(shí)函數(shù)
作用:毫秒級(jí)延時(shí),微妙級(jí)延時(shí)函數(shù),為數(shù)據(jù)收發(fā)完成作等待.......
********************************************************************/
void?ms_delay(uint?t)
{
??????uint?ij;
??????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=0x00;?????//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
}
/********************************************************************
名稱:串口發(fā)送函數(shù)
功能:MCU向其他與其連接的設(shè)備發(fā)送數(shù)據(jù)(此處是無線WIFI模塊ESP8266)
********************************************************************/
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;?????????//允許串口中斷
}
/********************************************************************
名稱:WIFI模塊設(shè)置函數(shù)
作用:?啟動(dòng)模塊,以便可以實(shí)現(xiàn)無線接入和控制
********************************************************************/
void?ESP8266_Set(uchar?*puf)?//?數(shù)組指針*puf指向字符串?dāng)?shù)組???????????????
{
??????while(*puf!=‘\0‘)????//遇到空格跳出循環(huán)
??????{
???????????Send_Uart(*puf);??//向WIFI模塊發(fā)送控制指令。
???????????us_delay(5);
???????????puf++;??????
??????}
??????us_delay(5);
??????Send_Uart(‘\r‘);//回車
??????us_delay(5);
??????Send_Uart(‘\n‘);???//換行
??????ms_delay(1000);
}???
/****************************************************
名稱:ESP8266發(fā)送數(shù)據(jù)函數(shù)
功能:用于與wifi模塊相連的終端發(fā)送數(shù)據(jù)
*****************************************************/
void?ESP8266_Sent(uchar?*puf)??????//?數(shù)組指針*puf指向字符串?dāng)?shù)組???????????????
{
??????ESP8266_Set(“AT+CIPSEND=04“);
??????while(*puf!=‘\0‘)????//遇到空格跳出循環(huán)
??????{
???????????Send_Uart(*puf);???//向WIFI模塊發(fā)送控制指令。
???????????us_delay(5);
???????????puf++;??????
??????}
??????us_delay(5);
??????Send_Uart(‘\n‘);???//換行
??????ms_delay(10);
}???
/********************************************************************
名稱:主函數(shù)
作用:程序的執(zhí)行入口
********************************************************************/
void?main()
{
??????????ms_delay(500);
??????????ms_delay(500);
??????LED0=0;//關(guān)閉LED燈
??????Uart_Init();//使用獨(dú)立
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????7218??2018-07-11?16:33??ESP8266\ESP8266
?????文件????????974??2017-07-24?15:17??ESP8266\ESP8266.build_log.htm
?????文件???????5839??2018-07-05?15:23??ESP8266\ESP8266.c
?????文件???????2194??2018-07-11?16:33??ESP8266\ESP8266.hex
?????文件?????????46??2018-07-11?16:33??ESP8266\ESP8266.lnp
?????文件???????9378??2018-07-11?16:33??ESP8266\ESP8266.LST
?????文件??????10921??2018-07-11?16:33??ESP8266\ESP8266.M51
?????文件???????8207??2018-07-11?16:33??ESP8266\ESP8266.OBJ
?????文件????????335??2018-07-11?16:33??ESP8266\ESP8266.plg
????.......?????71315??2018-07-11?16:34??ESP8266\ESP8266.uvgui.acer
?????文件?????138777??2017-10-24?21:21??ESP8266\ESP8266.uvgui.lenovo
????.......?????71327??2018-07-11?15:27??ESP8266\ESP8266.uvgui_acer.bak
????.......??????6437??2018-07-11?16:34??ESP8266\ESP8266.uvopt
????.......?????13420??2018-07-05?10:22??ESP8266\ESP8266.uvproj
?????文件??????45693??2015-06-06?12:01??ESP8266\ESP8266_uvopt.bak
?????文件??????????0??2015-06-06?08:55??ESP8266\ESP8266_uvproj.bak
?????目錄??????????0??2018-07-11?16:34??ESP8266
-----------?---------??----------?-----??----
???????????????392081????????????????????17
評(píng)論
共有 條評(píng)論