<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

Size: px
Start display at page:

Download "<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>"

Transcription

1 7 장. 인터럽트의동작 한국산업기술대학교 이응혁교수 1

2 7.1 인터럽트 (Interrupt) 개요 인터럽트개념 프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생 비동기적으로처리 다른프로그램이수행되는동안여러개의사건을처리할수있는메커니즘 인터럽트가발생하면마이크로컨트롤러는현재수행중인프로그램을일시중단하고, 인터럽트처리를위한프로그램을수행한후에다시원래의프로그램으로복귀 ISR(Intertupt Service Routine ) 또는 Interrupt handler : 인터럽트처리하는프로그램 2

3 7.1 인터럽트 (Interrupt) 개요 주프로그램과인터럽트프로그램의차이 < 인터럽트가없는프로그램실행 > < 인터럽트가있는프로그램실행 > 인터럽트가발생할때주프로그램은일시적으로정지하고 ISR로분기하고, ISR이실행되고연산이수행된후에 ISR 프로그램이종료되면, 주프로그램의중지된부분부터다시수행 인터럽트의종료는 인터럽트로부터의복귀 (return from interrupt):rett 명령에의해수행 Background/Foreground 3

4 7.1 인터럽트 (Interrupt) 개요 인터럽트의종류 인터럽트발생원인에의한분류 : 마이크로컨트롤러내부의기능에의해발생 : 마이크로컨트롤러외부에부가된소자에의해발생 4

5 7.1 인터럽트 (Interrupt) 개요 인터럽트처리방식에의한분류 일반적인인터럽트 (/INT) 프로그램에의하여인터럽트의요청을받아들이지않고무시할수있는구조의인터럽트 (maskable interrupt) 를의미 우선처리메커니즘 우선처리메커니즘의경우보통인터럽트를허용하는방법은인터럽트마스크레지스터또는인터럽트허용레지스터를사용하여각각의인터럽트를개별적허용하고이것들을다시전체적으로허용함. 차단불가능인터럽트 (/NMI) 프로그램에의해어떤방법으로도인터럽트요청이차단될수없는인터럽트 (non-maskable interrupt) 를의미 전원이상이나비상정지스위치등과같이시스템에치명적인오류를대비하기위해주로사용 5

6 7.1 인터럽트 (Interrupt) 개요 인터럽트의제어및처리절차 벡터형인터럽트 인터럽트가발생할때마다인터럽트를요청한장치가인터럽트벡터를마이크로컨트롤러에게전송하는방식각주변장치가각각의인터럽트신호선을가지고있고, 각주변장치가인터럽트를요청하면마이크로컨트롤러는각각의인터럽트에따라미리지정된인터럽트벡터를가지고있어즉시해당인터럽트서비스루틴을찾아가는방식 인터럽트처리응답시간이빠르고, AVR에구현된방식 인터럽트의우선순위 2개이상의주변장치가동시에마이크로컨트롤러에인터럽트를요구하는경우우선순위를미리정하여번에하나의인터럽트를선택하여처리우선순위가높은인터럽트의처리중 -> 낮은순위의인터럽트는대기상태우선순위가높은인터럽트의처리끝 -> 낮은순위의인터럽트는미리지정된우선순위에의해처리 6

7 7.1 인터럽트 (Interrupt) 개요 인터럽트처리순서 Interrupt Vector Table JUMP ISR0 JUMP ISR1 JUMP ISRn IRQ1 요청 Main 프로그램복귀 1 IVT 참조 JUMP ISR Application Program ISR 실행 ISR0 ISR1 ISRn 4 Interrupt Service Routine 7

8 7.2 ATmega128 의인터럽트구성 인터럽트의종류 리셋을포함하여총 35 종의인터럽트소스가존재 외부인터럽트 8 개, 타이머 / 카운터0에관련된인터럽트 2개 타이머 / 카운터1에관련된인터럽트 5개 타이머 / 카운터2에관련된인터럽트 2개 타이머 / 카운터3에관련된인터럽트 5개 USART0와 USART1에관련된인터럽트각각 3개와기타의인터럽트 6개 인터럽트의동작형태 인터럽트가발생하면관련플래그비트를 1 로세트하여트리거시키는형태 프로그램카운터가실제인터럽트벡터로지정되어인터럽트처리루틴을수행 해당플래그는하드웨어에의해자동으로 0으로클리어됨. 인터럽트플래그는해당비트에 1을써넣음으로써 0으로클리어할수있음. 인터럽트마스크레지스터또는 SREG 레지스터를통해금지상태로설정하여놓았더라도인터럽트가발생하면해당인터럽트플래그가 1로설정되어인터럽트대기상태로되며, 나중에인터럽트가허가상태로설정될때해당인터럽트가처리됨. 인터럽트조건이발생한동안에만인터럽트를트리거하는형태 인터럽트는인터럽트발생조건이사라지면인터럽트요청도없어지므로나중에인터럽트가다시허용상태로되더라도인터럽트는요청되지않음. 8

9 7.2 ATmega128 의인터럽트구성 (1) 인터럽트의종류및인터럽트벡터 벡터번호 ( 우선순위 ) 벡터주소인터럽트소스인터럽트발생조건 0 0x0000 RESET 외부핀, 전원투입리셋, 저전압검출리셋, 워치독리셋, JTAG AVR 리셋 1 0x0002 INT0 외부인터럽트 0 2 0x0004 INT1 외부인터럽트 1 3 0x0006 INT2 외부인터럽트 2 4 0x0008 INT3 외부인터럽트 3 5 0x000A INT4 외부인터럽트 4 6 0x000C INT5 외부인터럽트 5 7 0x000E INT6 외부인터럽트 6 8 0x0010 INT7 외부인터럽트 7 9 0x0012 TIMER2 COMP 타이머 / 카운터2 비교일치 10 0x0014 TIMER2 OVF 타이머 / 카운터2 오버플로우 11 0x0016 TIMER1 CAPT 타이머 / 카운터1 입력캡처 12 0x0018 TIMER1 COMPA 타이머 / 카운터1 비교일치 A 13 0x001A TIMER1 COMPB 타이머 / 카운터1 비교일치 B 14 0x001C TIMER1 OVF 타이머 / 카운터1 오버플로우 15 0x001E TIMER0 COMP 타이머 / 카운터0 비교일치 9

