单片机C语言 的循环左右移动 void main(){P2=0xfe;while(1){num=P2;P2=_crol_(num,1);delay(0);}}如图片中的这部分,为何不能循环显示?只显示0XFE.而右边的却能正常循环显示,本人新手,希望各位深入分析基本给
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 15:55:09
单片机C语言 的循环左右移动 void main(){P2=0xfe;while(1){num=P2;P2=_crol_(num,1);delay(0);}}如图片中的这部分,为何不能循环显示?只显示0XFE.而右边的却能正常循环显示,本人新手,希望各位深入分析基本给
单片机C语言 的循环左右移动
void main()
{
P2=0xfe;
while(1)
{
num=P2;
P2=_crol_(num,1);
delay(0);
}
}
如图片中的这部分,为何不能循环显示?只显示0XFE.而右边的却能正常循环显示,本人新手,希望各位深入分析基本给讲解下,
单片机C语言 的循环左右移动 void main(){P2=0xfe;while(1){num=P2;P2=_crol_(num,1);delay(0);}}如图片中的这部分,为何不能循环显示?只显示0XFE.而右边的却能正常循环显示,本人新手,希望各位深入分析基本给
首先对比一下 左边与右边 那里有不同 同时 程序不同对应的输出结构有哪些不同.
P2口 连接8个LED 低电平驱动使其发光.
P2=0xfe //上电 P2.0连接的 LED发光. 其余的熄灭.
对比一下程序
void main() //主函数
{
P2=0xfe; //P2初始化
while(1) //死循环
{
num=P2; //这里 与左边不同 把P2的状态给 NUM 也就是0XFE num=0xfe
P2=_crol_(num,1); //P2等于num 循环左移 P2=0xef 这时应该是连接的P2.7的LED发光
delay(0);//延迟
}
}
左边 代码 NUM 每次大循环 都赋值 num=0xfe 是固定的 所以不管你以后怎么移动 P2口的输出都是不变得 只移动了一次.