51单片机C语言如何实现8个流水灯左移三次,后右移三次;如此循环

51单片机如何实现8个流水灯左移三次,后右移三次;如此循环
详细C语言程序

    51单片机C语言实现循环8个流水灯左移三次,后右移三次。

    例程:

    #include<reg51.h>  //51单片机头文件
    #include <intrins.h> //包含有左右循环移位子函数的库
    #define uint unsigned int    //宏定义
    #define uchar unsigned char  //宏定义
    sbit beep=P2^3;
    void delay(uint z)  //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
    {                    //delay(500);大约延时500ms.
        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<3;j++) for(i=0;i<8;i++)   //左移三次
            {
                P1=a;       //点亮小灯
                beep=0;     //开启蜂鸣器
                delay(50); //延时50毫秒
                beep=1;     //关闭蜂鸣器
                delay(50);  //再延时50毫秒
                a=_crol_(a,1); //将a变量循环左移一位
            }
            a=0x7f;
           for(j=0;j<3;j++) for(i=0;i<8;i++)  //右移三次
            {
                P1=a;       //点亮小灯
                beep=0;     //开启蜂鸣器
                delay(50); //延时50毫秒
                beep=1;     //关闭蜂鸣器
                delay(50);   //再延时50毫秒
                a=_cror_(a,1); //将a变量循环右移一位
            }        
        }
    }

    51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-30
你直接用数组加for循环就可以实现
第2个回答  2014-06-30
一个方向往另一个方向

0x01--->0xff

反方向
0xff--->0x01
第3个回答  2014-06-30
先定义好类型 后for循环
第4个回答  2014-06-30
你只学到第4课
相似回答