#include#include typedef unsigned char u8; typedef unsigned int u16; sbit SRCLK=P3^6; sbit RCLK=P3^5; sbit SER=P3^4; u8 code ledduan[][8]={{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5 {0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}, //1 {0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}, //1 {0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}, //9 {0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}, //1 {0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2 {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0 {0x00,0x00,0x2a,0x49,0x49,0x49,0x36,0x00}, //3 {0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4 {0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8 {0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}, //9 {0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8 {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,}}; //8 u8 ledduan1[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void delay(u16 i) { while(i--); } void Hc595SendByte(u8 dat) { u8 i; SRCLK=0; RCLK=0; for(i=0;i<8;i++) { SER=dat>>7; dat<<=1; SRCLK=1; _nop_(); _nop_(); SRCLK=0; } RCLK=1; _nop_(); _nop_(); RCLK=0; } int main() { u16 i,j,k; while(1) { for(j=0;j<80;j++) { for(i=0;i<8;i++) { P0=ledwei[i]; Hc595SendByte(ledduan[k][i]); delay(50); Hc595SendByte(0x00); } } for(i=0;i<8;i++) { P0=ledwei[i]; Hc595SendByte(ledduan1[i]); delay(50); Hc595SendByte(0x00); delay(5000); } k++; if(k>=13) { k=0; } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)