秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
楼主  发表于: 2012-04-23 22:55
学习单片机不久,只能用简单汇编语言控制流水灯,最近学习
遇到了难题啊。
小弟我用STC89C52单片机控制的16x16LED点阵LED循环显示“生日快乐”,循环显示“生日快乐”四个字。无奈我是个初学者,编程时我的无助,在此我向各位高手请教,请你们帮我写写这个程序,非常感谢! 问题补充:单片机的P1.0~P1.3引脚接到4线—16译码集成74159和P0.0~P0.7引脚分别接16X16点阵的16~1和a~0。简单描述一下,希望各位高手能帮帮忙。谢谢!16X16点阵是共阳的,有做过这实验的请说出你的想法,用汇编语言编写,求注释,希望大家都来帮帮忙,不胜感激
deeply
级别: 略有小成
精华主题: 0
发帖数量: 166 个
工控威望: 295 点
下载积分: 3064 分
在线时间: 158(小时)
注册时间: 2011-09-02
最后登录: 2023-11-29
查看deeply的 主题 / 回贴
1楼  发表于: 2012-04-24 18:43
为什么不直接用16个引脚加驱动芯片控制共阳极控制每一行,另外16个引脚控制每一列呢?
最简单的思路是用软件延时,程序做一个大循环,
用一个小循环控制第一个字显示的时间,
循环中先选择哪一行,然后送出列的数据,延时一段时间,
再选择另外一行,送出列数据,再延时一段时间
。。。。。。
把每一行的数据都送出去之后,让程序在小循环中循环一定时间,也就是某个字的显示时间,

用一个小循环控制第二个字显示的时间,
循环中先选择哪一行,然后送出列的数据,延时一段时间,
再选择另外一行,送出列数据,再延时一段时间
。。。。。。
把每一行的数据都送出去之后,让程序在小循环中循环一定时间,也就是某个字的显示时间,
。。。。。。
把每个字显示之后,大循环继续重复进行以上步骤。
软件延时就是这样,用硬件定时器可以以此类推
楼主留言:
好难啊,你有没有资料啊
deeply
级别: 略有小成
精华主题: 0
发帖数量: 166 个
工控威望: 295 点
下载积分: 3064 分
在线时间: 158(小时)
注册时间: 2011-09-02
最后登录: 2023-11-29
查看deeply的 主题 / 回贴
2楼  发表于: 2012-04-25 17:56
我一般用c语言的,硬件搭建是比较麻烦的事
硬件定了程序就好写