找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机LED发光二极管流动点亮程序问题

查看数: 1534 | 评论数: 4 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-10-19 21:39

正文摘要:

图片是我单独把流水灯部分去掉后做的分析,求大神解答下 ******************************** 间隔300ms第一次一个管亮流动一次, 第二次两个管亮流动,依次到8个管亮, 然后重复整个过程。 单片机源程序如下: ...

回复

ID:1048353 发表于 2022-10-21 10:39
蓝魄 发表于 2022-10-21 08:19
第一次内循环的时候是把1111 1110左移8次;0111 1111结束第一次内循环;此时j是1;a=_crol_(a,j);后a=1111  ...

所以我单独把P1拿出来赋值,难怪结果不对了,代入内循环就是你的这个解释;
谢谢大佬
ID:384109 发表于 2022-10-21 08:54
每流动一次后重新赋值就行了,移位操作并不一定是补1的
ID:86926 发表于 2022-10-21 08:19
第一次内循环的时候是把1111 1110左移8次;0111 1111结束第一次内循环;此时j是1;a=_crol_(a,j);后a=1111 1110;a<<1后a不循环左移低位补0就是1111 1100;开始第二次内循环;变成0011 1111结束;此时j==2;a=_crol_(a,j)后a是1111 1100;再经过a<<1左移后就是1111 1000;下次循环亦是如此规律;
ID:59202 发表于 2022-10-20 10:50
语法上没啥错误,主要应该是逻辑上的混乱,最好还是把想要达成的图形画出来再分析逻辑上应该怎么表述

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

Powered by 单片机教程网

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