else{buz=1;}这个地方要注意一下 |
程序逻辑错误, bit key1_pre_status; if(key1!= key1_pre_status) { key1_pre_status = key1; buz=0; delay_ms(500); buz=1; }楼下是对的 复制的 |
代码应该还好了.else{buz=1;}这个地方要注意一下,看你输出推动用的NPN还是PNP三极管,你要保正蜂鸣器不响时三极管要截止,不要一直处在饱和导通状态. |
参与人数 5 | 黑币 +90 | 收起 理由 |
---|---|---|
![]() | + 35 | |
![]() | + 10 | 很给力! |
![]() | + 15 | 绝世好帖! |
![]() | + 15 | 很给力! |
![]() | + 15 | 很给力! |
bit key1_pre_status; if(key1!= key1_pre_status) { key1_pre_status = key1; buz=0; delay_ms(500); buz=1; } |
实际应用的设备通常只设置按键提示声,松手提示声没有什么实际意义。你这代码只能判断有键按下,并不能识别按下后抬起和根本没有按。如确有必要这么做需要定义一个标志用以识别按下后抬起和没有按的不同状态。 |
按键和松手都响铃0.5s,低电平响铃 |