.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。第三章程序:#include<REGX52.H>voidDelay1ms(unsignedintcount){?unsignedinti,j;?for(i=0;i<count;i++)?for(j=0;j<120;j++);}main(){?unsignedcharLEDIndex=0;?bitLEDDirection=1;?while(1)?{ if(LEDDirection) P1=~(0x01<<LEDIndex); else P1=~(0x80>>LEDIndex); if(LEDIndex==7) LEDDirection=!LEDDirection; LEDIndex=(LEDIndex+1)%8; Delay1ms(100);?}}参考文献孙玉才编著,MCS-51系列单片微型计算机及其应用,东南大学出版社,2004.6万光毅,严义,邢春香,单片机实验与实践教程[M],北京航空航天大学出版社,2006.4夏路易,石宗义,电路原理图与电路板设计教程Protel99SE,北京希望电子出版社侯玉宝等编著,基于Proteus的51系列单片机设计与仿真,电子工业出版社杨欣,王玉凤,刘湘黔编著,51单片机应用从零开始,清华大学社杨欣,王玉凤,刘湘黔编著,51单片机应用实例详解,清华大学出版社