该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#define si p01
#define sck p02
#define rck p03
void HC595_SendDat(uint8 dat)
{ uint8 i;
for(i=0; i<8; i++) // 发送8位数据
{ sck=0; // SPI_CLK
= 0
/* 设置SPI_DATA输出值 */
if( (dat&0x80)!=0 ) si = 1;
else si =0;
dat <<= 1;
sck=1; // SPI_CLK = 1
}
}
const uint8 DISP_TAB [10]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xD8,
0x80,0x91 };
/****************************************************************************
* 名称:main()
* 功能:根据表DISP_TAB来控制LED显示。
****************************************************************************/
int main(void)
{ uint8 i; uint8 j;unit8 k;unit8
l;
while(1)
{ for(i=0; i<10; i++)
for(j=0; j<10; j++)
for(k=0;k<10;k++)
for(l=0;l<10;l++)
{ rck=0;// SPI_CS = 0
HC595_SendDat(~DISP_TAB[i]);
HC595_SendDat(~DISP_TAB[j]);
HC595_SendDat(~DISP_TAB[k]);
HC595_SendDat(~DISP_TAB[l]);
rck=1; // SPI_CS = 1,输出显示数据
DelayNS(5); // 延时
}
}
return(0);
}