本帖最后由 XIANSir 于 2011-4-10 09:50 编辑
我承认,我是在说“一劳永逸”绝对是一种美德;P
对于我们这些经常与单片机打交道的电工们来说,**单片机的寄存器和以及寄存器的位定义实在是一件痛苦的事情,可是如果记不住编程时效率又会受到影响——因为每次都要查手册!下面是我的做法,希望对和我一样记不住寄存器位定义的电工们有所帮助:
//将b0到b7表示的二进制数转换成十六进制,注意b0至b7都只能取值0或1
#define B2H0_8(b0,b1,b2,b3,b4,b5,b6,b7) ((b0<<0) + (b1<<1) + (b2<<2) + (b3<<3) + (b4<<4) + (b5<<5) + (b6<<6) + (b7<<7))
#define B2H8_0(b7,b6,b5,b4,b3,b2,b1,b0) ((b0<<0) + (b1<<1) + (b2<<2) + (b3<<3) + (b4<<4) + (b5<<5) + (b6<<6) + (b7<<7)) |