intrins.h内部函数

发布者:Lihua521最新更新时间:2024-08-02 来源: cnblogs关键字:intrins  内部函数  C51单片机 手机看文章 扫描二维码
随时随地手机看文章

在C51单片机编程中,头文件INTRINS.H的函数如下:

(1)_crol_ 字符循环左移

将char型变量循环向左(右)移动指定位数后返回

(2)_cror_ 字符循环右移

将char型变量循环向左(右)移动指定位数后返回

(3)_irol_ 整数循环左移

(4)_iror_ 整数循环右移

(5)_lrol_ 长整数循环左移

(6)_lror_ 长整数循环右移

(7)_nop_ 空操作 (相当于8051 NOP 指令)

1s=1000ms=1000 000us

_nop_表示空循环一个机器指令的时间,12M中表示1us;6M中表示2us;24M中表示0.5us(微妙)

(8)_testbit_ 测试并清零位 (相当于8051 JBC 指令)

原 型:bit _testbit_(bit x);

功 能:_testbit_产生一个JBC 指令,该函数测试一个位,当置位时返回1,否则返回0。如果该位置为1,则将该位复位为0。8051 的JBC 指令即用作此目的。

_testbit_只能用于可直接寻址的位;在表达式中使用是不允许的。


关键字:intrins  内部函数  C51单片机 引用地址:intrins.h内部函数

上一篇:codeblocks+SDCC+proteus仿真51
下一篇:51单片机开发步骤详解

推荐阅读最新更新时间:2026-03-22 11:40

C51中的INTRINS.H内部函数
函数名: _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_,_irol_,_lrol_以位形式将val 左移n 位,该函数与8051 RLA 指令 相关,上面几个函数不同于参数类型。 例: #include main() { unsigned int y; C
[单片机]
c51头文件INTRINS.H使用
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
[单片机]
MSP430F5438内部延时函数的用法
今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法 第一步,复制代码: #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((lo
[单片机]
控制IRQ和FIQ中断的编译器内部函数 - 基于Keil MDK
编译器内部函数__disable_irq、__enable_irq、__disable_fiq和__enable_fiq用于控制IRQ和FIQ中断。 只有当处理器处于特权模式才可以使用这些内部函数,因为这些函数要改变寄存器CPSR和SPSR(ARM7、ARM9等)或者PRIMASK和FAULTMASK寄存器(Cortex-M3、M4等),而这些寄存器只有在特权模式下才能被访问。 这些内部函数对所有架构的处理器都有效,无论是ARM状态还是Thumb状态,如下所述: 如果使用的是ARMv6(ARM11)或更新架构,编译器会将这些函数用CPS指令代替。 如果使用的是ARMv4或者ARMv5架构并且处于ARM状态,编译器会将这些函
[单片机]
MSP430的内部函数
内部函数:编译器提供的一些针对目标CPU的特殊函数,以及经过汇编高度优化的常用函数。 MSP430的ICC430编译器提供的内部函数如: __delay_cycles(long int cycles)靠CPU空操作延迟cycles个时钟周期。 程序中不需要包含任何头文件,可以直接使用内部函数 常用精确延时函数如下: #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(doub
[单片机]
STC51单片机定时器/计数器寄存器详解
在 STC51 单片机中,定时器 / 计数器相关的寄存器主要有定时器控制寄存器(TCON)、定时器工作方式寄存器(TMOD)以及定时器初值寄存器(TH0、TL0、TH1、TL1),下面详细解释这些寄存器各位的作用。 1. 定时器控制寄存器(TCON) 地址:88H 可位寻址:该寄存器的每一位都可以进行单独的位操作。 位序号 位名称 作用 TCON.7 TF1 定时器 1 溢出标志位。当定时器 1 产生溢出时,硬件自动将 TF1 置 1。如果中断允许(ET1 = 1 且 EA = 1),则会向 CPU 发出中断请求;进入中断服务程序后,硬件自动将其清 0。若采用查询方式处理溢出,则需要软件清 0。 TCON.6 TR1
[单片机]
AT89C51单片机在智能按摩椅控制系统中的应用设计与仿真实践
1. 系统总体设计 智能按摩椅控制系统以 AT89C51 单片机为核心,主要由以下模块组成: 按键输入模块:用于模式选择和功能调节 身高体重检测模块:采用压力传感器和超声波测距 LCD 显示模块:1602 液晶显示当前状态和测量数据 按摩控制模块:控制按摩电机的运行模式和方向 久坐提醒模块:基于定时器实现久坐提醒功能 蓝牙通信模块:可选配,用于手机远程控制 系统整体架构如图 1 所示: 2. 硬件设计 2.1 核心控制单元 选用 AT89C51 单片机作为主控制器,具有 8KB 可编程 Flash 存储器、256 字节 RAM,足够满足系统需求。单片机通过 I/O 口连接各功能模块,实现数据采集、处理和控
[单片机]
AT89<font color='red'>C51单片机</font>在智能按摩椅控制系统中的应用设计与仿真实践
89C51单片机定时器控制的流水灯
/*************************************************** Copyright: 2014-02-11.version1.0 File name: timer.c Description: 定时中断控制的流水灯 Author: lxl Version: version1.0 Date: 2014.02.11 History: 无 ****************************************************/ #include reg51.h char a=0xff; int num=0; /**********************************
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved