unsigned char getLowbits(unsigned char){
return x & 0x0F;
}
unsigned char getHighbits(unsigned char x){
return (x & 0xF0)>>4;
}
unsigned char getBits(unsigned char x, unsigned char n){
return (x >> n) & 0x01;
}
unsigned char clearBits(unsigned char x, unsigned char n){
unsigned char clear = ~(1>>n);
return clear & x;
}