流水灯加减速
来源:互联网 发布:千里眼软件黑屏 编辑:程序博客网 时间:2024/06/10 18:38
#include "reg52.h"
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; // 限制 i 最大到 7
delay(speed);
}
/* 按键扫描 */
keyValue = Key_Scan();
if (keyValue != 0)
{
delay(1000);
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; // 限制 i 最大到 7
delay(speed);
}
}
}
}
void delay(unsigned int t)
{
while (t--);
}
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;
return key;
}
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; // 限制 i 最大到 7
delay(speed);
}
/* 按键扫描 */
keyValue = Key_Scan();
if (keyValue != 0)
{
delay(1000);
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; // 限制 i 最大到 7
delay(speed);
}
}
}
}
void delay(unsigned int t)
{
while (t--);
}
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;
return key;
}
阅读全文
0 0
- 流水灯加减速
- 按键控制流水灯启动,停止,加速,减速
- cocos2dx 加减速
- S形加减速
- 动画加减速
- 自定义圆加减速
- 基于单片机的LED流水灯(着力解决加速减速bug问题)
- STM32步进电机加减速
- 数码管逐次加一同时流水灯
- 步进电机的加减速控制
- 步进电机的加减速控制
- 自定义圆及箭头加减速
- 步进电机加减速控制算法 简介及资料参考
- 步进电机S型曲线加减速算法与实现
- 步进电机S型曲线加减速算法与实现
- STM32-步进电机S型加减速控制
- 步进电机S型曲线加减速算法与实现
- fpga实现了脉冲发生器,s型加减速!
- FYN OI奋斗之路3~
- 如何理解多态、封装、继承
- 在Eclipse中测试MySQL-JDBC(5)查询1-4之间的所有员工,并且封装为一个个的employee对象,并且存储到一个集合中
- HDU
- [SDUT](1130)数据结构上机测试1:顺序表的应用 ---顺序存储(线性表)
- 流水灯加减速
- PHP 模拟curl上传文件
- 如何使用navicat等可视化工具连接到服务器上的数据库?
- java征程第二部,JSP篇
- Python + worldcloud + jieba 十分钟学会用任意中文文本生成词云
- bzoj1038 [ZJOI2008]瞭望塔
- 在CentOS-7.0中安装Python3.6.2
- 安装Python3.6.2报错:zipimport.ZipImportError: can't decompress data; zlib not available
- 使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: SyntaxError: invalid syntax问题