❶ keil的編譯錯誤:error c129:missing';'before'0000'
你的錯誤代碼是 error c129: 這是一個C語言方面的語法錯誤,說明你的文件被保存為C文件(文件名為.c後綴)。
我用你這段程序放在keil編譯器中試驗過,當程序保存為c文件並編譯時,會出現如你所示的error c129的錯誤且指向程序的第一句代碼處;若將文件另存為匯編文件(文件名為.asm後綴)再進行編譯,則不會出現c129的報錯。
現在將這段程序保存為.asm文件,並將程序整理為以下形式:
ORG0000H
LJMPSTART
ORG000BH;
LJMPINTT0;
START:MOVR0,#70H
MOVR7,#0CH
INIT:MOV@R0,#00H
INCR0
DJNZR7,INIT
MOV72H,#10
MOV75H,#10
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#03CH
SETBEA
SETBET0
SETBTR0
START1:LCALLSCAN
LCALLKEYSCAN
SJMPSTART1;
DL1MS:MOVR6,#14H
DL1:MOVR7,#19H
DL2:DJNZR7,DL2
DJNZR6,DL1
RET;
DL20MS:
對於以上程序段,不知道整理出來之後是否與你的原代碼相同,但其中有一點需要說明,匯編文件中的分號「 ; 」 的作用與C文件中的「// 」作用類似,它後面緊跟的是注釋內容。 你這段程序,若按以上整理,那麼所有命令後面的分號「; 」 都可以不要的。 不過,也有可能你確實使用了分號的作用,將後面一些命令作了屏蔽處理,則此處不另作說明。
下面將整理後的程序進行編譯,會出現以下報錯情況:
錯誤、警告的解釋:
第4行的錯誤原因是:標志符號「INTT0」沒有定義;
第18行的錯誤原因是:標志符號「SCAN」沒有定義;
第19行的錯誤原因是:標志符號「KEYSCAN」沒有定義;
第27行的警告原因是:代碼結束處沒有「END」命令;(註:所有匯編文件結尾處都應有一句「END」命令表示結束)
可以看得出,你這段程序應該不是完整的,另有一部份你沒有復制出來。你可以根據以上說明,再結合你的實際情況處理你的程序。 祝你成功!
❷ 在keil中,編譯時出現錯誤:Error:fail to execute『 C:\keil\C51\
在任務欄中有一個品字樣的彩色圖案,點擊它然後在選擇Folders/Extensions在Toll Base Folder:後面有一個路徑把他改成你自己keil安裝路徑下C51文件夾的路徑就行了!
❸ keil編譯時出現錯誤 undefined identifier
C語言寫程序,是區分大小寫字母的,所以,寫程序時,定義變數名和使用變數名要注意前後要相同,不能隨意改大小寫字母。
你在前面定義3個引腳時,用的是小寫字母
les
可程序中使用時,卻改成大寫字母L,那還不出錯嗎?
寫程序要注意這些規則,請及時採納吧。
❹ 為什麼用Keil編程軟體編譯時老是出現「目標未創建」
使用Keil編程軟體進行編譯時,由於建立了項目錯誤,始終會出現「未創建目標」。具體的編譯步驟如下:
1,從軟體下拉菜單的頂部選擇[項目]-[新項目]。
❺ keil編譯過程中出現問題,不知道為什麼
問題我已經遠程幫你解決了,你之所以不能生成HEx,是你程序有個語法錯誤,在程序上面有點小數點字元,而不是因為這個警告,這類的警告不影響程序的Hex文件的生成。另外,你的C語言有點弱,你那個叫函數的定義,而非調用,把C語言復習一下,做一個優秀的單片機工程師,C語言必須做到精通。
❻ Keil 編譯一直錯誤error C129: missing ';' before 'char'
原因:因為缺少';。解決步驟如下:
1.第一步是打開devc++5.11,然後進入以下界面。