導航:首頁 > 源碼編譯 > keilc51能夠編譯嗎

keilc51能夠編譯嗎

發布時間:2022-06-03 00:12:27

Ⅰ Keil C51編譯的問題!

你主程序里沒有別的程序代碼了?
單片機在編譯時,首先是進行編譯預處理(頭文件包括指令,宏定義處理,條件編譯,各種偽指令等),然後再進入優化編譯階段,再進行匯編過程,接著是程序鏈接。

你在主程序中定義,unsigned char a[2]={1,2};數組,並分配兩個存儲單元。雖然在語法上是沒有錯,程序也能正確被編譯。但程序在真正進行實質鏈接時,由於你並沒有真正進行功能性的程序指定,編譯時它會生成很多冗餘的匯編代碼,按照你定義的單元。上面生成的匯編,你如果仔細看,很多的條件跳轉語句都是轉到不同的內存單元。如:
DJNZ R7,C:001F //R7寄存器相減為0則轉到001F,否則順序執行。
DJNZ R7,C:004B
DJNZ R7,C:003F
INC DPTR
F2 MOVX @R0,A
INC R0
DJNZ R7,C:004B
而實際,編寫程序,也沒有你以上的那種做法,不可能只分配內存單元,而不做任何其它事情。我想,你這樣做,無非就是想做個實驗罷了。

Ⅱ KEIL C51 V8.02可以編譯匯編嗎 急!!

可以的,你自己試一試就知道了。

Ⅲ 在keil環境中遍了一段C51的程序後怎麼編譯

樓主如果經常寫c51的話,可以建一個自己的頭文件,每次包涵一個就可以了
比如建一個自己的,取名
my.h
裡面可以寫些
#include
#include
#define
uchar
unsigned
char
//這幾句是簡寫語句,很方便
#define
uint
unsigned
int
#define
ulong
unsigned
long
當然還可以寫些常用延時子程序在內,
只要在主程序中加句#include"my.h"就搞定
但不要再在主程序中重復定義了
這個就是最簡單的了

Ⅳ keil c51 能匯編嗎

可以啊,你就直接在創建初始的時候,將那個「xxx.c」改成 「xxx.asm」那就可以了,這樣的話你就可以直接寫匯編的程序了,只不過不能加上C語言的程序。

Ⅳ 關於c51單片機使用keil編譯器的一些問題

1.如果沒有被調用,就不會被編譯,自然不佔用空間。
2.只要結構體有元素被使用,就要佔據整個結構體的空間。
3.多出來的0.2是位變數,表示你用了兩個bit的變數。

Ⅵ 為什麼用keil寫的這個C51不能編譯

路徑內不要有中文的…

Ⅶ keil C51程序編譯的問題

如果你的H頭文件包含在每個.C文件中,那就是說你的每個.C文件都定義了sbuf[20],KEIL就會提示你說你的sbuff[20]重復定義。我理解的應該是這個問題吧?

解決辦法,要麼用條件編譯區分sbuff的作用域,就是在哪些.c文件中使用。
要麼在一個.c文件中定義sbuff,在H文件中用外部聲明包含進去,比如:
extern unsigned char data char sbuf[20];這樣在其他的.C文件中,sbuff是引用而不是定義了。

一般都是採用第二種方式,H文件只存放外部聲明。

Ⅷ 關於Keil C51編譯的問題

COMMON.C(1): warning C500: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))
好像是說注冊錯誤,要裝破解版;
MAIN.C(9): error C202: 'TRO': undefined identifier第九行錯誤,應是TR0, O與0應區分

閱讀全文

與keilc51能夠編譯嗎相關的資料

熱點內容
手機qq發壓縮包 瀏覽:677
安卓機藍牙耳機如何彈出彈窗 瀏覽:111
linuxoracle環境變數設置 瀏覽:359
php去掉重復數據 瀏覽:365
C關機編程 瀏覽:767
程序員將滑鼠拉到現實世界 瀏覽:60
思科伺服器怎麼開機 瀏覽:82
減脂健身app哪個好用 瀏覽:743
照片怎麼壓縮分文件夾 瀏覽:70
感測器如何連接單片機 瀏覽:26
雲伺服器多少個 瀏覽:598
孕媽app哪個比較好 瀏覽:809
java回車轉義字元 瀏覽:759
linux啟動級別修改 瀏覽:123
單片機採集交流方法 瀏覽:285
程序員的平凡理想 瀏覽:238
floyd最短路徑演算法c 瀏覽:387
新湖app在哪裡下載 瀏覽:709
計算機圖形學涉及的演算法 瀏覽:376
阿里雲linux一鍵web 瀏覽:32