• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

89C52单片机中有个内部函数_crol_(P0,1)

wanyanfei1984 2018-04-02 浏览量:3703
89C52单片机中有个内部函数_crol_(P0,1),这个函数的实体函数是如何实现的?哪位大侠给个答案!!!!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • _crol_(P0,1)
    循环左移指令,和移位区别如下
    P1=_crol_(P1,1); 效果是11101110、11011101、10111011......
    P1<<=1; 效果就是11101110、11011100、10111000.....
    建议楼主能用系统指令就用系统指令,像你用的那个delay函数会让单片机使用效率变低,因为进入delay函数后会一直到delay函数运行完才执行其他程序。
    • 发布于 2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :尾缀包装区别,产品同一物料
回复

其他答案 数量:15
  • 这个函数使用还是不方便,自己写了一个简单的位移来实现该功能!

    while(1)

    {

        P0=(0x01<<n);

        delay(10);

    }

    可能该函数本身也是这么来实现的吧!


    • 发布于2018-04-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尾缀包装区别,产品同一物料
回复

  • 这个就是简单的位移函数    想位移几位就几位  不要说使用不方便,这个用来位移的代码效率高
    • 发布于2018-04-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :74LVC07APW,118这个是原厂标准型号,没查到关于DG 的解释 回复

  • 变量=_crol_(变量名,移动位数),这是循环左移。
    左移位函数
    • 发布于2018-04-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :AC0402FR-071ML供参考 回复

  • 就是普通的端口位移函数,和楼主自己写的函数意思一样。
    • 发布于2018-04-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :两颗料的通道数不同, ADS1299-6PAG是六个, ADS1299-4PAG是四个 回复

  • 位移函数,数字就代表移动几位。
    • 发布于2018-04-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :11072F-05-2-1-1 CNC Tech 请参考。 回复

  • _crol_  与 _cror_就是左右循环移动。
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :汽车级国产没有符合替代。 回复

  • 你可以在你Keil的安装目录下找,路径是“盘符:\\Keil\C51\HLP内的C51lib.chm”。
    • 发布于2018-04-03
    • 举报
    • 评论 2
    • 0
    • 0
电子老工程师 回复了  : 回复
电子老工程师 回复了  :是这个 回复

电子老工程师 回复了  :TAS5186DDVR Texas Instruments 请参考。 回复

  • 这就是一个循环左移的函数,实现原理还是挺简单的。实现原理类似与下面

    int _clor_(int kk,unsigned char n)

    {

        kk = kk<<n;

    return kk;

    }


    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :不是同一物料,3M官网无07498358945这个料号 回复

  • 我们刚做了这个作业,这个函数是将八位数循环移位

    uchar _crol_(uchar p, uchar n)

    {

      uchar Part=p, num=n;

      uchar a,b;

      a=(Part>>(8-num));

      b=(Part<<num);

      Part=(a||b);

      return Part;

    }


    有什么不清楚的地方,我再给你画个图,形象地解释一下。嘿嘿~

    希望能够帮到你。

    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://www.mouser.cn/datasheet/2/440/e_WIMA_FKP_2-1139852.pdf 回复

  • 左移函数,你看过郭天祥的视频就知道了
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :经过查询没有符合替代型号。 回复

  • 左移位的函数,后面是移动的位数。相当于 << 
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  : 回复

  • 向左移位的函数,第一个是移位的对象,第二个是移的位数
    • 发布于2018-04-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :AP133-WG-7 Diodes Incorporated 请参考。 回复

  • 这个就是循环左移指令而已,就跟a<<=1做几次一样的道理。

    • 发布于2018-04-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

89C52单片机中有个内部函数_crol_(P0,1)