hangmw 发表于 2016-9-9 16:37:38

群主辛苦了,坐等更新

我爱萝丽爱萝丽 发表于 2016-9-13 01:09:09

本帖最后由 我爱萝丽爱萝丽 于 2016-9-13 01:11 编辑

1.2 闪出七种色彩!

在学会了怎么控制LED的亮灭后,你有什么想法呢?是不是已经按捺不住想要写点更复杂的程序了?

我们先把每个LED的控制引脚都定义好:
sbit LED_R=P3^4;//定义红灯
sbit LED_G=P3^3;//定义绿灯
sbit LED_B=P3^2;//定义蓝灯


然后按照三原色的混合原理,控制每一种色彩吧:



#include<reg51.h>


sbit LED_R=P3^4;//定义红灯
sbit LED_G=P3^3;//定义绿灯
sbit LED_B=P3^2;//定义蓝灯


void Delay1000ms()                //@12.000MHz
{
      unsigned char i, j, k;

      //_nop_();删去此处
      //_nop_();
      i = 46;
      j = 153;
      k = 245;
      do
      {
                do
                {
                        while (--k);
                } while (--j);
      } while (--i);
}


main()
{
      
      while(1)
      {
                LED_R=1;
                LED_G=0;
                LED_B=0;
                Delay1000ms();//红色亮1秒
                //空一行为了让程序更清晰
                LED_R=1;
                LED_G=1;
                LED_B=0;
                Delay1000ms();//黄色亮1秒
               
                LED_R=0;
                LED_G=1;
                LED_B=0;
                Delay1000ms();//绿色亮1秒
               
                LED_R=0;
                LED_G=1;
                LED_B=1;
                Delay1000ms();//青色亮1秒
               
                LED_R=0;
                LED_G=0;
                LED_B=1;
                Delay1000ms();//蓝色亮1秒
               
                LED_R=1;
                LED_G=0;
                LED_B=1;
                Delay1000ms();//紫色亮1秒
               
                LED_R=1;
                LED_G=1;
                LED_B=1;
                Delay1000ms();//白色亮1秒
      }
      
}

815023524 发表于 2016-9-13 13:51:16

全力支持,写的太好了,够细,完全能懂

飞一样的感觉 发表于 2016-9-16 00:04:42

看懂啦,哈哈

oplover 发表于 2016-10-4 19:01:21

知识点11的内容是不是写错了
知识点(11) 引脚驱动能力
单片机输出低电平时,能提供的电流大概20ma。
单片机在输出高电平时,电流就很小了,不到1ma。(也有别的模式,这个以后会讲)
(单片机在通电后,引脚的默认输出都是高电平)

acunss 发表于 2016-10-7 22:48:44

详细易懂。。。每天看一点   然后就能自己做航灯了

我爱萝丽爱萝丽 发表于 2016-10-10 12:20:56

oplover 发表于 2016-10-4 19:01
知识点11的内容是不是写错了
知识点(11) 引脚驱动能力
单片机输出低电平时,能提供的电流大概20ma。


哪里有问题?

长寿烙铁 发表于 2016-10-10 20:54:07

我爱萝丽爱萝丽 发表于 2016-10-10 12:20
哪里有问题?

单片机输出低电平时,允许流入的电流大概20ma。这样说更容易理解吧。

oplover 发表于 2016-10-11 09:09:07

我爱萝丽爱萝丽 发表于 2016-10-10 12:20 static/image/common/back.gif
哪里有问题?

低电平时电流输出大高电平时电流小

我爱萝丽爱萝丽 发表于 2016-10-12 10:42:19

oplover 发表于 2016-10-11 09:09
低电平时电流输出大高电平时电流小

说法上确实有不严谨,低电平是流入电流

独行者 发表于 2016-10-13 15:34:28

下课了,老师辛苦了!

mijklm 发表于 2016-11-5 15:15:21

通俗易懂吖,http://www.moz8.com//mobcent//app/data/phiz/default/25.pnghttp://www.moz8.com//mobcent//app/data/phiz/default/25.png又激发我继续学习单片机http://www.moz8.com//mobcent//app/data/phiz/default/23.pnghttp://www.moz8.com//mobcent//app/data/phiz/default/23.png

炸香机 发表于 2016-11-6 21:14:49

学习了                                 

fire030406111 发表于 2016-11-10 13:45:35

勉强看得懂,看来C语言已经忘得差不多了。。。

wx6289 发表于 2016-11-14 15:10:29


感谢分享感谢分享

半度微凉 发表于 2016-11-21 11:05:52

while (--k);
                } while (--j);
      } while (--i);
这个是干嘛用的

我爱萝丽爱萝丽 发表于 2016-11-21 12:37:16

半度微凉 发表于 2016-11-21 11:05
while (--k);
                } while (--j);
      } while (--i);


延时,后面你就懂了

执念、 发表于 2016-12-23 14:01:42

楼主加油   楼主加油

iamchenda 发表于 2017-1-8 22:20:57

谢谢萝莉大神,还是有些不理解这段:
单片机输出低电平时,能提供的电流大概20ma。
单片机在输出高电平时,电流就很小了,不到1ma

我爱萝丽爱萝丽 发表于 2017-1-9 15:02:27

iamchenda 发表于 2017-1-8 22:20
谢谢萝莉大神,还是有些不理解这段:
单片机输出低电平时,能提供的电流大概20ma。
单片机在输出高电平时, ...

就是说默认模式下5V输出电流小,0V流入的电流大
页: 1 2 [3] 4 5 6
查看完整版本: 第四课:听话的单片机