一、準備
之前在網上找了很多關于ESP8266模塊和單片機互聯的資料,但是看完都一頭霧水,直到向買的店要了實例代碼后,才完成這一功能。對于我這樣的新手,單單看模塊說明書就寫出單片機中的相關代碼不要太難。本帖僅用于臨時使用卻找不到方法,而不是探究原理的愛好者們。需要準備的模塊有:ESP8266-01模塊、USB轉TTL模塊、單片機開發板或單片機學習板、LED燈、蜂鳴器、杜邦線,其他的可以自己加。
二、串口調試ESP
首先要用ESP8266模塊和USB轉TTL模塊進行串口調試,看你的wifi模塊是不是正常工作的。具體教程百度很多,我就不過多說明了。但是記得串口調試時候要把ESP8266的波特率改為9600,因為51單片機最大也就9600,而且試驗證明用單片機發送指令去修改波特率會有問題,保險點還是串口調試就修改好。除了波特率,其他的可以在單片機程序中設置。
1.jpg (159.94 KB, 下載次數: 98)
下載附件
2019-5-31 16:44 上傳
上圖是ESP8266-01的接腳說明,在官方給的資料里有。串口調試時候接線方法為:CH_PD和VCC接3.3伏接口(模塊工作電壓3.3V,過高容易燒壞),esp的TXD接口接轉換模塊的RXD,esp的RXD接TXD,也就是讀接寫,寫接讀。不要接反。GND接GND,串口調試不是燒錄,不用接燒錄用的口。而且自己燒錄不熟練容易成板磚。
IMG_20190531_170220.jpg (4.48 MB, 下載次數: 91)
下載附件
2019-5-31 17:05 上傳
esp8266-01串口調試圖.png (150.35 KB, 下載次數: 94)
下載附件
2019-5-31 18:19 上傳
接好后,電源指示燈亮,串口的驅動玩單片機的應該都裝好了,打開串口調試軟件sscom42,sscom其他版本也差不多。如果串口沒接好或者驅動不正常,軟件打開會提示無法找到串口,找到就正常進入。然后點擊軟件的打開串口按鈕,在“字符串輸入框”輸入:“AT”發送,返回“OK”,正常。然后輸入“AT+RST”發送,重啟。其他指令可以百度AT指令查看,或者在我的附件里有ESP8266的官方文件。
測試后一定要記得把波特率在串口調試中修改了,發送“AT+CIOBAUD=9600”,返回OK后修改波特率成功。
三、接入單片機
接入單片機的接線和串口大致一樣。CH_PD和VCC接3.3V,CH_PD最好先串聯一個10k電阻再接電源防止燒壞,如果單片機工作電壓是5V,最好再接一個三端穩壓降壓模塊,把5V輸入,輸出3.3V給wifi模塊。在STC89C52RC單片機中,P3.0是RXD口,接Wifi模塊的TXD口。P3.1是TXD口,接Wifi模塊RXD口。記住度對寫,寫對讀。(燒錄單片機程序的時候要把wifi模塊接的P3.0和P3.1接線拔了,因為燒錄用的模塊接口也是P3.0和P3.1,燒錄完再接上,不然會發現燒錄軟件沒反應)
QQ截圖20190531171918.png (122.91 KB, 下載次數: 110)
下載附件
2019-5-31 17:19 上傳
esp8266-01單片機接線圖.png (148.45 KB, 下載次數: 91)
下載附件
2019-5-31 18:19 上傳
接好了后,把LED燈和蜂鳴器也接好就行了。下面是程序。其中有幾個點注意,接收到的數據是字符串,不能直接進行整數的判斷,要轉換或者判斷字符再賦值整數。代碼中可以設置端口號,這里是8080,。IP地址我沒有改,是官方默認的192.168.4.1。下載一個手機的串口調試助手,你也可以自己寫一個,用E4A中文編碼很適合初學者。選擇TCP調試。連接小車的wifi,(wifi名字一般帶ESP8266,也可以串口調試時候自己改)然后輸入IP和端口,連接,發送字符“0”、“1”、“2”進行測試。
截屏_20190531_174321.jpg (414.96 KB, 下載次數: 104)
下載附件
2019-5-31 17:45 上傳
截屏_20190531_174328.jpg (175.15 KB, 下載次數: 105)
下載附件
2019-5-31 17:45 上傳
單片機源程序如下:
|