10 7.2 ATmega128 의인터럽트구성 (2) 인터럽트의종류및인터럽트벡터 벡터번호 ( 우선순위 ) 벡터주소 인터럽트소스 인터럽트발생조건 16 0x0020 TIMER0 OVF 타이머 / 카운터0 오버플로우 17 0x0022 SPI, STC SPI 시리얼통신완료 18 0x0024 USART0, RX USART0, 수신완료 19 0x0026 USART0, UDRE USART0, 데이터레지스터비움 20 0x0028 USART0, TX USART0, 송신완료 21 0x002A ADC ADC 변환완료 22 0x002C EE READY EEPROM 준비 23 0x002E ANALOG COMP 아날로그비교기 24 0x0030 TIMER1 COMPC 타이머 / 카운터 1 비교일치 C 25 0x0032 TIMER3 CAPT 타이머 / 카운터 3 입력캡처 26 0x0034 TIMER3 COMPA 타이머 / 카운터 3 비교일치 A 27 0x0036 TIMER3 COMPB 타이머 / 카운터 3 비교일치 B 28 0x0038 TIMER3 COMPC 타이머 / 카운터 3 비교일치 C 29 0x003A TIMER3 OVF 타이머 / 카운터 3 오버플로우 30 0x003C USART1, RX USART1, 수신완료 31 0x003E USART1, UDRE USART1, 데이터레지스터비움 32 0x0040 USART1, TX USART1, 송신완료 33 0x0042 TWI I2C 통신인터페이스 34 0x0044 SPM READY 저장프로그램메모리준비 10

11 7.2 ATmega128 의인터럽트구성 리셋및인터럽트벡터의배치 BOOTRST IVSEL 리셋벡터주소인터럽트벡터의시작주소 1 0 0x0000 0x x0000 부트리셋주소 + 0x 부트리셋주소 0x 부트리셋주소부트리셋주소 + 0x0002 리셋및인터럽트벡터는 BOOTRST와 IVSEL 비트의조합에의해가변적으로배치 부트리셋주소 : 부트로더섹션의크기의설정에따라달라짐. ( 표 2.22 참조 ) 예 ) BOOTSZ1 0 = 00 이면부트사이즈는 1024워드로되어부트리셋주소는 0x1C00이됨. 일반적인 ATmega128에서는 BOOTRST 비트는 1로설정되고, IVSEL은 0으로설정 11

12 7.2 ATmega128 의인터럽트구성 인터럽트벡터의배치 인터럽트벡터를응용프로그램섹션과부트로더섹션사이에서이동하기위해서는 MCU 컨트롤레지스터 (MCUCR, MCU Control Register) 를사용 MCUCR 레지스터의비트구성은아래와같으며, 여기서 IVSEL과 IVCE 비트가이상의목적으로사용되고, 나머지는외부인터럽트를개별적으로허가하는용도로사용 IVSEL과 IVCE 비트를사용 IVSEL ( 인터럽트벡터선택, Interrupt Vector Select) IVSEL = 0 : 인터럽트벡터는응용프로그램섹션인플래시메모리의시작부분에위치 IVSEL = 1 : 인터럽트벡터는부트로더섹션의시작부분에위치 IVCE ( 인터럽트벡터변경허가, Interrupt Vector Change Enable) IVSEL 비트의변경을허가하기위해서 IVCE 비트는 1로설정되어있어야함. 12

13 7.2 ATmega128 의인터럽트구성 외부인터럽트의개요 8 개의외부인터럽트입력 : INT0~7 INT1 와 INT0 은상승 / 하강에지및 Low 상태에의해인터럽트발생 INT0~7이에지방식에의한인터럽트발생방법으로설정되면, I/O클럭에동기를맞추어인터럽트가발생 INT0~7이레벨변화방식으로설정되고, 에지트리거방식으로설정된 INT2와 PCINT15~0 핀의변화가일어나는경우의 PCI 인터럽트들은비동기적으로인터럽트가발생비동기적으로발생하는인터럽트들은휴면모드를제외하고슬립모드를해제하는수단으로사용가능 INT7와 INT4가에지방식에의해설정되면이는 I/O 클럭을필요로하므로이것들은 I/O 클럭이차단되는휴면모드이외의슬립모드에서는슬립모드를해제하는수단으로사용할수없음. 레벨변화방식으로사용되는인터럽트가전원차단모드의해제수단으로사용되는경우에는좀더긴인터럽트신호가요구됨. -> 슬립모드를해제하고인터럽트가발생되려면충분히긴시간동안인터럽트신호가 L 상태로입력되어야함. 13

14 7.2 ATmega128 의인터럽트구성 외부인터럽트제어레지스터 외부인터럽트레지스터 MCUCR EIMSK EIFR EICRA EICRB 설명 MCU 제어레지스터외부인터럽트마스크레지스터외부인터럽트플래그레지스터외부인터럽트트리거방식설정레지스터 (INT0~3) 외부인터럽트트리거방식설정레지스터 (INT4~7) EIMSK 제어레지스터 외부인터럽트마스크레지스터 EIMSK(External Interrupt Mask Regiter) 는인터럽트 INT7~0 을개별적으로허용하는데사용, 1 로설정시인터럽트허용, 0 으로설정시인터럽트금지 <SREG 레지스터의글로벌인터럽트허용비트 I 가 1 로되어야만실제허용가능 > 14

15 7.2 ATmega128 의인터럽트구성 EIFR 제어레지스터 외부인터럽트플래그레지스터 EIFR(External Interrupt Flag Register) 는 INT7~0핀에인터럽트신호가입력되어, 해당인터럽트가트리거되었음을표시하는데사용한다. 이비트들은인터럽트처리가시작되고마이크로콘트롤러가인터럽트벡터를인출하여인터럽트서비스루틴으로점프하게되면다시 0으로클리어된다. 강제로 0을클리어하려면, 해당비트에 1을라이트하면된다. 15

16 7.2 ATmega128 의인터럽트구성 EICRA 제어레지스터 외부인터럽트 INT3~0 핀으로입력되는신호에대한인터럽트트리거방법을설정 모든레벨트리거인터럽트와 INT3~0 이하강또는상승에지트리거방식으로설정시인터럽트가클럭신호와관계없이비동기적으로검출, 슬립모드를해제하는수단으로사용가능. ISCn1 ISCn0 인터럽트발생방식 0 0 INTn 핀의 L상태입력이인터럽트를트리거한다. 0 1 사용하지않음 (Reserved) 1 0 INTn 핀에하강에지의신호가입력시비동기적으로트리거 1 1 INTn 핀에상승에지의신호가입력시비동기적으로트리거 16

