#include<reg51.h> #define uchar unsigned char #define uint unsigned int #define ulong ungigned long sbit MOSIO = P0^0; sbit R_CLK = P0^2; sbit S_CLK = P0^1; void BC595SendData( uchar BTO); void delayns(unsigned int i); void main(void) { unsigned char code led[]= { 0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xC7,0xD7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xC7,0xD7,0xD7,0xFF,0xFF,0xFF,0xFF,0xFF, 0xC7,0xD7,0xD7,0xD7,0xFF,0xFF,0xFF,0xFF, 0xC7,0xD7,0xD7,0xD7,0xD7,0xFF,0xFF,0xFF, 0xC7,0xD7,0xD7,0xD7,0xD7,0xD7,0xFF,0xFF, 0xC7,0xD7,0xD7,0xD7,0xD7,0xD7,0xD7,0xFF, 0xD7,0xD7,0xD7,0xD7,0xD7,0xD7,0xC7,0xC7, }; unsigned char w; unsigned int i,j,k,m; while(1) { for(k=0;k<88;k++) //显示滚动行数控制变量 { for(m=0;m<100;m++) //每个字符扫描显示100次,控制每个字符显示时间 { w=0x01; j=k; for(i=0;i<8;i++) { P1=w; BC595SendData(led[j]); delayns(2); BC595SendData(0xff); w<<=1; j++; if(j>87) j=j-88; } } } } } void BC595SendData( uchar BT0) { uchar i; for(i=0;i<8;i++) { MOSIO = BT0 >>7; BT0 <<= 1; S_CLK = 0; S_CLK = 1; } R_CLK = 0; R_CLK = 1; R_CLK = 0; } void delayns(unsigned int i) { unsigned char k; while(i--); for(k=0;k<120;k++); }帮我检查一下这段代码
最新发布