蜂鸣器与继电器的基本控制

一、如何实现对蜂鸣器与继电器的控制

继电器

继电器是一种电控制器件,可以给予规定输入量并保持足够长的时间,在电气输出电路中使被控量发生预定的阶跃变化。当输入量降至一定程度并保持足够长的时间后,再恢复到初始状态。(弱电控制强电)

图中二极管可以保护电路防止线圈被烧坏。当RELAY接上低电平0时,继电器闭合。

蜂鸣器

蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型与有源自激型。

图中只要使N BUZZ接上低电平0,则蜂鸣器鸣叫。

在电路中如何控制继电器与蜂鸣器

图中ULN2003为非门。通过控制74HC138译码器时的M74HC573MIR的LE保持高电平1,再控制P04和P06,从而控制N RELAY与N BUZZ使继电器/蜂鸣器工作。

二、任务内容及程序

任务内容

让八路LED亮三下,再使继电器闭合,随后LED一个一个亮,再使蜂鸣器鸣叫一下,最后LED一个一个灭。

程序:

通过函数,程序可读性提高了,main函数也变得更简洁。

#include <REG52.H>
void HC138P2(unsigned char n)
{
	switch(n)
  {
		case 4:P2=(0x1f&P2)|0x80;
		break;
		case 5:P2=(0x1f&P2)|0xa0;
		break;
		case 6:P2=(0x1f&P2)|0xc0;
		break;
		case 7:P2=(0x1f&P2)|0xe0;
		break;
	
	}
}


void Delay(unsigned char xms)	//@11.0592MHz
{
	unsigned char data i, j;
 while(xms--){
	
	i = 2;
	j = 199;
	do
	{
		while (--j);
	} while (--i);
}
 }
void InitP0()
{
	HC138P2(5);
	P0=0x00;
}	

void OutPutP0(unsigned char n,unsigned char m)
{
	HC138P2(n);
	P0=m;
} 
void LEDRunning()
{
	unsigned char i,t;
	InitP0();
	for(i=0;i<3;i++)
	{
		OutPutP0(4,0x00);
		Delay(1000);
		OutPutP0(4,0xff);
		Delay(1000);
	}
		
	for(t=0;t<8;t++)
	{
		OutPutP0(4,(0xff<<t));
	}
	OutPutP0(5,0x40);
	
	for(t=0;t<8;t++)
	{
		OutPutP0(4,~(0xff<<t));
	}
	OutPutP0(5,0x10);
	
}
void main()
{
	while(1)
	{
		LEDRunning();
	}

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值