17 7.2 ATmega128 의인터럽트구성 EICRB 제어레지스터 외부인터럽트 INT7~4 핀으로입력되는신호에대한인터럽트트리거방법을설정 INT7~4 이에지트리거방식으로설정시, I/O 클럭이필요하게되므로 I/O 클럭이차단되는 IDLE 모드이외의슬립모드에서는슬립모드를해제하는수단으로사용불가 ISCn1 ISCn0 인터럽트발생방식 0 0 INTn 핀의 L상태입력이인터럽트를트리거한다. 0 1 INTn 핀의하강에지또는상승에지가인터럽트를트리거한다. 1 0 INTn 핀에하강에지의신호가인터럽트를트리거 1 1 INTn 핀에상승에지의신호가인터럽트를트리거 에지트리거로사용되는인터럽트신호의최소신호폭은 50ns 이상이어야함. 17

18 7.3 ATmega128 의인터럽트처리 인터럽트처리메카니즘 인터럽트가발생하였을때 MCU 내부에서의동작 현재명령어의수행을마침 스택에 PC를저장 현재인터럽트상태를내부적으로저장 다른인터럽트가받아들여지지는않는다. 즉, 블록킹됨 ISR의벡터주소가 PC에적재됨 ISR이수행 ISR 은인터럽트로복귀 (RETI) 명령어로끝나게된다. 이명령으로인해스택으로부터 PC 의이전값과인터럽트상태의이전값을되찾게되어, 주프로그램의수행이중단되었던곳부터다시계속수행함. 18

19 7.3 ATmega128 의인터럽트처리 ATmega 128 의인터럽트처리메카니즘 ATmega128 에서의인터럽트처리는정해진우선순위에의해처리 ATmega128 에서는여러인터럽트기동시에발생하였을때우선순위가높은인터럽트가먼저처리되고, 이우선순위는변경이불가능 인터럽트가발생하면인터럽트에해당하는플래그비트가세트, 이플래그비트에의해인터럽트가요청, 전체인터럽트허가비트 I 와해당인터럽트허가비트가모두 1 로설정되어있으면, 인터럽트가요청되어인터럽트벡터의주소를찾아가인터럽트서비스루틴 (ISR) 을수행하게됨 ISR 이수행되고있을때, ATmega128 은자동적으로전체인터럽트허가비트 (SREG 의 I 비트 ) 를클리어모든인터럽트의발생을금지서비스루틴의종료와함께인터럽트를허용 ATmega128 이 RETI 명령에의하여 ISR 의실행을마치고주프로그램으로복귀하는데에도 4 클럭사이클이소요된다. 이시간동안에 PC 의값이스택으로부터복구됨 19

20 7.4 Code Vision 을이용한 ISR 의작성 ISR 의작성 인터럽트의서비스는벡터주소라는교유번지에서시작 인터럽트벡터에는인터럽트기능을서비스하기위한프로그램이위치해있어야함 인터럽트서비스루틴이호출되기위해서는 C 언어에서인터럽트서비스루틴이올바르게선언되어있어야한다. 인터럽트서비스루틴의선언 : interrupt [n] void int_func_name (void) 타이머 0 의오버플로우인터럽트에대한인터럽트서비스루틴의작성예 // Called automatically on TIMER0 overflow unsigned int interrupt_cnt; unsigned char second; interrupt [18] void timer0_overflow(void) if (++interrupt_cnt == 4000) // count to 4000 second++; // second counter Interrupt_cnt = 0; // clear int counter 20

21 7.4 Code Vision 을이용한 ISR 의작성 인터럽트의허가및금지방법 인터럽트를사용하려면전체인터럽트허가비트 (SREG의 I 비트 ) 를 1로설정 SREG의 I를이용하여전체인터럽트를허가함. SREG = 0x80; // SREG의 7비트를 1로설정하여전체인터럽트를허가함 어셈블리명령어를이용하여인터럽트를허가하고금지하는방법 sei와 cli의명령어를사용 #asm("sei"); // 전체인터럽트허가 #asm("cli"); // 전체인터럽트금지 #define 전처리기를이용하여 C 언어함수로구현하는방법 <mega162.h> 에포함하여사용 #define sei() (#asm("sei")) #define cli() (#asm("cli")) 21

22 7.5 인터럽트를이용한실험 ISR 의초기화과정 EIMSK 레지스터의비트설정을통한사용하고자하는인터럽트의허가 EICRA 레지스터의비트설정을통한인터럽트트리거방식설정 SREG의 I 비트의설정을통한전체인터럽트를허가 예 ) 외부 INT0 핀의신호가하강에지에의해인터럽트를발생하도록초기화하는과정 void Interrupt_init(void) EIMSK = 0x01; // INT0 비트설정 ( 외부인터럽트0 허가 ) EICRA = 0x02; // ISC01 =1, ISC00=1( 외부인터럽트 0 하강에지비동기트리거 ) sei(); // 전체인터럽트허가 22

23 7.5 인터럽트를이용한실험 EICRA 레지스터는그림과같은비트구성을가지고있으므로각비트명에대해다음과같이선언 #define ISC00 0 #define ISC01 1 #define ISC10 2 #define ISC ISC01 비트만 1로설정하기위한과정 왼쪽시프트연산자 << 를사용 1<<ISC01 ISC01은 1이므로 1<<1 // 0b 을 1비트시프트 0b 최종적으로 MCUCR의 ISC01 비트가세트됨 23

24 7.5 인터럽트를이용한실험 EICRA 레지스터의 ISC01 과 ISC00 을세트하는프로그램 EICRA = 1<<ISC01 1<<ISC00; 이상의비트제어를통해인터럽트초기화함수 Interrupt_init() 의프로그램을재작성 void Interrupt_init(void) EIMSK = 0x01; EICRA = 1<<ISC01 1<<ISC00; sei(); 24

25 7.5 인터럽트를이용한실험 예제 7-1: 폴링방식의프로그램과인터럽트프로그램의차이점 PORTB 의스위치의신호를계수하여 PORTB 의 LED 에카운트된값을출력하는프로그램작성 #include <mega128.h> #include <delay.h> Byte count, change; bit key7; Byte Exch(void) while(1) key7 = PINB.7; if(key7 == 0) count++; delay_ms(1000); return 1; void main(void) // count 변수의선언및초기화 Count = 0; ex = 0; // 포트 B 의상위니블을입력, 하위니블을출력으로설정 // 포트 B 의 LED 를모두 OFF DDRB = 0x0f; PORTB = 0x0f; while(1) key7 = PINB.7; if(change == 0 && key7 == 1) change = Exch(); if(change == 1 && key7 == 1) change = 0; PORTB = ~(count&0x0f); If(count>= 15) count = 0; 25

