定时器要实现1——16灯依次点亮,k++应该放在什么地方?
#include<reg52.h>
#define uchar unsigned char
sbit HC595_SCK=P0^5;
sbit HC595_RCK=P0^6;
sbit HC595_DATA=P0^7;
code unsigned char Led8_One_Array[16] = {0x00,0x00,0x00, 0x00, 0x00, 0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,};
code unsigned char Led8_Two_Array[16] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00,0x00};
void Time1_Init()
{
TMOD=0x10;
TH1=0x8b;
TL1=0x00;
TR1=1;
}
void Send_Data(uchar Led_Data8_One,uchar Led_Data8_Two)
{
uchar i;
HC595_RCK=0;
for(i=0;i<8;i++)
{
HC595_SCK=0;
if(0!=(Led_Data8_One&0x80))
{
HC595_DATA=1;
}
else
{
HC595_DATA=0;
}
HC595_SCK=1;
Led_Data8_One=Led_Data8_One<<1;
}
for(i=0;i<8;i++)
{
HC595_SCK=0;
if(0!=(Led_Data8_Two&0x80))
{
HC595_DATA=1;
}
else
{
HC595_DATA=0;
}
HC595_SCK=1;
Led_Data8_Two=Led_Data8_Two<<1;
}
HC595_RCK=1;
}
/*void Delay_1ms(uchar i)
{
uchar j;
for(i;i>0;i--)
{
for(j=0;j<110;j++)
{
}
}
}*/
void main()
{
uchar k,count=0;
Time1_Init();
while(1)
{
for(k=0;k<16;k++)
{
if(1==TF1)
{
TF1=0;
TH1=0x4c;
TL1=0x00;
count++;
}
if(50==count)
{
count=0;
Send_Data(Led8_One_Array[k],Led8_Two_Array[k]);
}
}
}
}
}
咋改呀
#include<reg52.h>
#define uchar unsigned char
sbit HC595_SCK=P0^5;
sbit HC595_RCK=P0^6;
sbit HC595_DATA=P0^7;
code unsigned char Led8_One_Array[16] = {0x00,0x00,0x00, 0x00, 0x00, 0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,};
code unsigned char Led8_Two_Array[16] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00,0x00};
void Time1_Init()
{
TMOD=0x10;
TH1=0x8b;
TL1=0x00;
TR1=1;
}
void Send_Data(uchar Led_Data8_One,uchar Led_Data8_Two)
{
uchar i;
HC595_RCK=0;
for(i=0;i<8;i++)
{
HC595_SCK=0;
if(0!=(Led_Data8_One&0x80))
{
HC595_DATA=1;
}
else
{
HC595_DATA=0;
}
HC595_SCK=1;
Led_Data8_One=Led_Data8_One<<1;
}
for(i=0;i<8;i++)
{
HC595_SCK=0;
if(0!=(Led_Data8_Two&0x80))
{
HC595_DATA=1;
}
else
{
HC595_DATA=0;
}
HC595_SCK=1;
Led_Data8_Two=Led_Data8_Two<<1;
}
HC595_RCK=1;
}
/*void Delay_1ms(uchar i)
{
uchar j;
for(i;i>0;i--)
{
for(j=0;j<110;j++)
{
}
}
}*/
void main()
{
uchar k,count=0;
Time1_Init();
while(1)
{
for(k=0;k<16;k++)
{
if(1==TF1)
{
TF1=0;
TH1=0x4c;
TL1=0x00;
count++;
}
if(50==count)
{
count=0;
Send_Data(Led8_One_Array[k],Led8_Two_Array[k]);
}
}
}
}
}
咋改呀