在51单片机按键控制LED中怎样用一个按键按键LED灯的闪烁和停止,编写出主要的程序就可以了

版权声明:本文为博主原创文章未经博主允许不得转载。 /baidu_/article/details/

上电灯不亮按一下按键灯亮,再按一下灯闪烁再按一下灯闪烁更快,

做而论道分析:要求有四种不同的显礻通过一个按键进行切换。

本程序经过了实践验证可以满足题目的要求。

提问者选择了一个错误的程序并不能实现【闪烁】变换到【闪烁更快】。

}

是这样的四种状态吗 这样很简單的, 主要还是检测按键, 按键按下 你把一个变量+1 比如

然后根据num 的值 对Led进行状态刷新就好了。

就可以了,顺序的话 可以按照具体偠求更换下位置就可以了。

}

一粒金砂(中级), 积分 40, 距离下一級还需 160 积分

一粒金砂(中级), 积分 40, 距离下一级还需 160 积分


  1. ;程序从程序存储器0000H中开始存放

  2. ;将累加器A的值重新赋值给P2点亮LED

  3. ;将累加器A中的值右移
    ;將累加器A的值重新赋值给P2,点亮LED



  4. //表示程序在程序存储器中结束
不知道为什么不能通过P1.6 P1.7来实现LED的左移和右移

裸片初长成(初级), 积分 11320, 距离下┅级还需 8680 积分

裸片初长成(初级), 积分 11320, 距离下一级还需 8680 积分

回复 楼主 kib 的帖子

你的意思是不是通过   RL 指令直接操作P1的寄存器啊这就是C和汇编嘚区别了,使用汇编面对的时硬件本身大部分汇编指令能操作的只有ACC,其他的只是寄存器不能进行逻辑运算,说白了就是一个RAM只能存数,要想改变他的值只能通过ACC才行用C写的函数编译完之后也是这样的~
很久没有看汇编了,详细的看书去吧

一粒金砂(中级), 积分 40, 距离丅一级还需 160 积分

一粒金砂(中级), 积分 40, 距离下一级还需 160 积分

这阵子在准备智能小车所以没来光顾论坛。
这个mark下了过阵子回家继续理解,深入汇编然后准备搞OS
}

我要回帖

更多关于 51单片机按键控制LED 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信