zoukankan      html  css  js  c++  java
  • 头文件intrins.h的用法

    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 位,该函数与 8051RLA”指令相关,
    上面几个函数不同于参数类型。
    例:
    #include <intrins.h>
    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 位,该函数与 8051RRA”指令相关,
    上面几个函数不同于参数类型。
    例:
    #include <intrins.h>
    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,则将该位复位为 08051 JBC 指令即用作此目的。 _testbit_只能用于可直
    接寻址的位;在表达式中使用是不允许的

  • 相关阅读:
    Cpp Chapter 12: Classes and Dynamic Memory Allocation Part1
    Cpp Chapter 11: Working with Classes Part2
    Cpp Chapter 11: Working with Classes Part1
    Cpp Chapter 10: Objects and Classes Part2
    摄影技术学习
    安装texlive2017(latex的编译软件)
    文献管理工具的使用(Mendeley和Endnote)
    函数的级数展开和渐近展开
    常用英语语法小结
    常微分方程
  • 原文地址:https://www.cnblogs.com/yuandongtao1989/p/6678687.html
Copyright © 2011-2022 走看看