㈠ 51單片機變數初值。
如果是「C51」,並且使用默認的startup.a51啟動文件(未手動修改)的話,那麼在運行到main()之前、片內SRAM已經都初始化為0了。
㈡ 單片機關於STARTUP.A51
用包含一詞好像有點不妥,當在kiel C中新建項目時,會問:
Copy standard 8051 Starup Code to Project Forder and add file to Project?
翻譯為:復制8051啟動代碼到項目並和添加文件到項目?
其實無論您選是還是否,您的代碼中都將包含該文件。
該文件的作用是 初始化 內外部 RAM使其清零,另外還初始化SP等。
如果上述提示框您選否,對哪些RAM清零將採用默認的方式。
如果您想改變RAM清零區域(假如希望復位時某些RAM不被清零時會很有用。),您可以選是,這樣該文件的一個副本將添加到您的項目,您可以根據需要改寫此文件。
其他SP,SAMLL/COMPACT、LARGE模式的重入函數的堆棧和指針的初始化等和RAM的道理是一樣的。
㈢ lx51與BL51,AX51與A51,CX51與C51分別有什麼區別
詳見A51手冊的附錄D:匯編器的差異<br /><br />A51與BL51:<br />針對傳統8051單片機的開發工具,最大支持32×64KB Code Bank。<br /><br />AX51與LX51:<br />針對傳統8051單片機以及部分衍生型號的開發工具,最大支持外擴16 MB的xdata或code。AX51匯編器是A51匯編器的超集,兩者的主要差異包括:<br />1.AX51中的數值默認為32位,A51是16位;<br />2.AX51不包含8051的默認SFR定義;<br />3.AX51支持更多的特殊符號,例如ECALL等;<br />4.生成的目標文件不同。AX51生成的目標文件為OMF-251/51MX格式,不受傳統OMF-51格式中每個模塊不得超過256個外部符號及段的限制。
㈣ 單片機上電後程序從哪開始執行
1、單片機上電後程序從0000H開始執行。
2、如果是用C51編程,不用指定語句的地址。編譯後編譯器會給你自動安排地址。
3、如果用匯編語言編程,應該指定第一條語句的地址是0000H,蔽拿森然後在0000H處寫一條跳轉指令,跳到你的主程序處。
4、至敏盯於startup.a51中的內容,不同的編譯器應該不一樣,但和你的程序制定的第一條語句的地址是0000H不會矛盾宏畝。
5、編譯後產生的.HEX文件代碼,在燒寫時要從0000H地址開始燒寫。
㈤ 有關keil51的STARTUP.A51的問題
別用所謂的漢化版、並不是所有工程都必須使用用戶自定義的startup.a51的。如果項目中沒有,則Keil亦會通過庫中的啟動代碼實現標准化的啟動流程。
Keil C51是美國Keil Software公司(ARM公司之一)出品的51系列兼容單片機C語言軟體開發系統。
與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的模擬調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。
系統介紹:
支持8051微控制器體系結構的Keil開發工具,適合每個階段的開發人員,不管是專業的應用工程師,還是剛學習嵌入式軟體開發的學生。
Keil C51目前由ARM國內授權代理商提供技術支持和銷售等相關服務。
產業標準的Keil C編譯器、宏匯編器、調試器、實時內核、單板計算機和模擬器,支持所有的251系列微控制器,幫助你如期完成項目進度。
以下圖表顯示Keil的開發工具以及它們相互之間的介面。