找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4076|回复: 5
收起左侧

求助张志良,74HC164串入并出如何实现控制64灯?

[复制链接]
ID:350684 发表于 2018-6-16 15:58 | 显示全部楼层 |阅读模式
各位大神大家好,
我在51黑版主张志良主编的《80c51单片机仿真设计实例教程》这本书里找到74HC164扩展实现16灯的方法,
可是如果类比书上的程序编写64灯的时候,模拟电路里只能亮到第32个灯,后面的灯要不不亮,要不就是闪烁,
这是我编写的程序和画的电路图,请大神不吝赐教,帮忙解疑答惑,谢谢

74HC164串行输出 64位流水灯.zip

61.72 KB, 下载次数: 75

回复

使用道具 举报

ID:239611 发表于 2018-6-16 18:00 | 显示全部楼层
你的循环变量定义有问题:unsigned char i
回复

使用道具 举报

ID:111634 发表于 2018-6-16 18:11 | 显示全部楼层
没程序,怎么看?发到我email:zzlls@126.com
回复

使用道具 举报

ID:239611 发表于 2018-6-16 18:26 | 显示全部楼层
循环变量定义有问题unsigned char i; 这样定义,i最大只有255,你的(i<512)循环永远在走前面的一半。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:341045 发表于 2018-6-16 22:01 | 显示全部楼层
你这程序好象是用串口驱动164吧. 没有设波特率和协议部分的吗? 如果不行你还是用传统方式吧. 传统驱动164都是用通用IO用模拟的. 8个164级联成64位, 取8次数组数据, 调用8次164模拟驱动函数就驱动完64位了, 延时再下一个花样.

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:440585 发表于 2019-8-22 09:35 | 显示全部楼层
unsigned char i   改成unsigned int   i  就正常了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表