標題: 基于89C51的led點陣顯示器設(shè)計c語言程序代碼 [打印本頁]
作者: 葉奇琛 時間: 2017-12-23 13:48
標題: 基于89C51的led點陣顯示器設(shè)計c語言程序代碼
#include <reg51.h>
sbit SI=P1^0;
sbit SCK=P1^1;
sbit RCK=P1^2;
unsigned char dis1[32],dis2[32] ;
unsigned char i,j,k;
unsigned char code H_S[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
unsigned char code L_S[][32]={ {0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x3F,0xFE,0xBF,0xFD,0xDF,0xFB,0xEF,0xE4,0x17,0x8F,
0x7B,0xFF,0x1F,0xFC,0x7F,0xFB,0x5F,0xFD,0x7F,0xFF,0x0F,0xE0,0xF7,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xDF,0xFF,0x9F,0xF6,0xDF,0xF6,0xEF,0xF8,0xD7,0xFE,0x1B,0xEE,0xDF,0xE1,
0x5F,0xFE,0x7F,0xCF,0x03,0xF0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0xCF,0xB7,0xD0,0xD7,0xED,0xC7,0xED,0xC7,0xF1,
0xD7,0xFF,0x97,0xE9,0xC1,0xDD,0xDF,0x9E,0x5F,0xBF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFD,0xBF,0xFD,0xBF,0xFD,0xBF,0xED,0xB7,0xE5,
0xA7,0xF5,0xAF,0xF9,0xBF,0xFD,0xBF,0xFD,0x3F,0x80,0xC3,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xEF,0xFF,0xDF,0xFB,0xDF,0xFB,0xEF,0xE3,0x9F,0xF8,0xE3,0xFD,0xAF,0xF5,
0x5F,0xF0,0x67,0xF7,0xE9,0xF8,0xEF,0xFB,0xEF,0xF5,0x2F,0x8E,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0x7F,0xF3,0xBF,0xFF,0xBF,0xF9,0x0F,0xFE,0x3F,0xFF,
0x9F,0xFE,0xAF,0xFD,0xB7,0xF3,0xBB,0xC7,0xBD,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xF3,0x5F,0xFB,0xDF,0xFD,0xFF,0xED,0x0F,0x82,0xF3,0xEE,0x1B,0xFC,
0x7F,0xFF,0xFF,0xC0,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0x3F,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xC3,0xFD,0xEB,0xE1,0x6B,0xFE,0xAB,0xFB,0x4B,0xFC,
0xDB,0xF3,0x3B,0xFC,0xFB,0xFC,0x7B,0xFD,0xBB,0xDD,0xDB,0x83,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xDF,0xF9,0xEF,0xFB,0xEF,0xDF,0x37,0xE0,0xF7,0xFF,0xEB,0xF8,
0xED,0xFF,0xEF,0xF8,0xEF,0xF7,0x6F,0xE8,0x6F,0xF7,0xEF,0xE0,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0x7F,0xFF,0xBF,0xFF,0xDF,0xFD,0x1F,0xF8,0x5F,0xFB,0x9F,0xFD,0x1F,0xFD,
0xDF,0xFC,0x1F,0xFD,0x7F,0x8E,0xFB,0xFE,0xDB,0xF7,0xBB,0xE7,0x7F,0xF0,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0x0F,0xFC,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,
0xFF,0xFE,0x7F,0xFF,0x7F,0xFF,0x7F,0x81,0x81,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xBF,0xEF,0xDF,0xC0,0xCF,0xED,0xDF,0xE5,0xC7,0xFB,0xE9,0xEF,
0x97,0xF1,0xA7,0xFB,0xDB,0xF0,0xDD,0xFB,0xDF,0x83,0x2F,0xFC,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xF3,0x5F,0xFB,0xDF,0xFD,0xFF,0xED,0x0F,0x82,0xF3,0xEE,0x1B,0xFC,
0x7F,0xFF,0xFF,0xC0,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0x3F,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xC3,0xFD,0xEB,0xE1,0x6B,0xFE,0xAB,0xFB,0x4B,0xFC,
0xDB,0xF3,0x3B,0xFC,0xFB,0xFC,0x7B,0xFD,0xBB,0xDD,0xDB,0x83,0xFF,0xFF,0xFF,0xFF},
};
void Delay (unsigned char a)
{
unsigned char b,c;
for (b=a;b>0;b--)
for(c=110;c>0;c--);
}
void Input(unsigned char a)
{
unsigned char b;
SCK=0;
RCK=0;
for (b=8;b>0;b--)
{
a=a<<1;
SI=CY;
SCK=1;
SCK=0;
}
}
void Display()
{
for (i=0,j=0;i<16;i++)
{
if(i<8)
{
Input(H_S[j]);
Input(0x00);
}
else
{
Input(0x00);
Input(H_S[j]);
}
j++;
if(j==8)
j=0;
Input(dis1[2*i+1]);
Input(dis1[2*i]);
RCK=1;
Delay(3);
}
}
void Now_dis(unsigned char *p,unsigned char *p1)
{
unsigned char a;
for (a=0;a<16;a++)
{
p[a*2]=p1[a*2];
p[a*2+1]=p1[a*2+1];
}
}
void V_Move(unsigned char e,unsigned char g,unsigned char *p1)
{
unsigned char a,b,c,d=0,f=31;
for (a=0;a<16;a++)
{
if(g==1)
{
for (b=0;b<30;b++)
dis1=dis1[b+2];
if(p1==0)
{
dis1[30]=0xff;
dis1[31]=0xff;
}
else
{
dis1[30]=p1[d++];
dis1[31]=p1[d++];
}
for (c=e;c>0;c--)
Display();
}
else
{
for (b=29;b>0;b--)
dis1[b+2]=dis1;
dis1[2]=dis1[0];
if(p1==0)
{
dis1[1]=0xff;
dis1[0]=0xff;
}
else
{
dis1[1]=p1[f--];
dis1[0]=p1[f--];
}
for (c=e;c>0;c--)
Display();
}
}
}
void RL_Move(unsigned chara,unsigned char b,unsigned char *p)
{
unsigned char i,j,k,c;
for (i=0;i<16;i++)
{
if(p==0)
{
dis2[2*i]=0xff;
dis2[2*i+1]=0xff;
}
else
{
dis2[2*i]=p[2*i];
dis2[2*i+1]=p[2*i+1];
}
}
if(b==1)
for (k=0;k<16;k++)
{
for(i=0;i<16;i++)
{
dis1[i*2+1]=dis1[i*2+1]<<1;
dis1[i*2]=dis1[i*2]<<1;
if (CY==1)
dis1[i*2+1]=dis1[i*2+1]|0x01;
dis2[i*2+1]=dis2[i*2+1]<<1;
if (CY==1)
dis1[i*2]=dis1[i*2]|0x01;
dis2[i*2]=dis2[i*2]<<1;
if (CY==1)
dis2[i*2+1]=dis2[i*2+1]|0x01;
}
for(j=a;j>0;j--)
Display();
}
else
{
for(k=0;k<16;k++)
{
for(i=0;i<16;i++)
{
dis1[i*2]=dis1[i*2]>>1;
c=dis1[i*2+1]&0x01;
dis1[i*2+1]=dis1[i*2+1]>>1;
if(c)
dis1[i*2]=dis1[i*2]|0x80;
c=dis2[i*2]&0x01;
dis2[i*2]=dis2[i*2]>>1;
if(c)
dis1[i*2+1]=dis1[i*2+1]|0x80;
c=dis2[i*2+1]&0x01;
dis2[i*2+1]=dis2[i*2+1]>>1;
if(c)
dis2[i*2]=dis2[i*2]|0x80;
}
for (j=a;j>0;j--)
Display();
}
}
}
void main ()
{
while (1)
{
Now_dis(dis1,L_S[0]);
V_Move(10,1,L_S[1]);
V_Move(10,1,L_S[2]);
V_Move(10,0,L_S[3]);
V_Move(10,1,L_S[4]);
V_Move(10,0,L_S[5]);
V_Move(10,1,L_S[6]);
V_Move(10,1,L_S[7]);
V_Move(10,0,L_S[8]);
V_Move(10,1,L_S[9]);
V_Move(10,0,L_S[10]);
V_Move(10,1,L_S[11]);
V_Move(10,1,L_S[12]);
V_Move(10,0,L_S[13]);
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
国产高清在线
|
久久久久久久99
|
91不卡在线
|
涩涩视频在线观看
|
女同av亚洲女人天堂
|
波霸ol一区二区
|
久久亚洲一区二区三区四区
|
香蕉久久久
|
午夜三区|
一区二区国产精品
|
国产成人精品一区二区
|
国产二区av
|
精品一区二区久久久久久久网站
|
欧美日韩一卡
|
欧美一级黄色免费看
|
91婷婷韩国欧美一区二区
|
精品国产一区探花在线观看
|
精品乱码一区二区
|
欧美日本久久
|
国产精品久久av
|
男女视频免费
|
日本一二三区电影
|
久久这里只有
|
亚洲精品在线免费
|
日韩一二区在线观看
|
国产精品69av|
国产精品资源在线观看
|
免费一区二区
|
成人在线视频网
|
激情欧美一区二区三区
|
国产一卡二卡三卡
|
91视频进入
|
欧美a级成人淫片免费看
|
国产在线精品一区二区
|
成人av一区|
国产中文在线
|
亚洲乱码一区二区
|
中文字幕一区二区三区在线观看
|
成人精品一区二区三区
|
欧美国产精品一区二区三区
|
亚洲导航深夜福利涩涩屋
|