打印

关于_cror_();

[复制链接]
3482|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
k412178|  楼主 | 2011-5-23 11:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************
  KEY_1.c
  作者:liang
  日期:2011.5.22
*********************************************************/

#include<regx51.h>
#include<intrins.h>
#define uint8 unsigned char
#define uint16 unsigned int

sbit key_1=P0^0;
sbit key_2=P0^1;

/************************************************
  延时子程序
*****************************************************/
void delay(uint8 t)
{
  uint8 i;
  for(;t>0;t--)
   for(i=0;i<120;i++);
}

/**************************************************************  主程序
**************************************************************/
void main()
{
     uint8 da=0xfe;
while(1)
  {

   _cror_(da,1);
   P2=da;
   delay(100);
  }
}

我想用这个程序去循环点亮一排8个LED灯(共阳),可是一真高的只有第一个,根本不动,我DEBUG时发现程序会直接跳过 _cror_(da,1);去执行下一句。
是我 _cror_(da,1);用错了,还是什么别的原因呢?

相关帖子

沙发
xwj| | 2011-5-23 12:29 | 只看该作者
汗~

不要把汇编的习惯带进C里,先去熟读C语言的教材吧。

使用特权

评论回复
板凳
k412178|  楼主 | 2011-5-23 12:37 | 只看该作者
呵呵。。明白啦。。谢谢!

使用特权

评论回复
地板
liang7143| | 2011-5-23 12:39 | 只看该作者
da =  _cror_(da,1);

使用特权

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

本版积分规则

个人签名:淡定。。。。

0

主题

34

帖子

1

粉丝