|
發(fā)布時間: 2021-10-21 21:32
正文摘要:大家好,最近我在學單片機模塊化編程,,有一個問題求教一下,在不用模塊化編程時,建立新工程時需要在工程里添加一個A.51啟動文頭件,為的是程序復位時把有的變量清0,請問是哪些變量特別需要這個文 ... |
| 感謝各位大神指教多謝 |
weimeix 發(fā)表于 2021-10-29 09:16 多謝您的指教,明白了啟動文件的用途萬分感謝 |
|
稍微講一下我理解的初始化。 通常單片機或其他計算機系統(tǒng),在長時間斷電后,上電復位,軟件從頭開始運行。這時,大多數(shù)情況下,默認RAM中的內(nèi)容都是0x00h。這種情況下,做不做初始化,沒多大關(guān)系。 當單片機或其他計算機系統(tǒng)運行過程中,按下復位按鈕,或者斷電后很快又上電,這時,會出現(xiàn)上次用到的RAM中的很大一部分,仍然保留了上次寫入的數(shù)據(jù)或者是不確定的狀態(tài)。如果自己寫的程序中,能時刻記得,只要用到這些存儲單元,就先初始化一下,也沒問題。如果忘了,或者想省點事,STARTUP.A51就替你把活干了。 如果熟悉代碼的話,看看STARTUP.A51,里面除了一些地址設(shè)置和循環(huán)的指令外,大量的都是 CLR A LOOP: MOVX XXXX,A DJNZ YYYY,LOOP 這樣的代碼。 |
| 多謝各位老師指教 |
創(chuàng)造生活 發(fā)表于 2021-10-23 09:47 客氣了,我只是個老電工,你可以自己打開看一下沒幾條指令,就是個標準匯編文件,無非就是清零RAM、XRAM之類的操作,初始化一些BANK選擇之類的 |
| 初始化運行環(huán)境可以參考樓上的標準酒店布局,手動復位也算,因為手動復位是上電,運行 STARTUP.A51 布置標準環(huán)境,然后再進行main()的 |
njzr 發(fā)表于 2021-10-22 20:24 老師這個初始化運行環(huán)境是什么意思呀?一般的手動復位算是初始化運行環(huán)境嗎? |
| C51的啟動文件,建立運行環(huán)境的,編譯器也是假設(shè)工作在初始化后的環(huán)境下,只要你用C編程就要加,與你程序結(jié)構(gòu)是否模塊化沒有半毛錢關(guān)系。如果用匯編就不要加,自己進行必要的初始化即可。 |
| 我從來都不添加也沒見有什么問題 |
|
應該是 STARTUP.A51 吧?不是A.51吧? 添加不添加,編譯的時候,都會把STARTUP.A51 包含進去,只是不添加的話,包含默認的。一旦添加了,就有可能會更改,那么很可能會造成一些不必要的困擾,大家都用默認的,是最好的。 |
| 那叫啟動文件,并不是清零而是復位,每一次開機或者按下復位鍵時都會調(diào)用這個文件。就像酒店入住一樣,入住前客服要將房間布置成標準格式,無論上一個客戶將房間搞成什么樣,都會布置成沒有人使用過一樣。 |
Powered by 單片機教程網(wǎng)