标题:
求keil5编程实现一个按钮控制三个灯随机点亮
[打印本页]
作者:
shjjjj
时间:
2023-6-12 09:24
标题:
求keil5编程实现一个按钮控制三个灯随机点亮
求keil5编程实现一个按钮控制三个灯随机点亮,求求大家了。
作者:
LaoYuTou
时间:
2023-6-13 08:39
随机函数,将随机数锁定在1到3控制任意一个灯随机点亮,也可以控制在1~7控制任意几个灯亮。
作者:
lkc8210
时间:
2023-6-13 11:15
#include <reg52.h
typedef unsigned char u8; //0 to 255
typedef unsigned int u16; //0 to 65535
typedef unsigned long u32; //0 to 4294967295
sbit Key_On = P3^2;
sbit Key_Off = P3^3;
void main()
{
u8 Rand = 0;
u16 Delay_XD = 0;
while (1)
{
if(Key_On == 0 || Key_Off == 0)
{
if(Delay_XD<0xFFFF)Delay_XD++;
if(Delay_XD == 0x029A)
{
if(Key_On == 0)
switch (Rand)
{
case 0:
P2 = ~(0x01);
break;
case 1:
P2 = ~(0x02);
break;
case 2:
P2 = ~(0x04);
break;
default:
break;
}
if(Key_Off == 0)
P2 = 0xFF;
}
}else{
Delay_XD = 0;
}
Rand = ++Rand %3;
}
}
复制代码
作者:
Hephaestus
时间:
2023-6-13 18:39
开一个定时器,按键按下读定时器的值,然后模3,结果0/1/2分别对应三个灯即可。
作者:
shjjjj
时间:
2023-6-14 08:01
lkc8210 发表于 2023-6-13 11:15
这样就行了吗谢谢
作者:
shjjjj
时间:
2023-6-14 10:21
lkc8210 发表于 2023-6-13 11:15
是用keil5写的吗
作者:
Longan.Wang
时间:
2023-6-16 16:08
Hephaestus 发表于 2023-6-13 18:39
开一个定时器,按键按下读定时器的值,然后模3,结果0/1/2分别对应三个灯即可。
正解!虽然是伪随机算法,此处已经够了!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1