怎么使用keil51库函数∼请举例说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用keil51库函数∼请举例说明相关的知识,希望对你有一定的参考价值。

#include<reg51.h>//包含头文件reg51.h
把这句话放在函数开头就可以了
例如:
include <reg51.h> //此文件中定义了51的一些特殊功能寄存器

void delay(unsigned int i); //声明延时函数

main()


P1 = 0x00; //置P0口为低电平

delay(600); // 调用延时程序

P1 = 0xff; //置P0口为高电平

delay(600); // 调用延时程序



/*******延时函数*************/
void delay(unsigned int i)

unsigned char j;
for(i; i > 0; i--)
for(j = 255; j > 0; j--);

//51编程不像arduino那样有很多内定函数可以使用,很多需要你自己写的哈
参考技术A 在c文件开头include库函数所在的h文件,比如printf这个函数的头文件是stdio.h,需要#include <stdio.h>。
然后在你的代码中直接使用printf();

转载Keil中的USE MicroLib说明

在keil建立ARM的工程时

其中有一项是选 use MicroLIB

 UseMicroLib

由于对KEIL不是很熟悉,于是就查了查,得到了以下信息:

microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行。

microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,例如,memcpy()

与缺省 C 库之间的差异

microlib 与缺省 C 库之间的主要差异是:

  • microlib 不符合 ISO C 库标准。 不支持某些 ISO 特性,并且其他特性具有的功能也较少。

  • microlib 不符合 IEEE 754 二进制浮点算法标准。

  • microlib 进行了高度优化以使代码变得很小。

  • 无法对区域设置进行配置。 缺省 C 区域设置是唯一可用的区域设置。

  • 不能将 main() 声明为使用参数,并且不能返回内容。

  • 不支持 stdio,但未缓冲的 stdinstdoutstderr 除外。

  • microlib 对 C99 函数提供有限的支持。

  • microlib 不支持操作系统函数。

  • microlib 不支持与位置无关的代码。

  • microlib 不提供互斥锁来防止非线程安全的代码。

  • microlib 不支持宽字符或多字节字符串。

  • 与 stdlib 不同,microlib 不支持可选择的单或双区内存模型。 microlib 只提供双区内存模型,即单独的堆栈和堆区。

  • 可以合理地将 microlib 与 --fpmode=std--fpmode=fast 配合使用。

microlib 中的函数负责:

  • 创建一个可在其中执行 C 程序的环境。 这包括:

    • 创建一个堆栈

    • 创建一个堆(如果需要)

    • 初始化程序所用的库的部分组成内容。

  • 调用 main() 以开始执行程序。

要使用 microlib 构建程序,必须使用命令行选项 :library_type=microlib。 根据需要,编译器、汇编程序或链接器可使用此选项处理不同的文件。 将此选项与链接器配合使用时,将覆盖所有其他选项。

转自:http://blog.sina.com.cn/s/blog_7142d7da01013gub.html

以上是关于怎么使用keil51库函数∼请举例说明的主要内容,如果未能解决你的问题,请参考以下文章

怎么在keil中使用gvct()函数,添加头文件的话自己还要编写gcvt()函数吗?是的话程序是啥样的呢?

keil5怎么配置stm32的的管脚功能

单片机的机器周期和时钟周期分别怎么算的,还请举例说明下?

keil中怎样制作自己的库函数

51单片机 keil中怎么建立像这样的子函数? 新手求助。

keil c51为啥按f12时不能跟踪函数