51单片机C程序实验LED灯:[3]来回点亮

推荐答案画proteus电路图,给出元件清单:51单片机电容瓷片电容(也可用普通电容)晶振红色二极管电阻为仿真电路图(与上节相同)......

工具/原料

  • proteus仿真软件

  • keil软件

proteus电路图

  1. 画proteus电路图给出元件清单:

    51单片机

    电容

    瓷片电容(也可用普通电容)

    晶振

    红色二极管

    电阻

  2. 为仿真电路图(与上节相同)

程序清单

  1. 说明:本例类似于上例只不过做了一个变换循环所以依旧有两种写法。在下面步骤分别给出。

    第一种是入门级别比较基础写法

    利用>>循环

    第二种是稍微高级一些写法调用了其他头文件

    利用了一个intrins.h文件下右循环语句P0=_cror_(P0,1); 另也有左循环_crol_()括号里面是要循环移位值。

  2. 第一种

    #include

    void delay()

    {

       int i;

       for(i=0;i<=30000;i++);

    }

    void main()

    {  

    while(1)

    {

       int m,i;

       m=0x80;

       for(i=0;i<=6;i++)

       {

    P0=~m;

         m=m>>1;

    delay();

       }

       for(i=0;i<=6;i++)

       { 

         P0=~m;

         m=m<<1;

    delay();

       }

    }

    }

  3. 第二种

    #include

    #include

    void delay()

    {

      int i;

      for(i=0;i<=30000;i++);

    }

    void main()

    {

      char i;

      P0=0xfe;

      for(i=0;i<=6;i++)

      {

      P0=_crol_(P0,1); //P2 值向左循环移动

      delay();

      }

      for(i=0;i<=6;i++)

      {

      P0=_cror_(P0,1);

      delay();

      }

    }

完成结果仿真图

  1. 图片为静止所以看看相似度

郑重声明:本站所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系系我们修改或删除。