26 7.5 인터럽트를이용한실험 26

27 7.5 인터럽트를이용한실험 예제 7-2: 외부인터럽트 0 서비스루틴의작성 - 외부인터럽트실험회로 - 27

28 7.5 인터럽트를이용한실험 PORTB 에연결된스위치대신에 INT0 핀에연결된스위치의입력을계수하여 PORTB 의 LED 에출력하는프로그램작성 #include <mega128.h> #include <delay.h> Byte count; void main(void) DDRB = 0x0f; DDRD = 0x00; interrupt [EXT_INT0] void ext_int0(void) count++; void Interrupt_init(void) EIMSK = 0x01; EICRA = 1<<ISC01 1<<ISC00; sei(); count = 0; Interrupt_init(); while(1) PORTB = ~count; if(count >= 15) count = 0; 28

29 7.5 인터럽트를이용한실험 EIMSK = 0x01; EICRA = 1<<ISC01 1<<ISC00; SREG = 0x80; DDRB=0x0f; DDRD=0x00; Count=0; 29

30 7.5 인터럽트를이용한실험 예제 7-3: 외부인터럽트 0 서비스루틴의작성 ( 인터럽트모드의변경 ) 회로에서 INT0 핀에 Low 신호가입력되면 PORTB 포트에연결되어있는모든 LED 를켜고, 인터럽트가해제되면 LED 는 off 상태를그대로유지하는프로그램작성 #include <mega128.h> #include <delay.h> bit exchange; interrupt [EXT_INT0] void ext_int0(void) exchange = ~exchange; void main(void) DDRB = 0x0f; DDRD = 0x00; Interrupt_init(); PORTB = 0x0f; exchange = 0; void Interrupt_init(void) EIMSK = 0x01; EICRA = 1<<ISC01 1<<ISC00; sei(); while(1) if(exchange) PORTB = 0x00; else PORTB = 0x0f; 30

31 7.5 인터럽트를이용한실험 예제 7-4: 외부인터럽트 0 의활용 LED 가처음에는시프트동작을수행하고있다. 이상황에서외부 INT0 키가눌릴때마다반대의순서로 LED 점등하도록하는프로그램작성 #include <mega128.h> #include <delay.h> bit Direction; interrupt [EXT_INT0] void ext_int0(void) Direction = ~Direction; void PB_LShift(void) int i; Byte Temp; Temp = 0xfe; for(i=0; i<4;i++) delay_ms(500); PORTB = Temp; Temp = (Temp<<1) 0x01; void PB_RShift(void) int i; Byte Temp; Temp = 0xef; for(i = 0; i < 4; i++) delay_ms(500); Temp = (Temp >> 1); PORTB = Temp; void Interrupt_init(void) EIMSK = 0x01; EICRA = 1<<ISC01 1<<ISC00; sei(); void main(void) DDRB = 0x0F; DDRD = 0x00; Interrupt_init(); PORTB = 0x0f; Direction = 0; while(1) if(direction) PB_RShift(); else PB_LShift(); 31

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D> 7 장. 인터럽트의동작 한국산업기술대학교 이응혁 ehlee@kpu.ac.kr WWW.ROBOTICSLAB.CO.KR 1 7.1 인터럽트 (Interrupt) 개요 인터럽트개념 프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생 비동기적으로처리 다른프로그램이수행되는동안여러개의사건을처리할수있는메커니즘 인터럽트가발생하면마이크로컨트롤러는현재수행중인프로그램을일시중단하고,

More information

AVR Atmega128

AVR Atmega128 AVR Atmega128 외부인터럽트 중원대학교최재영 인터럽트와폴링 MCU 에서입력을받아들이는방법은폴링방식과인터럽트방식이있음 - 폴링 (Polling) 방식 : 사용자의명령어에의해서하드웨어의변경사항을주기적으로읽어들이는방식 주기적으로하드웨어의변화를체크하기때문에사용자의프로그래밍에따라다양핚변화에대응이가능하지만 CPU 의점유율이높기때문에반응속도가느리다. 인터럽트 (Interrupt)

More information

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고 CHAPTER 7 인터럽트 가. 레지스터구조이해하기 나. 엔코더제어하기 인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고급한일을처리한후에본래의일을다시수행하는것을말한다.

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

ATmega128

ATmega128 ATmega128 외부인터럽트실습 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 외부인터럽트실험 외부인터럽트를사용하기위해관렦레지스터를설정 일반적으로 I/O 포트에대한설정이끝난후에외부인터럽트나타이머 / 카운터설정 PE4~7 번까지 4 개의외부인터럽트 INT4~INT7 까지사용 외부인터럽트사용법요약

More information

슬라이드 1

슬라이드 1 AVR(Atmega128) Interrupt 1 Interrupt Polling 사용자가명령어를사용하여입력핀의값을계속읽어서변화를알아냄 모든경우의입력또는값의변화에대응하여처리가가능 Interrupt MCU 자체가하드웨어적으로그변화를체크하여변화시에만일정한동작 하드웨어적으로지원되는몇개의입력또는값의변화에만대응처리가가능 처리속도는일반적인경우인터럽트가빠름 인터럽트발생시

More information

Microsoft PowerPoint - 08-MP-4-interrupt

Microsoft PowerPoint - 08-MP-4-interrupt 순천향대학교컴퓨터학부이상정 1 학습내용 인터럽트기본 ATmega128 인터럽트벡터외부인터럽트인터페이스외부인터럽트프로그램예 순천향대학교컴퓨터학부이상정 2 인터럽트기본 순천향대학교컴퓨터학부이상정 3 인터럽트개념 CPU 내부또는외부의요구에의해서정상적인프로그램의실행순서를변경하여보다시급한작업 ( 인터럽트서비스루틴 ) 을먼저수행한후에다시원래의프로그램으로복귀하는것 인터럽트는주변장치의서비스요청에

More information

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드]

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드] Chapter. 5 인터럽트 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. 폴링과인터럽트그리고인터럽트서비스루틴 2. ATMega128 인터럽트 3. 인터럽트로 LED 점멸시키기 4. 인터럽트로스톱워치만들기 인터럽트 1. 폴링과인터럽트그리고인터럽트서비스루틴 2. ATMega128 인터럽트 3. 인터럽트로 LED 점멸시키기 4. 인터럽트로스톱워치만들기

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2

