<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機Keil軟件仿真與調(diào)試技巧

          單片機Keil軟件仿真與調(diào)試技巧

          作者: 時間:2012-08-21 來源:網(wǎng)絡(luò) 收藏

          ③單擊菜單。File一>Save as.彈出文件保存對話框,選擇工程文件夾(F:exam)。輸入源程序文件名(如exam.asm),點擊保存按鈕。

          注意匯編源程序的擴展名必須為asrn,C51源程序擴展名必須為*.C.

          ④將源程序加入工程。用鼠標(biāo)點擊圖標(biāo)Target1前的+號,展開后右鍵單擊Source Group彈出快捷菜單,點擊Add File to Group'SourceGroup 1項彈出源程序加入工程對話框。選擇剛保存的用戶源程序exam.asm,點擊ADD按鈕加入工程,點擊Close關(guān)閉對話框。

          3.工程參數(shù)設(shè)置

          用鼠標(biāo)左鍵單擊主菜單Project一>Options forTarget'Targetl彈出工程參數(shù)設(shè)置對話框。關(guān)于工程參數(shù)設(shè)置的內(nèi)容很多,篇幅所限,這里僅介紹通常需要設(shè)置的三個參數(shù):

          ①設(shè)置CPU型號。前面已經(jīng)進行了設(shè)置。

          ②在設(shè)置對話框的Target標(biāo)簽下Xtal(Mhz)處輸入的晶振(如12)如圖2.

          圖2單片機晶振的設(shè)置
          圖2晶振的設(shè)置。

          ③在設(shè)置對話框的Output標(biāo)簽下,選中Create HEX file項。用以編譯生成可執(zhí)行的機器碼hex文件。如圖3所示。該hex文件可以通過編程器寫入或下載到中運行。

          圖3生成可執(zhí)行hex文件的設(shè)置
          圖3生成可執(zhí)行hex文件的設(shè)置。

          4.編譯源文件

          鼠標(biāo)左鍵單擊主菜單Project一>Built target或快捷按鈕編譯文件。

          若有語法錯誤,輸出窗口將有相應(yīng)提示信息。

          雙擊提示信息行,光標(biāo)會停留在源程序出錯處。如圖4所示。經(jīng)檢查發(fā)現(xiàn):本程序第3條DJNZ指令被錯誤輸入成了DJNA.用戶可根據(jù)提示修改源程序,然后再次編譯。注意。具有語法檢查功能,源程序中正確的指令關(guān)鍵詞將變顏色,沒變色的為輸入錯誤,方便用戶查找語法錯誤。

          圖4源文件的編譯
          圖4源文件的編譯。

          若編譯后輸出信息窗13顯示0 Errors(s),0Warning(s),則說明源程序的語法錯誤已經(jīng)全部排除。注意:有Errors不能Debug,也不產(chǎn)生HEX碼,有Warning是允許的,可以運行。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();