80 likes | 802 Views
8051 마이크로컨트롤러 제 7 장 . 인터럽트 (Interrupt). 인터럽트 (Interrupt). 인터럽트 란 ? - 인터럽트 란 , 주프로그램 수행 중에 주프로그램을 일시적으로 중지시키는 조건이나 사건 (event, 비동기적 ) 의 발생을 말함 - 인터럽트 처리 프로그램 ISR(Interrupt Service Routine) or Interrupt handler
E N D
8051 마이크로컨트롤러 제7장. 인터럽트(Interrupt) 인터럽트(Interrupt) • 인터럽트 란? - 인터럽트 란, 주프로그램 수행 중에 주프로그램을 일시적으로 중지시키는 조건이나 사건(event, 비동기적)의 발생을 말함 - 인터럽트 처리 프로그램 ISR(Interrupt Service Routine) or Interrupt handler - 주프로그램으로 복귀는 “RETI(RETurn from Interrupt)” ISR Time MAIN Program ISR ISR MAIN MAIN MAIN -1-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제7장. 인터럽트(Interrupt) IE(Interrupt Enable) - EA : 전역적 인터럽트 가능(“1”)/불가능(“0”) - ET2 : 타이머/카운터 2 인터럽트 가능 (“1”)/불가능(“0”) - (8052) - ES : 시리얼 포트 인터럽트 가능 (“1”)/불가능(“0”) - ET1 : 타이머/카운터 1 인터럽트 가능 (“1”)/불가능(“0”) - EX1 : 외부 1 인터럽트 가능 (“1”)/불가능(“0”) - ET0 : 타이머/카운터 0 인터럽트 가능 (“1”)/불가능(“0”) - EX0 : 외부 0 인터럽트 가능 (“1”)/불가능(“0”) * 비트별 SETB ET1* 전체 MOV IE, #1001000B enable SETB EA enable -2-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제7장. 인터럽트(Interrupt) IP(Interrupt Priority) - PT2 : 타이머/카운터 2 인터럽트 우선순위 (“1”) - (8052) - PS : 시리얼 포트 인터럽트 우선순위(“1”) - PT1 : 타이머/카운터 1 인터럽트 우선순위(“1”) - PX1 : 외부 1 인터럽트 우선순위(“1”) - PT0 : 타이머/카운터 0 인터럽트 우선순위(“1”) - PX0 : 외부 0 인터럽트 우선순위(“1”) * 폴링(Polling) 순서 : 외부 0 – T/C 0 - 외부 1 – T/C 1 – Serial – T/C2 IP.4를 “1”로 하면 Serial Port가 가장 우선순위가 높고, 이후 폴링 순서 -3-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제7장. 인터럽트(Interrupt) TCON - IE1 : 인터럽트 에지 1 플래그 (외부 인터럽트가 들어오면 하드웨어적으로 “1”, 인터럽트 인지 후 자동 clear) - IT1 : 인터럽트 타입 1 플래그 (외부 인터럽트를 하강에지 or 하위레벨을 소프트웨어적으로 지정) - IE0 : 인터럽트 에지 0 플래그 - IT0 : 인터럽트 타입 0 플래그 -4-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제7장. 인터럽트(Interrupt) 인터럽트 구조 -5-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제7장. 인터럽트(Interrupt) 인터럽트 처리 • 인터럽트 처리 순서 - 인터럽트가 발생하면 주프로그램 중단 현재 명령어의 수행을 마친다 스택에 PC를 저장한다 인터럽트가 더 이상 받아들여지지 않는다 ISR의 벡터 주소가 PC에 적재된다 ISR이 수행된다 복귀 • 인터럽트 벡터 - 인터럽트가 받아들여졌을 때 PC에 적재되는 값, ISR의 시작 주소 외부 0 인터럽트 0003H 시리얼 포트 인터럽트 0023H 타이머/카운터 0 인터럽트 000BH 타이머/카운터 2 인터럽트 002BH 외부 1 인터럽트 0013H 시스템 리셋 0000H 타이머/카운터 1 인터럽트 001BH -6-청강문화산업대학 이동통신과