标题: 怎么对-croL-左移8位改为-cror-右移8位循环编程 [打印本页]

作者: gjh686    时间: 2019-2-7 12:12
标题: 怎么对-croL-左移8位改为-cror-右移8位循环编程
请教高手,怎么对-croL-左移8位改为-cror-右移8位循环编程?
作者: wulin    时间: 2019-2-8 07:41
这不是左移8位,是循环移位。
_crol_( , );为循环左移函数,即移出的高位将被送入到低位。
_cror_( , );为循环右移函数,即移出的低位将被送入到高位。
作者: zhengchong60    时间: 2019-2-8 12:31
wulin说的没错,给你个代码试试

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint t);

void main()
{
        uchar i;
        P1=0x01;
        while(1)
        {
                for(i=0;i<7;i++)
                {
                        P1=_crol_(P1,1); //P1 的值向左循环移动
                        delay(600);
                }
                for(i=0;i<7;i++)
                {
                        P1=_cror_(P1,1); //P1 的值向右循环移动
                        delay(600);
                }
        }
}

void delay(uint t)
{
        uchar i;
        while(t--)
        {
                for(i=0;i<120;i++);
        }
}





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1