请教各位老师,为什么流水灯走一遍,就不走了,变成双灯?谢谢
如题,附代码:#include <STC32G.H>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define MAIN_Fosc 35000000UL
uchar LED_Code ={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
uchar sum;
voiddelayms(uint ms)
{
uint i;
do{
i = MAIN_Fosc / 6000;
while(--i);
}while(--ms);
}
void port_mode() // 端口模式
{
P0M1=0x00; P0M0=0x00;
P1M1=0x00; P1M0=0x00;
P2M1=0x00; P2M0=0x00;
P3M1=0x00; P3M0=0x00;
P4M1=0x00; P4M0=0x00;
P5M1=0x00; P5M0=0xFF;
}
void LED()
{
uchar i,j;
P2=sum;
for(i = 0;i < 8;i++)
{
sum &= LED_Code;
P2 = sum;
delayms(300);
}
for(j=8;j>=0;j--)
{
sum^=(~LED_Code);
P2 = sum;
delayms(300);
}
sum=0xff;
}
void main()
{
WTST = 0;
port_mode();
while(1)
{
sum=0xff;
LED();
}
}
for(j=8;j>=0;j--)/////////////////////////改为j>0即可
{
sum^=(~LED_Code);
P2 = sum;
delayms(300);
}
sum=0xff;//////////////////////////////////这一行可以去掉,main中已经有了 谢谢,老师。已解决
页:
[1]