목록ATMega128 (13)
정보보안공부
***MCUCR로 LED켜기 -> EX_LED = 0x01;을 이용해 LED가 한개켜지는 것을 확인 ***스위치 사용 -> DDRD = 0x0f; 스위치 사용을 위해 입력핀으로 설정 -> data = PIND & 0xf0; EX_LED = data; 로 PIND 스위치를 눌렀을때 LED확인 *** 7SEGMENT와 SWITCH 같이 사용 -> 7SEGMENT 2개 연결한 회로에 SWITCH사용 -> 위에 if(data == 0xe0) 안에 PORTC = 0x80; 으로 된 부분은 없어도된다.
*** 7segment에 숫자 입력하기 -> LED와 마찬가지로 배열에 순차적으로 0~9까지의 숫자에 관련된 코드를 넣어놓고 for문을 이용해 돌리면 0~9까지 순차적으로 보여진다. *** 7segment 2개를 사용해 10의자리부분과 1의자리부분으로 두자리 숫자만들기
***LED를 순차적으로 불빛이동 (shift연산자 이용) - 캐소드형 -> 캐소드형으로 브레드보드 설계, 출력핀을 설정했을때 PORT가 1일때 반응한다. -> char형을 사용해 1byte( 8bit )를 만들고 data = 0x01;로 설정(오른쪽 불빛 한칸) -> DDRC = 0xff;로 출력 핀으로 설정 -> PORTC = data;로 선언하고 비트연산자 shift를 이용해 왼쪽으로 한비트씩 이동하 도록 설정한다. data if(data == 0x00) data = 0x01; 한비트씩 쭉이동해서 불빛이꺼지면 data를 다시 0x01로 만들어 while(1)반복문에의해 계속 실행된다. -> 불빛이 왼쪽으로 한칸씩 계속 이동한다. ***LED를 순차적으로 하나씩 불빛이동 (shift연산자 이용) - ..
-> 소스파일에 C언어 코드를 입력한다. #include "myheader.h" int main(void) { DDRC = 0xff; while(1) PORTC = 0xff; return 0; } -> PORTC를 출력 Port로 설정 -> Port사용할 H/W 확인 -> DDR(C)에 따라 입력PIN : 0, 출력PIN : 1 로 나뉜다. -> 본체와 연결한다. -> frequency : 16000000Hz로 설정한다. #include "myheader.h" int main(void) { DDRC = 0xff; while(1) PORTC = 0xff; return 0; } -> DDRC = 0xff이므로 전부1(출력PIN)이므로 전부 출력PIN으로 만든다. -> PORTC = 0xff이므로
-> New Project를 생성한다 -> AVR GCC를 클릭한다. -> Project name을 입력한다. (한글X) -> 저장하고자하는 위치를 정한다. -> Header Files를 오른쪽 클릭하고 Create New Header File로 Header File을 만든다. -> 마지막이 .h를 붙인다 (ex : myhearder.h) -> 헤더파일을 작성한다. #include #include #define EX_LED (*(volatile unsigned char*)0x800c)