<BDC7C7E83120B0E1B0FABAB8B0EDBCAD202832C1D6C2F7292E687770>

Size: px
Start display at page:

Download "<BDC7C7E83120B0E1B0FABAB8B0EDBCAD202832C1D6C2F7292E687770>"

Transcription

1 제목 : 실험 #1 결과보고서 GPIO LED 제어 실험일 : (2 주차 ) 실험내용 - 예비과제 : ATmega126의 8개의핀에연결되어있는 LED 점멸하는프로그램 - 실험과제 : ATmega126의 8개의 LED를순차적으로켜고끄는프로그램 실험결과 - 예비과제 - 해결방법 : 점멸되는시간 (Delay) 를구현하기위해임의의변수 i를적당한지연시간이생길정도의크기만큼증가시킨후, 해당크기가되면 LED로의출력값을반전시켜점멸효과구현. : 어셈블리코드에서는각레지스터는 1바이트, 0~255까지만을카운트할수있기때문에디지털시스템실험과목에서배운분주기를응용하여레지스터세개를사용해최대 3바이트크기를카운트할수있는코드를작성했다. : 단, 시뮬레이션에서는 PortB와모든 LED가연결되었음을가정하고작성하였지만, 실제실험킷에서는각포트와 LED가 PortB(7~4:7~4), D(3~2:5~4), E(1~0:3~2) 로나뉘어연결되어있어 LED 출력부의소스코드를수정해야했다. 또, LED회로의전류방향이예제와는반대로연결되어있어출력값역시반대로변경했다. 즉, 기존예제의 1=ON, 0=OFF가아닌 1=OFF, 0=ON이된다. : 또한, PortE3는킷의다른회로와연결되어있어제대로동작하지않았는데, 점퍼 (JP13) 설정을바꿔해당회로와의연결을끊어주었다. 또 PortE2는 Piezo 소자와연결되어점멸시비프음이발생하였기에역시점퍼 (JP11) 연결을끊어주었다. - PE3 과 JP13 을통해연결된소자 - - PE2 와 JP11 을통해 Piezo 와연결됨 -

2 - 결과 : 약 1초마다모든 LED가동시에켜졌다가동시에꺼지는동작을확인함. - 소스코드 C 언어소스코드 #include <avr/io.h> int main(void) { unsigned char LED_ON = 0x00; unsigned long i = 0; DDRB = 0B ; DDRD = 0B ; DDRE = 0B ; while(1) { if(i > 55000) { LED_ON ^= 0XFF; i = 0; PORTB = LED_ON & 0b ; PORTD = (LED_ON & 0b ) << 2; PORTE = (LED_ON & 0b ) << 2; i++; 어셈블리어소스코드.include "m128def.inc" LED 의출력값. ON 으로초기화한다. 딜레이카운트를위한변수. PortB 의 7~4 를출력으로사용하도록한다. PortD 의 5~4 를출력으로사용하도록한다. PortE 의 3~2 를출력으로사용하도록한다. PortB 를초기화한다. PortD 를초기화한다. PortE 를초기화한다. 프로그램종료없이계속반복실행한다. i 가적당히증가하여시간이지연되면이전 LED 출력값을반전시킨후 i 를 0 으로초기화해다시카운트한다. 각포트에맞는값을뽑아내출력한다. PortD 와 E 는출력할핀이출력값보다 2 자리앞에존재하기때문에왼쪽으로두번시프트한다. 그후, 딜레이계산을위해 i 를증가시킨다..def AH=R17.def AL=R16.def CNTA=R20.def CNTB=R19.def CNTC=R18.def CNTH=R21.def LED_ON=R22.cseg.org 0x000 LDI AH, high(ramend) LDI AL, low(ramend) OUT SPH, AH OUT SPL, AL LDI AL, 0B OUT DDRB, AL LDI AL, 0B OUT DDRD, AL LDI AL, 0B R17 레지스터를 AH 로매핑한다. R16 레지스터를 AL 로매핑한다. 딜레이카운트 (2~0 중 2) 를위한레지스터. 딜레이카운트 (2~0 중 1) 를위한레지스터. 딜레이카운트 (2~0 중 0) 를위한레지스터. 딜레이카운트의비교값을저장하기위한레지스터. LED 출력값을저장하기위한레지스터. 프로그램의시작점프로그램메모리의 0x0 번지에서부터코드를시작한다. 현재프로그램의스택을설정한다. LED 와연결된각포트의출력위치를설정한다.

