求教,关于51单片机的数据操作方式。

2020-01-30 14:12发布

说实话我也不知道该怎么描述。自学的单片机,没有系统的学过,所以…………

要求是这样的。
一个数据有八个位,我把他称为12345678。
现在我需要把其中的某几个“位”做一个“反向”操作。比如将12345678换成43215678。在程序中应该如何操作呢?

QQ截图20130217102520.jpg (101.03 KB, 下载次数: 0) 下载附件 2013-2-21 16:01 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
faduo2012
2020-01-31 11:26
unsigned char ChanByte(unsigned char DatBye)
{
    unsigned char i, j = 0, k = 0, HightBit, LowBit;

        HightBit = DatBye & 0xf0;
        LowBit   = DatBye & 0x0f;

        for(i = 0; i < 4; i ++)
        {
            j = (HightBit >> (i + 4)) & 0x01;
                k |= j << (7 - i);
        }

        k |= LowBit;

        return k;
}

一周热门 更多>