为什么51单片机串口通信控制led灯可以但是控制蜂鸣器就一直不响

徐金科 2021-02-19 06:16:00
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit beep=P1^5;
uint a;
void delay()
{uint x,y;
for(x=10;x<0;x--)
for(y=10;y<0;y--);
}
void chuankou()
{ TMOD=0x20;
TH1=0xF3;
TL1=0xF3;
TR1=1;
SCON=0x50;
PCON=0x80;
ES=1;
EA=1;
}
void main()
{ chuankou();
while(1)
{ if(a==1)
{ beep=~beep;
delay();

}

}

}
void deepint() interrupt 4
{
a=SBUF;
RI=0;
SBUF=a;
while(!TI);
TI=0;


}
...全文
1261 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
除了图片中主函数内模拟串口外,接收也要天接模拟,如图: 图中调整了值,这样便于波形观察。
  • 打赏
  • 举报
回复
蜂鸣器代码加个延时试看如触发蜂鸣后延时几秒
事在人wёi 2021-02-24
  • 打赏
  • 举报
回复
应该是电流不够,使用一个三极管来做开关试试,
defuruier 2021-02-22
  • 打赏
  • 举报
回复
楼上正解,推测是2
dceacho 2021-02-22
  • 打赏
  • 举报
回复
逻辑分析仪是个好东西 无非两个原因 1. 蜂鸣器需要电流大,你直接IO口驱动,所以不响 2. 对于需要脉冲驱动的蜂鸣器来说,你的频率可能过高或过低,导致人耳听不到

27,511

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