您的位置 首页 国产IC

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

includereg52h>includeintrinsh>voidTIMED(unsignedintx);main(){unsignedintcalc;while(1){calc=0xf

#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–);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/259499.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部