3 OUT DDRE, AL LOOP: LDI CNTH, 0B LDI AL, 0B LDI AH, 0B LDI LED_ON, 0XFF ANDI R23, 0B OUT PORTB, R23 ANDI R23, 0B OUT PORTD, R23 ANDI R23, 0B OUT PORTE, R23 ADD CNTC, AH ADD CNTB, AH INC CNTA CP CNTA, CNTH BRNE LOOP EOR LED_ON, AL JMP LOOP 딜레이카운터를초기화한다. 딜레이는 255 * 255 * 3, 즉 3 비트가필요하기때문에세개의레지스터를사용한다. 카운터의비교값을설정한다. (0B = 3) 이후 AL 은출력반전을위한피연산자로이용된다. 이후 AH 는 1 증가 ADD 연산의피연산자로이용된다. LED 의초기출력값을 OFF 로설정한다. 반복문을위한레이블현재 LED 출력값을임시레지스터에복사한다. 해당포트에출력할값만을선택한다. 해당포트에출력한다. PortD 와 E 는각각출력할포트와출력값이두자리만큼차이나기때문에왼쪽으로두번시프트한뒤출력한다. 딜레이카운터를증가시킨다. 레지스터의최대값 (255) 를넘을경우캐리가발생하기때문에 LOOP 로돌아가지않고다음코드를실행하여다음레지스터를증가시킨다. 마찬가지로두번째레지스터도캐리가발생할경우카운터의최상위값을저장한레지스터를증가시키고, 그값이 CNTH 와같을때까지반복 ( 현재설정은 3 회 ) 한다. CNTA 와 CNTH 가같을경우 LED 출력값을반전시키고카운터를초기화한다. LOOP 로돌아가반복실행한다. - 실험과제 - 해결방법 : 동작을켜질때 8단계, 꺼질때 8단계, 총 16단계로구분하는변수를두고, 켜는동작은단순히왼쪽시프트연산의결과로최하위부터 0이채워지는원리를이용해켜도록만들고, 끄는동작시엔오른쪽시프트로밀려나생긴최상위비트의자리에 OR연산을통해 1을채우는코드를작성하여하나씩끄도록만들었다. - 결과 : 약 0.5초마다 LED가하나씩켜졌다가모두다켜진후다시꺼지는동작을확인함.

4 - 소스코드 C 언어소스코드 #include <avr/io.h> int main(void) { unsigned char LED_ON = 0xFF; unsigned int i = 0, j = 0; DDRB = 0B ; DDRD = 0B ; DDRE = 0B ; PORTD = 0XFF; PORTE = 0XFF; while(1) { if(i > 55000) { j = j % 16; if (j < 8) LED_ON = LED_ON << 0x1; else LED_ON = (LED_ON >> 0x1) 0b ; i = 0; j++; PORTB = LED_ON & 0b ; PORTD = (LED_ON & 0b ) << 0x2; PORTE = (LED_ON & 0b ) << 0x2; i++; 어셈블리어소스코드.include "m128def.inc" LED 의출력값. OFF 로초기화한다. i = 딜레이카운트를위한변수. j = LED 동작구분을위한변수. PortB 의 7~4 를출력으로사용하도록한다. PortD 의 5~4 를출력으로사용하도록한다. PortE 의 3~2 를출력으로사용하도록한다. PortB 를초기화한다. PortD 를초기화한다. PortE 를초기화한다. 프로그램종료없이계속반복실행한다. i 가증가하여시간이지연되면다음코드실행 j 를 0~15 사이의값으로고정 j 가 0~7 사이의값이라면 LED 를하나씩켠다. ( 왼쪽시프트시최하위는 0 으로채워지기때문 ) j 가 8~15 사이의값이라면 LED 를하나씩끈다. 이전값을오른쪽시프트로밀어내고최상위비트를 1 로채운다. 그후, 카운터를초기화하고켜지거나꺼진횟수 (j) 를증가시킨다. 각포트에맞는값을뽑아내출력한다. PortD 와 E 는출력할핀이출력값보다 2 자리앞에존재하기때문에왼쪽으로두번시프트한다. 그후, 딜레이계산을위해 i 를증가시킨다..def AH=R17.def AL=R16.def CNTA=R20.def CNTB=R19.def CNTC=R18.def CNTH=R21.def LED_ON=R22.def ON_OFF=R23.cseg.org 0x000 LDI AH, high(ramend) LDI AL, low(ramend) R17 레지스터를 AH 로매핑한다. R16 레지스터를 AL 로매핑한다. 딜레이카운트 (2~0 중 2) 를위한레지스터. 딜레이카운트 (2~0 중 1) 를위한레지스터. 딜레이카운트 (2~0 중 0) 를위한레지스터. 딜레이카운트의비교값을저장하기위한레지스터. LED 출력값을저장하기위한레지스터. 현재동작을구분하기위한레지스터 (1: 켜기, 0: 끄기 ) 프로그램의시작점프로그램메모리의 0x0 번지에서부터코드를시작한다. 현재프로그램의스택을설정한다. OUT SPH, AH OUT SPL, AL LDI AL, 0B LED 와연결된각포트의출력위치를설정한다.

