微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 关于单片机LED左右循环出现的问题以及解决方法

关于单片机LED左右循环出现的问题以及解决方法

时间:11-25 来源:互联网 点击:
#include

#include
void TIMED( unsigned int x);
main()
{
unsigned int calc;
while(1)
{
calc = 0xfe;//0xfe = 1111 1110//
while(1)
{
P0 = calc;
TIMED(300);
calc = _crol_(calc,1);//-------1
if(P0 == 0x7f) break; //-------2


}
while(1)
{
P0 = calc;
TIMED(300);
calc = _cror_(calc,1); //-------1
if(P0 == 0xfe) break; //--------2


} //次循环问题:应该将1.2调换位置 否则 当第一个循环完了之后 calc又向左循环位移一位,变成0xfe;
}
} //而1.2换了位置之后,第一个循环完后 calc的值为0x7f; 第二个循环同理;

void TIMED( unsigned int x)
{
unsigned int y,i;
for(i = x; i > 0; i--)
for(y = 110; y > 0; y--);
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top