标题: 单片机程序要怎么写才能让蜂鸣器响,LED亮0.5s [打印本页]

作者: 我能行合金    时间: 2020-3-19 00:50
标题: 单片机程序要怎么写才能让蜂鸣器响,LED亮0.5s
程序要怎么写才能让蜂鸣器响,LED亮0.5s,刚刚学这个不太懂麻烦大家了

)UER728VSFMN4`X%7X31192.png (35.72 KB, 下载次数: 85)

)UER728VSFMN4`X%7X31192.png

作者: xxpp2011    时间: 2020-3-19 16:58
while(1)
{
LED=0;
BUFFER=0;
DELAYMS(500);
LED=1;
BUFFER=1;
}
作者: 飘窗    时间: 2020-3-20 11:54
sbit Beep =P2^5;
sbit Led = P2^0;
while(1)
{
  LED=0;
BUFFER=0;
  DELAYMS(500);   //你可以写一个延时函数,或者找一个
  LED=1;
  BUFFER=1;
  DELAYMS(500);
}
这里要延时两次,才能让蜂鸣器间断和灯闪烁
作者: 我能行合金    时间: 2020-3-20 13:54
xxpp2011 发表于 2020-3-19 16:58
while(1)
{
LED=0;

有完整的吗
作者: xxpp2011    时间: 2020-3-20 17:00
我能行合金 发表于 2020-3-20 13:54
有完整的吗

板凳是对的,找个延时函数,然后把循环体放进主程序入口就能用了。
作者: xxpp2011    时间: 2020-3-20 17:29
#include <reg52.h>
sbit BUFFER =P2^5;
sbit LED = P2^0;
void DELAYMS(unsigned int z)
{
        unsigned int x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
main()
{
while(1)
{
  LED=0;
BUFFER=0;
  DELAYMS(500);   //你可以写一个延时函数,或者找一个
  LED=1;
  BUFFER=1;
  DELAYMS(500);
}//这里要延时两次,才能让蜂鸣器间断和灯闪烁
}
作者: liqingb    时间: 2020-3-20 18:46
建议用定时器去做,利用定时中断来控制LED
作者: 我能行合金    时间: 2020-3-20 20:48
飘窗 发表于 2020-3-20 11:54
sbit Beep =P2^5;
sbit Led = P2^0;
while(1)

谢谢,大佬学到了
作者: 我能行合金    时间: 2020-3-20 20:48
xxpp2011 发表于 2020-3-20 17:29
#include
sbit BUFFER =P2^5;
sbit LED = P2^0;

学到了谢谢。
作者: 北方少年    时间: 2020-3-20 22:16
写一个延迟函数就行了
作者: quicklee    时间: 2020-3-21 11:20
若是无源蜂鸣器的话,需要用定时器产生一个pwm波来驱动,pwm波的频率决定发生频率




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1