主要起作用的代码是(不过根据代码,一共会响50次才对)
for(i=0;i<100;i++)
{
BEEP=~BEEP; //取反
DelayMS(t);
}
BEEP=~BEEP;作用就是让蜂鸣器进行响一次停一次的交替,交替的时间间隔是由DelayMS(t);实现的。其中参数t就是想要延时的时间。
循环前i为0,BEEP应该初始化为0(不响)。
第一次循环:
BEEP取反得1,此时蜂鸣器在响,延迟t毫秒(响t毫秒),i++,进入下一次循环
第二次循环:
BEEP取反得0,此时蜂鸣器不响,延迟t毫秒(不响t毫秒),i++,进入下一次循环
循环结束后BEEP赋值为0,让蜂鸣器停止。
所以就实现了蜂鸣器每隔tms响一次,不过能听见50次
你可以仔细听听,是哪个位置,判断一下。
嘎嘎响的是硬盘,硬盘响是间断性的,且硬盘灯(那个红灯)会随着响声同步的闪。硬盘灯闪,是有数据读取,是正常的,但是伴随数据读取,硬盘发出吱吱嘎嘎的声音就是硬盘有问题了。
风扇是不停的翁翁响,风扇有四个电源风扇、处理器风扇、显卡风扇、南桥风扇。如果是风扇响,拆开机箱靠近听听,就能找到是哪个风扇响。
如果是机箱共震是哗哗的,
一般用手按住机箱就不响了。光驱、硬盘没固定好也没会发出声音。
实在听不出来,就拆开。用排除法
1、先把机箱拆开,把硬盘线拨了,把光驱拆下来,开机,有声音就是风扇,没有就再试
2、把硬盘线接上,开机,有声音就是硬盘,没有就继续试。
3、把光驱接上,开机,有声音就是光驱,仔细固定光驱,没有就再试。
3、把机箱装上,开机,有声音就是机箱没固定好,到这就应该试出来了,没有再能发出声音的地方了,再没有就只能看看是不是电脑桌不结实了。
哈哈``看来楼主是个细心人``
我刚买的时候也是响``
那是你硬盘新的``它在读写数据很正常的``
用过半年你看看`它就想的不是怎么厉害了- -不过 晚上夜深人静的时候``还是发出滋滋的声音``
没事的`别把硬件想的那么弱 在说了硬件售后包换1-3年呢 你担心什么- -
也别担心 开12小时就让电脑休息 没必要`--
主机箱里3个风扇让他转是干什么的``
就算你一个月 不关也没事``
知道网吧主机么``
它只有在停电的时候会休息一下``一年四季一直开着呢`也没见人换过什么硬件啊``
电脑出现故障一般都是系统 软件方面 硬件很少``
不过也不例外``比如你买的伪劣产品`寿命就会短一点
一般 情况 硬件具测试``可以用10年以上``那时候你电脑早淘汰更新了吧?
有什么问题HI我
楼主给出了单片机型号,但是没有给出晶振频率,那么,网友就无法提供调好的程序。
建议楼主在自己的程序上修改。
程序中的: sleep(80);,是控制发音频率的;
程序中的: for(i=0;i<200;i++),是控制发音时间的;
程序中的: sleep(20000);,是控制发音停顿时间的。
最直观的,是加大sleep(20000);中的数,最大可以用到65535。应该能达到1秒1次的发音效果。
如果还是达不到,可以把sleep(20000);,写上两行,延时两次,再多的次数也可以。
#include<reg51h>
#define uint unsigned int
#define uchar unsigned char
sbit LED0=P1^0;
sbit Buzzer=P1^1;
void delay_ms(uint xms)//x是多少就是多少ms
{ uint y,z;
for(y=xms;y>0;y--)
for(z=110;z>0;z--);
}
void main()
{
P1=0x00;//这个值的设定参照你的开发板确定,也就是你的发光管与蜂鸣器是高电平工作还是低电平工作
while(1)
{
LED0=1;
Buzzer=1;
delay_ms(500);//延时05s
LED0=0;
Buzzer=0;
delay_ms(500);
}
}
以上就是关于想问下以下程序是如何实现让蜂鸣器间隔不同时间响一次的是什么语句在起作用全部的内容,包括:想问下以下程序是如何实现让蜂鸣器间隔不同时间响一次的是什么语句在起作用、我的电脑怎么一运行程序的时候机箱就会响、我的电脑在运行程序的时候总是响等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)