keil中如何封装新模块,比如说把显示的模块封装起来,里面可能包含多个函数,就像库函数那样,

keil中如何封装新模块,比如说把显示的模块封装起来,里面可能包含多个函数,就像库函数那样,,第1张

在编译时,将项目编译成库就可以了,以后你只需要提供.lib文件和对应的.h文件就可以了。

菜单:project->options for target "..... ",选择output页,点Create Library就可以了

C语言中嵌入汇编。

1、在C文件中要嵌入汇编代码片以如下方式加入汇编代码:#pragmaASM;AssemblerCodeHere#pragmaENDASM。

2、在Project窗口中包含汇编代码的C文件上右键,选择“Optionsfor...”,点击右边的“GenerateAssemblerSRCFile”和“AssembleSRCFile”,使检查框由灰色变成黑色(有效)状态。

模块内接口:

使用如下标志符:

#pragma

asm

汇编语句

#pragma

endasm

注意:如果在c51程序中使用了汇编语言,注意在Keil编译器中需要激活Properties中的

“Generate

Assembler

SRC

File”

和“Assembler

SRC

File

”两个选项

1、把"xx.c"加入工程中,右击"xx.c"选择“options

for

file"xx.c"

选择

“Generate

Assembler

SRC

File”和“Assemble

SRC

File”打上黑勾有效;

2、根据选择的编译模式,把相应的库文件象加"xx.c"一

样加入工程中并放在"xx.c"下面,如smail模式下选"keil\c51\lib\c51s.lib"

加入工程中,如果要进行浮点运算把"keil\c51\lib\c51fpl.lib"也加入工程中。

即:

Keil

安装目录下的

\C51\LIB\

目录的LIB

文件如下:

C51S.LIB

-

没有浮点运算

Small

model

C51C.LIB

-

没有浮点运算的

Compact

model

C51L.LIB

-

没有浮点运算的

Large

model

C51FPS.LIB

-

带浮点运算的

Small

model

C51FPC.LIB

-

带浮点运算的

Compact

model

C51FPL.LIB

-

带浮点运算的

Large

model

3、在"xx.c"头文件中加入优化:比如#pragma

OT(4,speed)

4、在"xx.c"中加入汇编代码

#pragma

ASM

Assembler

Code

Here

#pragma

ENDASM

5、编译生成xx.hex

例:

#include

void

delay(void)

{

#pragma

asm

MOV

R5,#5

DEL:

MOV

R6,#2

DEL1:

MOV

R7,#255

DJNZ

R7,$

DJNZ

R6,DEL1

DJNZ

R5,DEL

MOV

A,P1

CPL

A

MOV

P1,A

#pragma

endasm

}

void

delay1(unsigned

int

cnt)

{

while(cnt--)

}

void

main()

{

while(1)

{

delay1(1000)

P1=0x55

delay()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11254229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存