7 Segment / 인터럽트를 이용하여 숫자 증감하기 버튼 두개로 증감하기 / 4번스위치 증가 5번 감소 6번 시작 7번 멈춤 Plus상태로 동작 /3번 스위치 리셋 추가 PORTJ 2번 의 PCINT11을 추가하여 RESET버튼을 추가했다. Minus 상태로 동작 smart.c - while문안의 for반복문을 ++ 에서 --로 바꿈 더보기 ATmega2560 인터럽트의 정의와 PCINT연결 AVR ATmega1280/2560 정복 (130p~) (1) 인터럽트 (interrupt) ㄴ CPU 외부의 하드웨어적인 요구에 의해 정상적인 프로그램의 실행 순서를 변경하여 명령한 작업을 수행한 후에 다시 원래의 프로그램으로 복귀하는것 인터럽트 발생원인에 따른 분류 ┌하드웨어 인터럽트 ┬ 내부 인터럽트 │ └ 외부 인터럽트 └소프트웨어 인터럽트 인터럽트 발생시 마이크로프로세서의 반응 방식에 따른 분류 ┌차단 가능 인터럽트(INT : maskable interrupt) └차단 불가능 인터럽트(NMI : non-maskable interrupt) 차단 가능한 인터럽트를 마스크 인터럽트라 하는데 EIMSK같은 마스크가 존재하는 interrupt를 뜻한다. 차단이 불가능한 인터럽트를 논 마스크 인터럽트라 하.. 더보기 ATmega2560 TimerCounter와 인터럽트 이용하여 7 Segment증가시키기 어제 했었던 7 Segment 의 함수를 따로 만들어 편집한다. uc1은 1의 자리 숫자를 출력하는 변수이다. font[]의 안에 위치한 숫자만을 쓸 수 있게 만드는 변수. 그리고 smart.c를 수정했음 7 Segment를 TimerCounter를 이용하여 1초마다 숫자를 증가시키는 소스 그 후 smart.c - main함수에서 디파인 되어있는 DELLAY대신 Dellay_ms(1000); 을 주게되면 1초마다 증가되는 숫자를 볼 수 있다. 인터럽트를 이용하여 푸쉬버튼을 누를시에 숫자가 STOP | START 되게 하기 위와 같이 INT 6번과 INT7번 설정한다. 내부인터럽트 설정 smart.c 에서 소스를 보기 편하게 하기위해 Init들을 System_Init함수에 넣어 main에서는 System_.. 더보기 이전 1 ··· 11 12 13 14 15 16 17 ··· 41 다음