Page 824 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 824
<main.c>
void InitDis(void) //LCD 출력
{
GLCD_init(); //GLCD 설정
GLCD_Test(); //GLCD기능 테스트함수
GLCD_clear(White); //배경 흰색으로 설정
GLCD_setTextColor(Blue); //글자 파란색으로 설정
GLCD_displayStringLn(Line1, " AUTO RECYCLING");
GLCD_displayStringLn(Line2, " PROGRAM");
GLCD_displayStringLn(Line8, " READY");
}
<실제 구동한 모습>
나. GPIO제어 프로그램
1) 프로그램 설명
GPIO제어는 간단하게 if문으로 작성되었다. 먼저, while문안을 살펴보면 GPIOSetBits를 통해
PORTD의 0,2,3번 핀에 모두 High를 출력한다. 그 다음 if문이 나오는 데, ‘k’라는 변수는
USART.c에서 쓰이는 변수이다. 이를 main.c에서도 사용하기 위해 전역변수로 선언하였다. 이
변수는 인식된 RFID태그가 등록한 태그 값과 일치하는지 확인하는 변수로, 일치하면 ‘8’이 된
다. 따라서 변수 ‘k’가 8일 때 즉, 태그 값이 일치할 때에 PORTD의 0번이 Delay(20000)의 시
간만큼 Reset 된다. 이는 ATtiny2313의 PORTA의 0번에 입력되어 문이 열리고 일정시간이 지
나면 닫히는 동작을 수행하게 된다.
다음 조건문의 ‘GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_8) == RESET’은, GPIO핀인
PORTB의 8번(금속센서에 연결되어 있음)의 입력 값을 읽어 RESET신호가 들어오면 조건을 만
족해 PORTD의 2번이 Delay시간만큼 Reset된다. PORTD의 2번은 ATtiny2313의 PORTA의 1
- 817 -