新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > keil軟件中C語(yǔ)言嵌套匯編

keil軟件中C語(yǔ)言嵌套匯編

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
一、講解背景

單片機(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ì)仿真圖,在仿真中查看效果。




關(guān)鍵詞: keil軟件C語(yǔ)言嵌套匯

評(píng)論


技術(shù)專區(qū)

關(guān)閉