DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원 2009.04.06
DK-128의 결선 FND LED KEY 8 line j19 - red j15 + black 61 1 1 j18 25 j16 54 - 35 42 + 8 line
LED FND KEY ATMEGA128 ADC=아날로그신호입력 Port A : I/O, 상위어드레스(ALE의한제어) 아날로그전원 프로그램 쓰기 LED 전원 FND Port E : I/O, 외부인터럽트, ISP 프로그래밍 데이터/주소 모드 ATMEGA128 KEY 전원 Port B : I/O, 타이머, 카운터, PWM, SPI 외부데이터메모리 접근 모드 Oscillator Port D : I/O, TWI, UART직렬통신 Real time clock시 Oscillator
LED 제어로 사용할 레지스터 DDRF : F번 포트의 데이터 방향 설정 8비트 크기 각 비트와 1:1 대칭 각 비트에 1을 넣으면 출력, 0을 넣으면 입력 PORTF : F번 포트에 데이터 쓰기 용도 각 비트에 1을 넣으면 꺼짐, 0을 넣으면 켜짐
KEY 제어로 사용할 레지스터 PINC : C번 포트의 데이터 입력 레지스터 8비트 크기 각 비트와 1:1 대칭 눌러진 버튼의 비트는 0, 안 눌러진 버튼의 비트는 1 2 3 4 5 6 7 1 1 1
FND 제어로 사용할 레지스터 1 2 PORTE = 18; // FND에 12 출력 DDRE : E번 포트의 데이터 방향 설정 8비트 크기 각 비트와 1:1 대칭 각 비트에 1을 넣으면 출력, 0을 넣으면 입력 PORTE : E번 포트에 데이터 쓰기 용도 각 비트와 1:1 대칭되지 않음 하위 4비트우측 FND, 상위 4비트 좌측 FND 정수 값 출력 1 2 (최하위비트) (최상위비트) 1 2 3 4 5 6 7 PORTE = 18; // FND에 12 출력
예제 프로그램 1/2 (0~9까지 출력)
예제 프로그램 2/2 (0~9까지 출력)
응용 실습 예제 (각 1점) 앞의 예제를 수정하여, 버튼을 누르면 두 개의 FND가 동일한 숫자를 표시하도록 하기. 0~99까지 순차적으로 숫자를 1씩 증가시키다가 버튼을 누르면 0부터 다시 시작하기 0~99까지 순차적으로 숫자를 1씩 증가시키다가 버튼을 누르면 현재 값에서 1씩 감소하기, 다시 누르면 1씩 증가하기