?? di_module.c
字號(hào):
#include "main.h"
/*
* 11: 開(kāi)關(guān)閉和
* 10: 開(kāi)關(guān)打開(kāi)
* 00: 斷線
*/
//PA3,PF2 PF3,PA2 PE7,PE1 PE0,PE6 PA5,PF0 PF1,PA4
Uchar DI_Status[3];
Uchar PINA_temp,PINB_temp,PINE_temp,PINF_temp;
void DI_Init(void)
{
DDRA = 0x00;
DDRB = 0x00;
DDRB |= (1<<5);
DDRE = 0x00;
DDRF = 0x00;
DI_handle();
}
void DI_handle(void)
{
PINA_temp = PINA;
PINB_temp = PINB;
PINE_temp = PINE;
PINF_temp = PINF;
/**************Channel 1*****************/
if(PINA_temp & (1<<3))
DI_Status[0] |= (1<<0);
else
DI_Status[0] &= (~(1<<0));
if(PINF_temp & (1<<2))
DI_Status[0] |= (1<<1);
else
DI_Status[0] &= (~(1<<1));
/**************Channel 2*****************/
if(PINF_temp & (1<<3))
DI_Status[0] |= (1<<2);
else
DI_Status[0] &= (~(1<<2));
if(PINA_temp & (1<<2))
DI_Status[0] |= (1<<3);
else
DI_Status[0] &= (~(1<<3));
/**************Channel 3*****************/
if(PINE_temp & (1<<7))
DI_Status[0] |= (1<<4);
else
DI_Status[0] &= (~(1<<4));
if(PINE_temp & (1<<1))
DI_Status[0] |= (1<<5);
else
DI_Status[0] &= (~(1<<5));
/**************Channel 4*****************/
if(PINE_temp & (1<<0))
DI_Status[0] |= (1<<6);
else
DI_Status[0] &= (~(1<<6));
if(PINE_temp & (1<<6))
DI_Status[0] |= (1<<7);
else
DI_Status[0] &= (~(1<<7));
/**************Channel 5*****************/
if(PINA_temp & (1<<5))
DI_Status[1] |= (1<<0);
else
DI_Status[1] &= (~(1<<0));
if(PINF_temp & (1<<0))
DI_Status[1] |= (1<<1);
else
DI_Status[1] &= (~(1<<1));
/**************Channel 6*****************/
if(PINF_temp & (1<<1))
DI_Status[1] |= (1<<2);
else
DI_Status[1] &= (~(1<<2));
if(PINA_temp & (1<<4))
DI_Status[1] |= (1<<3);
else
DI_Status[1] &= (~(1<<3));
//PB1,PE3 PE2,PB0 PA7,PA1 PA0,PA6 PB3,PE5 PE4,PB2
/**************Channel 7*****************/
if(PINB_temp & (1<<1))
DI_Status[1] |= (1<<4);
else
DI_Status[1] &= (~(1<<4));
if(PINE_temp & (1<<3))
DI_Status[1] |= (1<<5);
else
DI_Status[1] &= (~(1<<5));
/**************Channel 8*****************/
if(PINE_temp & (1<<2))
DI_Status[1] |= (1<<6);
else
DI_Status[1] &= (~(1<<6));
if(PINB_temp & (1<<0))
DI_Status[1] |= (1<<7);
else
DI_Status[1] &= (~(1<<7));
/**************Channel 9*****************/
if(PINA_temp & (1<<7))
DI_Status[2] |= (1<<0);
else
DI_Status[2] &= (~(1<<0));
if(PINA_temp & (1<<1))
DI_Status[2] |= (1<<1);
else
DI_Status[2] &= (~(1<<1));
/**************Channel 10*****************/
if(PINA_temp & (1<<0))
DI_Status[2] |= (1<<2);
else
DI_Status[2] &= (~(1<<2));
if(PINA_temp & (1<<6))
DI_Status[2] |= (1<<3);
else
DI_Status[2] &= (~(1<<3));
/**************Channel 11*****************/
if(PINB_temp & (1<<3))
DI_Status[2] |= (1<<4);
else
DI_Status[2] &= (~(1<<4));
if(PINE_temp & (1<<5))
DI_Status[2] |= (1<<5);
else
DI_Status[2] &= (~(1<<5));
/**************Channel 12*****************/
if(PINE_temp & (1<<4))
DI_Status[2] |= (1<<6);
else
DI_Status[2] &= (~(1<<6));
if(PINB_temp & (1<<2))
DI_Status[2] |= (1<<7);
else
DI_Status[2] &= (~(1<<7));
///test
if((DI_Status[0] != 0xaa) || (DI_Status[1] != 0xaa) || (DI_Status[1] != 0xaa))
PORTB |= (1<<5);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -