打印

51单片机问题

[复制链接]
1497|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
encai|  楼主 | 2011-12-20 11:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h> #include <intrins.h> #define uint unsigned int    #define uchar unsigned char void delay(uint z) {                                                uint x,y;        for(x=z;x>0;x--)                for(y=110;y>0;y--);        }void main()                   {        uchar a,i,j;        while(1)                {                        a=0xfe;                            for(j=0;j<8;j++)                        {                                for(i=0;i<8-j;i++)                                 {                                        P0=a;                                               delay(200);                                        a=_crol_(a,1);                                 }                                a=_crol_(a,j);                                   P0=0xff;                                                 a=a<<1;                                        }        }}请问主函数中a=_crol_(a,j);和a=a<<1;        具体的作用和用法,越详细越好

相关帖子

沙发
追梦小海豚| | 2011-12-20 12:30 | 只看该作者
这是一个左移函数,在intrins.h这个库里,_crol_表示向左移动,j表示移动的位数,a=_crol_(a,1)表示a左移一位,把移位后的值赋给a。
移动函数可以实现流水灯等试验。

使用特权

评论回复
板凳
追梦小海豚| | 2011-12-20 13:50 | 只看该作者
打错了一个地方,j是循环次数,_crol_(a,1)括号里的1表示向左移动1位,也可以使其他数字。是几就向左移几位。

使用特权

评论回复
地板
追梦小海豚| | 2011-12-21 11:20 | 只看该作者
你需要学会看库函数,要熟悉常用的库文件

使用特权

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

本版积分规则

7

主题

88

帖子

0

粉丝