您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關STC單片機程序是怎么下載進單片機的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
這個問題我們分兩部分來說,一部分是單片機端是如何實現的,另一部分是電腦端是如何實現的,下面我們慢慢討論。
一、單片機端是如何實現下載程序的?
要說清這個問題,就需要說說STC單片機的存儲器,STC單片機的存儲器包含數據存儲器SRAM,程序存儲區ROM,EEPROM和ISP程序監控區,以下以STC15w448s4為例說明:
A. 數據存儲器SRAM:4K大小,內部RAM256字節<idata>,內部擴展的3840字節<xdata>,這部分就是用來給我定義變量,常量的區域。
B. 程序存儲區ROM:48K大小,今天的重點,程序下載后就是存在這部分區域里了。
C. EEPROM:13K大小,此部分就是類似于24C02這樣的芯片,掉電存儲區,用于保存密碼等一些掉電后不能丟失的數據。
D. ISP程序監控區:STC官方在芯片出廠前就通過特殊方式固化了程序在內部,我們用戶是沒法操作和使用本區域的。
ISP程序監控區的作用:
在ISP監控區里,STC官方出廠芯片的時候就已經燒寫進去一段特殊的代碼,我們用戶是沒法修改和查看的,這里說的燒寫也不是我們給單片機下載程序這樣簡單的燒寫,是通過特殊的方式特殊的接口寫進特殊的程序,總之不要想著去搞懂它,要懂的接下來我們慢慢說。
STC單片機在上電的很短一段時間內是不去執行我們用戶的程序的,單片機是首選去執行ISP監控區域的代碼,此時這里面的代碼只干一件事,就是不斷去檢測P30引腳上的數據。
a、如果P30引腳上的數據是連續的合法的下載命令,那ISP監控區域內的程序就去擦除程序存儲區ROM內的我們上一次燒寫進去的代碼,再把我們當前這次需要下載的程序存儲到程序存儲區ROM內,最后在復位PC指針,使得PC=0000H。完成這些后,CPU就不斷的通過PC指針去讀取我們剛才燒寫進去程序存儲區ROM內的代碼來執行,到這里一次完整的程序下載(燒寫)就完成了。
b、如果P30引腳上沒有連續的合法的下載命令,那ISP監控區域的程序就去復位PC指針,使得PC=0000H,CPU就不斷的通過PC指針去讀取程序存儲區ROM內的代碼來執行。
二、電腦端(STC_ISP軟件端)是如何實現程序下載的?
如上圖所示,當我們點擊STC_ISP軟件中的下載/編程按鈕(上圖中紅圈部分)后,電腦就不斷發送下載命令到CH 340G,芯片內部轉換電平后得到標準的串口信號,再發送給單片機的P30口。此時,單片機是不會執行下載程序的,需要我們給單片機斷電一下,再上電實現冷啟動,冷啟動后,上面我們說到ISP監控區域就起作用了,上面我們說了,在單片機上電的很短一段時間里,單片機是去執行ISP監控區域的程序的。ISP識別出此時單片機P30引腳上的信號是電腦發送的下載命令,那ISP監控程序就在單片機P31引腳上返回一個信號,信號再通過CH340G轉換后傳輸到STC_ISP軟件,軟件識別出返回的信號是單片機給的,此說說明電腦端STC_ISP軟件和單片機之間通過“密碼”連接成功,也就是下載時候STC_ISP右側監控區域里顯示的“握手成功”。接下來通信就正常化了,STC_ISP不斷的發送我們要下載的程序到單片機的P30引腳,單片機從P31引腳不斷返回“接收正常”,不斷的這樣重復下去,直到程序下載完。
程序下載完后,單片機ISP監控區域代碼還在一直識別,但是STC_ISP 軟件已經不再發送數據,此時單片機ISP區域代碼檢測不到下載命令后,直接使PC復位,使得PC=0000H,CPU就不斷的從程序存儲區ROM里讀取程序來執行,此時我們直觀看到的就是單片機程序下載成功了,而已單片機已經在執行我們的程序,只要程序沒問題,那自然能看到我們想要的效果啦。
下面,簡單總結下載程序的全過程:
1、電腦端點擊“下載”按鈕,STC_ISP 軟件發送下載命令到單片機P30引腳,此時單片機需要冷啟動
2、單片機冷啟動后,P30引腳收到下載命令,再從P31引腳返回自身的基本信息,此時單片機和STC_ISP已經捂手成功
3、STC_ISP發送程序數據到單片機P30引腳
4,、單片機接收程序數據并保存在程序存儲區ROM里,并從P31引腳返回“接收成功”信號到STC_ISP
5、STC_ISP接收到單片機返回的“接收成功”后,重復第3步,知道需要下載的程序數據發送完畢
6、程序數據發送完畢后,單片機P30引腳不再收到下載數據,過一小段時間后,ISP監控區域復位PC指針,使得PC=0000H,單片機開始從程序存儲區ROM里讀取程序來執行。
最后我們來總結一下,STC單片機下載程序的幾個關鍵點:
1、單片機要和電腦采用串口方式建立連接
2、電腦端串口要能正常通訊
3、單片機要能斷電冷啟動
4、單片機要能返回自身的一些基本信息回到電腦端。
以上就是STC單片機程序是怎么下載進單片機的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。