51开发板LCD1602的RW和蜂鸣器引脚冲突,外接了一根线把RW给接到其他口,但是蜂鸣器还是不响,是程序有问题,还是接出来错了?要怎么才能解决
51开发板蜂鸣器和LCD引脚冲突,不响
51开发板LCD1602的RW和蜂鸣器引脚冲突,外接了一根线把RW给接到其他口,但是蜂鸣器还是不响,是程序有问题,还是接出来错了?要怎么才能解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
根据你提供的信息,蜂鸣器不响的问题可能来自硬件连接或软件编程两个方面。在图2中,蜂鸣器模块通过R1电阻接到VCC和P2^5(即Buzz)引脚上,在软件配置里你也已经定义了sbit Buzz = P2^5用于控制蜂鸣器。
然而,从图5的代码片段来看,虽然定义了蜂鸣器的控制位,但是没有找到实际驱动蜂鸣器工作的代码实现。报警处理函数baojinpros()内部有一个for循环,但关键的蜂鸣器控制语句缺失,应当在循环内添加打开和关闭蜂鸣器的操作来使其工作,例如:
void baojinpros() { unsigned char i; if(temp>=temph || temp<=templ || humi>=humih || humi<=humil) { for(i=0;i<2;i++) { Buzz = 0; // 低电平,蜂鸣器断开不响 delay_ms(500); // 延时一段时间 Buzz = 1; // 高电平,蜂鸣器闭合发声(如果蜂鸣器为低电平触发则相反) delay_ms(500); // 延时一段时间 } } }
这里假设蜂鸣器为高电平触发发声,如果不是,请修改Buzz的状态以匹配蜂鸣器的工作方式。
另外,由于之前提到LCD1602的RW引脚与蜂鸣器引脚冲突,并且你已经外接一根线将RW引脚改接到其他口,确保这部分硬件改动是正确的,新接的RW引脚应该正确映射到程序中的rw变量,并且不影响蜂鸣器的Buzz引脚。
综上所述,首先检查硬件连接是否无误,然后完善软件代码,确保在满足报警条件时,蜂鸣器能按照预期进行通断控制并发声。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 SPSS分类模型实训题步骤
- ¥15 求解决扩散模型代码问题
- ¥15 工创大赛太阳能电动车项目零基础要学什么
- ¥20 limma多组间分析最终p值只有一个
- ¥15 nopCommerce开发问题
- ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
- ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
- ¥15 pycharm输出和导师的一样,但是标红
- ¥15 想问问富文本拿到的html怎么转成docx的
- ¥15 我看了您的文章,遇到了个问题。