?? relay_out.c.bak
字號:
#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()
{
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; //刷新后復(fù)位
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++;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -