写程序,主要是构思! 速度取决于你的延时, 将延时时间做成活的,即可达成目的. 所以最好用中断做延时.在中断中改更延时的时常数.(在你需要改变速度的时候,如按下了键) |
本帖最后由 zl2168 于 2016-7-9 14:54 编辑 ① 8个发光二极管从上到下(K0断开)依次循环点亮,每次点亮时间约为0.5秒。 ② 按下K0,流水方向从下至上滚动点亮。 ③ 按下K1(K2断开),每循环一次后间隔时间缩短0.1秒,直至最短间隔0.1秒后保持不变。 ④ 按下K2(K1断开),每循环一次后间隔时间增加0.1秒,直至最长间隔1秒后保持不变。 ⑤ K1、K2同时断开或同时闭合,保持原滚动间隔时间不变。 初设0.5秒,以后是每循环一次后间隔时间缩短或增加0.1秒,注意“每循环一次”,然后变化。 缩短或增加0.1秒,你有感觉吗? 如果嫌慢,按住不放或锁定按键(点击按键右侧小红点)。 这是仿真,象征性的。你要什么效果,都可修改啊!你们学单片机,就是学修改,学好了,就自己能创造了! 例如,你要每次缩短或增加0.2秒,按2次就玩完了,有劲吗?按5次才稍稍有劲些。 再例如,你要每次缩短或增加0.05秒,那就更没感觉了。 脑子想想,什么叫仿真?什么叫象征性? 实际上,单片机都可做到,你怎么想,怎么实现,问题是有没有必要,好玩不好玩。 |
按了很多次反应不大啊,而且每循环一次才增加和缩短,要一直按着才变化明显,我想是按一下任意时刻直接加速减速(不是循环一次才加速减速)这样按键才起到最好的调控效果~就是这种不会弄~求教了~ |
az_noodle 发表于 2016-7-9 12:37 任意时刻 |
az_noodle 发表于 2016-7-9 12:26 程序在书中 |
zl2168 发表于 2016-7-9 07:41 这个实例貌似要不就是一直按着不放,要不就看准在流水灯最后按才有增加和缩短的效果(每循环一次),能不能直接在中途任意时刻按一下就是增加和缩短的? |
zl2168 发表于 2016-7-9 07:41 非常感谢,但是程序按键控制流速的程序怎么样写? |
zl2168 发表于 2016-7-9 07:41 非常感谢~但是有程序就最好了~书的话看看图书馆有没有~就是键控流速不知道怎么写才好~ |
非常感谢,仿真很成功,但是如果有程序就再好不过了,书的话我看看图书馆有没有?初学者就不知道怎么写按键控制流速的问题~ |
本帖最后由 zl2168 于 2016-7-9 07:42 编辑 实例7 键控流水循环灯 先Proteus仿真一下,确认有效。 ![]() ![]() 以上摘自张志良编著《80C51单片机Proteus仿真设计实例教程》清华大学出版社ISBN 978-7-302-41682-1 书中电路和程序设计有详细说明,程序语句条条有注解。 |
求大神解释! |