各位大佬好,这几天刚开始学习单片机。学完流水灯后,有一个蜂鸣器的学习。但是用的蜂鸣器是有源的。而我自己买的开发板的无源的,导致一开始都不会响。后来查阅资料后,才知道无源的需要一定的变化周期才行,于是,我就写了一个单独的蜂鸣器单片机程序:
#include<reg52.h>
#define u16 unsigned int
sbit beep=P1^5;
void delay(u16);
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
beep=~beep;
delay(60);
}
}
现在是会响了,但是我要如何把这个加入到我的流水灯程序中呢。下面是我流水灯的程序:
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint);
void main()
{
temp=0xfe;
P2=temp;
while(1)
{
temp=_crol_(temp,1);
delay(180);
P2=temp;
}
}
void delay(uint z)
{
uint X,Y;
for (X=200;X>0;X--)
{ for (Y=z;Y>0;Y--)
{
};
};
}
我自己也试着加了,但是蜂鸣器要么没声音了,要么就响一下,要么就是很轻,还请各位大佬指点指点啊
|