单片机开发用到的intrins.h文件

这篇具有很好参考价值的文章主要介绍了单片机开发用到的intrins.h文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

intrins.h文件内容如下:

#ifndef __INTRINS_H__
#define __INTRINS_H__

extern void          _nop_     (void);
extern bit           _testbit_ (bit);
extern unsigned char _cror_    (unsigned char val, unsigned char n);
extern unsigned int  _iror_    (unsigned int val,  unsigned char n);
extern unsigned long _lror_    (unsigned long val, unsigned char n);
extern unsigned char _crol_    (unsigned char val, unsigned char n);
extern unsigned int  _irol_    (unsigned int val,  unsigned char n);
extern unsigned long _lrol_    (unsigned long val, unsigned char n);
extern unsigned char _chkfloat_(float);
extern void          _push_    (unsigned char _sfr);
extern void          _pop_     (unsigned char _sfr);

#endif

常用的是上面8个函数,分为三类:循环移位、空操作指令、测试清零指令

1. 循环移位:_cror_/_iror_/_lror_/_crol_/_irol_/_lrol_

  • _cror_/_crol_:字符循环右移/字符循环左移;
  • -iror_/_irol_:整数循环右移/整数循环左移;
  • _lror_/_lrol_:长整数循环右移/长整数循环左移;

说明:将val循环向左或向右移动n位后返回。

示例:二进制数11011001左移1位后是 10110011,将高位补低位。

2. 空操作指令:_nop_

  • _nop_:空操作8051 NOP指令

说明:_nop_产生一个NOP指令,该函数可用作C程序的时间比较,C51在_nop_函数工作器件不产生函数调用,相当于在程序中直接执行了NOP指令。

3. 测试并清零指令:_testbit_

  • _testbit_:测试并清零位8051 JBC指令

_testbit_产生一个JBC指令,该函数测试一个位,当置位时返回1,否则返回0.如果该位置为1,将该位复位为0._testbit_只能用于可直接寻址的位,在表达式中使用是不允许的。

参考:

1. 头文件 INTRINS.H 的用法 - Watson34 - 博客园 (cnblogs.com)文章来源地址https://www.toymoban.com/news/detail-425860.html

到了这里,关于单片机开发用到的intrins.h文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AVR单片机及其开发环境

    内容包括AVRStudio及WinAVR介绍,软件下载地址,编译环境设置,IAR for AVR的使用,AVR单片机的介绍。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易! 一、AVRStudio及WinAVR简介 1、使用AVR GCC做为编译器 2、选择仿真调试平台 3、选择Device,设置Frequency,代码优化

    2024年02月06日
    浏览(43)
  • 【STM32】单片机启动文件分析 01

    启动文件由汇编语言写成,时单片机上电之后执行的第一个文件。 也就是从上电到mian函数中间的一段过程。 bootloader也可以叫 启动文件 ,每种MCU都有对应的启动文件。 但开发环境往往自动完整地提供了这个启动文件 ,不需要开发人员再行干预启动过程,只需要从main函数开

    2024年01月18日
    浏览(40)
  • 为STC32单片机搭建开发环境

            自去年起,STC推出了51内核的32位单片机,但是单纯的51内核已经驾驭不了32位总线了。因此STC32单片机才用的是251内核,多了一个2,使得底层指令从111条扩充到了268条,这或许意味着以后的STC单片机会有更广大的想象空间?         也因此,STC32的开发环境与传统

    2024年02月08日
    浏览(90)
  • 单片机常用的开发软件有哪些?

    开发工具有很多,踩坑无数总结: 用得顺手、带仿真调试功能 的最重要。 特别是带仿真调试功能,用熟了,能让你找Bug效率直接起飞。 下面给大家盘点一些比较常用的单片机开发工具: 1.Keil μVision   这款开发工具相信是所有做单片机开发必用的了。 Keil是一种基于Windows系

    2024年02月09日
    浏览(40)
  • 辉芒微(FMD)单片机开发环境搭建

    为了节省成本,最近使用一款辉芒微的MCU,在此之前其实我都不知道这个公司,而且不管是官网还是网上其他相关的资料都不是很多,所以也是折腾了一番才把环境搭好,于是这里就出一篇博客,记录一下整个开发环境的搭建。 关于辉芒微的产品以及工具,可以自行到官网查

    2024年01月23日
    浏览(53)
  • STC宏晶单片机初始开发教程

    STC宏晶单片机开发教程(以STC15F101W为例),包括所需开发软件、烧录器与单片机的连线。 STC官网:http://www.stcmcudata.com/ 相关步骤: 下载开发软件:Keil uVision5(注意要注册C51内核).。 下载并安装芯片包:“keil5_c51v954a”。 到STC官网下载 “STC-ISP软件”。 根据“STC-ISP”软件上

    2024年02月02日
    浏览(48)
  • 蓝桥杯单片机学习--.h文件的创建

    在第十四届蓝桥杯单片机中组委会给比赛挖了一个小坑就是没有给比赛选手.h文件。里面相关的一个端口定义也是没有的,这就需要我们自己去创建,但是我们相信在平常的学习中可能很少会有一些同学没有自己去创建过整个文件,当然如果学过就可以不看这篇文章。那今天

    2024年02月07日
    浏览(39)
  • 单片机开发---ESP32-S3模块上手

    想起来之前做的半成品单片机游戏机,又想继续做一个,不过之前那个单片机驱动屏幕速率太低,已经无法改进了。所以这次斥巨资购买了一款顶配的ESP32S开发板,做个简单的游戏机,没问题。 完整介绍链接 这花花绿绿的介绍,看着让人甚是喜欢呢。 参考乐鑫官网的方式,

    2024年01月23日
    浏览(41)
  • MSP430单片机C语言编程与实践(入门篇)之一 ----MSP430单片机简介和LaunchPad开发板

    1.1  MSP430单片机的架构        单片机是一个综合的模拟和数字系统,根据其丰富的片上资源,再添加一些外围电路,通过软件编程后就可以完成检测、控制等任务,形成一个实用的电子装置或设备。 MSP430 是美国德州仪器公司(TI,Texas Instruments)推出的系列单片机,因其超

    2024年03月18日
    浏览(45)
  • STM32单片机开发-01 STM32介绍

    通过野火开发板学习单片机 从内核上分有Cortex-M0、M3、M4 和M7 F1 代表了基础型,基于Cortex-M3 内核,主频为72MHZ F4 代表了高性能,基于Cortex-M4 内核,主频180M。 数据手册:用于芯片选型和设计原理图 参考手册:用于编程时查阅 Icode总线 – 该总线讲M3内核的指令总线与闪存指令

    2024年01月21日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包