這是我在編程中積累的經(jīng)驗,希望對大家有用!
如何實(shí)現(xiàn)C51和匯編的混合編程 (文中用到的編譯器一律為keil) 1、首先來個范例,并從這個范例展開說明: ............ //C51 Code here #pragma ASM ............. //Here is the Assembler Code #pragma ENDASM ........... //C51 Code here
2、看到范例,大家應(yīng)該對實(shí)現(xiàn)C51和匯編的混合有個大概了解了,呵呵,
其實(shí)也就這么一回事。 但是我們還必須要做一些前提工作,首先在Project窗口中包含匯編代碼(
ASM)的C文件單擊右鍵,選擇“Options for ...”,然后點(diǎn)擊“Generate
Assembler SRC File”和“Assemble SRC File”
3、根據(jù)選擇的編譯模式,把相應(yīng)的庫文件加入工程,應(yīng)該注意的是,這個
文件必須作為該工程的最后一個文件
4、大家可以復(fù)制下面這個C51和匯編的混編代碼練習(xí)一下,加深印象 #i nclude <reg51.h> void main(void) { P2=0x00; #pragma asm MOV R7,#10 #pragma endasm P2=0xff; }
5、上面的過程掌握了以后,我們再來看一下如何實(shí)現(xiàn)無參數(shù)傳遞的函數(shù)調(diào)
用 例如我們要調(diào)用一個延時函數(shù)delay() //C51 extern void delayms(); //聲明 int main() { delayms(); //調(diào)用 }
6、有參傳遞 其實(shí)是一樣的,就是在子函數(shù)中加了參數(shù)罷了 例如:int delay(int minite,int second,……)//參數(shù)可以多個
|