⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 relay_out.c

📁 LTC2449 AD转换 LTC2449 AD转换 LTC2449 AD转换
💻 C
字号:
#include <iom169v.h>
#include <macros.h>
#include <stdio.h>
#include "main.h"

#define RELAY1_0 PORTF|=0b00000001	//PF0
#define RELAY1_1 PORTF&=0b11111110	//PF0
#define RELAY2_0 PORTF|=0b00000010	//PF1
#define RELAY2_1 PORTF&=0b11111101	//PF1
#define RELAY3_0 PORTF|=0b00000100	//PF2
#define RELAY3_1 PORTF&=0b11111011	//PF2
#define RELAY4_0 PORTF|=0b00001000	//PF3
#define RELAY4_1 PORTF&=0b11110111	//PF3
#define RELAY5_0 PORTA|=0b00000001	//PA0
#define RELAY5_1 PORTA&=0b11111110	//PA0
#define RELAY6_0 PORTA|=0b00000010	//PA1
#define RELAY6_1 PORTA&=0b11111101	//PA1
#define RELAY7_0 PORTA|=0b00000100	//PA2
#define RELAY7_1 PORTA&=0b11111011	//PA2
#define RELAY8_0 PORTA|=0b00001000	//PA3
#define RELAY8_1 PORTA&=0b11110111	//PA3
#define RELAY9_0 PORTA|=0b00010000	//PA4
#define RELAY9_1 PORTA&=0b11101111	//PA4
#define RELAY10_0 PORTA|=0b00100000	//PA5
#define RELAY10_1 PORTA&=0b11011111	//PA5
#define RELAY11_0 PORTA|=0b01000000	//PA6
#define RELAY11_1 PORTA&=0b10111111	//PA6
#define RELAY12_0 PORTA|=0b10000000	//PA7
#define RELAY12_1 PORTA&=0b01111111	//PA7
#define RELAY13_0 PORTG|=0b00000100	//PG2
#define RELAY13_1 PORTG&=0b11111011	//PG2
#define RELAY14_0 PORTC|=0b10000000	//PC7
#define RELAY14_1 PORTC&=0b01111111	//PC7
#define RELAY15_0 PORTC|=0b01000000	//PC6
#define RELAY15_1 PORTC&=0b10111111	//PC6
#define RELAY16_0 PORTC|=0b00100000	//PC5
#define RELAY16_1 PORTC&=0b11011111	//PC5
#define RELAY17_0 PORTC|=0b00010000	//PC4
#define RELAY17_1 PORTC&=0b11101111	//PC4
#define RELAY18_0 PORTC|=0b00001000	//PC3
#define RELAY18_1 PORTC&=0b11110111	//PC3
#define RELAY19_0 PORTC|=0b00000100	//PC2
#define RELAY19_1 PORTC&=0b11111011	//PC2
#define RELAY20_0 PORTC|=0b00000010	//PC1
#define RELAY20_1 PORTC&=0b11111101	//PC1
#define RELAY21_0 PORTC|=0b00000001	//PC0
#define RELAY21_1 PORTC&=0b11111110	//PC0
#define RELAY22_0 PORTG|=0b00000010	//PG1
#define RELAY22_1 PORTG&=0b11111101	//PG1
#define RELAY23_0 PORTG|=0b00000001	//PG0
#define RELAY23_1 PORTG&=0b11111110	//PG0
#define RELAY24_0 PORTD|=0b10000000	//PD7
#define RELAY24_1 PORTD&=0b01111111	//PD7
#define RELAY25_0 PORTD|=0b01000000	//PD6
#define RELAY25_1 PORTD&=0b10111111	//PD6
#define RELAY26_0 PORTD|=0b00100000	//PD5
#define RELAY26_1 PORTD&=0b11011111	//PD5
#define RELAY27_0 PORTD|=0b00010000	//PD4
#define RELAY27_1 PORTD&=0b11101111	//PD4
#define RELAY28_0 PORTD|=0b00001000	//PD3
#define RELAY28_1 PORTD&=0b11110111	//PD3
#define RELAY29_0 PORTD|=0b00000100	//PD2
#define RELAY29_1 PORTD&=0b11111011	//PD2
#define RELAY30_0 PORTD|=0b00000010	//PD1
#define RELAY30_1 PORTD&=0b11111101	//PD1
#define RELAY31_0 PORTD|=0b00000001	//PD0
#define RELAY31_1 PORTD&=0b11111110	//PD0
#define RELAY32_0 PORTG|=0b00010000	//PG4
#define RELAY32_1 PORTG&=0b11101111	//PG4
void relay_init()	
{
		  RELAY1_0;
			RELAY2_0;
			RELAY3_0;
			RELAY4_0;
			RELAY5_0;
			RELAY6_0;
			RELAY7_0;
			RELAY8_0;
			RELAY9_0;
			RELAY10_0;
			RELAY11_0;
			RELAY12_0;
			RELAY13_0;
			RELAY14_0;
			RELAY15_0;
			RELAY16_0;
			RELAY17_0;
			RELAY18_0;
			RELAY19_0;
			RELAY20_0;
			RELAY21_0;
			RELAY22_0;
			RELAY23_0;
			RELAY24_0;
			RELAY25_0;
			RELAY26_0;
			RELAY27_0;
			RELAY28_0;
			RELAY29_0;
			RELAY30_0;
			RELAY31_0;
			RELAY32_0;
}
void RELAY_out(unsigned char *p)
{
	unsigned char b,l,n=1,temp;	
	updating=0;	//刷新后复位
	for(b=0;b<4;b++)
		{
			temp=*p;
			for(l=0;l<8;l++)
				{
					if((temp&0b10000000)!=0)
						{
							switch(n)
								{
									case 1:RELAY1_1;break;
									case 2:RELAY2_1;break;
									case 3:RELAY3_1;break;
									case 4:RELAY4_1;break;
									case 5:RELAY5_1;break;
									case 6:RELAY6_1;break;
									case 7:RELAY7_1;break;
									case 8:RELAY8_1;break;
									case 9:RELAY9_1;break;
									case 10:RELAY10_1;break;
									case 11:RELAY11_1;break;
									case 12:RELAY12_1;break;
									case 13:RELAY13_1;break;
									case 14:RELAY14_1;break;
									case 15:RELAY15_1;break;
									case 16:RELAY16_1;break;
									case 17:RELAY17_1;break;
									case 18:RELAY18_1;break;
									case 19:RELAY19_1;break;
									case 20:RELAY20_1;break;
									case 21:RELAY21_1;break;
									case 22:RELAY22_1;break;
									case 23:RELAY23_1;break;
									case 24:RELAY24_1;break;
									case 25:RELAY25_1;break;
									case 26:RELAY26_1;break;
									case 27:RELAY27_1;break;
									case 28:RELAY28_1;break;
									case 29:RELAY29_1;break;
									case 30:RELAY30_1;break;
									case 31:RELAY31_1;break;
									case 32:RELAY32_1;break;
									default:break;	
								}
						}
					else
						{
							switch(n)
								{
									case 1:RELAY1_0;break;
									case 2:RELAY2_0;break;
									case 3:RELAY3_0;break;
									case 4:RELAY4_0;break;
									case 5:RELAY5_0;break;
									case 6:RELAY6_0;break;
									case 7:RELAY7_0;break;
									case 8:RELAY8_0;break;
									case 9:RELAY9_0;break;
									case 10:RELAY10_0;break;
									case 11:RELAY11_0;break;
									case 12:RELAY12_0;break;
									case 13:RELAY13_0;break;
									case 14:RELAY14_0;break;
									case 15:RELAY15_0;break;
									case 16:RELAY16_0;break;
									case 17:RELAY17_0;break;
									case 18:RELAY18_0;break;
									case 19:RELAY19_0;break;
									case 20:RELAY20_0;break;
									case 21:RELAY21_0;break;
									case 22:RELAY22_0;break;
									case 23:RELAY23_0;break;
									case 24:RELAY24_0;break;
									case 25:RELAY25_0;break;
									case 26:RELAY26_0;break;
									case 27:RELAY27_0;break;
									case 28:RELAY28_0;break;
									case 29:RELAY29_0;break;
									case 30:RELAY30_0;break;
									case 31:RELAY31_0;break;
									case 32:RELAY32_0;break;
									default:break;	
								}
						}
					temp=temp<<1;
					n++;
				}
			p++;
		}
}

⌨️ 快捷键说明

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