举个例子:用C语言写一个使单片机P3口高四位LED和低四位LED轮流点亮的程序
我自己写的程序里主函数是
void main(void)
{
while(1)
{
P3=0xfe; //第一个灯亮
P3=0xfd; //第二个灯亮
P3=0xfb; //第三个灯亮
P3=0xf7; //第四个灯亮
delay(); //调用延时函数
P3=0xef; //第五个灯亮
P3=0xdf; //第六个灯亮
P3=0xbf; //第七个灯亮
P3=0x7f; //第八个灯亮
delay(); //调用延时函数
而正解只要这样
void main()
{
P3=0x0f;
while(1)
{
P3=~P3;
delay();
}
}
为什么只要P3=0x0f就能代替我自己写的一大堆程序呢?0x0f是输出高电平还是低电平?P3=~P3里的~P3又是什么意思?
问题比较多,请各位大侠多多赐教哦~