1616矩阵c语言程序,51单片机16X16点阵上移C语言程序

前面已经分享了,点阵汇编语言,想信大家大部分用C语言较多了,下面我就将16X16点阵上移C语言程序分享出来,希望能帮到需要的朋友!本人此程序有经过实物测试的。并非随意弄出来的。并且有配视频效果,可以点击查看的视频祥见:http://www.tudou.com/programs/view/D0SCJyO4RBQ/

下面是原理图,请大家祥细看看,不懂的帖子留言!

a24ad05f90b4f05f48d48216e358966b.png

#include#define uchar unsigned char

#define uint unsigned int

#define LINE P0//定义行线IO口,即74HC154控制端

#define shudu 20//字移动的速度

sbit DATA=P1^4;//74HC595数据端

sbit CLK=P1^5;//74HC595移位脉冲端

sbit CLKR=P1^6;//74HC595数据锁存端

uchar move;//移动几位变量

uchar line;//行变量

uchar word;//字节变量

uchar ji;//字节变量

uchar code table[]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x10,0x3F,0xF8,0x04,0x10,0x04,0x14,0xFF,0xFE,0x04,0x10,0x04,0x10,

0x3F,0xF0,0x04,0x10,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,

0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x3F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x10,

0x1F,0xF8,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x50,0x10,0x20,

0x01,0x10,0xFF,0x90,0x14,0x50,0x14,0x7C,0x7F,0x50,0x55,0x90,0x55,0x10,0x57,0xFE,

0x61,0x04,0x41,0x7E,0x41,0x44,0x7F,0x44,0x41,0x44,0x41,0x44,0x7F,0x7C,0x41,0x44,

0x00,0x78,0x3F,0x80,0x11,0x10,0x09,0x20,0x7F,0xFE,0x42,0x02,0x82,0x04,0x7F,0xF8,

0x04,0x00,0x07,0xF0,0x0A,0x20,0x09,0x40,0x10,0x80,0x11,0x60,0x22,0x1C,0x0C,0x08,

0x04,0x40,0x04,0x44,0xFF,0xFE,0x04,0x40,0x08,0x7C,0x09,0x44,0x7F,0xC4,0x08,0x7C,

0x0A,0x44,0x3F,0x44,0x22,0x7C,0x22,0x44,0x22,0x44,0x3E,0x44,0x22,0x94,0x01,0x08,

0x08,0x20,0x08,0x24,0xFF,0xFE,0x08,0x20,0x01,0x08,0x3F,0xFC,0x20,0x08,0x20,0x08,

0x3F,0xF8,0x20,0x08,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00,

0x08,0x10,0x08,0x10,0x08,0x10,0x10,0x20,0x10,0x20,0x22,0x44,0x7E,0xFC,0x04,0x08,

0x08,0x10,0x10,0x20,0x20,0x40,0x7E,0xFC,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

void delay(uchar z)

{

uchar x,y;

for(x=8;x>0;x--)

for(y=z;y>0;y--);

}

void song(uchar z)//带参数函数

{

uchar num,hang;//定义变量

hang=z;//将形参给变量

for(num=0;num<8;num++)//移动8次将数据发送完毕

{

if(hang&0x01==1)//将高7位屏蔽掉,保留最低位判断

DATA=1;//为1就将74HC595数据端置1

else

DATA=0;//否则给0

CLK=0;//上升沿送走数据

CLK=1;//高电平形成上升沿

hang>>=1;//将数移走一位

}

}

void shang()

{

for(move=10;move>0;move--)

{

ji=word;

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

{

song(~table[ji*2+1]);

song(~table[ji*2]);

ji++;

CLKR=1;//在74HC595处锁存起来

CLKR=0;

CLKR=1;

LINE=line;

delay(10);

}

}

word+=1;

if(word>=128)//7个字

{

ji=0;

word=0;

}

}

void main()

{

while(1)

{

shang();

}

}

视频祥见:http://www.tudou.com/programs/view/D0SCJyO4RBQ/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值