大家好,本人新手~ 有几个问题想请教大家~
#include <reg52.h> //头文件
main()
{
P1=0xfe;
}
问题1:这里fe前面0x是什么意思?请问能省略么?
问题2:当我改成P1=11111111(有八个灯)的时候,本应该八个灯都是灭的,但是为什么第456三个灯是亮的,而其他灯是灭的?谢谢。。。
首先我要说句是事实但可能对你有较大打击的话
你的基础还应该加强呀
问题1:这里fe前面0x是什么意思?请问能省略么?
0X是什么?这个前缀是表示后面的数是16进制的,能不能省略就不说了
问题2:当我改成P1=11111111(有八个灯)的时候,本应该八个灯都是灭的,但是为什么第456三个灯是亮的,而其他灯是灭的?谢谢。。。
P1=11111111,,,你的想法是后面的那些111是2进制的表示,如果编译器或是单片机也知道你的意思,那肯定是没有错的,但是单片机不知道你的想法,而把他们当成的是10进制,是十进制的结果是什么呢?是0XA98AAC7,取低位有效就是0XC7,二进制就是11000111B,所以就有你看到的想象,明白不?
问题3: 当我写成P1=11111110的时候,第一个灯,第四 5 6个灯是亮的,其他灯灭,难道不应该是最后一个灯亮,其他灯灭么?谢谢。。。
看懂上面的,你就不难明白这个咯
不能省略,用十六进制表示一个字节. 基础很差,加油啊.......
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |