找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机独立按键控制LED流水灯的花样,速度

[复制链接]
ID:503877 发表于 2019-4-12 10:48 | 显示全部楼层 |阅读模式
用两个按键控制LED流水灯,一个控制花样,每按一下切换一种花样。一个按键控制快慢,每按一下,速度变化,不改变当前的花样。现在的速度不起作用。
q3.png
q2.png
q1.png
回复

使用道具 举报

ID:123289 发表于 2019-4-12 15:30 | 显示全部楼层
无所谓的花样、速度!
只有显示那几个?各自间隔的时间是多少?这掌好这个要点就行了。
回复

使用道具 举报

ID:509408 发表于 2019-4-12 16:35 | 显示全部楼层
你的delay_ms函数总是在死等,每次调用也没及时 tt 初始化(只是在t1 interrupt 3 中要溢出了才初始化清0,这怎么行),影响实时性 也容易出问题。  建议把花样和速度的定时变量建议分开  比如timeo_fSpeed,limitimeSpeed;  timeof_mod,limitime_mod

if(timeo_fSpeed<limitimeSpeed)
{
      timeo_fSpeed = 0;


}
回复

使用道具 举报

ID:509408 发表于 2019-4-12 17:02 | 显示全部楼层
感觉 你的程序中 花样和速度 都共用的delay_ms函数 每次调用也没及时 把tt 初始化,只靠在定时器 计数溢出才退出,然后 处理花样和速度函数中还有一些  while 之类操作 这种死等的查询方式怎么看都有问题
回复

使用道具 举报

ID:337069 发表于 2019-4-12 17:51 | 显示全部楼层
这个延时函数不起作用:!优先级比>=高。
回复

使用道具 举报

ID:462827 发表于 2019-4-12 19:34 | 显示全部楼层
你的程序框架应该有问题。建议流水灯直接用数组查表法做,这样每种花样都是一个简单的循环就可以搞定,而不是单独为它们各写一个子函数。本程序也不复杂,仅仅用延迟函数就足够了,没有必要用定时器,反正你并没有将它用好,增加出错的可能。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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