導航:首頁 > 源碼編譯 > 51編譯提示出錯

51編譯提示出錯

發布時間:2022-09-08 13:09:39

① KEIL編譯51匯編程序出錯,求指教啊

這程序,汗!
不說規范和內容,直接說語法錯誤吧
1.
不能PUSH
R7,也不能PUSH
A。對A壓棧要用PUSH
ACC。
若要對R0-R7壓棧,可以用MOV
A,R7
再PUSH
ACC。彈出時,
可以用POP
ACC再MOV
R7,ACC
當然,也可以直接壓R7的地址,比如:PUSH
07H(BANK
0),但這樣可讀性很差。
2.你那兒的T1和TI是不一樣的。建議,不要取一些無意義的標號,混亂不堪。

② 51 單片機 匯編 編譯錯誤

DAT:DB 54H, F6H, 1BH, 20H,04H,C1H中逗號必須是半形字元,當十六進制數首位不是數字時,前面要加0。
要這樣:DAT:DB 54H,0F6H,1BH, 20H,04H,0C1H
CLR R6; CLR R7是指令應用錯誤,你不能對R0-R7直接清零。
要這樣:MOV R6,#0,MOV R7,#0或者CLR A,MOV R6,A;MOV R7,A

③ 51單片機程序編譯完後為什麼還是顯示錯誤,工程什麼的都已經建立好了。

工程什麼的都已經建立好了,只一個起步,不代表什麼的。

51單片機程序編譯完後為什麼還是顯示錯誤,這不可能,只要有錯誤,編譯就不會完成的。
你程序有錯誤,不等於編譯一遍就對了,不找錯誤,就是編譯一百遍也沒有用。

④ 51單片機,這個程序錯在哪裡呢編譯器總提示C(32): error C141: syntax error near 'u8'

main函數的while循環裡面,調用函數你還給參數加個類型,這是語法錯誤。

⑤ 51單片機編譯出錯

函數聲明void delay;是錯誤的,應該是void delay();,你少了括弧,所以你程序的11,13,17,22行的錯誤都指向這個函數。

⑥ 51單片機出編譯出錯,錯在哪裡

用 ^ 定義位是不能用define的需要改成sbit

直接用define就相當於P3^(5=0);常量不能給常量賦值,所以就會報錯


#define LCM_RS P3^5
#define LCM_E P3^4

改成

sbit LCM_RS= P3^5;
sbit LCM_E = P3^4;

sbit LCM_RW = P3^1;

即可

⑦ 51單片機 keil軟體編譯時出錯 Text1.asm(7): error A45: UNDEFINED SYMBOL (PASS-2)

你編輯的程序開頭位置出錯了,應該如下
ORG 0000H
LJMP MAIN
ORG 0030H ; 主程序入口
MAIN: SETB P2.6 ; 置無線發射模塊為發射狀態
CLR P1.0 ; P1.0口置0
MOV A,P2
JNB ACC.4,PR1
以下雷同

⑧ Keil 51編譯問題! 用Keil 51編譯程序時,出現警告: MISSING DEVICE(SECURITY KEY NOT FOUND) 不知道怎

LL TO SEGMENT

這個問題必須注意,可能引起程序沖突,假設你用於自動化領域,則可能導致信號產生尖峰。 產生這一警告的一個根源是:你在主循環里調用了一個函數(如aaa),而在中斷服務函數里,你用調用了這個函數(如aaa)。這樣當主循環運行到該函數中是,一旦產生中斷,則在中斷里又再次調用該函數!這時,很可能出錯! 避免這種情況的方法很多:如,在進中斷的時候置需調用該函數的標志,而在主循環中調用該函數

你可以在中斷函數設置標志 FLAG_Display = 1;

在主函數里判斷這個標志:
if(FLAG_Display)
ValueDisplay();
更新後,清除顯示標志: FLAG_Display = 0;

⑨ 51單片機工程程序都做好了,編譯出錯

程序中for語句是圓括弧,你卻用了大括弧
這處
while (1)
{
for (i=0;i<4;i++)//這是圓括弧
{
for (j=0;j<4;j++)//這是圓括弧

⑩ C51編譯時提示出錯,但我怎麼也找不出錯在哪裡了

你前面加了頭文件(*.h)沒有?

我加了個main函數,編譯之後 是沒有錯誤的啊
error C141: syntax error near 'void'可能是函數前後少了"{"或者"}",你應該仔細檢查一下的
還有,error C202: 'TempCyc': undefined identifier這一句錯誤可能是在main函數中也使用了TempCyc,而沒有在主函數中定義,這個變數在void Delay5Ms(void)中只是局部變數

#include "reg52.h"

void Delay5Ms(void)
{
unsigned int TempCyc;
TempCyc=5552;
while(TempCyc--);
}

//******400ms延時******
void Delay400Ms(void)
{
unsigned char TempCycA=5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
}
}

void main()
{
while(1)
{
Delay5Ms();
Delay400Ms();
}
}

閱讀全文

與51編譯提示出錯相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:768
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:843
安卓怎麼下載60秒生存 瀏覽:802
外向式文件夾 瀏覽:235
dospdf 瀏覽:430
怎麼修改騰訊雲伺服器ip 瀏覽:387
pdftoeps 瀏覽:492
為什麼鴻蒙那麼像安卓 瀏覽:735
安卓手機怎麼拍自媒體視頻 瀏覽:185
單片機各個中斷的初始化 瀏覽:723
python怎麼集合元素 瀏覽:480
python逐條解讀 瀏覽:832
基於單片機的濕度控制 瀏覽:498
ios如何使用安卓的帳號 瀏覽:882
程序員公園采訪 瀏覽:811
程序員實戰教程要多長時間 瀏覽:974
企業數據加密技巧 瀏覽:134
租雲伺服器開發 瀏覽:813
程序員告白媽媽不同意 瀏覽:335
攻城掠地怎麼查看伺服器 瀏覽:600