标题: 新手求助关于点亮一个LED灯 [打印本页]

作者: georgewhr    时间: 2012-3-2 13:36
标题: 新手求助关于点亮一个LED灯

大家好,本人新手~ 有几个问题想请教大家~


#include <reg52.h> //头文件

main()

{

P1=0xfe; 

 

}

 

 问题1:这里fe前面0x是什么意思?请问能省略么?

 

问题2:当我改成P1=11111111(有八个灯)的时候,本应该八个灯都是灭的,但是为什么第456三个灯是亮的,而其他灯是灭的?谢谢。。。


作者: georgewhr    时间: 2012-3-2 13:38
问题3: 当我写成P1=11111110的时候,第一个灯,第四 5 6个灯是亮的,其他灯灭,难道不应该是最后一个灯亮,其他灯灭么?谢谢。。。
作者: 青苹果    时间: 2012-3-2 17:37

首先我要说句是事实但可能对你有较大打击的话

 

你的基础还应该加强呀

 


作者: 青苹果    时间: 2012-3-2 17:38

 

问题1:这里fe前面0x是什么意思?请问能省略么?

 

0X是什么?这个前缀是表示后面的数是16进制的,能不能省略就不说了


作者: 青苹果    时间: 2012-3-2 17:46

问题2:当我改成P1=11111111(有八个灯)的时候,本应该八个灯都是灭的,但是为什么第456三个灯是亮的,而其他灯是灭的?谢谢。。。

 

 

P1=11111111,,,你的想法是后面的那些111是2进制的表示,如果编译器或是单片机也知道你的意思,那肯定是没有错的,但是单片机不知道你的想法,而把他们当成的是10进制,是十进制的结果是什么呢?是0XA98AAC7,取低位有效就是0XC7,二进制就是11000111B,所以就有你看到的想象,明白不?


作者: 青苹果    时间: 2012-3-2 17:47

问题3: 当我写成P1=11111110的时候,第一个灯,第四 5 6个灯是亮的,其他灯灭,难道不应该是最后一个灯亮,其他灯灭么?谢谢。。。

 

看懂上面的,你就不难明白这个咯


作者: fancommand    时间: 2012-3-2 22:21

不能省略,用十六进制表示一个字节. 基础很差,加油啊.......


作者: georgewhr    时间: 2012-3-3 04:09
明白了~谢谢各位指点~
作者: xiaoruoshui    时间: 2012-3-3 08:43
0x 表示十六进制




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1