Page 1003 - 3-3
P. 1003
void Toggle3_LED() // Toggle 스위치 3 - LED, Switch 1~4 테스트
{
if((PING&0x04)==0) // Toggle3 의 Active Low 입력 시
{
if(!PINB.0) // Switch 1 번
{
if(led <= 100) PORTE=~p;
else{ // 100ms 마다 LED 출력 좌로 Shift( 포트 출력을 p 가 아닌 ~p 로 하기
때문에 실제 출력은 우로 Shift)
p=p<<1;
if(p==0x00)p=0x01;
led = 0;
}
}
if(!PINB.1) // Switch 2 번
{
if(led <= 100) PORTE=~p;
else{ // 100ms 마다 비트를 오른쪽으로 이동 포트 출력을( p 가 아닌 ~p 로 하
기 때문에 실제 출력은 왼쪽으로 순차이동)
p=p>>1;
if(p==0x00)p=0x80;
led=0;
}
}
if(!PINB.2) // Switch 3 번
{
if(led <= 100) PORTE=0x7e; // 0b01111110
else if(led > 100 & led <= 200) PORTE=0xbd; // 0b10111101
else if(led > 200 & led <= 300) PORTE=0xdb; // 0b11011011
else if(led > 300 & led <= 400) PORTE=0xe7; // 0b11100111
else led=0;
}
if(!PINB.3) // Switch 4 번
{
if(led <= 100) PORTE=0x00; // LED 전부 On
else if(led > 100 & led <= 200) PORTE=0xff; // LED 전부 Off
else led = 0;
}
led++;
}
else // test 중이지 않으면 LED 전부 Off
{
PORTE=0xff;
- 1003 -