【51单片机】驱动继电器实验代码

//驱动继电器实验
#include 
sbit buzzer = P3^7;				//声明蜂鸣器位置
sbit relay = P3^6;				//声明继电器位置
void delay(int);				//声明延迟函数
void pulse_BZ(int,int,int);		//声明蜂鸣器发声函数
void pulse_RL(int,int,int);		//声明继电器控制函数

//主程序。
main()
{
	while(1)
	{
		pulse_RL(10,2000,2000);
		//继电器开关各10次,分别用时2000×0.5ms=1s(接上灯可以观察到亮灭)
		pulse_BZ(100,1,1);
		delay(200);
		//蜂鸣器响第一声后延迟200×0.5ms=0.1s
		pulse_BZ(100,1,1);
		delay(200);
		//蜂鸣器响第二声后延迟200×0.5ms=0.1s
	}
}

//延迟函数。
void delay(int n)
{
	int i,j;
	for(j=0;j<n;j++)		//大循环n次,用时n×0.5ms
		for(i=0;i<60;i++);	//小循环60次,用时0.5ms
}

//蜂鸣器发声函数。
void pulse_BZ(int count, int TH, int TL)
{
	int i;
	for(i=0;i<count;i++)
	{
		buzzer = 1;
		delay(TH);
		buzzer = 0;
		delay(TL);
	}
}
//继电器控制函数。
void pulse_RL(int count, int TH, int TL)
{
	int i;
	for(i=0;i<count;i++)
	{
		relay = 1;
		delay(TH);
		relay = 0;
		delay(TL);
	}
}

你可能感兴趣的:(单片机)