2、点亮LED3、LED5、LED7、LED9
实现的方法与上面例子的方法一样,只是在程序中,对需要点亮的LED灯分别进行声明。
源程序代码:
//******************************
//名称:点亮LED3、LED5、LED7、LED9
//******************************
//作用:使点亮LED3、LED5、LED7、LED9位置的灯同时被点亮
//******************************
#include
sbit led3=P1^1;
sbit led5=P1^3;
sbit led7=P1^5;
sbit led9=P1^7;
void main()
{
led3=0;
led5=0;
led7=0;
led9=0;
}
将程序下载到单片机里面,可以看到4个灯同时被点亮。
当我们需要操作更多个LED灯就需要对多个I/O口分别进行声明和操作,程序会比较复杂。所以我们就要考虑能不能对程序进行简化。上面的编程方法是对单片机P1口的某一位直接进行操作,能不能对P1口所有位直接进行操作?我们来研究下P1口的输出数据,比如上例中要点亮4个灯,P1口的二进制输出由高位到低位分别为01010101,改成十六进制为0x55。所以如果要用P1口直接操作,就将大括号中的命令改为P1=0x55即可;其完整的程序如下:
源程序代码:
<