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

2020-01-30 14:12发布

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

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

QQ截图20130217102520.jpg (101.03 KB, 下载次数: 0) 下载附件 2013-2-21 16:01 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
sdf159372008
1楼-- · 2020-01-31 14:59
faduo2012 发表于 2013-2-21 18:22
unsigned char ChanByte(unsigned char DatBye)
{
    unsigned char i, j = 0, k = 0, HightBit, LowBit;

谢谢您了……
您的程序对于我来说相对比较简单、易懂……
william_rain
2楼-- · 2020-01-31 19:37
用指针 快些
faduo2012
3楼-- · 2020-01-31 19:43
william_rain 发表于 2013-2-21 20:38
用指针 快些

请大侠赐教用指针快速计算,小弟感激不尽
downtoearth
4楼-- · 2020-01-31 20:49
#define uchar unsigned char
uchar Data_Process (uchar Originle_Data )
{
uchar Data_Temp[4] ;
uchar Data_H_FourBit , Data_L_FourBit ;
uchar i ;
Data_H_FourBit = Originle_Data << 4 ;
Data_L_FourBit = Originle_Data >> 4 ;       
for (i=0 ; i<4 ; i++ )
     {
      Data_Temp[i] = ( Data_H_FourBit >> i )& 0x10 ;  
     }       
for (i=0 ; i<4 ; i++ )
                 {
      Data_H_FourBit |= Data_Temp[i] << ( 7-i )  ;
     }
Originle_Data = Data_H_FourBit | Data_L_FourBit ;
return Originle_Data ;
}
30zero
5楼-- · 2020-01-31 21:39
 精彩回答 2  元偷偷看……
lijia115003
6楼-- · 2020-02-01 02:41
都是高手啊,菜鸟表示深深的折服

一周热门 更多>