STC單片機無線自動下載程序 不用冷啟動就能自動下載程序的方法 至此之前,朋友們下載STC單片機程序時每次都要按下電源開關進行冷啟動單片機下載程序。對于我們需要反反復復下載程序、調試硬件的朋友來說很不方便,特別是調試小車、其他控制類作品時很不方便。本次視頻就要教會大家如何實現——STC單片機自動下載程序和無線自動下載程序。
一、STC單片機自動下載程序
1. STC單片機datasheet中:
111.JPG (112.56 KB, 下載次數: 133)
下載附件
1
2021-7-5 17:06 上傳
STC單片機datasheet中可以看出:通過對ISP_CONTR寄存器送入0x60產生的軟復位和冷啟動復位效果是一樣的。因此,這種通過熱啟動復位就是我們要學習的了。
2. 我們再來看ISP_CONTR寄存器:
22.JPG (75.73 KB, 下載次數: 111)
下載附件
2021-7-5 17:07 上傳
ISP_CONTR寄存器
ISP_CONTR寄存器地址是0xE7(STC89C5X系列單片機) 本人查了很多STC單片機資料發現: ISP軟復位地址0xE7 STC89C5X系列、STC90C5X系列、STC12C205X系列、STC12C56 X系列、STC12C54 X系列 ISP軟復位地址0xC7 STC12C5A60 X系列、STC15W408 X系列、STC12C52 X系列、STC15F104 X系列、STC15F104W X系列、STC15F2K6X系列
3. 我們下載程序的時候單片機是通過串口接收數據的
33.JPG (22.04 KB, 下載次數: 122)
下載附件
2021-7-5 17:07 上傳
從串口數據傳輸來看,發送或接收串口數據時起始位是0,先拉低的電平。因此,只需在單片機串口RXD端(P3.0口)變為低電平時進行熱啟動復位(ISP軟復位地址發送0x60),即可下載程序。 只需在程序中加入: sfr ISP_DOWNS=0xE7;//定義ISP軟復位地址 sbit ISP_SW=P3^0;//串口數據接收口 if(!ISP_SW)ISP_DOWNS=0x60; //需要主循環中調入該函數
注意: 1.第一次下載的時候需要冷啟動下載,以后每次下載就不用了。 2.因為這種方法占用了串口接收資源,所以用到串口接收功能時建議不用這種方法下載,以免接收數據時自動復位。
二、無線自動下載程序
前面已經實現了單片機程序有線的自動下載,調試小車、飛行器、其他控制類作品有線下載還是很不方便。 接下來介紹用兩個藍牙模塊實現無線自動下載程序。 其實很簡單,我們只需通過兩個藍牙模塊將需要下載的HEX文件傳到STC單片機即可。
44.JPG (13.72 KB, 下載次數: 121)
下載附件
2021-7-5 17:08 上傳
這時我們只要設定兩個藍牙模塊一個位主模塊、一個位從模塊將它們連入電路就可以了。
66.JPG (45.37 KB, 下載次數: 124)
下載附件
2021-7-5 17:10 上傳
設置模塊為從模塊的步驟和設置主模塊的步驟類似,只需AT+ROLE=1改為AT+ROLE=0即可。 由于藍牙模塊默認的波特率為9600,因此,我們在下載程序時,還需設置STC-ISP的波特率,設置為9600。
55.JPG (123.39 KB, 下載次數: 130)
下載附件
2021-7-5 17:08 上傳
如果你覺得下載速度太慢可以改為其他波特率,藍牙模塊改波特率的方法在這里就不再講述。 設置好藍牙模塊連號線就大功告成啦! 介紹到這里,謝謝大家。歡迎大家留言! 相關資料
51hei.png (9.71 KB, 下載次數: 124)
下載附件
2021-7-5 18:07 上傳
全部資料51hei下載地址:
STC單片機無線自動下載程序,不用冷啟動就能自動下載程序的方法.7z
(3.77 MB, 下載次數: 109)
2021-7-5 18:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|