数码之家

 找回密码
 立即注册
搜索
查看: 416|回复: 14

[C51] 大家帮我看一下为什么蜂鸣器会一直循环工作(多按键开关源码)

[复制链接]
发表于 2024-3-4 23:51:15 来自手机浏览器 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
其他功能正常,就是蜂鸣器会延时10秒亮,然后延时60秒关,一直循环,有什么办法不让它循环
IMG_20240304_090825.jpg
发表于 2024-3-5 01:28:24 | 显示全部楼层
因为你程序就是这么写的啊
话说你的编译器也是上古神器了,我上一次用还是零几年上初中的时候


而且你会惊奇的发现,你不按按键没事,只要按一次,就出现你所谓的无限循环
回复 支持 反对

使用道具 举报

发表于 2024-3-5 02:28:47 | 显示全部楼层
不会玩单片机的只能看看 啥也不懂的看看
回复 支持 反对

使用道具 举报

发表于 2024-3-5 05:04:09 | 显示全部楼层
定时器0可以暂停工作。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-5 07:21:21 来自手机浏览器 | 显示全部楼层
renpeng009 发表于 2024-3-5 01:28
因为你程序就是这么写的啊
话说你的编译器也是上古神器了,我上一次用还是零几年上初中的时候


帮帮忙 怎么搞 准备做一个 感应延时开关
回复 支持 反对

使用道具 举报

发表于 2024-3-5 08:21:28 | 显示全部楼层
很好奇,编程中,是用“0”作为打开、ON等功能,还是用“1”来表达的多?
回复 支持 反对

使用道具 举报

发表于 2024-3-5 08:26:31 | 显示全部楼层
在else后增加x++;和buzzer_delay++;。否则你的计数器始终为0,符合蜂鸣器打开的条件。
回复 支持 反对

使用道具 举报

发表于 2024-3-5 08:29:24 | 显示全部楼层
循环完成后设置定时器暂停或取消定时器使能
回复 支持 反对

使用道具 举报

发表于 2024-3-5 09:08:10 | 显示全部楼层
你else里就是写了60秒打开蜂鸣器啊。不需要循环就把else里面的buzzer_pin=1去掉
回复 支持 反对

使用道具 举报

发表于 2024-3-5 09:16:05 | 显示全部楼层
你让它响它敢不响么
回复 支持 反对

使用道具 举报

发表于 2024-3-5 09:17:33 | 显示全部楼层
autusun 发表于 2024-3-5 08:21
很好奇,编程中,是用“0”作为打开、ON等功能,还是用“1”来表达的多?

要看单片机的类型,传统的单片机一般输出电流远小于灌电流,这个时候在不用类似三极管扩流的情况下需要将输出元件一端接电源,一端接IO口,就是你说的“0”打开。而现在的大部分单片机端口都可以设置推挽输出,就无所谓那种“打开方式”了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-5 13:42:29 来自手机浏览器 | 显示全部楼层
huxiangming 发表于 2024-3-5 09:08
你else里就是写了60秒打开蜂鸣器啊。不需要循环就把else里面的buzzer_pin=1去掉

去掉了 蜂鸣器就不工作了
回复 支持 反对

使用道具 举报

发表于 2024-3-6 08:34:49 | 显示全部楼层
huxiangming 发表于 2024-3-5 09:17
要看单片机的类型,传统的单片机一般输出电流远小于灌电流,这个时候在不用类似三极管扩流的情况下需要将 ...

非常感谢!我单片机还没怎么接触过。
回复 支持 反对

使用道具 举报

发表于 2024-3-11 23:01:12 来自手机浏览器 | 显示全部楼层
else改为else if(buzzer_pin==1)
回复 支持 反对

使用道具 举报

发表于 2024-3-12 00:09:24 来自手机浏览器 | 显示全部楼层
你的代码自己逻辑错误,按键按下蜂鸣器就响。不知道怎么解释,你蜂鸣器的计数和LED的计数都不暂停。应该蜂鸣器响之后就暂停计数了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-28 00:41 , Processed in 0.140400 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表