
(图片来源网络,侵删)
#include "REG52.h" unsigned char code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 ,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9A-F void smxs(unsigned char mz, unsigned char w) { unsigned char Xd=0; P2=255; P2=255-smgduan[mz]; P3=w; while(++Xd); } void sjh(unsigned char* a, unsigned char* b) { unsigned char ab = *a; *a = *b; *b = ab; } void main() { unsigned char jz=0,zhi=15,wei=0,sy=0,k=0,sj[]={1,4,7,8,5,2,3,6,9,9,6,8,5,7,4,0}; while(1) { smxs(sj[7+wei],128);smxs(sj[6+wei],64); smxs(sj[5+wei],32);smxs(sj[4+wei],16); smxs(sj[3+wei],8);smxs(sj[2+wei],4); smxs(sj[1+wei],2);smxs(sj[0+wei],1); if(!++sy) { if(!wei)wei=8;else wei=0; if(jzsj[zhi]){sjh(&sj[jz],&sj[zhi]);--zhi;}else --zhi; if(zhi==jz){zhi=15;++jz;}else; } else jz=0; } } }
缘由使用keil编写程序,并且能在proteus上运行_编程语言-CSDN问答
#include "REG52.h" #include //用于随机数生成函数 unsigned char code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 ,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9A-F void smxs(unsigned char mz, unsigned char w) { unsigned char Xd=0; P2=255; P2=255-smgduan[mz]; P3=w; while(++Xd); } void sjh(unsigned char* a, unsigned char* b) { unsigned char ab = *a; *a = *b; *b = ab; } void main() { unsigned char jz=0,zhi=15,wei=0,sy=0,k=0,sj[16]{},x=16; while(1) { if(x) { if(!++sy)if(!++k) { --x; sj[x]=rand()*rand()%10; } } else { smxs(sj[7+wei],128);smxs(sj[6+wei],64); smxs(sj[5+wei],32);smxs(sj[4+wei],16); smxs(sj[3+wei],8);smxs(sj[2+wei],4); smxs(sj[1+wei],2);smxs(sj[0+wei],1); if(!++sy) { if(!wei)wei=8;else wei=0; if(jzsj[zhi]){sjh(&sj[jz],&sj[zhi]);--zhi;}else --zhi; if(zhi==jz){zhi=15;++jz;}else; } else jz=0; }} } }

(图片来源网络,侵删)