인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2 ATmega128 인터럽트 1 제 04 강 인터럽트 (Interrupt) 인터럽트개요외부인터럽트참고 ) FND 회로실습및과제 인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2 인터럽트 ( 계속 ) ATmega128 인터럽트 3 * 인터럽트벡터 (P.104 표 7.1 참조 ) : 35 개 인터럽트 ( 계속 ) * 인터럽트허용 / 금지메커니즘 ATmega128

More information

<BDC7C7E83520BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83520BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #5 예비보고서 Interrupt 제어 실험목적 - Interrupt에대한기초지식을알아본다. - Atmega128의 Interrupt를사용해보고, 동작방식과동작방법및특징을확인한다. 실험장비 - ATmega128(AVR Chip), Switch, LED(Green-LED) 실험이론 - 인터럽트 (Interrupt) 인터럽트는프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생을말한다.

More information

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역 Section 03 인터럽트활성화와인터럽트서비스루틴연결 33/82 Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역인터럽트활성화비트가 1 로셋되었을때

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR IMC-V0.1 예제소스파일 1. UART 소스코드 (page 1-3) 2. Encoder 소스코드 (page 4-7) 3. ADC 소스코드 (page 8-10) UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729> 2주차 ATmega128의내부구조및퓨즈비트설정 Next-Generation Networks Lab. 4. ATmega128의클럭시스템과배분 시스템클럭 마이크로컨트롤러동작의기준이되는클럭의주파수 AVR은시스템클럭을내부모듈별로독립적으로배분하여제어 슬립 (Sleep) 모드를활용하여내부모듈별로클럭차단이가능하여전력소모관리 퓨즈비트를통해다양한클럭소스선택가능 클럭배분 (

More information

정보보안 개론과 실습:네트워크

정보보안 개론과 실습:네트워크 ` 마이크로프로세서설계및실습 2 주차강의자료 2/31 Contents 학습목표 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서특수레지스터, 범용레지스터의역할을이해할수있다. ATmega128 내부에포함된명령어인출과실행절차를알아보고, 명령어유형을통해동작을이해할수있다. 내용

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

정보보안 개론과 실습:네트워크

정보보안 개론과 실습:네트워크 ` 마이크로프로세서설계및실습 12-13 주차강의자료 학습목표 A/D 변환기의제어방법을이해한다 능숙하게 A/D 변환기를제어할수있도록반복실습한다 2/28 아날로그 - 디지털변환회로 아날로그 - 디지털변환회로 (A/D 변환회로 ) 는, 아날로그전기신호를디지털전기신호로변환하는전자회로이다 A/D 컨버터 (ADC: Analog-to-digital converter) 라고도불린다

More information

2주차: 입출력 제어 복습

2주차: 입출력 제어 복습 마이크로프로세서 응용및실습 ` 13-14 주차 : 직렬통신 (2) 한철수 전자공학과 2/35 직렬통신과병렬통신 직렬통신 한가닥의선으로송수신할데이터를차례대로전송하는방식 장점 : 통신선로가적기때문에경제적임 단점 : 전송속도가느림. 송수신약속이복잡해짐 병렬통신 여러가닥의선으로동시에여러개의데이터를전송하는방식 장점 : 전송속도가빠름 단점 : 직렬통신보다비쌈 3/35

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr) 1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습 1 통신 관련이야기 동기

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

[8051] 강의자료.PDF

[8051] 강의자료.PDF CY AC F0 RS1 RS0 OV - P 0xFF 0x80 0x7F 0x30 0x2F 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00 0x0000 0x0FFF 0x1000 0xFFFF 0x0000 0xFFFF RAM SFR SMOD - - - GF1 GF0 PD IDL 31 19 18 9 12 13 14 15 1 2 3 4

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729> 1주차 ATmega128의구조와메모리 Next-Generation Networks Lab. 1. ATmega128의특징 고성능, 저전력의 8 비트마이크로컨트롤러 진보된 RISC 구조 대부분단일클럭에서실행되는강력한 133개의명령어구조 16MHz에서거의 16MIPS로동작 32개의 8 bit 범용작업레지스터와추가된주변장치제어레지스터 2 사이클내에서수행되는강력한곱셈기내장

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터

HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터 HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터 타이머와카운터 1. 클럭과카운터 2. ATMega128 의타이머 / 카운터 3. 8 비트타이머 / 카운터의일반동작모드 4. 타이머로 LED 점멸시키기 5. 타이머로디지털시계만들기 타이머 / 카운터 타이머와카운터 정확한시간의측정이필요하다.( 자명종과스톱워치

More information

lecture4(6.범용IO).hwp

lecture4(6.범용IO).hwp 제 2 부 C-언어를 사용한 마이크로컨트롤러 활용기초 66 C-언어는 수학계산을 위해 개발된 FORTRAN 같은 고급언어들과는 달 리 Unix 운영체제를 개발하면서 같이 개발된 고급언어이다. 운영체제의 특성상 C-언어는 다른 고급언어에 비해 컴퓨터의 하드웨어를 직접 제어할 수 있는 능력이 탁월하여 마이크로프로세서의 프로그램에 있어서 어셈블 리와 더불어 가장

More information

Microsoft PowerPoint - Chapter 8_USART Serial Communication

Microsoft PowerPoint - Chapter 8_USART Serial Communication MEC382 마이크로프로세서응용및실습 USART Serial Communication Jee-Hwan Ryu School of Mechanical Engineering 통신방법 병렬통신 고속데이터전송이필요한곳에서이루어짐 여러개의라인에서동시에이루어짐 직렬통신 한라인에서이루어짐 데이터의송수신속도가느리다 라인수적고멀리까지통신 동기식, 비동기식있음 동기식 : 기준클럭인동기클럭라인과데이터송

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부 AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 (slee@wku.ac.kr) 소속 : 원광대학교전기 정보통신공학부 학습목표 2/39 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기위한특수레지스터,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint - ccs33_bios_PRD.ppt [호환 모드]

Microsoft PowerPoint - ccs33_bios_PRD.ppt [호환 모드] 1. CCS3.3 DSP/BIOS PRD(periodic fuction manager) 생성 1. 디렉토리구성.. cmd..dsp2833x_headers.. include.. testprj_2.. testsrc_2 : Linker 컴맨드파일 : Chip관련헤더파일및헤더용 Linker 컴맨드파일 : 사용자인쿠르드파일 : 사용자프로젝트파일및실행파일 (.HEX)

More information

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - polling.pptx 지현석 (binish@home.cnu.ac.kr) http://binish.or.kr Index 이슈화된키보드해킹 최근키보드해킹이슈의배경지식 Interrupt VS polling What is polling? Polling pseudo code Polling 을이용한키로거분석 방어기법연구 이슈화된키보드해킹 키보드해킹은연일상한가! 주식, 펀드투자의시기?! 최근키보드해킹이슈의배경지식

More information

<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63>

<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63> 라인트레이서강좌 4. 프로그래밍 2005년 8월 1일류대우 (davidryu@newtc.co.kr) 1. 라인트레이서란? 라인트레이서는정해진주행선을따라움직이는자율이동로봇이다. 현재공장자동화부분에서이용되고있는무인반송차가라인트레이서이다. 라인트레이서의기본적인원리는주어진주행선을센서로검출하여이것에따라목적위치까지이동하는것이다. 라인트레이서는크게 3부분 - 컨트롤러부,

More information

AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기

AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기 AVR ATmega128 소개 AVR ATmega128 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü 에서메모리공간, I/O 공간의프로그램과데이터를처리하기위한특수레지스터, 범용레지스터의역할을이해할수있다. ü ATmega128 내부에포함된명령어인출과실행절차를알아보고, 명령어유형을통해동작을이해할수있다.

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드]

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드] 1. CCS3.3 DSP/BIOS semaphore 를이용한 COM1 시리얼통신 기존의예제프로그램을바탕으로실제현장에적용가능한 BIOS 프로그램을시작하겠습니다. 이장에서사용할 H/W 는 F28335 내부에있는 UART0 포트를사용해 PC 와 RS-232 통신을 프로세서간동기를맞추는데사용하는 semaphore 를사용해작성해보겠습니다. -Semaphore 란 C

More information

Microsoft PowerPoint - ch01-1 AVR의 특징 및 ATmega128의 내부구조1.pptx

Microsoft PowerPoint - ch01-1 AVR의 특징 및 ATmega128의 내부구조1.pptx 핵심포인트를꽉짚어주는 AVR ATmega128 완전정복 제 1 장 AVR ATmega128 개요 [1/4] AVR 의특징및 ATmega128 의내부구조 1 CHARTER 01- AVR ATmaga128 개요 CHARTER 01 목차 1.1 AVR 이란? 1.2 AVR 의제품종류 1.3 AVR 의어플리케이션 1.4 ATmega128 의특징 1.5 ATmega128

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

2. AVR(ATmega162)의 구조

2. AVR(ATmega162)의 구조 ATmega128 의구조 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 2.1 ATmega AVR 개요 AVR 개요 ATMEL 사에서제작한 RISC 구조의저전력 CMOS 8 비트마이크로컨트롤러 1997 년에처음개발, Alf-Egil Bogen 과 Vegard Wollan 의진보된 RISC

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

// 변수선언 unsigned char i; unsigned char FONT[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xD8, 0x80, 0x98}; //PORTA 를출력으로설정하고초기값은모두 0 PORTA = 0x00; DD

// 변수선언 unsigned char i; unsigned char FONT[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xD8, 0x80, 0x98}; //PORTA 를출력으로설정하고초기값은모두 0 PORTA = 0x00; DD Code Vison AVR C ATmega8535 ATmega8535 제어실습 Chapter 1 I / O 포트제어하기 FND 제어 FND에는 Vcc를이용하는애노드 (anode) 형과 Gnd를이용하는 cathode형이있다. LED가여러개모여있다생각하고 LED선택에따라문자와숫자를만들어낼수있다. 최대한많은영문자를만들기위해대문자와소문자를혼합한다. ( 표현가능한문자

More information

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. D/A 변환기 2. 병렬 D/A 변환기로 LED 밝기제어하기 3. 직렬 D/A 변환기로 LED 밝기제어하기 D/A 변환기 D/A 변환기 (Digital to Analog Converter) 디지털데이터를아날로그전압으로변환하는소자 A/D변환기와함께마이크로프로세서응용회로에서널리사용됨.

More information

AVR-GCC SRAM 에서의변수및상수특별히속성을정하지않고변수를정의하면 SRAM 영역에저장된다. 이것들은외부메모리에저장되는경우에비하여빠르게엑세스할수있다. 축약표현은 <stdio.h> 에정의되어있다. 그러나, <io.h> 를인클루드하면내부적으로 <stdio.h> 파일을자

AVR-GCC SRAM 에서의변수및상수특별히속성을정하지않고변수를정의하면 SRAM 영역에저장된다. 이것들은외부메모리에저장되는경우에비하여빠르게엑세스할수있다. 축약표현은 <stdio.h> 에정의되어있다. 그러나, <io.h> 를인클루드하면내부적으로 <stdio.h> 파일을자 AVR-GCC SRAM 에서의변수및상수특별히속성을정하지않고변수를정의하면 SRAM 영역에저장된다. 이것들은외부메모리에저장되는경우에비하여빠르게엑세스할수있다. 축약표현은 에정의되어있다. 그러나, 를인클루드하면내부적으로 파일을자동인클루드하도록연결되어있다. - AVR-GCC 에서데이터의형및이름축약하여표현방법 일반적인데이터형의표현

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

SAT8-10.hwp

SAT8-10.hwp Dr. Kim ATmega8 Training Kit (SAT8-10) 이란? 현제 Atmega8 마이크로컨트롤러는산업현장에서 MP3 플레이어, DMB 수신기, 로봇등첨단제품에매우많이사용되고있으며, 각종기사시험의실기시험이나졸업작품등에서매우중요한위치를차지하고있다. 하지만학습용키트나모듈등이너무비싸서개인적으로구입하여사용하기가매우힘들었다. 그래서 Dr. Kim Training

More information

M16_32KIT_Manual.hwp

M16_32KIT_Manual.hwp M16/32KIT Mega 16/32 KIT Technical Manual AVRMALL http://www.avrmall.com/ September 20, 2004 Copyright (c) 2003,2004 AVRMALL All Rights Reserved. M16/32KIT Technical Manual September 20, 2004 Page 2 of

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

Microsoft PowerPoint - 부호기와 복호기.PPT

Microsoft PowerPoint - 부호기와 복호기.PPT 논리회로실험부호기와복호기 2005. 5. 3. 부호기와복호기란? 이론실험내용 개요 Encoder & Decoder 서로다른부호간의변환에사용되는것으로디지털신호를압축하거나전송시깨지지않도록바꾸는등여러가지목적에의해부호화라는장치와부호화되어전송되어온신호를다시원래의디지털신호로복호하는장치들을말한다. CODEC(enCOder DECoder) 이라고도한다. 기타 10진 to

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Microsoft PowerPoint - 제3장 GPIO 입출력 제어 (HBE-MCU-Multi AVR)

Microsoft PowerPoint - 제3장 GPIO 입출력 제어 (HBE-MCU-Multi AVR) 한백전자기술연구소 HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR편) 마이크로컨트롤러기능 제 3 장 GPIO 입출력제어 GPIO 입출력제어 1. HBE-MCU-Multi 구동 2. 마이크로컨트롤러와 GPIO 3. AVR 마이크로컨트롤러의입출력포트 4. GPIO 를이용하여 LED 켜기 5. GPIO를이용한스위치눌러 LED 불켜기 6. GPIO 를이용하여

More information

2009년2학기 임베디드시스템 응용

2009년2학기 임베디드시스템 응용 임베디드시스템기초 (#514115 ) #5. Timer A 한림대학교전자공학과이선우 MSP430x4xx 타이머종류 MSP430x4xx series 는다음과같은 3 종의타이머내장 Basic Timer1 Two independent, cascadable 8-bit timers Selectable clock source Interrupt capability LCD

More information

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

Formatvorlage für Arbeitsanweisungen

Formatvorlage für Arbeitsanweisungen Page 1 of 11 비접촉온도측정 근거리온도측정 Small Size High Accuracy 디지털인터페이스 (SPI 프로토콜 ) 제품설명 DTS-M300 은적외선온도센서를기반으로한접촉하지않고원하는대상에온도를정확히측정할수있는온도센서모듈입니다. DTS-M300 은접촉을하지않고원하는물체표면에온도를 1 초이내에정확하게측정할수있는온도센서모듈입니다. DTS-M300

More information

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다. C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project

More information

<BDC7C7E83120B0E1B0FABAB8B0EDBCAD202832C1D6C2F7292E687770>

<BDC7C7E83120B0E1B0FABAB8B0EDBCAD202832C1D6C2F7292E687770> 제목 : 실험 #1 결과보고서 GPIO LED 제어 실험일 : 2013. 03. 12. (2 주차 ) 실험내용 - 예비과제 : ATmega126의 8개의핀에연결되어있는 LED 점멸하는프로그램 - 실험과제 : ATmega126의 8개의 LED를순차적으로켜고끄는프로그램 실험결과 - 예비과제 - 해결방법 : 점멸되는시간 (Delay) 를구현하기위해임의의변수 i를적당한지연시간이생길정도의크기만큼증가시킨후,

More information

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

온라인 IT 교육최강 (  강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 - 2. 중앙처리장치 (Central Processing Unit) 주기억장치에기억된명령을꺼내서해독하고, 시스템전체에지시신호를내는장치명령코드가명령을수행할수있게필요한제어기능을제공제어장치의구성

More information

Microsoft PowerPoint - 9.Serial.pptx

Microsoft PowerPoint - 9.Serial.pptx 8051 Serial 통신 Mode 0 : 동기통신 Mode 123 1,2,3 : 비동기통신 dolicom@naver.com http://blog.naver.com/dolicom /d li 통신시동시에보내는데이터비트수 패럴럴통신 (Parallel) 두지점간데이터시데이터연결수가많다. 8비트를많이사용 LPT(Printer), SCSI(HDD), ATAPI(HDD)

More information

Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드]

Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드] AVR UART 통신 류대우 davidryu@newtc.co.kr 시리얼 (Serial) 통신이란? Serial 통신은하나의신호선을이용해서데이터를비트단위로보내는방식 8 비트비동기식통신콘트롤러 (UART : Universal Asynchronous Receiver Transmitter) 데이터는 LSB 부터 MSB 순으로데이터전송 Serial interface

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Dr.Kim ATmega128 Training Kit (SAT128-300).hwp

Dr.Kim ATmega128 Training Kit (SAT128-300).hwp < 그림 1> Dr.Kim ATmega128 Training Kit 전체 구성도 < 그림 2> Dr.Kim ATmega128 Training Kit -1- 차 례 제 1 장 Dr.Kim ATmega128 Training Kit (SAT128-300) 구성 1. 제품구성 2. ATmega128 특징및구조 제 2 장 Dr.Kim ATmega128 Training

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

<4D F736F F D20C0DBC7B0C6ED5FBDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCAD20B0B3B9DF2E646F63>

<4D F736F F D20C0DBC7B0C6ED5FBDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCAD20B0B3B9DF2E646F63> 테핑라인트레이서개발하기 류대우 (davidryu@newtc.co.kr) 1. 센서보드 적외선센서 1. 적외선센서 (Photo Sensor) 라인트레이서나마이크로마우혹은다른마이크로로봇에서센서로사용하는것중가장많이사용하는것이 photo sensor입니다. 거리의측정에도사용되지만원거리는잘사용하지않고근거리를측정하고자할때사용되기도하며물체의유 / 무등많은곳에서사용되고있습니다.

More information

ATmega128 교재 - 8장 EEPROM.hwp

ATmega128 교재 - 8장 EEPROM.hwp 8.1 EEPROM 과 Flash Memory ATmega128에는프로그램메모리로서 128KB의플래시메모리를내장하고있고데이터메모리로서 4KB의 EEPROM을내장하고있다. EEPROM과플래시메모리는하나의뿌리에서발전해온매우유사한메모리이지만사용방법이서로다르다. 이것들은오늘날독립된메모리소자로서도널리사용되고있으므로충분히알아둘필요가있다. EEPROM(Electrically

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

2009년2학기 임베디드시스템 응용

2009년2학기 임베디드시스템 응용 임베디드시스템기초 (#514115 ) #4. BT1 Review & Real Time Clock 한림대학교전자공학과이선우 MSP430x4xx 타이머종류 MSP430x4xx series 는다음과같은 3 종의타이머내장 Basic Timer1 Two independent, cascadable 8-bit timers Selectable clock source Interrupt

More information

2009년2학기 임베디드시스템 응용

2009년2학기 임베디드시스템 응용 임베디드시스템기초 (#514115 ) #2. GPIO & Matrix Keypad 한림대학교전자공학과이선우 Short Review #1 General Purpose Input Output (GPIO) Output port Input port Switch 사용방법 2 General Purpose Input Output(GPIO) port 모든 MCU의가장기본적이고중요한주변장치

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:

More information

가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을

가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을 CHAPTER 5 도트매트릭스제어하기 가. 도트매트릭스제어하기 가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을이용한다. 이 IC에는 8개의

More information

Page 2 of 21 Absolute Maximum Ratings Absolute Maximum Rating 값을초과하는조건에서 DTPML을동작시킬경우치명적인손상을 가할수있습니다. Parameter Symbol Conditions min Typ Max Unit Sup

Page 2 of 21 Absolute Maximum Ratings Absolute Maximum Rating 값을초과하는조건에서 DTPML을동작시킬경우치명적인손상을 가할수있습니다. Parameter Symbol Conditions min Typ Max Unit Sup Page 1 of 21 비접촉온도측정 방사율조절가능 빠른온도업데이트 (50Hz) 원거리온도측정 High Accuracy Digital Interface : SPI 레이저포인터기본장착 제품설명 DTPML-SPI Series는접촉을하지않고원하는물체표면의온도를 20ms 이내에정확하게측정할수있는온도센서모듈입니다.

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

Microsoft Word - PEB08_USER_GUIDE.doc

Microsoft Word - PEB08_USER_GUIDE.doc 0. PEB08 이란? PEB08(PIC EVALUATION BOARD 8bits) 은 Microchip 8bit Device 개발을쉽고편리하게할수있는보드입니다. 1. 다양한 8bit Device 지원 기존대부분의 8bit 보드의경우일부 Pin-Count만지원을하였지만, PEB08은 PIC10, PIC12, PIC16, PIC18의 DIP Type Package의모든

More information

MPLAB C18 C

MPLAB C18 C MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C

More information

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M 중앙처리장치 (CPU: Central Process Unit) 1) 제어장치 (Control Unit) 컴퓨터시스템의모든장치들에게동작을지시하고제어하는장치로주기억장치에서읽어온명령어를해독하고해당장치에게제어신호를보낸다. 구성회로 : 부호기, 명령해독기, 번지해독기 구성레지스터 : PC( 프로그램카운터 ), IR( 명령어레지스터 ) 부호기 ( 제어신호발생기 ) 해독한명령어에따라서해당장치로보낼제어신호를생성하는회로

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

Microsoft Word - PIC16x_Section20_Comparator_31020a.doc

Microsoft Word - PIC16x_Section20_Comparator_31020a.doc Section 20. 비교기 (Comparator) 하이라이트 (HIGHLIGHTS) 메뉴얼의이번섹션은다음의주요주제를다룹니다 : 20.1 소개... 20-2 20.2 제어 (Control) 레지스터. 20-3 20.3 비교기설정... 20-4 20.4 비교기운영... 20-6 20.5 비교기레퍼런스... 20-6 20.6 비교기응답시간... 20-8 20.7

More information

Computer Architecture

Computer Architecture CPU 의구조와기능 CPU 의기본구조 명령어실행과실행사이클 명령어파이프라이닝 CPU 의기능 2 명령어인출 (Instruction Fetch) 기억장치로부터명령어읽기 명령어해독 (Instruction Decode) 수행해야할동작을결정하기위하여명령어를해독 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) 명령어실행에필요한데이터를기억장치혹은 I/O

More information

Formatvorlage für Arbeitsanweisungen

Formatvorlage für Arbeitsanweisungen Page 1 of 12 비접촉온도측정 원거리온도측정 Small Size High Accuracy 디지털인터페이스 (SPI 프로토콜 ) 제품설명 DTS-L300 은적외선온도센서를기반으로한접촉하지않고원하는대상에온도를정확히측정할수있는온도센서모듈입니다. DTS-L300 은접촉을하지않고원하는물체표면에온도를 1 초이내에정확하게측정할수있는온도센서모듈입니다. DTS-L300

More information

Microsoft PowerPoint - avr_lecture1.ppt

Microsoft PowerPoint - avr_lecture1.ppt 임베디드마이크로프로세서 프로그래밍실전 제작 : 네로테크 강의 : 김종형 AVR 개요및개발환경구축 1. AVR 개요및특징 2. AVR 개발환경구축 -2- 1-1 AVR 의개요 AVR [ Alf(Bogen) Vergard(Wollen) Risc ] 이란? ATMEL 사에서제작된 RISC(Reduced Instruction Set Computer) 구조의저전력 CMOS

More information

목차 1. A/D 컨버터개요 2. ATMega128 의 A/D 컨버터기능 3. A/D 컨버터로광센서읽기

목차 1. A/D 컨버터개요 2. ATMega128 의 A/D 컨버터기능 3. A/D 컨버터로광센서읽기 Chapter. 9 A/D 컨버터 HBE-MCU-Multi AVR Jaeheug, Lee 목차 1. A/D 컨버터개요 2. ATMega128 의 A/D 컨버터기능 3. A/D 컨버터로광센서읽기 A/D 컨버터개요 A/D 컨버터 (Aalog-to-Digital Coverter) 아날로그신호를컴퓨터가읽을수있는병렬또는직렬의디지털데이터로변환하여주는장치 측정하려는아날로그물리량의범위및시스템의응용목적에따라분해능이나정밀도가적합한것을사용.

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

CAN 통신

CAN 통신 CAN 통신 2008 년 4 월 2 일에이스트로닉스 양은숙 목차 CAN 통신이란 CAN 통신특징 CAN 통신규격 CAN 통신응용범위 AT90CAN128 의특징 AT90CAN128 의회로구조 CAN Controller 의구조 AT90CAN128 의 CAN Register Source 예제 1. CAN 통신이란 1988년 Bosch와 Intel에서개발된차량용네트워크시스템.

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

DTS-L300-V2 Specification Page 1 of 14 비접촉온도측정 원거리온도측정 High Accuracy Digital Interface : SPI Arduino UNO 예제코드제공 제품설명 DTS-L300-V2는접촉을하지않고원하는물체표면에온도를 50

DTS-L300-V2 Specification Page 1 of 14 비접촉온도측정 원거리온도측정 High Accuracy Digital Interface : SPI Arduino UNO 예제코드제공 제품설명 DTS-L300-V2는접촉을하지않고원하는물체표면에온도를 50 Page 1 of 14 비접촉온도측정 원거리온도측정 High Accuracy Digital Interface : SPI Arduino UNO 예제코드제공 제품설명 DTS-L300-V2는접촉을하지않고원하는물체표면에온도를 500ms 이내에정확하게측정할수있는온도센서모듈입니다. DTS-L300-V2는온도계산프로세서를내장하고있어정확한온도값을출력합니다. (Master

More information