5 OUT DDRB, AL LDI AL, 0B OUT DDRD, AL LDI AL, 0B OUT DDRE, AL LOOP: LDI CNTH, 0X07 LDI AH, 0X1 LDI LED_ON, 0XFF MOV ON_OFF, AH ADD CNTC, AH ADD CNTB, AH INC CNTA CP CNTA, CNTH BRNE LOOP CP ON_OFF, AH BRNE LEDOFF 딜레이카운터를초기화한다. 딜레이는 255 * 255 * 3, 즉 3 비트가필요하기때문에세개의레지스터를사용한다. 카운터의비교값을설정한다. (0X07 = 7) 이후 AH 는 1 증가 ADD 연산의피연산자로이용된다. LED 의초기출력값을 OFF 로설정한다. 회로의초기동작을 LED 켜기로설정한다. 반복문을위한레이블딜레이카운터를증가시킨다. 레지스터의최대값 (255) 를넘을경우캐리가발생하기때문에 LOOP 로돌아가지않고다음코드를실행하여다음레지스터를증가시킨다. 마찬가지로두번째레지스터도캐리가발생할경우카운터의최상위값을저장한레지스터를증가시키고, 그값이 CNTH 와같을때까지반복 ( 현재설정은 3 회 ) 한다. CNTA 와 CNTH 가같을경우다음코드를실행한다. 현재동작이 ON 인지 OFF 인지에따라해당동작을처리하는코드로분기한다. LEDON: MOV ON_OFF, AH LSL LED_ON BRCS LEDCTR DEC ON_OFF LEDOFF: LSR LED_ON ORI LED_ON, 0B BRCS LEDON LEDCTR: MOV AL, LED_ON ANDI AL, 0B OUT PORTB, LED_ON MOV AL, LED_ON LSL AL LSL AL MOV R24, AL ANDI R24, 0B OUT PORTD, R24 ANDI AL, 0B OUT PORTE, AL JMP LOOP LED 를하나씩켜는코드현재동작을 ON 으로설정한다. LED 출력값을왼쪽으로시프트한다. 꺼진상태에서는시프트시 1 이캐리로옮겨지지만모두켜지면최상위가 0 이므로캐리가발생하지않는다. LED 가모두다켜진게아니라면해당값을출력하는코드로분기한다. 모두켜졌을시동작을 OFF(0) 으로설정한다. LED 를하나씩끄는코드 LED 출력값을오른쪽으로시프트한다. 최상위비트를 1 로채운다. (LED 를끈다 ) 켜진상태에서는오른쪽시프트시 0 이캐리로옮겨지지만모두꺼지면최하위가 1 이므로캐리가발생한다. LED 가모두꺼졌다면다시 LED 를켜는코드로분기한다. LED 출력을처리하는코드카운터를초기화한다. 출력값을임시로 AL 에복사한다. 해당포트에출력할값만을선택한다. 해당포트에출력한다. PortD 와 E 는각각출력할포트와출력값이두자리만큼차이나기때문에왼쪽으로두번시프트한다. AL 을유지하기위해임시로 24 번레지스터에복사한뒤출력을처리한다. LOOP 로돌아가반복실행한다. 실험후느낀점 - 이번학기엔 ToastProg를사용해 AVR에프로그램을다운로드하는것으로알았지만, ToastProg와 ISP케이블의호환문제인지제대로동작하지않아한참헤메게되었다. 하지만예비조사과정에서알게된 AVRStudio에도다운로드프로그램이내장되어있다는걸기억해내고, 무사히실험을진행할수있어다행이었다. 또한예비리포트의중요성을깨닳게되었다. - LED를조작하는단순한동작을위해, 실험킷과 AVR의회로도를뒤져가며핀매핑과점퍼세팅, LED연결정보등찾아보는과정에서, 킷의전체회로가아니라킷내의각소자들의연결점만나와있어약간의어려움을겪었다. 하지만이번실험으로조금익숙해져다음실험에서는크게문제되지않을것이다.

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770>

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770> 제목 : 실험 #2 결과보고서 외부 LED & Dip 스위치제어 실험일 : 2013. 03. 19. (3 주차 ) 실험내용 - 예비과제 : 메모리맵드 IO를통해 Dip 스위치의값을읽고, On 상태의스위치가하나이상있다면외부 LED를점멸하는프로그램 - 실험과제 : 메모리맵드 IO를통해 Dip 스위치의값을읽고, Dip 스위치의조작을통한사칙연산결과를 LED를통해출력하는프로그램.

