Page 234 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 234
}
void Wait(void)
{
//대기 함수
if(breaker == 0)
{
PORTF=0x0a;
//커튼이 초기 상태로 동작하게 한다.
}
}
void Key_execute(void)
// keymatrix 함수
{
Key(Keymatrix());
}
char Keymatrix(void)
//아트메가 키매트릭스 관련 함수
{
char key=0;
// 지역 변수 선언(값 유지 : static / key : 반환)
unsigned char i;
//for문에 사용할 변수 선언
unsigned char keyout=0xfe;
// keyout=0b11111110
for(i=0;i<=4;i++)
{ // 0~3까지 반복
PORTC=keyout;
// keyout을 PORTD에 대입(PORTD에 스캔입력 값 입력)
in=PINC;
// keymatrix 입력 값을 in에 대입(in에 응답출력값 입력)
switch(in)
{ // in과 비교
case 0x7e : key='a'; break; // in = 0x7e : key = 0
case 0x7d : key='b'; break; // in = 0x7d : key = 1
case 0x7b : key='c'; break; // in = 0x7b : key = 2
case 0x77 : key='d'; break; // in = 0x77 : key = 3
case 0xbe : key='e'; break; // in = 0xbe : key = 4
case 0xbd : key='f'; break; // in = 0xbd : key = 5
case 0xbb : key='h'; break; // in = 0xbb : key = 6
- 227 -