萝莉第五课七色灯实验
<font size="6" color="#ff0000">/*</font>本帖最后由 ldy7474 于 2016-9-13 17:43 编辑
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED_B=P1^1;//定义蓝灯
sbit LED_R=P1^0;//定义红灯
sbit LED_G=P3^7;//定义绿灯
void Delay1ms() //@12.000MHz
{
uchar i, j;
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
}
void delay_n_ms(uint n) //自己定义的延时n毫秒函数
{
while(n)
{
Delay1ms();
n=n-1;//每循环一次n减小1
}
}
main()
{ uint y;
y=800;//这里我吧延时函数的值改成了变量 delay_n_ms(y); 以后修改y的值就可以调节闪烁的频率不用在一个个去修改
while(1)
{
LED_R=1;
LED_G=0;
LED_B=0;
// LED_k=0;
delay_n_ms(y);//红色亮0.1秒
LED_R=1;
LED_G=1;
LED_B=0;
delay_n_ms(y);//黄色亮0.1秒
LED_R=0;
LED_G=1;
LED_B=0;
delay_n_ms(y);//绿色亮0.1秒
LED_R=0;
LED_G=1;
LED_B=1;
delay_n_ms(y);//青色亮0.1秒
LED_R=0;
LED_G=0;
LED_B=1;
delay_n_ms(y);//蓝色亮0.1秒
LED_R=1;
LED_G=0;
LED_B=1;
delay_n_ms(y);//紫色亮0.1秒
LED_R=1;
LED_G=1;
LED_B=1;
delay_n_ms(y);//白色亮1.0秒
}
} 我靠,还会改萝丽的程序,你写几个程序出来大家分享一下,萝丽一个人教,很累的,你分担点
yrj 发表于 2016-9-13 18:23
我靠,还会改萝丽的程序,你写几个程序出来大家分享一下,萝丽一个人教,很累的,你分担点
...
阁下抬爱了 其心可嘉
但是能力有限
我到是想可惜心有余而力不足
发个贴是全当交作业至于修改程序只是修改下引脚定义主机不同接口不一样得改下才能运行
ldy7474 发表于 2016-9-13 18:44 static/image/common/back.gif
阁下抬爱了 其心可嘉
但是能力有限
我到是想可惜心有余而力不足
你比初学的懂得多,弄点小程序大家学习下,可以减轻萝丽的负担,萝丽负责高级点的
本帖最后由 Loki 于 2016-9-13 19:58 编辑
ldy7474 发表于 2016-9-13 17:37
#include
#include
#define uint unsigned int
我觉得楼主可以这样改个程序,反正还有个引脚没用到,你再接一个按键开关,检测到低电平Y加100,或者啥的,加多少变多少自己定,然后可以设置个上限,过了就重置,重置成啥也是自己定义,用到的语句大概有这些
sbit YY=P...//就是那个没用到的引脚,看你这单片机引脚那么多,你也可以弄2个开关,1个加1个减,道理都是一样的, while(1)
{
if(YY==0)Y++;//这句就是检测到低电平时改变Y的语句了,也可以改成别的值,你开心就好
}
先占位'在学习
ldy7474 发表于 2016-9-13 17:37
#include
#include
#define uint unsigned int
好像你定义了变量 y的值,那么//紫色亮0.1秒 //白色亮1.0秒 这些不成立了,所有的灯都亮相同时间了...萝丽老师的用意就是想表达如何让其中一个颜色亮的跟其他的不同 大神 路过帮顶
好牛掰的程序猿,在下表示看不懂
Loki 发表于 2016-9-13 19:55
我觉得楼主可以这样改个程序,反正还有个引脚没用到,你再接一个按键开关,检测到低电平Y加100,或者啥的 ...
呵呵以后会一步步完善现在刚学好多东西都没捋顺脑袋不好使思路容易打结呵呵 枫飞秋语 发表于 2016-9-13 20:26
好像你定义了变量 y的值,那么//紫色亮0.1秒 //白色亮1.0秒 这些不成立了,所有的灯都亮相同时间了...萝 ...
嗯?让其中一个灯亮的时间不同这个也简单把延时函数单独调用就好我这样改是为控制电机做准备验证一下所学 ldy7474 发表于 2016-9-14 03:17
嗯?让其中一个灯亮的时间不同这个也简单把延时函数单独调用就好我这样改是为控制电机做准备验证一 ...
嗯。。有道理。。。如果都是同一延时的,单独定义个变量的确方便很多! 高手在线。
你的硬件没加三极管8050,亮度如何?
页:
[1]