按键控制流水灯启动,停止,加速,减速
来源:互联网 发布:p.f candle co知乎 编辑:程序博客网 时间:2024/06/04 17:55
#include<reg52.h>
sbit led1 = P2 ^ 0;
sbit led2 = P2 ^ 1;
sbit led3 = P2 ^ 2;
sbit led4 = P2 ^ 3;
sbit key1 = P1 ^ 4;
sbit key2 = P1 ^ 5;
sbit key3 = P1 ^ 6;
sbit key4 = P1 ^ 7;
void delay (unsigned int t);
unsigned char key_scan(void);
void main()
{
unsigned char keyvalue;
bit run = 0;
unsigned char i = 0;
unsigned int speed = 10000;
while (1)
{
if (run)
{
P2 = ~(0x01<<i);
i++;
i &= ~0x08;
delay ( speed);
}
keyvalue = key_scan();
if (keyvalue !=0)
{
switch(keyvalue)
{
case 1:
run = 1;
break;
case 2:
run = 0;
break;
case 3:
speed /= 2;
break;
case 4:
speed *= 2;
break;
}
}
while(key1 == 0 ||key2 == 0 ||key3 == 0 ||key4 == 0 )
{
P2 = ~(0x01<<i);
i++;
i&= ~0x08;
delay (speed);
}
}
}
unsigned char key_scan(void)
{
unsigned char key =0;
if (key1 == 0)
key = 1;
else if (key2 == 0)
key = 2;
else if (key3 == 0)
key = 3;
else if (key4 == 0)
key = 4;
}
void delay (unsigned int t)
{
while (t--);
}
sbit led1 = P2 ^ 0;
sbit led2 = P2 ^ 1;
sbit led3 = P2 ^ 2;
sbit led4 = P2 ^ 3;
sbit key1 = P1 ^ 4;
sbit key2 = P1 ^ 5;
sbit key3 = P1 ^ 6;
sbit key4 = P1 ^ 7;
void delay (unsigned int t);
unsigned char key_scan(void);
void main()
{
unsigned char keyvalue;
bit run = 0;
unsigned char i = 0;
unsigned int speed = 10000;
while (1)
{
if (run)
{
P2 = ~(0x01<<i);
i++;
i &= ~0x08;
delay ( speed);
}
keyvalue = key_scan();
if (keyvalue !=0)
{
switch(keyvalue)
{
case 1:
run = 1;
break;
case 2:
run = 0;
break;
case 3:
speed /= 2;
break;
case 4:
speed *= 2;
break;
}
}
while(key1 == 0 ||key2 == 0 ||key3 == 0 ||key4 == 0 )
{
P2 = ~(0x01<<i);
i++;
i&= ~0x08;
delay (speed);
}
}
}
unsigned char key_scan(void)
{
unsigned char key =0;
if (key1 == 0)
key = 1;
else if (key2 == 0)
key = 2;
else if (key3 == 0)
key = 3;
else if (key4 == 0)
key = 4;
}
void delay (unsigned int t)
{
while (t--);
}
阅读全文
0 0
- 按键控制流水灯启动,停止,加速,减速
- 流水灯加减速
- 【JS】使用canvas绘制动画-旋转风车加速减速启动停止
- 按键控制LED实现启动、停止按钮
- 基于单片机的LED流水灯(着力解决加速减速bug问题)
- LED_1_3(按键多模式控制流水灯)
- 加速,减速..............
- Verilog/CPLD代码之按键控制流水灯
- wince6.0 +S3C6410 中断处理例子(按键控制LED灯)+应用程序控制LED流水灯
- 加速减速的例子
- 自定义圆加速减速
- P1口外接8个LED,通过按键控制,实现左右移动的流水灯
- 开关控制流水灯
- DDA输出脉冲序列控制步进电机正反转(加速、减速、匀速)
- cocos2dx动画加速与减速
- 自定义view 圆 加速减速
- iOS UIScrollView 停止滑动 减速
- iOS UIScrollView 停止滑动 减速
- memset 、ZeroMemory和 “={0}” 三者区别
- 软件架构师12项修炼学习笔记-性能优化
- lintcode:子数组之和
- POJ 1847
- 打印杨辉三角
- 按键控制流水灯启动,停止,加速,减速
- IntelliJ Idea中使用Java8新特性lambda表达式
- python里协程事件循环里怎么样调用非协程函数?
- Handler运行机制
- Intellij Idea 15 生成serialVersionUID的方法
- HDU-2024 C语言合法标识符
- 白盒测试大纲
- 迪丽热巴终于剪对了刘海!这么选刘海你的发型还有的救
- VPS独享主机技术原理