下面僅對C51在變數定義中注意的問題以及與80C51存儲資源有關的問題作說明,其餘遵循C語言的規定。1.變數聲明在變數的聲明中,可以包括存儲類型和signed或unsigned等屬性。如:(1)chardatavar1;定義字元型變數var1,被分配在內部RAM低128B,編譯後,通過直接定址方式訪問。(2)charcodetext[]=「ENTERPARAMETER」;定義字元數組text[],將其分配到程序存儲區,並賦初始值「ENTERPARAMETER」。編譯後,通過MOVCA,@A+DPTR訪問。(3)unsignedlongxdataarray[100];定義無符號長整型數組array[100],將其分配到外RAM中,編譯後,通過MOVXA,@DPTR訪問。(4)floatidatax,y,z;定義浮點類型變數x,y,z,將其分配到內RAM中,編譯後,通過間接定址方式訪問。(5)unsignedintpdatadimension;定義無符號整型變數dimension,將其分配到外RAM中,編譯後,通過MOVXA,@Ri指令採用分頁的形式訪問。(6)unsignedcharxdatavector[10][4][4];定義無符號字元型數組vector[10][4][4],將其分配到外RAM中,編譯後,通過MOVXA,@DPTR訪問。(7)charbdataflags;定義字元型變數flags,將其分配到可位定址的內部數據存儲器中,可以以位元組方式訪問,也可以以位方式訪問。
Ⅱ keil c51 問題:程序無法編譯
你那程序也不長啊,直接把程序發上來,發什麼圖片哪?
第二個圖片顯示的,沒有錯誤了,只有一個警告,是因為調用那個延時子程序delay( ) 時,打錯了一個字母,打成dalay 了。
另外提示:保存C程序的文件夾,最好不 要用漢字,而且文件夾的層數不要太多了,你這一共是五層文件夾,有兩層還是漢字,編譯時容易出錯的。
Ⅲ 如何使用keil 5 編寫 51單片機 工程
1.先安裝Keil C51並破解,再安裝MDK5並破解。
2.分別打開Keil C51和MDK5的安裝目錄。將Keil C51安裝目錄下的C51文件夾復制到MDK5的安裝目錄文件夾下。
3.分別打開TOOLS.INI文件;將Keil C51下TOOLS.INI文件的內容復制,粘貼到MDK5下TOOLS.INI文件內容的最低端。
4.注意查看並找到粘貼到MDK5下TOOLS.INI文件中如下行代碼:
[C51]
PATH="D:KeilC51"(Keil C51安裝目錄下TOOLS.INI文件中的內容)
將Keil處的內容改成與MDK5下TOOLS.INI文件中如下行代碼:
RTEPATH="D:Keil_v5ARMPACK"
Keil_v5處的內容一樣。
目的是讓軟體在MDK5安裝目錄內找到C51文件。
5.完成以上操作,就可以將安裝的Keil C51軟體卸載,在MDK5軟體上就可以編譯C51單片機程序了。親自測試可行。
來自:網頁鏈接
Ⅳ c51多文件編譯中全局變數怎麼聲明
多個C文件的情況下,一般有多個對應的H文件。
假設AAA.C中定義了全局變數int abc;,那麼在對應的H文件aaa.h中定義 extern int abc;
如果在BBB.C中需要使用變數abc,那麼在BBB.C頭上#include "aaa.h"即可
另外,如果沒有aaa.h存在,那麼在BBB.C頭上寫extern int abc;也可以。
Ⅳ KEIL C51多文件編譯
首先主函數只能存在於一個文件中,這個文件可以直接取名mian.c這樣比較方便管理。然後按功能分其它文件,分別編寫XX.h和XX.c文件,在XX.h中寫入函數的聲明和全局變數的定義,在XX.c中寫函數的具體內容,並且在XX.c中要include「XX.h」,在mian.c中include所有的.h文件。這樣就可以正常編譯和燒寫了。最終生成的還是一個hex文件