单片机程序:用一个开关按钮控制一个灯,按钮在上面灯恒亮(高电平),按钮在下面灯闪烁(低电平)

已举报 回答
单片机程序:用一个开关按钮控制一个灯,按钮在上面灯恒亮(高电平),按钮在下面灯闪烁(低电平)
问在线客服
扫码问在线客服
  • 回答数

    6

  • 浏览数

    5,932

6个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
sbit KEY=P1^0;//假设开关接IO 1.0
sbit LED=P1^1;//假设led接IO 1.1
void delay()
{
//...
}
void main()
{
if(KEY)
{
LED=1;
}
else
{
while(!KEY)
{
LED=~LED;
delay();
}
}
}
取消 评论
程序里按键检测应该加延时消抖,在第一个if()下面加延时10毫秒,再检测按键是否按下,确定按下了再执行键值判断,你试试可不可以。
取消 评论
那个可以用~~~
取消 评论
一是第一次检测到按键按下后加延时,二是等待按键抬起,用while(!key1&&key2…);
后面的switch(key)和P2=…不要放在等待按键抬起过程之中
这和只有一个按键检测过程是相同的
取消 评论
多看点视屏
取消 评论
直接把电源接给单片机不太好,建议稍微改下电路
取消 评论
ZOL问答 > 单片机程序:用一个开关按钮控制一个灯,按钮在上面灯恒亮(高电平),按钮在下面灯闪烁(低电平)

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?