单片机/MCU论坛
登录
直播中
zeng10119
8年用户
149经验值
擅长:接口/总线/驱动 控制/MCU
私信
关注
[问答]
各位大大,怎么用较少的IO口控制8个LED?像74HC595这些要怎么用?
开启该帖子的消息推送
度了一些资料,发现74HC595只用3个IO口就可以控制流水灯,我想改为通过按键来使灯一个个亮,如图,按一次“+”,亮一个,按一次“-"灭一个。这个芯片可以实现的吗?方法是怎么样的,可以大概说一下吗,跟普通IO口控制区别大吗?下面是网上找的流水灯程序。
/*======================
测试74HC595
=======================*/
#include
#include
#define uchar unsigned char
#define uint unsigned int
***it st_cp= P0^2;
***it sh_cp= P0^0;
***it ds = P0^1;
uchar led = 0xfe;
void message_get(uchar led);
void message_send();
void delay(uchar
ti
me_delay);
void main()
{
while(1)
{
message_get(led);
message_send();
delay(5000);
led = _crol_(led, 1);
}
}
//将数据放到移位寄存器中
void message_get(uchar led)
{
uchar i = 0;
for(; i < 8; i ++)
{
sh_cp = 0;
ds = led & 0x80;
led <<= 1;
delay(5);
sh_cp = 1;//上升沿
}
}
//将数据从移位寄存器中放到存储寄存器中
void message_send()
{
st_cp=0;
delay(5);
st_cp = 1;//数据从移位寄存器放到数据寄存器中
}
void delay(uchar time_delay)
{
uchar x,y;
for(x = time_delay; x > 0; x--)
for(y = time_delay; y > 0; y--)
{}
}
回帖
(3)
武力戡乱
2017-3-29 11:34:18
最佳答案
串级输出
串级输出
举报
lee_st
2017-3-29 14:18:00
顶一下帖子哦,不作答
顶一下帖子哦,不作答
举报
人中狼
2017-3-29 14:43:21
可以实现,跟普通端口操作方式的一样,只是不把数据打向并口,而改为打向595而已
可以实现,跟普通端口操作方式的一样,只是不把数据打向并口,而改为打向595而已
举报
更多回帖
rotate(-90deg);
回复
相关问答
74HC595IO
口
扩展
2016-12-09
7442
使用
74HC595
芯片真的能节省STM32的
IO
口
吗
2021-11-25
1515
74HC595
是如何去驱动数码管的
2021-08-02
2300
请问如何
控制
74HC595
芯片OE的占空比
2016-11-13
7043
如何使用三片
74HC595
对一
个
8X8
双色点阵进行
控制
呢
2021-10-25
1494
74HC595
是怎么提高芯片的驱动能力的呢
2021-10-25
2982
写一
个
74HC595
程序
2016-03-17
4364
74HC595
芯片串转并该如何去实现呢
2021-11-03
1524
74HC595
驱动
LED
点阵或数码管的正确用法是什么?
2021-07-23
1586
74HC595
用作
8
位共阳数码管的位选
2016-11-27
4600
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分