头文件intrins.h的用法

发布时间:2024-08-02  

KEIL 中 头文件 INTRINS.H的作用 在 C51 单片机编程中,头文件 INTRINS.H 的函数使用起来,就会让你像在用汇编时一样简便.
内部函数 描述
_crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作 8051 NOP 指令
_testbit_ 测试并清零位 8051 JBC 指令
函数名: _crol_, _irol_, _lrol_
原 型: unsigned char _crol_(unsigned char val,unsigned char n);
unsigned int _irol_(unsigned int val,unsigned char n);
unsigned int _lrol_(unsigned int val,unsigned char n);
举例:
_crol_,_cror_:将 char 型变量循环向左(右)移动指定位数后返回
_testbit_: 相当于 JBC bitvar 测试该位变量并跳转同时清除。
_chkfloat_: 测试并返回源点数状态。
就是汇编中的子函数。
_crol_,_cror_:如果二进制数为 01010101 那么_crol_(1) 左移 1 位后将高位补低位。
结果 10101010。
功 能: _crol_, _irol_, _lrol_以位形式将 val 左移 n 位,该函数与 8051“ RLA”指令相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
C-5 1 程序设计 37
y=0x00ff;
y=_irol_(y,4);
}
函数名: _cror_, _iror_, _lror_
原 型: unsigned char _cror_(unsigned char val,unsigned char n);

unsigned int _iror_(unsigned int val,unsigned char n);
unsigned int _lror_(unsigned int val,unsigned char n);
功 能: _cror_, _iror_, _lror_以位形式将 val 右移 n 位,该函数与 8051“ RRA”指令相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y,4);
}
函数名: _nop_
原 型: void _nop_(void);
功 能: _nop_产生一个 NOP 指令,该函数可用作 C 程序的时间比较。 C51 编译器在_nop_
函数工作期间不产生函数调用,即在程序中直接执行了 NOP 指令。
例:
P()=1;
_nop_();
P()=0;
在 12M 的晶振下每个_nop_()延时 11us,经过适当的调整即可做到精确延时。
函数名: _testbit_
原 型: bit _testbit_(bit x);
功 能: _testbit_产生一个 JBC 指令,该函数测试一个位,当置位时返回 1,否则返回 0。如果该位置为 1,则将该位复位为 0。 8051 的 JBC 指令即用作此目的。 _testbit_只能用于可直接寻址的位;在表达式中使用是不允许的


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

     Options forTarget里勾选右侧 Use Micro LIB, 添加如下代码就可以在Keil里使用printf函数了。 代码: #include "stdio.h" //标准输入输出头文件 int......
    Cortex-M3内核及其设备文件 访问Cortex-M3内核及其设备:NVIC,SysTick等 访问Cortex-M3的CPU寄存器和内核外设的函数 stm32f10x.h 微控制器专用头文件 这个文件......
    STM32标准库编程之LED闪烁;【1】工程截图 【2】代码解读 有了前面文章的基础,工程建立我不再赘述,我们来看主函数所在的源文件(这里完全可以把开头的宏定义和函数声明放到同名的头文件......
    ,SysTick等 访问Cortex-M3的CPU寄存器和内核外设的函数  stm32f10x.h 微控制器专用头文件 这个文件包含了STM32F10x全系列所有外设寄存器的定义(寄存......
    蜂鸣器类代码(2024-08-15)
    蜂鸣器类代码;/* 标题:蜂鸣器的使用 电路:P1.0口接P11 */ #include 'sys.h'//包含延时函数头文件 #include #include 'beep1.h' sbit......
    的版本大致相同)第一步,先建立一个文件夹,该文件夹将放所有与项目有关的文件,并将ST公司提供的固件函数库(Libraries)复制到该文件夹下,并在该文件中在建立一个文件,命名为project,再创......
    针对片上(内核之外)的外设。core_cm3.c 文件实现了一下操作内核外设寄存器的函数,用的比较少。 我们还需要了解的是core_cm3.h 头文件中包含了“stdint.h” 这个头文件,这是一个ANSI......
    时使用双引号 典型的头文件内容包括: 1:说明文字。用于注释该头文件的主要内容,函数的作用函数的接口等 2; #define 命令命名的宏定义 3:类型定义。包括结构体,共用体,数组等类型定义 ......
    stm32头文件和源文件的作用;对于STM32F4xx_StdPeriph_Driver,其重要源文件为: stm32f4xx_ppp.h:外设头文件。这里的ppp只是一个代码,在实......
    序模块最后一行要写一个END,没有这一句,编译器不会报错,但会出现警告,容易出现问题,为了规范编程,大家还是别偷懒了。      最后一点就是头文件的作用了,这跟C语言的作用一样,可以对变量或函数进行声明,这个......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>