求51单片机驱动16X64点阵,行列用74HC595芯片驱动的程序

我是个刚入门的单片机爱好者,对点阵有兴趣了,网上比较有代表性的只是HC154做行驱动+HC595列驱动,想要点特别的。你是要我把154的循环扫描用HC595来代替,也就达... 我是个刚入门的单片机爱好者,对点阵有兴趣了,网上比较有代表性的只是HC154做行驱动+HC595列驱动,想要点特别的。你是要我把154的循环扫描用HC595来代替,也就达到一样的效果了,是这样的吗?但我还不懂怎样做,能否来一个详细的?谢谢你 展开
 我来答
xuxingliangxxl
2010-09-29
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
这是16X16的,自己一改就好了

//74HC595练习程序
//串入并出实现16流水灯效果
//2009.12.28
#include"reg52.h"
sbit shcp=P2^0; //数据在上升沿进入移位寄存器
sbit date1=P2^1; //串行数据输入端
sbit clock=P2^2; //上升沿时将数据输出到并行端口

unsigned char tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char tab1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

void delay(unsigned int delay)
{
unsigned char i;
for(;delay>0;delay--)
for(i=0;i<125;i++);
}

void send_data(unsigned char date) //发送数据
{
unsigned char i;
for(i=0;i<8;i++) //把每一位数据移入寄存器
{
shcp=0;
date=date<<1;
date1=CY;
shcp=1;
delay(20);
}
}

void main()
{
unsigned char k;
for(k=0;k<16;k++)
{
send_data(tab[k]);
send_data(tab1[k]);
{clock=0;clock=1;};
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2b79894
2010-10-01 · TA获得超过427个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:250万
展开全部
一分不给,你也够抠门的了......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式