More information

<BDC7C7E83120BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83120BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #1 예비보고서 GPIO LED 제어 실험목적 - AVR에대한기본적인구조및툴사용법, 프로그래밍방법등을학습한다. - AVR과연결된 LED를제어하는프로그램작성을통해 AVR의각포트별쓰임새와사용법을학습한다. 실험장비 - ATmega128(AVR Chip), LED(Blue-LED, Green-LED) 실험이론 - AVR Studio 4 ATmega128의제조사인

More information

ATmega128

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

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

<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

< 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

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

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

<BDC7C7E83520BFB9BAF1BAB8B0EDBCAD2E687770>

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

More information

<BDC7C7E83320BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83320BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #3 예비보고서 Keypad & 7-Segment 제어 실험목적 - Atmega128을이용하여 Easy Processor Kit의 Keypad 및 7-Segment를제어한다. - Keypad의키스캔방식을통한제어와, Digit 선택을이용한다수의 7-Segment 제어방법을이해한다. 실험장비 - ATmega128(AVR Chip), 7-Segment(FND),

More information

OCW_C언어 기초

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

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

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

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

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

More information

슬라이드 1

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

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기

목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기 Chapter. 13 KeyPAD 를이용한비밀번호입력기 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기 키패드 (KeyPAD) 키패드 (KeyPAD) 마이크로컨트롤러활용에서사용자의입력을받아들이기위한장치 전화기, 컴퓨터, 핸드폰, 냉장고등거의모든가전제품에서사용 키패드인터페이스방식

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

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

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

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

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 - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4 Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x

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

Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc 제 8 장 Counters 실험의목표 - Catalog counter 의동작원리에대하여익힌다. - 임의의 counter를통하여 FSM 구현방법을익힌다. - 7-segment display 의동작원리를이해한다. 실험도움자료 1. 7-segment display 7-segment는디지털회로에서숫자를표시하기위하여가장많이사용하는소자이다. 이름에서알수있듯이 7개의 LED(

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

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

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

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

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 9) . T 플립플롭으로구성된순서논리회로의해석 () 변수명칭부여 F-F 플립플롭의입력 :, F-F 플립플롭의출력 :, (2) 불대수식유도 플립플롭의입력 : F-F 플립플롭의입력 : F-F 플립플롭의출력 : (3) 상태표작성 이면,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

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

lecture4(6.범용IO).hwp

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

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

슬라이드 1

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

More information

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

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

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

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 - Part2-3 3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 3.1 포인터란 ü ü ü. ü. ü. ü ( ) ? 3.1 ü. ü C ( ).? ü ü PART2-4 ü ( ) PART3-4 3.2 포인터변수의선언과사용 3.2 포인터 변수의 선언과 사용 (1/8) 포인터 변수의

More information

ü ü ü #include #include #include #include Servo servoleft; Servo servoright; int sensorvalue1, sensorvalue2; // 각각앞쪽과뒤쪽의조도센서 int voltage, voltage2;

More information

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

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

More information

I/O (GPIO) 제어 I/0 제어 ATmega128의 I/O 구성및특징 I/O PORT 구성 8비트 / 양방향 / 범용 / 병렬 I/O포트 (PORT A ~PORT F) 6개 5비트 / 양방향 / 범용 / 병렬 I/O포트 (PORT G) 1개 I/O PORT 특징

I/O (GPIO) 제어 I/0 제어 ATmega128의 I/O 구성및특징 I/O PORT 구성 8비트 / 양방향 / 범용 / 병렬 I/O포트 (PORT A ~PORT F) 6개 5비트 / 양방향 / 범용 / 병렬 I/O포트 (PORT G) 1개 I/O PORT 특징 AVR - Chapter 5 류대우 davidryu@ewtc.co.kr I/O (GPIO) 제어 I/0 제어 ATmega128의 I/O 구성및특징 I/O PORT 구성 8비트 / 양방향 / 범용 / 병렬 I/O포트 (PORT A ~PORT F) 6개 5비트 / 양방향 / 범용 / 병렬 I/O포트 (PORT G) 1개 I/O PORT 특징 Read-modify-Write

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

슬라이드 1

