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流入的电流大