单片机:谁有C语言双灯点亮程序呀?

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:36:09
就是有两个灯同时亮的流水灯程序
为什么第一个用不得啊?
第二个也不能同时有两个灯亮,只有一个灯来回亮?
能再帮我解释一下吗?
可能是我不会弄,我按照大家给的程序原样放到keil里生成.hex文件,然后再放到单片机里,但除了第一个回答 里的第二个程序可以一个灯来回亮外,其他程序灯都不亮,?不知是为什么...
我的八个灯是从AT89s52的p2口连出来的

我的是接P1口的,换成P2就行了试试吧
低电平点亮
#include<reg51.h>
void main(void)
{
unsigned int t,i;
long int y;//改变值改变时间
P2=0xfc;
while(1)
{
t=P2>>6;
i=P2<<2;
P2=t|i;
for(y=0;y<40000;y++);
}
}

你是说这样? 如果要单向流动就删掉一个for循环。

#include <reg52.h> 

void Delay(unsigned int j) 

{ unsigned int i,k; 

for(i=0;i<=j;i++) 

for(k=0;k<800;k++) ; 

void main() 

unsigned char i,j,MOVE; 

while(1) 

MOVE=0x03; 

for(i=0;i<8;i++) 

P1=~MOVE; 

Delay(80); 

MOVE<<=1; 

MOVE=0xC0; 

for(j=0;j<8;j++) 

P1=~MOVE; 

Delay(80); 

MOVE>>=1; 

};