control.c

来自「基于51单片机系统」· C语言 代码 · 共 279 行

C
279
字号
#include <at89x52.h>
#include "define.h"

void CutOff_1(unsigned char Channel)    // 电压通道1-8切断
{
	switch(Channel)
	{
		case 1:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
		case 2:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 3:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 4:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 5:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 6:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 7:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 8:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
	}

	CTRL_D = 1;
	CTRL_LE1 = 0;
	CTRL_LE1 = 1;
}

void CutOff_2(unsigned char Channel)    // 电压通道9-16切断
{
	switch(Channel)
	{
		case 9:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
		case 10:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 11:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 12:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 13:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 14:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 15:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 16:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
	}

	CTRL_D = 1;
	CTRL_LE2 = 0;
	CTRL_LE2 = 1;
}

void CutOff_3(unsigned char Channel)    // 电压通道17-21切断
{
	switch(Channel)
	{
		case 17:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
		case 18:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 19:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 20:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 21:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
	}

	CTRL_D = 1;
	CTRL_LE3 = 0;
	CTRL_LE3 = 1;
}

void Reconnect_1(unsigned char Channel)      // 电压通道1-8开启
{
	switch(Channel)
	{
		case 1:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
		case 2:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 3:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 4:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 5:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 6:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 7:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 8:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
	}

	CTRL_D = 0;
	CTRL_LE1 = 0;
	CTRL_LE1 = 1;
}

void Reconnect_2(unsigned char Channel)      // 电压通道9-16开启
{
	switch(Channel)
	{
		case 9:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
		case 10:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 11:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 12:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 13:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 14:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 15:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 16:
			CTRL_A2 = 0;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
	}

	CTRL_D = 0;
	CTRL_LE2 = 0;
	CTRL_LE2 = 1;
}

void Reconnect_3(unsigned char Channel)      // 电压通道17-21开启
{
	switch(Channel)
	{
		case 17:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 0;
			break;
		case 18:
			CTRL_A2 = 1;
			CTRL_A1 = 0;
			CTRL_A0 = 1;
			break;
		case 19:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 0;
			break;
		case 20:
			CTRL_A2 = 1;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
		case 21:
			CTRL_A2 = 0;
			CTRL_A1 = 1;
			CTRL_A0 = 1;
			break;
	}

	CTRL_D = 0;
	CTRL_LE3 = 0;
	CTRL_LE3 = 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?