请问单片机C语言编程中那些进制数是什么意思啊? 下面举例:

WE_COM = 0x40;
还有什么 0x80,0x0F,0x0A等等,这么多数据怎么知道就用这个啊,怎么就知道它是干什么用的啊? 去什么地方找这些东西的?

首先,你应该知道0x40是十六进制数吧。其次,计算机里面的数据以二进制存储也不用多说了。
使用十六进制数有不同的作用。
首先,十六进制的数也是一个数字,可以进行数字运算,比如0x40+0x40=0x80。
其次,十六进制和二进制的转换十分密切。在单片机中,对寄存器的操作是一个十分重要的内容(什么是寄存器?不知道的话说明你单片机还没入门,赶紧百度去吧),有些寄存器就像是一个开关。假设有一个寄存器叫SWITCH(我编的名字,意思是开关),它有八位,作用是八个灯的开关。如果第一位是1,则把第一盏灯打开,第二位是1,就打开第三盏,依此类推。如果我想把第一三盏灯打开,我就需要给SWITCH赋值 10100000,第一位和第三位是1,打开,其他是0,关闭。这样就相当于一个语句 SWITCH = 10100000。但是10100000太长了,如果改成16进制数,就是0xA0,那么,这个语句也可以写成 SWITCH = 0xA0。这就是用十六进制的好处。
那么,怎么知道用什么数据呢?你就得知道某个寄存器每一位的作用。在你的单片机对应的手册里,会对每一个寄存器的作用做详细的解释。去看看操作手册,你就知道赋值是什么用了。
最后,用windows自带的计算器软件里面的 程序员 模式(查看——程序员),能方便地实现各个进制的转换。

用单片机不少时间啦~给你一点点帮助~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-08
这些数据是根据IO口输入输出的数值来确定的,至于是什么数值,就看这个IO口接什么电路或者启动单片机内部的什么功能模块,一般都是8位的,例如在单片机的计时/定时器,中断等都有说明的,至于你提到的WE_COM = 0x40,就是在WE_COM 这个口输入或者输出二进制数01000000,把这个数转化为十六进制就是0X40了。再举个例,如果我要点亮8个LED灯中的单数位,要在单片机的P1口输出,那么就是输出01010101到P1口中,指令就是P1=0X55了。
第2个回答  2012-11-08
0x表示16进制数。 0x40等于十进制的 4 * 16 + 0 * 16的0次方 = 64.
同理可以算出相应的16进制数对应的10进制数的值。 可以找一些单片机的书看看,或者看计算机组成原理这些书。
单片机和计算机通常使用二进制,不过二进制书写麻烦,十六进制比较方便些。 WE_COM = 0x40 看起来像是设置Com的写使能操作。如果是的话,把0x40写成二进制,看1和0与之对应的硬件信号线就可以明白其操作。不过要参考硬件芯片手册。
第3个回答  2012-11-08
这些是是表示单片机开发板的引脚的存储位置,we-com=0x40意思就是定义这个变量的地址为0x40,单片机是通过改变引脚的高低电平来传输信号的。 大学里应该都有这门课,你可以选
第4个回答  2012-11-08
找《数字电路》,你说的那个是16进制。分别是0-9-ABCDEF,A代表10,以此类推

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网