作者:穿行来回间 | 来源:互联网 | 2023-08-25 16:22
一.蜂鸣器1.蜂鸣器基础蜂鸣器按驱动方式分为有源蜂鸣器和无源蜂鸣器,有源蜂鸣器内部带振荡器,接入一个低电平便会响;无源蜂鸣器不带振荡器,让它响要接500HZ~4.5KHZ之间的脉冲信
一.蜂鸣器
1.蜂鸣器基础
蜂鸣器按驱动方式分为有源蜂鸣器和无源蜂鸣器,有源蜂鸣器内部带振荡器,接入一个低电平便会响;无源蜂鸣器不带振荡器,让它响要接500HZ~4.5KHZ之间的脉冲信号来驱动才会响。很实验采用的是无源蜂鸣器。
2.电路原理图
![蜂鸣器](https://img1.php1.cn/3cd4a/24de0/78c/3f8656ea5e2fd078.jpeg)
3.实验说明
本实验通过控制蜂鸣器分别在4KHZ和1KHZ频率下发声,实验接线为JP8接P1.5。
4.程序源代码
#include
#define uchar unsigned char
#define uint unsigned int
sbit BUZZ = P1^5;
unsigned char T0RH=0;
unsigned char T0RL=0;
void OpenBuzz(unsigned int frequ);
void StopBuzz();
void main()
{
unsigned int i;
EA =1;
TMOD = 0x01;
while(1)
{
OpenBuzz(4000);
for(i=0; i<40000; i++);
StopBuzz();
for(i=0; i<40000; i++);
OpenBuzz(1000);
for(i=0; i<40000; i++);
StopBuzz();
for(i=0; i<40000; i++);
}
}
void OpenBuzz(unsigned int frequ)
{
unsigned int reload;
reload = 65536 - (11059200/12)/(frequ*2);
T0RH = (unsigned char)(reload >>8);
T0RL = (unsigned char)reload;
TH0 = 0xFF;
TL0 = 0xFE;
ET0 = 1;
TR0 = 1;
}
void StopBuzz()
{
ET0 = 0;
TR0 = 0;
}
void InterruptTimer0() interrupt 1
{
TH0 = T0RH;
TL0 = T0RL;
BUZZ = ~BUZZ;
}
二.继电器
1.继电器原理
通过输出不同的电平,控制继电器的开合,实现对电路的控制,不通电是闭合于常开引脚,通电时闭合于常闭引脚。主要参数有额定工作电压,额定工作电流,触点负荷,可控制交流和直流电。
2.电路原理图
![继电器](https://img1.php1.cn/3cd4a/24de0/78c/1aa2962015505434.jpeg)
3.实验说明
本实验通过按键K1控制继电器的开与合,开始继电器工作,按下K1继电器停止工作,再按下继电器又开始工作,如此重复。接线为J2接P1.4,K1接P0.0。
4程序源代码
#include
#define uchar unsigned char
#define uint unsigned int
sbit RELAY=P1^4;
sbit K1=P0^0;
void Delay(uint ms)
{
uchar i;
while(ms--)
{
for(i=120;i>0;i--);
}
}
void main()
{
RELAY=0;
K1=1;
while(1)
{
if(!K1)
{
Delay(50);
if(K1==0)
{
while(!K1);
RELAY=~RELAY;
}
}
}
}