找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2558|回复: 3
收起左侧

求修改程序达到使led指示灯两两右循环 楼主小白

[复制链接]
ID:69273 发表于 2014-11-23 10:14 | 显示全部楼层 |阅读模式
#include<reg51.h>

code unsigned charC51BOX2[3] _at_ 0x43;

void delay(void);

unsigned charRL(unsigned char c,n);

main()

{

      unsigned char n;            /*n是循环移位数*/

      P0 = 0xFE;                /*P111111110*/

      n = 1;  /*设定移位数为1,可以定义所需循环移动的位数,例如:2,3*/

    while(1)                                    

        {

P0 = RL(P0,n);                     

           delay();

         }

}

/*延时函数*/

void delay(void)

{

  unsigned char i,j,k;

  for(i=100;i!=0;i--)

    for(j=100;j!=0;j--)

     for(k=50;k!=0;k--);

}

/*循位左移位函数*/

unsigned charRL(unsigned char c,n)

{

    unsigned char a,b,result;

    a=c>>(8-n);

    b=c<<n;

    result=a|b;

    return(result);

}修改上述程序,使指示灯两两右循环;

修改上述程序,使指示灯右循环间隔为0.1秒;

回复

使用道具 举报

ID:69273 发表于 2014-11-23 10:23 | 显示全部楼层
有人吗
回复

使用道具 举报

ID:66840 发表于 2014-11-24 11:55 | 显示全部楼层
改下移位符号就可以了。很简单啊
回复

使用道具 举报

ID:69706 发表于 2014-11-30 19:25 | 显示全部楼层
/*循位左移位函数*/

unsigned charRL(unsigned char c,n)

{

    unsigned char a,b,result;

    a=c>>(8-n);

    b=c<<n;

    result=a|b;

    return(result);
可以把这段程序修改成右移
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表