您的位置:網站首頁 > 電器維修資料網 > 正文 >
C程序的錄入與編譯
來源: 日期:2013-11-17 19:40:37 人氣:標簽:
目前國內出現的c51編譯器較多,分別遵循不同的c語言版本,比較流行的是keilc51,目前各個電子及單片機網站均在探討keilc51的編程技巧。就國內生產的仿真器而言,南京偉福實業有限公司生產的單片機仿真器系列除了提供完全硬仿真以外,還提供了一個軟件模擬器,該模擬器能代替仿真器進行無目標機的虛擬調試,該軟件遵循franklinc語言標準,提供windows環境下的全中文集成開發平臺,使用了國際上 流行的編譯技術,可提供以下操作:
*編輯-匯編/編譯-連接/定位-調試-裝入目標系統一條龍。
*全屏幕編輯,就地修改,所見即所得;跨文件整塊剪貼技術;彩色辨識正文等。
*使用工程技術:一次性將工程的全部源文件、頭文件、用戶庫文件送入工程管理器,統一管理“匯編/編譯”和“連接/定位”,無須人工干預。
*使用make技術:自動辨用匯編器/編譯器;每次調試循環僅做增量“匯編/編譯”和“連接/定位”。
*錯誤和警告自動定位,明朗的錯誤自動修正。
*多種運行模式,全數據類型的查看和修改。
*軟件模擬器。
1.軟件的安裝與設置①安裝系統文件:仿真程序的軟件包中有一個setup.exe文件,.執行setup.exe文件,按照中文提示,程序自動安裝到c:
\wavw\bin中。(也可以安裝到d盤或e盤上)。
②安裝高級語言匯編器:在c盤(或d盤)建立一個子目錄c:
\comp510將軟件包中的p51.exe文件copy到c:\comp51子目錄中,執行p51.exe文件。
雙擊c:\wavw\bin中“w”圖標,即進入圖l所示的偉福仿真系統。
在屏幕下圖的上方,有一行菜單欄和一行工具欄,用鼠標左鍵單擊這些欄目,會生成相應的菜單或功能提示。在屏幕的正中央的一大塊區域就是源文件編輯區,在輸入源文件時,仿真軟件會將正文和關鍵詞顯示成不同的顏色。
在對源文件進行編譯之前,需要對仿真器進行設置,以適應不同的單片機型號。
單擊屏幕上方“仿真器”項目,選擇“仿真器設置”欄目,即可進入仿真器設置窗口。
“語言”項設置:設置項目編譯語言的路徑,命令行選項。
編譯器路徑:指明本系統匯編器,編譯器所在位置,系統缺省51系列編譯器在c:\comp51\文件夾下,本系統使用的編譯器為第三方軟件,必須單獨安裝。
asm命令行:若使用英特爾匯編器,則需要加上所需的命令行參數;若使用偉福匯編器,則需要選擇是否使用偉福預定義的符號。在偉福匯編器中,已經把51單片機使用的一些常用符號,寄存器名定義為相應的值。如果你使用偉福匯編器,就可以直接使用這些符號。如果你自己已經定義了這些符號,又想使用偉福匯編器,就將“使用偉福預定義符號”前面的選擇去掉。
c命令行:項目中若有c語言程序,系統進行編譯時,使用此行參數對c程序進行編譯。
pum命令行:項目中若有pl/m語言程序,系統編譯時,就使用此行參數對程序進行編譯。
link命令行:系統對目標文件鏈接時,使用此參數鏈接。
注意:除非你對命令行參數非常了解,并且確實需要修改這些參數,一般情況下,不需要修改系統給出的缺省參數。以免系統不能正常編譯。
編譯器選擇:選擇使用偉福匯編器,還是英特爾匯編器,系統對c語言程序和pl/m語言編譯是采用第三方編譯器。一般情況下,如果用戶項目中都是匯編語言程序,沒有c語言和pl/m語言,選擇偉福匯編器。如果用戶項目中含有c語言,pum語言,或者匯編語言是用英特爾格式編寫的,就選擇英特爾匯編器。
缺省顯示格式:指定觀察變量顯示的方式,一般為混合十/十六進制。
“目標文件”項設置:設置生成的目標文件的地址,及生成目標文件的格式。
一般情況下,地址選擇為缺省方式。即由編譯確定。如果你想重新定位你的程序就要指定地址,方法是:去掉“缺省地址”前面的選擇。在開始地址,結束地址處填入相應的地址。
編譯器生成的目標文件可以存成三種格式,但大多數編程器適應二進制(bin)和英特爾格式(hex)。
二進制(bin):由編譯器生成的二進制文件,也就是程序的機器碼。
英特爾格式(hex):由英特爾定義的一種格式,用ascii碼來存儲編譯器生成的二進制代碼,這種格式包括地址,數據和校驗地址選擇一般為缺省地址(由編譯器定)。
“仿真器”項設置選擇所使用的仿真器類型,pod(仿真頭)類型,以及所仿真cpu的類型。
如果使用硬件仿真,請去掉“使用偉福軟件仿真”前的選擇。
“選擇仿真器”框內為本系統所支持的仿真器類型,選擇正確仿真器。在“選擇仿真頭”框內為相應仿真器能支持的仿真頭類型,選擇所使用的仿真頭。在“選擇cpu”框內為所能仿真的cpu。如果使用硬件仿真器,請不要選擇“使用偉福軟件模擬器”。使用偉福軟件模擬器,可以在完全脫離硬件仿真器情況下,對軟件進行模擬執行。“晶體頻率”是在軟件模擬時,用來計算程序執行時間。在“仿真頭設置中,可以設置該仿真頭的特殊功能。在使用軟仿真時,該項不用設置。
2、源文件的編譯:
在“項目”菜單中,有源文件的編譯功能(熱鍵為f9),仿真軟件對源文件編譯后,會給出信息窗口,顯示系統編譯輸出的信息。
如果程序有錯,會以圖標形式指出:表示錯誤,表示警告,表示通過。在編譯信息行會有相關的生成文件,雙擊鼠標左鍵,或擊右鍵在彈出菜單中選擇“打開“功能,可以打開相關文件。(如果有編譯錯誤,雙擊左鍵,可以在源程序中指出錯誤所在行,有時前一行或后一行程序有錯,會造成當前行編譯不通過。而將錯誤定位在本行,所以如果發現了錯誤,但在本行沒有發現錯誤,可以查查本行上下的程序)。
例:編譯過程發現有錯。在信息窗口中看到在calc.c文件第118行有202號錯誤,文字顯示錯誤類型是,”dispvaunde6nedidentifier”
即:未定義dispva標識符。雙擊此信息行,系統將打開calc.c文件,并且在源文件的118行,指出有錯,可以看到,dispva和ls()中間有空格。原來應為dispvals()。
程序編譯通過進行軟仿真時,仿真軟件可同時給出多個窗口供編程者參考,以驗證程序的運行結果。
“cpu窗口”:通過cpu窗口,可以看到你編譯正確的機器碼及反匯編程序,可以讓你更清楚地了解程序執行過程。cpu窗口中還有sfr(特殊功能寄存器)窗口和位窗口,讓你了解程序執行過程中寄存器的變化。
“數據窗口”:51系列有以下四種數據窗口。
data內部數據窗口code程序數據窗口xdata外部數據窗口、pdata外部數據窗口(頁方式)在內部數據窗口中可以看到cpu內部ram的數據值,紅色的為上一步執行過程中,改變過的值,窗口狀態欄中為選中數據的地址,可以在選中的數據上直接修改數據的十六進制值,也可以用彈出菜單的修改功能,修改選中的數據值。
每次編譯后仿真程序會自動在c:\wavw、bin子目錄中生成程序代碼文件,仿真后生成的程序代碼文件(*。bin或*。hex)可用燒寫器燒錄到單片機中進行驗證。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 使用C語言編程的好處
- 下一篇: 負壓電荷泵的工作原理介紹