슬라이드 1 첨부 4 리모콘별 TV 셋팅방법 2011. 1 전략서비스본부서비스지원팀 1 경제형 2002년개발쌍방향단순-2007년개발경제형 /PVR-2007년개발 2002 년 02 월 ~ 2003 년 08 월 85 만 (40 만은 TV 설정불가 ) 선호채널 도움말 만가능 1) TV 전원을키고 2) 0( 숫자 )+ 음소거동시에누름 -> LED ON 3) 리모콘 LED 주황색불확인후제조사코드입력

More information

BMP 파일 처리

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

More information

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M (1) 주소지정방식 Address Mode 메모리접근 분기주소 2. 8051 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data Memory 외부 Data Memory (2) 명령어세트 - 8051 명령어는 5 가지로분류,

More information

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로 Lab. 1. I-V Characteristics of a Diode Lab. 6. 연산증폭기가산기, 미분기, 적분기회로 1. 실험목표 연산증폭기를이용한가산기, 미분기및적분기회로를구성, 측정및 평가해서연산증폭기연산응용회로를이해 2. 실험회로 A. 연산증폭기연산응용회로 (a) 가산기 (b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로 3. 실험장비및부품리스트

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

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

Microsoft PowerPoint - a6.ppt [호환 모드] 이장의내용 6 장조건부처리 부울과비교명령어 조건부점프 조건부루프명령어 조건부구조 컴퓨터정보통신 어셈블리언어 2 6.2 부울과비교명령어 부울명령어 Instructions ti 동작 AND dst, src OR dst, src XOR dst, src NOT dst dst dst AND src dst dst OR src dst dst XOR src dst NOT

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

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

2주차: 입출력 제어 복습

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

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

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

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

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

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

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

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

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

<BDC7C7E83820BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83820BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #8 예비보고서 ADC 제어 실험목적 - ADC를이용하여아날로그신호를디지털신호로변환하는과정을이해한다. - ATmega128의내장 ADC 제어방법을이해한다. 실험장비 - ATmega128(AVR Chip), 온도센서 (TC1047A), 조도센서 (TSL251R) 실험이론 - A/D 변환 아날로그신호 샘플링펄스 - A/D 변환과정 - A/D 변환과정은샘플

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

온습도 판넬미터(JTH-05) 사양서V1.0

온습도 판넬미터(JTH-05)  사양서V1.0 온습도 조절기 Model:JTH-05 1. 제품 사양. [제품 구분] JTH-05A(입력 전원 AC), JTH-05D(입력 전원 DC) [전원 사양] JTH-05A 입력 전압 출력 전원 소비 전력 JTH-05D AC 90~240V DC 10~36V 12Vdc / Max.170mA Max.2W [본체 사이즈] ~ 온/습도 범위(본체): 사용 [0 ~ 50, 85%RH

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 getaddrinfo() 를활용한주소 범용 (Generic) 코드 주소범용 (Generic) 코드란? 주소버전

More information

C프로-3장c03逞풚

C프로-3장c03逞풚 C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

Microsoft Word - Lab.4

Microsoft Word - Lab.4 Lab. 1. I-V Lab. 4. 연산증폭기 Characterist 비 tics of a Dio 비교기 ode 응용 회로 1. 실험목표 연산증폭기를이용한비교기비교기응용회로를이해 응용회로를구성, 측정및평가해서연산증폭기 2. 실험회로 A. 연산증폭기비교기응용회로 (a) 기본비교기 (b) 출력제한 비교기 (c) 슈미트트리거 (d) 포화반파정류회로그림 4.1. 연산증폭기비교기응용회로

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

슬라이드 1

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

More information

untitled

untitled while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 08 포인터기초 목차 1. 포인터변수와선언 2. 간접연산자 * 와포인터연산 3. 포인터형변환과다중포인터 컴퓨터프로그래밍 (Computer Programming) - 08 포인터기초 3 1. 포인터변수와선언 주소개념 주소 address 메모리공간은 8비트인 1 바이트마다순차적인고유한번호 메모리주소는저장장소인변수이름과함께기억장소를참조하는또다른방법

More information

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

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

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

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

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

More information

실험 5

실험 5 실험. OP Amp 의기초회로 Inverting Amplifier OP amp 를이용한아래와같은 inverting amplifier 회로를고려해본다. ( 그림 ) Inverting amplifier 위의회로에서 OP amp의 입력단자는 + 입력단자와동일한그라운드전압, 즉 0V를유지한다. 또한 OP amp 입력단자로흘러들어가는전류는 0 이므로, 저항에흐르는전류는다음과같다.

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

<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63>

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

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.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 PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

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

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

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

untitled

untitled if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

More information

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

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

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

PowerPoint Presentation

PowerPoint Presentation #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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information