‘壹’ 单片机赋值单片机为什么是拿16进制的值来赋值
首先,赋几进制的值对单片机来说是一样的。因为经过编译之后都是二进制,单片机也只认识二进制。
赋值时使用16进制是为了我们容易看。
因为单片机的寄存器很多都是按位设置的,与之对应的就是二进制。但是二进制第一不容易书写,第二不容易阅读,这两点对于程序来说是致命的。16进制最接近二进制,每一位代表4位二进制,熟练以后一眼就能看出对应的二进制是多少,容易书写、容易阅读、又不容易出错。所以就用16进制了。
‘贰’ 单片机的进制的换算
用在单片机上的一般就是16进制和2进制,这两者之间的换算非常简单,看下面两个例子:
234H转为2进制:
2 == 0010
3 == 0011
4 == 0100
234H = 0010 0011 0100 B
1101000101001B转为16进制:
从低位开始四位四位的划,到最高位则左边补0,如上数:
1101000101001B = 0001 1010 0010 1001 B
然后直接转为16进制即可:
0001 1010 0010 1001 B == 1A29H