登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看5000|回7|收藏
楼主 ID:381720 只看他
2018-9-26 14:29
有谁知道单片机用一个按键切三种LED爆闪频率程序呀,一通电开始第一种爆闪,按一下按键,切换第二种爆闪频率,再按一下切换第三种爆闪频率。再按一下回到第一种频率,帮帮忙,有奖励
沙发 ID:315239 只看他
2018-9-26 16:00
很简单啊,设置一个变量判断是第几次按下按键,switch选择工作模式就好了啊
板凳 ID:399179 只看他
2018-9-26 19:23
我有这个程序,可我不知道怎么传上来
地板 ID:381720 只看他
2018-9-27 08:36

引用:

快乐眼泪 发表于 2018-9-26 19:23
我有这个程序,可我不知道怎么传上来

直接回复就可以了
5# ID:381720 只看他
2018-9-27 08:37

引用:

1043123978 发表于 2018-9-26 16:00
很简单啊,设置一个变量判断是第几次按下按键,switch选择工作模式就好了啊

我太水了,不会,可以帮帮忙吗
6# ID:349617 只看他
2018-9-27 09:11
include<reg51.h>
unsigned char n = 0;
sbit key = P3^4;
sbit led = P1^0;
void delay()
{
unsigned int i, j;
for(i = 0; i < 100; i++) for(j = 0; j < 500; j++);
}
void readkey(void)
{
unsigned char i, j;
if(!key) {
for(i = 0; i < 10; i++)
for(j = 0; j < 120; j++); //延时消抖
if(!key) {
while(!key); //等待按键释放
n++;
n %= 4; //n = 0~3
}
}
}
main()
{
while(1) {
switch(n) {
case 0: led = 1; readkey(); break; //熄灭
case 1: delay(); readkey(); //慢速闪烁
case 2: delay(); readkey(); //中速闪烁
case 3: delay(); readkey(); led = ~led; //快速闪烁
}
}
}
大致是这个意思,可以参考一下。
7# ID:154656 只看他
2018-9-27 09:25
做个变量计数 判断变量的值切换不同的状态
8# ID:111634 只看他
2018-9-27 17:30
本帖最后由 zl2168 于 2018-9-28 22:01 编辑

给你介绍一个参考案例,一键三用。
实例93  99.9秒秒表
实例95 99.9秒秒表.rar (38.86 KB)
(下载次数: 14, 2018-9-28 22:01 上传)
99.9秒秒表.jpg
Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,书中电路和程序设计有详细说明,电路与程序真实可靠可信可行,程序语句条条有注解。

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版