单片机交流
登录
直播中
地方
12年用户
651经验值
私信
关注
[问答]
如何利用开发板上的LED灯做一个跑马灯设计呢
开启该帖子的消息推送
开发板
跑马灯
开发板
上各个外设是跟哪些IO口连接?
如何利用开发板上的LED灯做一个跑马灯设计呢?
回帖
(1)
邢钊楚
2021-9-17 17:32:47
大家拿到国信长天这块开发板的时候先不要着急下手编程,一定要先看一下这块板子都有哪些外设,然后再简单分析一下原理图,先大概了解一下各个外设是跟哪些IO口连接,这样也方便我们后续的编程。
这次我们要做的是如何利用这块开发板上的LED灯做一个跑马灯设计,咱们从易到难,逐个讲解板子上的外设。
设计内容:
1.让八只LED灯整体闪烁三次,间隔为1秒钟;
2.LED灯从左到右逐渐点亮,间隔为0.5秒;
3.LED灯从左到右逐渐熄灭,间隔为0.5秒。
相信大家都已经看过这个威廉希尔官方网站 图了,板子上的LED灯与一个74HC573锁存器相连接,74HC573锁存器又与一个74HC02或非门连接,最后又和74HC138译码器相连接,所以我们如果想驱动LED灯的话,需要先驱动74HC138译码器,继而驱动74HC02和74HC573锁存器对LED进行操作。
74HC138译码器真值表
想要控制Y4我们需要怎样,肯定是通过输入端A、B、C来控制,通过真值表我们发现,要想选中Y4的话我们只需要让C为高电平,B为低电平,A为低电平,即C=1;B=0;A=0;此时Y4为低电平,74HC02是一个而输入或非门,通过威廉希尔官方网站 图我们可以发现WR实际上是与GND相连接,因为咱们选择的是IO模式编程,所以用了一个跳线帽把WR与GND连在了一起,那就是低电平嘛,这样的话那Y4=0,WR=0,Y4C=1;此时74HC573导通,咱们就可以通过单片机P0口来控制LED灯了,总结一下,想要驱动LED灯、继电器、蜂鸣器等外设的话,咱们只需要通过A、B、C让74HC138译码器的对应输出端为低电平就行了。
参照上面知识和威廉希尔官方网站 咱们就可以着手写代码了。
#include《stc15f2k60s2.h》***it HC138_A=P2^5;
***it HC138_B=P2^6;
***it HC138_C=P2^7;
void LED_Run();
void delayms(int ms);void main()
{
while(1)
{
LED_Run();
}
}
void LED_Run()
{
int i;
HC138_C=1;
HC138_B=0;
HC138_A=0;
for(i=0;i《3;i++)
{
P0=0X00;
delayms(1000);
P0=0XFF;
delayms(1000);
}
for(i=0;i《8;i++)
{
P0=(0XFF《《i);
delayms(500);
}
for(i=0;i《8;i++)
{
P0=~(0XFF《《i);
delayms(500);
}
}
void delayms(int ms)
{
int i,j;
for(i=ms;i》0;i--)
for(j=845;j》0;j--);
}
大家拿到国信长天这块开发板的时候先不要着急下手编程,一定要先看一下这块板子都有哪些外设,然后再简单分析一下原理图,先大概了解一下各个外设是跟哪些IO口连接,这样也方便我们后续的编程。
这次我们要做的是如何利用这块开发板上的LED灯做一个跑马灯设计,咱们从易到难,逐个讲解板子上的外设。
设计内容:
1.让八只LED灯整体闪烁三次,间隔为1秒钟;
2.LED灯从左到右逐渐点亮,间隔为0.5秒;
3.LED灯从左到右逐渐熄灭,间隔为0.5秒。
相信大家都已经看过这个威廉希尔官方网站 图了,板子上的LED灯与一个74HC573锁存器相连接,74HC573锁存器又与一个74HC02或非门连接,最后又和74HC138译码器相连接,所以我们如果想驱动LED灯的话,需要先驱动74HC138译码器,继而驱动74HC02和74HC573锁存器对LED进行操作。
74HC138译码器真值表
想要控制Y4我们需要怎样,肯定是通过输入端A、B、C来控制,通过真值表我们发现,要想选中Y4的话我们只需要让C为高电平,B为低电平,A为低电平,即C=1;B=0;A=0;此时Y4为低电平,74HC02是一个而输入或非门,通过威廉希尔官方网站 图我们可以发现WR实际上是与GND相连接,因为咱们选择的是IO模式编程,所以用了一个跳线帽把WR与GND连在了一起,那就是低电平嘛,这样的话那Y4=0,WR=0,Y4C=1;此时74HC573导通,咱们就可以通过单片机P0口来控制LED灯了,总结一下,想要驱动LED灯、继电器、蜂鸣器等外设的话,咱们只需要通过A、B、C让74HC138译码器的对应输出端为低电平就行了。
参照上面知识和威廉希尔官方网站 咱们就可以着手写代码了。
#include《stc15f2k60s2.h》***it HC138_A=P2^5;
***it HC138_B=P2^6;
***it HC138_C=P2^7;
void LED_Run();
void delayms(int ms);void main()
{
while(1)
{
LED_Run();
}
}
void LED_Run()
{
int i;
HC138_C=1;
HC138_B=0;
HC138_A=0;
for(i=0;i《3;i++)
{
P0=0X00;
delayms(1000);
P0=0XFF;
delayms(1000);
}
for(i=0;i《8;i++)
{
P0=(0XFF《《i);
delayms(500);
}
for(i=0;i《8;i++)
{
P0=~(0XFF《《i);
delayms(500);
}
}
void delayms(int ms)
{
int i,j;
for(i=ms;i》0;i--)
for(j=845;j》0;j--);
}
举报
更多回帖
rotate(-90deg);
回复
相关问答
开发板
跑马灯
如何
利用
51单片机点亮
LED
灯
实现
跑马灯
效果?
2021-11-08
2263
求大神分享
一
款
跑马灯
的设计方案
2021-05-20
1357
STM32
跑马灯
实验,编译通过 可以上传
LED
灯
就是不亮
2019-01-09
10198
如何去实现
一
种基于51最小系统的
跑马灯
设计?
2021-07-14
1062
如何去实现
一
种基于51最小系统的
跑马灯
设计
2021-10-20
1049
跑马灯
怎么弄
2013-01-07
4193
如何
利用
STM32去实现
跑马灯
的设计
呢
2021-11-25
878
STM32
跑马灯
配置流程是怎样的?
2021-11-23
964
如何
利用
STM32实现
跑马灯
程序和创建工程?
2021-11-04
1754
关于按键中断控制
一
组
跑马灯
的启停
2019-12-04
4848
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分