stc8g1k08程序范例_通过WiFi对STC单片机程序下载和调试
簡介
本文設計了基于WiFi-UART的STC單片機下載調試模塊,這樣便于對嵌入式系統進行遠程調試開發,特別是在一些具有移動功能的平臺,強電平臺以及需要實時監視和修改程序的應用場合。
本文相關的下載資源:
文章目錄
- 簡介
- 電路設計
- 固件開發
- 上位機軟件
- 下載資源
電路設計
AD設計工程文件:
“
D:zhuoqingAltiumDesignerSTCToolsDownloadWiFIDownload8G1K.PcbDoc *
1. 原理圖
電路中的CPU部分包括有MCU、外部RAM、程序下載接口以及LED工作指示燈。
由于電路功能相對比較簡單,所以使用了STC8G1K08, SOP16封裝的單片機。由于內部只有1KByteRAM,擴充了一塊外部RAM。
STC8G1K08具有兩個UART,可以分別用于接收上位機和下位機進行通信。
其中外部RAM選用24LC1024,128KByteRAM,用于緩存下載程序數據。這是為了克服通過WiFi鏈路中的通訊速度不穩定,會造成對單片機編程速度跳動。所以在下載程序之前,上位機先通過WiFi將程序發送到下位機,并存儲在23LC1024中。后面在啟動從單片機直接對下載STC單片機的下載過程。
在博文**單片機片外RAM,串行的**[3]介紹了這種SPI接口RAM的實驗結果。
▲ CPU以及外部RAM電路
下圖是電路中的WiFi接口部分。這里選用的是**友人科技**[4]的WiFi轉串口通信模塊 “USR-WiFi232-T”。該模塊的供電電壓為3.3V,在后面電源部分使用了一個5V-3.3V的穩壓芯片。
▲ WiFi接口電路
控制被下載電路的電源是STC單片機下載的特點。之前在**STC單片機自動下載調試器設計**[5]中使用了微型機械繼電器來控制電源,比較可靠,可以提供大的控制電流范圍。讀出增加可電路的體積。
在下面電源控制電路中使用的N溝道的MOS管來控制被調試電路的電源。驅動MOS管的高壓使用了博文**如何利用單片機IO口產生兩倍的電源電壓**[6]中介紹的利用單片機IO口進行倍壓整流的方案。
▲ 電源控制部分
電源中AS1117提供了5V轉3.3V,供WiFi-UART模塊使用。此外還有一個按年BT用于手工控制ISP電源開關。在對調試電路進行接口連接的時候,不必將整個電路板掉電,可以節省WiFi模塊重啟的時間。
▲ 電源模塊電路
2. PCB
實驗電路板采用單面PCB設計方式,可以使用**一分鐘制版法**[7]完成實驗PCB的制作。
▲ 測試PCB電路板
在**一分鐘制版之后**[8],焊接組裝實驗電路。
使用Keil C51編程,開發相應的下載程序。
▲ 焊錫裝配完之后的實驗電路板
下載模塊工作時,需要提供5V的工作電源。它通過四芯的ISP接口為下載程序的單片機核心電路提供工作電源。
固件開發
STC8G1K的固件開發目錄:
“
D:zhuoqingwindowC51STCToolsSTCDLWiFiDL8G1KWiFiDL8G1k.uvproj
1. STC單片機程序下載協議
對于STC單片進行ISP的相關協議并沒有得到公開的文檔,在博文**使用單片機對STC8G,8H,8A進行ISP下載程序**[9]介紹了在單片機數據手冊中的一些實現情況。
基于范例程序,編寫STC單片機的ISP下載程序。
▲ STC8G1K08技術手冊附錄
2. 固件的功能
功能1:完成STC單片機的ISP下載 這部分的實現可以參見博文:使用單片機對STC8G,8H,8A進行ISP下載程序[10]中的實現。
功能2:接收上尉即發送的下載程序數據: 在對STC單片機進行ISP之前,將程序通過WiFI接收到片外ISP接口的RAM中進行緩存,然后再完成對ISP單片的程序下載。
功能3:建立被調試單片機與上位機通信 在程序下載完之后,建立起被調試單片機與上位機之間的通信聯系,也就是將UART1,UART2兩個串口之間完成數據的轉發。這樣就可以在上位機中實現對下位機的調試功能。
▲ 調試中的電路
功能4:接收按鈕,實現手動控制下位機電源 在電路板上有一個按鈕,可以用于手工來控制下位機的電源。軟件通過讀取按鈕所在的端口的電平,來控制MOS的驅動電壓。
上位機軟件
上位機軟件是在原來的STM32單片機下載程序的基礎上,經過擴充功能只能實現對STC單片機下載的。這主要利用了原來程序對HEX文件的讀取,人機界面,串口以及UDP等編程的基礎功能
在原來程序的基礎上,增加了相應的兩個程序:STCDownload()、STCDownloadWiFi(),分別實現通過PC的串口以及UDP與下載板的通訊。使用WiFi功能下載的時候,就是通過UDP編程來將程序下載到調試單片機中。
使用該軟件時,需要在程序右上方選擇STC8H, STC8G ,STC8A單片機。這三類單片機,STC8H,8G下載協議是相同的。STC8A與前兩者之間有些區別。
▲ 上位機下載程序操作過程
然后在UDPDL頁中,設置IP地址與端口,它應該與USR-WiFi模塊的網絡UDP服務對應的接口一致。
在UDP File中指明被下載的單片機 HEX文件。按動UDP Dwn 便可以進行WiFI遠程程序下載了。
下載資源
本文所涉及到的電路設計、單片機程序以及上位機軟件都可以在CSDN中下載“WiFi-STC-DOWNLOADER.zip”中獲得。
參考資料
[1] WiFi模塊下載STC程序設計文件: https://download.csdn.net/download/zhuoqingjoking97298/12385119
[2] 擴展32kRAM的信號采集版.zip-網絡攻防文檔類資源-CSDN下載: https://download.csdn.net/download/zhuoqingjoking97298/12372023
[3] 單片機片外RAM,串行的: https://zhuoqing.blog.csdn.net/article/details/105891541
[4] 友人科技: http://www.usr.cn/
[5] STC單片機自動下載調試器設計: https://zhuoqing.blog.csdn.net/article/details/105543574
[6] 如何利用單片機IO口產生兩倍的電源電壓: https://zhuoqing.blog.csdn.net/article/details/105888159
[7] 一分鐘制版法: https://zhuoqing.blog.csdn.net/article/details/104120559
[8] 一分鐘制版之后: https://zhuoqing.blog.csdn.net/article/details/104133981
[9] 使用單片機對STC8G,8H,8A進行ISP下載程序: https://zhuoqing.blog.csdn.net/article/details/105907433
[10]使用單片機對STC8G,8H,8A進行ISP下載程序: https://zhuoqing.blog.csdn.net/article/details/105907433
總結
以上是生活随笔為你收集整理的stc8g1k08程序范例_通过WiFi对STC单片机程序下载和调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python在线投票系统讲解_在线投票系
- 下一篇: 憋尿可能引发不孕不育 专家:正常人白天排