您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页点阵实验

点阵实验

来源:图艺博知识网


#include

#include

#define NOP() _nop_() // 定义空指令 ,这个函数在库

//--重定义函数变量--//

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long

//--定义SPI要使用的 IO--//

sbit MOSIO = P3^4;

sbit R_CLK = P3^5;

sbit S_CLK = P3^6;

//---全局变量声明--//

ulong column; //点阵列

ulong row; //点阵行

ulong dt;

//点阵显示数组

uchar code tab0[] = {0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80,

0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00};

//--亲--//

uchar code tab1[] = {

,0,128,8,2,31,16,2,32,1,255,63,,0,,0,

2,31,,0,72,6,68,8,82,16,32,0,0,0,0,0};

//--爱--//

uchar code tab2[] = {

0,14,252,1,72,8,144,4,2,63,2,16,33,8,252,

31,32,0,224,7,80,2,136,1,68,2,58,28,0,0,0,0};

//--的--//

uchar code tab3[] = {

8,2,8,2,4,17,62,63,162,16,98,16,34,17,62,

18,34,18,34,16,34,16,34,16,62,10,34,4,0,0,0,0};

//--顾--//

uchar code tab4[] = {

0,16,190,63,2,2,186,31,170,16,170,20,170,20,186,20,

138,20,138,20,170,20,26,10,1,49,193,32,0,0,0,0};

//--客--//

uchar code tab5[] = {

,0,128,0,2,31,34,16,241,11,40,2,68,1,192,1,32,

2,248,63,23,4,16,4,16,4,240,7,0,0,0,0};

//--欢--//

uchar code tab6[] = {

0,1,0,1,63,1,32,63,162,32,148,18,84,2,8,2,

8,2,20,5,36,5,162,8,65,16,32,32,0,0,0,0};

//--迎--//

uchar code tab7[] = {

2,1,196,16,36,62,32,18,32,18,39,18,36,18,1,18,

100,18,36,26,4,2,10,2,49,0,192,63,0,0,0,0};

//--使--//

uchar code tab8[] = {

16,2,16,18,232,63,8,2,204,31,74,18,73,18,200,31,

8,18,72,2,136,2,8,1,136,6,104,56,0,0,0,0};

//--用--//

uchar code tab9[] = {

0,8,252,31,132,8,132,8,252,15,132,8,132,8,132,8,

252,15,132,8,132,8,130,8,130,10,129,4,0,0,0,0};

//--开--//

uchar code tab10[] = {

0,8,2,31,16,2,16,2,16,2,16,18,255,63,16,2,

16,2,16,2,16,2,8,2,4,2,3,2,0,0,0,0};

//--发--//

uchar code tab11[] = {

32,2,36,4,36,4,34,16,2,63,32,0,224,15,80,8,

80,4,136,2,8,1,132,2,98,60,29,16,0,0,0,0};

//--板--//

uchar code tab12[] = {

4,8,4,30,196,1,95,0,196,15,68,8,78,9,86,9,

69,5,69,5,68,2,36,5,1,56,84,16,0,0,0,0};

//--∩_∩--//

uchar code tab13[] = {

0,0,0,0,60,240,102,156,67,130,0,0,0,0,0,0,

0,0,0,0,48,24,96,8,192,7,0,0,0,0,0,0};

//函数声明

void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0);

/*************主函数*****************************/

void main(void)

{

int k, i, ms;

i = 80; //显示时间

while(1)

{

//--显示\"亲\"--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab1[2*k +1],~tab1[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“爱”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab2[2*k +1],~tab2[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“的”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab3[2*k +1],~tab3[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“顾”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab4[2*k +1],~tab4[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“客”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab5[2*k +1],~tab5[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“欢”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++) //欢

{

HC595SendData(~tab6[2*k +1],~tab6[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“迎”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab7[2*k +1],~tab7[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“使”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab8[2*k +1],~tab8[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“用”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab9[2*k +1],~tab9[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“开”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab10[2*k +1],~tab10[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示“发”--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab11[2*k +1],~tab11[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示\"板\"--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab12[2*k +1],~tab12[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

//--显示\"∩_∩\"--//

for(ms = i; ms > 0; ms--)

{

for(k = 0; k < 16; k++)

{

HC595SendData(~tab13[2*k +1],~tab13[2*k],tab0[2*k],tab0[2*k + 1]);

}

}

//--清屏--//

HC595SendData(0xff,0xff,0,0);

}

}

/*******************************************************************************

* 函 数 名 : HC595SendData

* 函数功能 : 通过595发送四个字节的数据

* 输 入 : BT3:第四个595输出数值

* * BT2: 第三个595输出数值

* * BT1:第二个595输出数值

* * BT0:第一个595输出数值

* 输 出 : 无

*******************************************************************************/

void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0)

{

uchar i;

//--发送第一个字节--//

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

{

MOSIO = BT3 >> 7 ; //从高位到低位

BT3 <<= 1;

S_CLK = 0;

S_CLK = 1;

}

//--发送第一个字节--//

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

{

MOSIO = BT2 >>7; BT2 <<= 1;

S_CLK = 0;

S_CLK = 1;

}

//--发送第一个字节--//

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

{

MOSIO = BT1 >> 7; BT1 <<= 1;

S_CLK = 0;

//从高位到低位

//从高位到低位

S_CLK = 1;

}

//--发送第一个字节--//

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

{

MOSIO = BT0 >> 7; //从高位到低位

BT0 <<= 1;

S_CLK = 0;

S_CLK = 1;

}

//--输出--//

R_CLK = 0; //set dataline low

R_CLK = 1; //片选

R_CLK = 0; //set dataline low

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务