×
嵌入式 > 嵌入式开发 > 详情

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

发布时间:2020-08-31 发布时间:
|
#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--);
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
智能化系统工程设计中的若干技术问题