[ブリッジカップブルーチップ開発ボードブザーリレー](3)

[ブリッジカップブルーチップ開発ボードブザーリレー](3)

ブザー回路

ここに画像を挿入説明
ブザーカソードはVCC 5V、N_BUZZダーリントンに接続された負電極と接続され、ダーリントン回路はNANDゲートである:1のときに、入力IN、出力OUT 0、0、入力INと、出力OUT 1。ブザー、低レベル0 OUT7を作ります。
ここに画像を挿入説明
デコーダを見ては、デコーダは、デコーダ38、P27 = 1、= 0 P26、によって高い、Y5C制御でなければならないオープンY5Cしたい P25 = 1 Y5出力低い、出力Y5C高い、ラッチオープン。
真理値表

P0ポートのオープンデコーダ割り当て後、OUT7 0のでブザーが鳴ったように、P06 = 1ということ、すなわち、ローであるので。コードは以下の通りであります:

#include"reg52.h"  //包含头文件

sbit Buzz = P0^6;      //定义蜂鸣器
sbit HC138_A = P2^5;  //定义译码器中ABC所在引脚
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;

void Delay(unsigned int t)  //延时函数
{
	while(t--);
}

void Buzz(unsigned char State)
{
	HC138_C = 1;  //给CBA赋值
	HC138_B = 0;
	HC138_A = 1;
	
	if(State == 1)  //蜂鸣器响
	  Buzz = 1;
	if(State == 0)  //蜂鸣器不响
	  Buzz = 0;
}


void main()  //主函数
{
	while(1)  //死循环
	{
	Buzz(1);
	Delay(50000);
	Buzz(0);
	Delay(50000);  //让它响一会儿后不响
	}
}

第二に、リレー回路


同様に、第一ダーリントン図上の負極に接続された中継N_RELAYは、P04は、ラッチによって制御されます。その後、P04 = 1を中継します。コードは以下の通りであります:

#include"reg52.h"

sbit Relay = P0^4;    //定义继电器
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;

void Delay(unsigned int t)
{
	while(t--);
}

void RELAY(unsigned char State)
{
	HC138_C = 1;
	HC138_B = 0;
	HC138_A = 1;

	if(State == 1)  //继电器吸合
	  Relay = 1;
	if(State == 0)  //继电器不吸合
	  Relay = 0;
}

void main()
{
	while(1)
	{
		RELAY(1);
		Delay(50000);
		RELAY(0);
		Delay(50000);  //继电器一吸一合
	}
}
リリース3元の記事 ウォンの賞賛1 ビュー2769

おすすめ

転載: blog.csdn.net/qq_45382733/article/details/104068313