51单片机 P2口 高低位数据交换

学习 时间:2026-04-08 23:46:43 阅读:4292
51单片机 P2口 高低位数据交换编个流水灯程序,有32个LED对应32个IO口,由于P2口的高低位与其他IO口顺序相反,所以控制整个LED时要注意P2的顺序,有什么好的算法可以交换P2寄存器高低位的值,即第7位与0位交换,6位与1位交换,等等.要求是数据变换一次,即交换一次,要求简单.

最佳回答

老实的期待

留胡子的招牌

2026-04-08 23:46:43

unsigned char fan(unsigned char dat){    unsigned char led1,i;    for(i=0;i<8;i++)    {        led1>>=1;        if((dat<<i)&0x80)            led1+=0x80;        }    return led1;}用法很简单,比如你要原来写P2=0x01;现在写成P2=fan(0x01);  就反过来了。

最新回答共有2条回答

  • 欢喜的石头
    回复
    2026-04-08 23:46:43

    unsigned char fan(unsigned char dat){    unsigned char led1,i;    for(i=0;i<8;i++)    {        led1>>=1;        if((dat<<i)&0x80)            led1+=0x80;        }    return led1;}用法很简单,比如你要原来写P2=0x01;现在写成P2=fan(0x01);  就反过来了。

上一篇 用英文写一篇文章的summary要注意什么怎么写

下一篇 统计学练习题,已知某工厂总产值1999年比1998年增长20%,2000年比1999年增长50%,2001年比2000年