从业十年,教你单片机入门 第15讲:
十六进制是二进制的缩写方式,而C言语程序里只用了十进制和十六进制这两种书写格局。它们各有什么使用特色?十六进制便利人了解机器,一般使用在装备寄存器,底层通讯驱动,底层IO口驱动,以及数据的移位,转化和兼并等场合。而十进制则便利人了解值的巨细,在使用层经常用。总归,进制仅仅数据的表现方式罢了。
十进制与十六进制怎么彼此转化?其实许多教科书上有介绍它们之间怎么经过手艺核算进行转化的办法。可是实践使用中,我从来没有用过这种手艺核算办法,我用的办法是最简略直接的,便是凭借电脑自带的核算器进行转化即可。现在把这种办法介绍给咱们。
第一步:点击电脑左下角“开端”菜单,在下拉菜单中把鼠标移动到“一切程序”,在下拉菜单中把鼠标移动到“附件”,在下拉菜单中点击“核算器”,此刻会弹出“核算器” 的窗口。
第二步:点击核算器窗口上面的“检查”菜单,在下拉菜单中点击“科学型”,此刻“核算器” 的窗口会变长。按键上方呈现“十六进制”,“十进制”,“八进制”,“二进制”等单选项。
第三步:在按键上方“十六进制”,“十进制”,“八进制”,“二进制”等单选项中,单击所要切换到的进制,然后按数字按键输入数据。输完数据后,再单击切换到所要转化的进制中,即可完结各进制的数据切换。留意,在切换到“十六进制”的时分,在右边“四字”,“双字”,“单字”,“字节”中选中“四字”。
第四步:把十进制转化到十六进制的办法如下:单击切换到“十进制”,然后按数字按键输入数据。输完数据后,再单击切换到“十六进制”,即可完结进制的转化。比方输入十进制的“230”,切换到十六进制就变成了“E6”。
第五步:把十六进制转化到十进制的办法如下:单击切换到“十六进制”,然后按数字按键输入数据。输完数据后,再单击切换到“十进制”,即可完结进制的转化。比方输入十六进制的“AC”,切换到十进制就变成了“172”。
现在咱们编写一个程序来调查十进制和十六进制的联系,最终把程序编译后下载到坚鸿51学习板调查成果。请直接仿制第十节模板程序,修正的main程序代码如下:
void main() //主程序
{
/*—C言语学习区域的开端—————————————————————————*/
unsigned char a; //界说一个变量a,而且分配了1个字节的RAM空间。
unsigned char b; //界说一个变量b,而且分配了1个字节的RAM空间。
a=230; //把十进制的230赋值给变量a,在朱兆祺51学习板上调查一下它的十六进制是不是E6。
b=0xAC; //把十六进制的AC赋值给变量b,在朱兆祺51学习板上调查一下它的十进制是不是172。
GuiWdData0=a; //把变量a这个数值放到窗口变量0里边显现
GuiWdData1=b; //把变量b这个数值放到窗口变量1里边显现
/*—C言语学习区域的完毕—————————————————————————*/
while(1)
{
initial();
key_service();
display_service();
}
}
怎么在坚鸿51学习板上调查十进制和十六进制?S1和S5按键是切换窗口按键。按住S9按键不松手,就可以调查当时窗口数据的十六进制格局了。松开S9按键便是当时窗口的十进制数据格局。而坚鸿51学习板右上角的16个LED灯就代表了当时窗口的二进制,亮的代表1,灭的代表0。
上坚鸿51学习板调查程序履行的成果如下:
十六进制 十进制
unsigned char变量a E6 230
unsigned char变量b AC 172
具体图解过程:bbs.21ic.com/forum.php
下节预告:判别句子“if”和等于联系符“==”。