找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2774|回复: 14
打印 上一主题 下一主题
收起左侧

单片机跑马灯+数码管控制程序遇到困难,希望有人帮帮忙

  [复制链接]
跳转到指定楼层
楼主
ID:675957 发表于 2019-12-28 12:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
​按键+ 定时器+ 跑马灯+ 1个数码管
1 、 这里的跑马灯是指首先第一个发光二极管亮,其他的灭。过了一定的时间,第二个发光二极管亮,其他的灭。依次类推。一共使用8个发光二极管。
2 、 初始时,8个发光二极管和1个数码管处于熄灭状态。
3  、当第一次按下按键时,8个发光二极管以1秒为间隔进行跑马灯式的亮灭,数码管显示1,第二次按下按键时,发光二极管以2秒为间隔进行跑马灯式的亮灭,数码管显示2,依次类推,第九次按下按键时,发光二极管以9秒为间隔进行跑马灯式的亮灭,数码管显示9。
4  、当第十次按下按键时,回到1秒的间隔情况,数码管显示1,依次类推。




打开之后数码管正常显示,但是流水灯这个我是真的搞不懂
我C语言学的不行,脑子都烧了,求帮帮忙

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

15#
ID:462827 发表于 2020-1-9 01:01 | 只看该作者
中断控制流水灯这个我会
回复

使用道具 举报

14#
ID:548551 发表于 2020-1-8 16:13 | 只看该作者
现在这个问题还需要解决吗?  或者你先把你的程序贴上来。看看有什么地方需要改进的
回复

使用道具 举报

13#
ID:130230 发表于 2020-1-8 13:52 | 只看该作者
上程序看一下
回复

使用道具 举报

12#
ID:22618 发表于 2019-12-30 11:00 | 只看该作者
把switch语句,换成for循环
回复

使用道具 举报

11#
ID:22618 发表于 2019-12-30 10:58 | 只看该作者
自动动,把你的代码switch(t);换成for循环结构
回复

使用道具 举报

10#
ID:395068 发表于 2019-12-30 10:15 | 只看该作者
墙角的罐头 发表于 2019-12-28 15:19
我已经改掉了,感谢,除了这个我还想知道怎样才能让流水灯自己动,现在流水灯是跟着我的按键在动,但是我 ...

因为你的每一种模式的流水灯效果是一样的,只是延时不一样,所以你的按键部分里,只需要每一次按下,把延时时间改一下就行了,主循环里就一直执行流水灯的操作。延时建议用定时器做,比较准
回复

使用道具 举报

9#
ID:582515 发表于 2019-12-29 11:14 | 只看该作者
你的led数组只是点亮某一个灯而已吧。应该把case1~8都改为P2.0~2.7分别等于0,低电平点亮
回复

使用道具 举报

8#
ID:539359 发表于 2019-12-29 09:39 | 只看该作者
建议还是先上网看看别人怎么写的,还有是不是电路设计的问题
回复

使用道具 举报

7#
ID:675957 发表于 2019-12-28 15:19 | 只看该作者
166864646883 发表于 2019-12-28 12:50
你的按键每次按下,都把t先清零,你觉得你的t能加到9不

我已经改掉了,感谢,除了这个我还想知道怎样才能让流水灯自己动,现在流水灯是跟着我的按键在动,但是我想要的是按下按键之后灯的延时逐渐增加的效果
回复

使用道具 举报

6#
ID:675957 发表于 2019-12-28 15:16 | 只看该作者
特斯拉 发表于 2019-12-28 14:07
数组下标是从0开始的,你led[]却是从1开始的,肯定有一个灯不会亮了。你把led[1]到led[8]改成led[0]到led[7 ...

感谢,这个显示的问题已经改好了,除此之外我想要实现自动的流水灯我觉得还是需要中断来解决,还是不太明白中断怎么写,希望能不吝指导
回复

使用道具 举报

5#
ID:286072 发表于 2019-12-28 14:07 | 只看该作者
数组下标是从0开始的,你led[]却是从1开始的,肯定有一个灯不会亮了。你把led[1]到led[8]改成led[0]到led[7]就好了。
回复

使用道具 举报

地板
ID:675991 发表于 2019-12-28 13:24 | 只看该作者
单独调试,一步一步来
回复

使用道具 举报

板凳
ID:332444 发表于 2019-12-28 12:53 | 只看该作者
回复

使用道具 举报

沙发
ID:395068 发表于 2019-12-28 12:50 | 只看该作者
你的按键每次按下,都把t先清零,你觉得你的t能加到9不
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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