找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2540|回复: 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秒;

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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