/*****************************************************************************
FileName : flip.c
Function : 高效率的位翻转程序
Author : mike
Email : hxtiou@163.com
Version : V1.0
Date : 2019-07-12
Note : 1个byte数据,从BIT(0)翻转到BIT(7),比如11100000,翻转后为00000111
*****************************************************************************/
#define u8 unsigned char
IAR_CONST u8 flip_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,
0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};
u8 flip_bit(u8 dat) //keil测试26个时钟周期
{
dat = flip_tab[(dat & 0xf0)>>4] | (flip_tab[dat & 0x0f]<<4);
return dat;
}