keil軟件中C語(yǔ)言嵌套匯編
在單片機(jī)學(xué)習(xí)的過(guò)程中,掌握一點(diǎn)匯編語(yǔ)言是非常有必有的,作為低級(jí)語(yǔ)言匯編語(yǔ)言在單片機(jī)開(kāi)發(fā)中有它不可取代的作用,比如每條指令可以精確的確定延時(shí)時(shí)間,便于理解非常適合硬件工程師學(xué)習(xí)。但是要提高單片機(jī)技能,必須掌握C 語(yǔ)言編程,因?yàn)镃 語(yǔ)言有強(qiáng)大的模塊化管理思想。我想在很多人學(xué)習(xí)的過(guò)程中即學(xué)了匯編語(yǔ)言,又學(xué)習(xí)了C 語(yǔ)言,那么一個(gè)問(wèn)題便隨之而產(chǎn)生,如果將C 語(yǔ)言與匯編語(yǔ)言相互結(jié)合,達(dá)到更好的編程效果,本次講解就是基于這個(gè)問(wèn)題而生成的。
本文引用地址:http://m.butianyuan.cn/article/201611/322863.htm二、操作步驟
第一步:
在KEIL 中新建工程及文件并復(fù)制以下程序并保存為C 文件:
#include
delay()
{
int i,j;
for(i=0;i<1000;i++)
for(j=0;j<120;j++); //12M 晶振下延時(shí)1MS
}
main()
{
P2=0x00; //控制8 個(gè)LED 亮
delay(); //延時(shí)1S
#pragma ASM//匯編嵌套開(kāi)始
MOV P2,#0FFH //匯編嵌套結(jié)束
#pragma ENDASM//匯編嵌套開(kāi)始
while(1); //C 程序結(jié)束
}
第二步:
選中 Project 窗口中的C 文件,比如CX1.C,并右鍵,選擇“Options for ...”,點(diǎn)擊右邊的“Generate Assembler SRC File”和“Assemble SRC File”,使復(fù)選框的打鉤由灰色變成黑色狀態(tài)(雙擊即可);
第三步:
將相應(yīng)的庫(kù)文件(如 Small 模式時(shí),是 KeilC51LibC51S.Lib)加入工程中, 該文件必須作為工程的最后文件 (將該文件像頭文件一樣加載到工程中);
第四步:
在KEIL 中編譯生成HEX 文件,并按如下圖設(shè)計(jì)仿真圖,在仿真中查看效果。
評(píng)論