DK128 두 개를 연결해서 LED순차적으로 켜보기.
보내는 곳
#define PORTF (* (volatile unsigned char *) 0x62) //출력 설정.
#define DDRF (* (volatile unsigned char *) 0x61) //입출력 설정
#define PORTD (* (volatile unsigned char *) 0x32) //출력 설정.
#define DDRD (* (volatile unsigned char *) 0x31) //입출력 설정
#define PIND (* (volatile unsigned char *) 0x30) //입출력 설정
int main(void)
{
unsigned char led; //led라는 변수를 설정.
//포트 초기화.
DDRF = 0x00; //LED 연결
PORTF = 0x00;
DDRD = 0x00; //스위치 연결.
PORTD = 0x00; /* 회로도상 원래 스위치에 전원이 들어오고 스위치를 누르면
GND로 빠짐 그래서 LED에 회로가 연결되어 있으면 불이 들어옴.*/
while(1) /* while문을 사용해서 switch문을 반복시키고 있는 상태*/
{
led = PIND; //아무것도 안눌렀으면 출력을 하고 있는 상테., fe
led = 0xff -led; //01
switch(led){
case 0x01: //2진수 표현 0000 0001
DDRF = 0x01; //2진수 표현 0000 0001
break;
case 0x02: //2진수 표현 0000 0010
DDRF = 0x03; //2진수 표현 0000 0011
break;
case 0x04: //2진수 표현 0000 0100
DDRF = 0x07; //2진수 표현 0000 0111
break;
case 0x08: //2진수 표현 0000 1000
DDRF = 0x0f; //2진수 표현 0000 1111
break;
case 0x10: //2진수 표현 0001 0000
DDRF = 0x1f; //2진수 표현 0001 1111
break;
case 0x20: //2진수 표현 0010 0000
DDRF = 0x3f; //2진수 표현 0011 1111
break;
case 0x40: //2진수 표현 0100 0000
DDRF = 0x7f; //2진수 표현 0111 1111
break;
case 0x80: //2진수 표현 1000 0000
DDRF = 0xff; //2진수 표현 1111 1111
break;
default:
break;
}
}
return 0;
}
받는 곳
#define DDRF (*(volatile unsigned char *) 0x61) // 입출력 설정
#define PORTF (*(volatile unsigned char *) 0x62 ) // 출력 설정
#define DDRC (*(volatile unsigned char *) 0x34) // 입출력 설정
#define PORTC (*(volatile unsigned char *) 0x35 ) // 출력 설정
#define PINC (*(volatile unsigned char *) 0x33 ) // 출력 설정
int main(void)
{
//포트 초기화.
DDRF = 0xff;
PORTF = 0x00;
DDRC = 0x00;
PORTC = 0xff;
while(1)
{
PORTF = PINC;
}
return 0;
}
<오후>
화면 캡처: 2010-05-26, 오후 2:04
화면 캡처: 2010-05-26, 오후 2:04
' ' - 글자 한 개만 입력
Case자리는 변수 입력하면 안 된다.
Case ' 0' = case 48(아스키코드)
'y' - y의 아스키코드를 의미.
Switch (정수 변수)
Case '정수 상수'
Break를 사용하면 괄호를 탈출한다. 아니면 디폴트로 간다.
<반복문>
조건:
1)초기조건.
2)반복되는 일.
3)종료조건.
'About 프로그래밍!!! > [BSP]업무일지' 카테고리의 다른 글
2010년 6월 11일 금요일 (0) | 2010.06.11 |
---|---|
2010년 6월 10일 목요일 (0) | 2010.06.10 |
[BSP]업무일지-201005025 (0) | 2010.05.26 |
[BSP]우분투 컴파일러 단축키, 아트메가 기본개념 (0) | 2010.05.19 |
문자에 해당하는 ASCII코드를 출력하는 프로그램. (0) | 2010.05.17 |