打印

C语言位运算两边可以是表达式吗?

[复制链接]
1709|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cw8096|  楼主 | 2007-4-23 19:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
还可以是10进制数吗?
例如:
P1=LED1 | (pow(2,n)-1);
它不认.
我想做一个霓虹灯,从P1^0亮扫到P1^7,然后P1^7一直亮,
再P1^0亮扫到P1^6,然后P1^7,P1^6都一直亮,
最后全部灯都亮了.
谢谢.

相关帖子

沙发
dreambird| | 2007-4-23 20:44 | 只看该作者

怎么个‘它不认’

使用特权

评论回复
板凳
cw8096|  楼主 | 2007-4-23 20:47 | 只看该作者

坏的数据类型?

它显示"|"是个bad 什么type,hex没有创立.坏的数据类型?

使用特权

评论回复
地板
tx040316| | 2007-4-23 22:01 | 只看该作者

我自己想了一个,但没有达到效果,各位指点一下

#include <REGX51.H>
#include<stdio.h>
void main()

  int i,j;
  char m;
 
  P1=0x00;
  while(1)
      {
        for(j=7;j>=0;j--)
          { 
            m=0x01;
            for(i=0;i<=j;i++)
              {
               P1=m;
                m=m<<1;
              }
               if(i==j) P1=P1|m;
          }
      }
}

使用特权

评论回复
5
UC301| | 2007-4-24 23:07 | 只看该作者

在KEILC 上仿真OK

在KEILC 上仿真OK
==================================
#include <REGX51.H>
void main()

     unsigned char  i,j,m;
  
      P1=0x00;
  
        for(j=8;j>0;j--)
          { 
              m=0x01;
              for(i=0;i<j;i++)
              {
        P1&=~(m>>1);
                  P1|=m;
                  m=m<<1;
            delay();//加个延时500MS吧!否则正确你也看不到
              }              
          }
     while(1);
}

使用特权

评论回复
6
cw8096|  楼主 | 2007-4-25 20:02 | 只看该作者

看我的

#include<reg51.h>
#include "intrins.h"              //包含crol左移函数,cror右移函数.
#include "math.h"

    
void delay02s()               //延时0.2秒子程序 


  unsigned char m,n,s; 
  for(m=5;m>0;m--) 
  for(n=20;n>0;n--) 
  for(s=248;s>0;s--); 


void main(void) 


 while (1)
 {unsigned char i,j,a,b; 
          
    for( j=8;j>0;j--)
    { 
    
        {unsigned char LED1=0x80;    
    
             for(i=0;i<j;i++)
            {
            LED1=_crol_(LED1,1);            //移到P1^0
            a=pow(2,8)-pow(2,j);
            P1=LED1 | a;                    //只亮P1^0,此时a=0,藕合尾灯;
              delay02s();
            b=pow(2,j)-1;
            LED1=LED1 & b;                    //去藕合;
              } 
     
     
         }
     }
 }     
}
我在实验板上通过了.搞了三天,O,yeah!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

0

粉丝