基于单片机1616的点阵显示 - 图文(4)

2019-03-10 18:42

//一共有16行,每次刷一行的代码 uchar code NUM_HANG[]={

0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,}; //汉字“机”的字码 uchar code ji[]=

{8,0,136,15,136,8,190,8,136,8,136,8,156,8,172,8,138,8,136,8,136,8,72,40,72,40,40,48,0,0,0,0}; //汉字“电”的字码 uchar code dian[]=

{128,0,128,0,128,0,252,31,132,16,132,16,252,31,132,16,132,16,252,31,132,0,128,32,128,32,0,63,0,0,0,0}; //汉字”工“的字码 Uchar code gong[]=

{0,0,252,31,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,254,63,0,0,0,0,0,0} ; //汉字\程” 的字码 Uchar code cheng[]=

{0,0,176,31,142,16,136,16,136,31,62,0,8,0,152,31,44,2,12,2,138,31,8,2,8,2,200,63,0,0,0,0} ; //汉字\学“的字码 Uchar code xue[]=

{72,8,144,4,0,2,254,63,2,32,2,32,248,7,0,2,128,1,254,63,128,0,128,0,128,0,224,0,0,0,0,0} ; //汉字”院“的字码 Uchar code yuan[]=

{0,2,30,4,210,63,82,32,10,0,138,31,18,0,18,0,210,63,18,9,14,9,130,8,66,40,34,48,0,0,0,0} ;

14

void HC595_Send(uchar dat1,uchar dat0,uchar dat2,uchar dat3); void main() {

uchar i,j; while(1) {

for(j=255;j>0;j--)

//一个字显示的次数,刷256次然后刷第

二个字。

{

for(i=0;i<32;i=i+2) //一共有16行,所以刷16次 {

HC595_Send(~ji[i],~ji[i+1],NUM_HANG[i],NUM_HANG[i+1]);

}

HC595_Send(0xff,0xff,0x00,0x00); for(j=255;j>0;j--) {

for(i=0;i<32;i=i+2) { }

HC595_Send(~dian[i],~dian[i+1],NUM_HANG[i],NUM_HANG[i+1]);

}

}

for(j=255;j>0;j--)

{

for(i=0;i<32;i=i+2) {

HC595_Send(~gong[i],~gong[i+1],NUM_HANG[i],NUM_HANG[i+1]);

}

15

}

for(j=255;j>0;j--)

{

for(i=0;i<32;i=i+2) {

HC595_Send(~cheng[i],~cheng[i+1],NUM_HANG[i],NUM_HANG[i+1]);

}

}

HC595_Send(0xff,0xff,0x00,0x00);

for(j=255;j>0;j--)

{

for(i=0;i<32;i=i+2) {

HC595_Send(~xue[i],~xue[i+1],NUM_HANG[i],NUM_HANG[i+1]);

}

}

for(j=255;j>0;j--) {

for(i=0;i<32;i=i+2) {

HC595_Send(~yuan[i],~yuan[i+1],NUM_HANG[i],NUM_HANG[i+1]); }

}

} }

void HC595_Send(uchar dat1,uchar dat0,uchar dat3,uchar dat2) {

uchar i; SCK=1; LCK=1;

16

for(i=0;i<8;i++) { SDI=dat0&0x01;

dat0>>=1; SCK=0; _nop_(); _nop_(); SCK=1; _nop_(); _nop_();

}

for(i=0;i<8;i++) { SDI=dat1&0x01;

dat1>>=1; SCK=0; _nop_(); _nop_(); SCK=1; _nop_(); _nop_();

}

for(i=0;i<8;i++) { SDI=dat2&0x01;

dat2>>=1; SCK=0; _nop_();

_nop_();

//从高位到低位

//从高位到低位

//从高位到低位

17

}

}

SCK=1; _nop_(); _nop_();

for(i=0;i<8;i++) { }

LCK=0; //下面是输出时钟 _nop_(); _nop_(); LCK=1; _nop_(); _nop_();

SDI=dat3&0x01; dat3>>=1; SCK=0; _nop_(); _nop_(); SCK=1; _nop_(); _nop_();

//从高位到低位

18


基于单片机1616的点阵显示 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:现货黄金干货技巧,想盈利先学会

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: