INDEX 1. DataSheet 및 Circuit 1-1 DataSheet 1-2 Circuit 2. ADC 를통한조도센서, 온도센서활용. 2-1 조도센서, 온도센서활용 (ADC) 3. DBGU 를통한 LED, Relay, LCD, 초음파센서활용. 3-1 LED 토글
|
|
- 호민 상
- 6 years ago
- Views:
Transcription
1 ARM 보고서 (AT91SAM7S256) 스마트컨트롤과정 2013 김성엽
2 INDEX 1. DataSheet 및 Circuit 1-1 DataSheet 1-2 Circuit 2. ADC 를통한조도센서, 온도센서활용. 2-1 조도센서, 온도센서활용 (ADC) 3. DBGU 를통한 LED, Relay, LCD, 초음파센서활용. 3-1 LED 토글 ( PIO 활용 ) 3-2 Relay 토글 ( PIO 활용 ) 3-3 LCD 한글띄우기 ( CGRAM 활용 ) 3-4 초음파센서활용 ( Timer/Counter, AIC 활용 ) 4. 사용한프로그램 4-1 Cygwin 4-2 GNUARM 4-3 Atmel SAM-BA In-system Programmer
3 1. DataSheet 및 Circuit DataSheet SAM7S Series Complete ( px?tab=documents) Circuit AT91SAM7S-EK Evaluation Board User Guide or UST-MPB-AT91SAM7S256 v1 ( px?tab=documents) or ( duct_main.asp?mode=102&smode=3) 2. ADC 를통한조도센서, 온도센서활용 1. 실습목적 ARM칩내부기능인 ADC( Analog-to-Digital Converter ) 를이용해서빛과온도의세기를측정하여 LCD 에값을띄운다. 이를통해서 ADC를통한측정센서를활용해볼수있고, LCD에값을띄워직접적으로확인해볼수있다. 2. 사용기기및재료 (1) AT91SAM7S256 (2) Cds 센서 (3) NTC 서미스터온도센서 (4) LCD 3. 기본이론 & Source Code ADC( Analog-to-Digital Converter ) 는 ARM에서제공하는기능중하나로, 아날로그입력을디지털출력으로변환하여주는장치이다. 온도나빛의세기, 음향의크기등등을샘플링추출을하여원하는위치의값을확인할수있게해준다. 이번조도센서와온도센서를이용하면센서안의저항크기의변화에따라전압차가생기고, 이를이용해측정하고자하는시점에축차비교법을이용하여그때의값을확인가능합니다. Used Register Mapping ( Table 2-1 ) Offset Register Name Access Reset 0x0010 Peripheral Clock Enable Register PMC _PCER Write-only 0x00 Control Register ADC_CR Write-only 0x04 Mode Register ADC_MR Read-write 0x
4 0x10 Channel Enable Register ADC_CHER Write-only 0x1C Status Register ADC_SR Read-only 0x000C0000 0x20 Last Converted Data Register ADC_LCDR Read-only 0x x40 Channel Data Register 4 ADC_CDR4 Read-only 0x x44 Channel Data Register 5 ADC_CDR5 Read-only 0x x0010 Output Enable Register PIO_OER Write-only - 0x0000 PIO Enable Register PIO_PER Write-only - 0x0034 Clear Output Data Register PIO_CODR Write-only - 0x0030 Set Output Data Register PIO_SODR Write-only - Peripheral Identifiers ( Table 2-2 ) 4 ADC Analog-to Digital Converter - 메모리맵핑 (1) DataSheet 의메모리맵핑 (Page.20) 을이용하여사용할레지스터의처음주소값을찾아그값에 Offset 만큼의값을더하여정의해준다. Main.c ADC.c
5 ADC.h
6 LCD.c
7 LCD.h
8 4. 설명 & 고찰, 결과사진 ( Table 2-3 ) ( Table 2-3 확대화면 ) 4-1 ADC 초기설정 (1) Power Management Controller( PMC ) 에서내부기능인 ADC 를 Peripheral Clock Enable Register 를이용하여활성화시켜줍니다. 0x0010 Peripheral Clock Enable Register PMC _PCER Write-only
9 (2) ADC Control Register 를통해서 ADC 회로를동작하기전에 Reset 시켜줍니다. 0x00 Control Register ADC_CR Write-only (3) ADC값을센서로부터받을핀을지정, 활성화해줍니다. ( 핀종류 : 공용핀 PA17,PA18 전용핀 : AD4,5,6,7 ) 0x40 Channel Data Register 4 ADC_CDR4 Read-only 0x x44 Channel Data Register 5 ADC_CDR5 Read-only 0x AD4, AD5 를활성화하였습니다. 0x10 Channel Enable Register ADC_CHER Write-only (4) ADC_MR 을이용해서분주율을약 4Mhz 로맞추고, 분해능을 10bit 로설정해줍니다. 0x04 Mode Register ADC_MR Read-write 0x : ADCClock = /((5+1)*2) = Hz = 4Mhz : 10bit 분해능
10 (5) ADC_CR에서 Conversion을시작하고, ADC_SR에서 Conversion Time이끝나면 DRDY 값이 1 을나타내므로 Conversion이끝나면최종적으로 ADC_LCDR을통해서값을읽어옵니다. 추출한값은 ADC_CDR4,5를통해반환해줍니다. 0x20 Last Converted Data Register ADC_LCDR Read-only 0x
11 (6) 반환할때한번에두개의값을같은메모리위치에저장할수없으므로광센서의값은 16bit 만큼 Shift 해서보내고, 온도센서값은그대로보냅니다. 나중에반환한값을다시 Shift 해주어값을동시에출력을가능하게합니다. Source Code return((adc_cdr4&0x3ff)<<16) (ADC_CDR5&0x3FF); // 앞부분 16bit는 0x10, // 뒷부분 16bit는 0x20 으로반환. LCD_number(1, ui_num&0x0000ffff); // Shift 연산을통해서 LCD_number(2, ui_num>>16); // 광센서의값 (10bit) 을 16bit쪽에저장해두고 // 다시값을 Shift 연산을통해출력하였다. 4-2 LCD 타이밍도읽기.
12 : 타이밍도를읽어서 PIO 의 High/Low 와 Delay 를맞춰줘야 Data Bus 로부터데이터를읽고 / 쓰고 LCD 의내부기능을명령해줄수있다, (1) LCD에명령을입력하려면 RS를 Low 로초기화시켜줘야하고, 데이터를입력하려면 High 로초기화시켜준다. (2) ⓶ ~ ⓷ : RS와 RW가동작을끝내기전까지 LCD_EN을딜레이시켜줘야함. (3) ⓷ ~ ⓸ : EN이 High( 활성화 ) 시킴. (4) ⓸ ~ ⓹ : Data Bus에변화가생기는부분시간을딜레이시킴. (5) ⓸ ~ ⓹ : 데이터전송하기전까지딜레이시킴. (6) ⓹ ~ ⓺ : 한주기끝나기전까지딜레이시킴. 4-3 결과사진 TEMP : 평상시상태. TEMP : 손으로잡으니 TEMP 값이올라갔음. LIGHT : 조도센서를가려서값이내려감. LIGHT : 빛을비춰주니값이올라감.
13 3. DBGU 를통한 LED, Relay, LCD, 초음파센서활용 1. 실습목적 ARM 내부기능인 DBGU( Debug Unit ) 를가지고 CPU 와하이퍼터미널통신을통하여 Menu ( Table 3-1 ) 1. LED Toggle 2. LCD Test 3. Relay Toggle 4. Ultra Sonic 위의 Table 3-1 과같이번호를누를때마다기능을활성화시켜사용해볼수있다. LED 와 Relay 토글, LCD 에한글띄우기, 초음파센서거리측정. 이를통해서 Debug Unit ( DBGU ), Advanced Interrupt Controller ( AIC ), Timer Counter ( TC ) 를사용할수있다. 2. 사용기기및재료 (1) AT91SAM7S256 (2) LED (3) LCD MODULE ( OCM-16216D-4-B102A ) (4) APA3319 Relay (TUV) (5) Ultra-Sonic Ranger ( SRF05 ) 3. 기본이론 & Source Code 3-1 Debug Unit ( DBGU ) DBGU란 Serial 통신의일종으로 UART (Universal Asynchronous Receiver/Transmitter : 범용비동기화송수신기 ) 에속하며, 비동기직렬통신을처리하는장치이다. 모든컴퓨터에는직렬포트를관리하기위해 UART가있고모든내부모뎀도각자의 UART를가지고있다. UART는컴퓨터에게 RS-232C DTE 인터페이스를제공함으로써, 모뎀이나기타다른직렬장치들과통신하거나데이터를주고받을수있게한다. ( Table 2-3 확대화면 )
14 3-2 Advanced Interrupt Controller ( AIC ) 인터럽트가발생하면프로세서는현재수행중인프로그램을멈추고, 상태레지스터와 PC(Program Counter) 등을스택에잠시저장한후인터럽트서비스루틴으로점프한다. 인터럽트서비스루틴을실행한후에는이전의프로그램으로복귀하여정상적인절차를실행한다. ( Table 3-2 ) 3-3 Timer Counter ( TC ) Timer Counter ( TC ) 란 AT91SAM7S256 안에 MCK 를이용해서세부적인시간을셀수있게해준다. 축차비교법과오버플로우비교법 (Table 3-3) Used Register Mapping ( Table 3-4 ) Offset Register Name Access Reset 0x00 + channel * 0x40 + 0x00 Channel Control Register TC_CCR Write-only - 0x00 + channel * 0x40 + 0x04 Channel Mode Register TC_CMR Read-write 0 0x00 + channel * 0x40 + 0x1C Register C TC_RC Read-write 0 0x00 + channel * 0x40 + 0x20 Status Register TC_SR Read-only 0 0x00 + channel * 0x40 + 0x24 Interrupt Enable Register TC_IER Write-only 0x00 + channel * 0x40 + 0x28 Interrupt Disable Register TC_IDR Write-only 0x0000 Control Register DBGU_CR Write-only 0x0020 Baud Rate Generator Register DBGU_BRGR Read-write 0x0 0x0004 Mode Register DBGU_MR Read-write 0x0 0x001C Transmit Holding Register DBGU_THR Write-only 0x0018 Receive Holding Register DBGU_RHR Read-only 0x0 0x0004 PIO Disable Register PIO_PDR Write-only 0x0070 Peripheral A Select Register PIO_ASR Write-only 0x0030 Set Output Data Register PIO_SODR Write-only - 0x0010 Output Enable Register PIO_OER Write-only 0x0000 PIO Enable Register PIO_PER Write-only 0x0034 Clear Output Data Register PIO_CODR Write-only
15 Main.c
16 Timer.c
17 Timer.h
18 Ultra_AIC.c
19
20 Ultra_AIC.h DBGU.c
21 DBGU.h
22 LED.c LED.h Relay.c Relay.h
23 LCD.c 와 LCD.h 의소스는 1. 조도센서온도센서활용 에있음. 4. 고찰 & 결과사진 4-1 Debug Unit 초기화 ( DBGU ) (1) DBGU_CR 에서송수신을비활성화시켜줌.( 초기화 ) (2) DBGU_BRGR 을이용해서 Baud Rate 값을송수신시에속도를맞춰주기위해서 CD(Clock Divisor) 값을구해서 DBGU_BRGR 레지에넣어준다.
24 (3) DBGU_MR 에서는패리티비트 ( 짝수패리티 ) 와노말모드로설정해주었다. (4) 송수신포트로사용해야하므로같이쓰이는 PIO 9 번, 10 핀을비활성화해주고, 송수신포트에활 용될 DRXD, DTXD 를활성화해준다.
25 (5) 송수신활성화스타트 Recv_Char() 함수설명 : 데이터받기 (1) RXRDY 비트가 Set 되는순간, 데이터를받을준비가된상태. 그때 DBGU_RHR 에그값을저장한다. 이값은다른작업중에입력을받거나 ( 인터럽트 ), DBGU를통한키보드입력을받는등, 데이터입력을받을때사용가능하겠다 Send_Char() 함수설명 : 데이터보내기 (1) RXRDY 와마찬가지로 Set 되는순간데이터를보낼준비가된상태. 준비가되면 DBGU.THR 에값을저장해서데이터를보내면된다. 인자가문자형이므로문자형데이터를보내면값이나오게하였다 DBGU_String() 함수설명 : 문자열로보내기 (1) 문자열로데이터를보내기위해서인자로 void 포인터를사용해서주소값을넘겨받아그값을하나씩 Send_Char() 함수로보내고, 주소값을이동시켜하이퍼터미널을통해문자열로띄우기가능하게하였다.
26 4-2 LED, Relay Toggle 하기. (1) Parallel Input/Output Controller (PIO) 의 PIO 활성화레지 (PIO_PER), PIO 출력활성화레지 (PIO_OER) 를 Set 해주어사용가능하게한후, High/Low(Set/Clear) 값을주기위해 PIO_SODR, PIO_CODR를이용하였다. 출력핀은 PA0번, PA1번핀을사용하였다. 그리고함수안에 static 변수를이용해서호출이될때마다 On/Off 가된다. 4-3 Timer/Counter 를이용하여 Delay 주기 (1) 타이머카운터 0 사용을위한 PMC 활성화 PMC_PCER = 1<<TC0; (2) 타이머클럭비활성화 (TC_CCR 설정 ) TC0_CCR = 1<<CLKDIS; ( Table 3-4 ) (3) 타이머인터럽트비활성화 (TC_IDR 설정 ) TC0_IDR = (1<<COVFS) (1<<LOVRS) (1<<CPAS) (1<<CPBS) (1<<CPCS) (1<<LDRAS) (1<<LDRBS) (1<<ETRGS);
27 (4) 인터럽트상태정보초기화 (TC_SR 읽기 ) TC0_SR; : TC_SR 을초기화하기위해서값을불러준다. (5) 분주비 128, 비교방식레지스터설정 (TC_CMR, DIV5_CLOCK, CPCTRG) MCKR divided by 128 => 2.6us(TC_RC 설정 :375) TC0_CMR = (TIMER_CLOCK4<<TCCLKS) (1<<CPCTRG); TC0_RC = 375; : 읽을시간을맞추어주기위해 MCK 를분주비로나누어시간을세분화시킬수있다. 아래 ( Table 3-5 ) 를보면주파수를 1 초로나누어 Clock 하나당시간을구하였고, Clock 하나당시간에 TC_RC ( 곱해주는값 ) 을넣어주어원하는시간 (1ms) 를구해주었다. 여기서는오차가가장적은 128 분주비를 사용하였다. MCK 분주비 주파수 Clock 당시간 배수 (RC) ms 오차 ( 초 ) ( Table 3-5 ) (6) 타이머카운터 0 인터럽트비활성화 (AIC_IDCR, TC0) AIC_IDCR = 1<<TC0; : 축차비교를통해시간을세는것을완료할때마다인터럽트가동작을해야하므로, 인터럽트기능 을추가해야한다. (7) 타이머카운터 0 인터럽트핸들러등록 (AIC_SVR[TC0], Timer_Handler) AIC_SVR[TC0] = (volatile unsigned int )Timer_Handler; : ARM에는인터럽트의개수가 33개가있는데 (IRQ가 32개 FIQ 1개 ) 이배열안에사용하고자하는주변장치 (Peripheral Identifiers) 의번호를넣어줘서 Handler를호출할때마다점프하게될함수 (Timer_Handler) 의주소만을저장, 저장된주소로 MCU의 PC(Program Counter) 가다음동작을실행하고, 스택영역에저장해둔메인루틴의다음명령주소를저장해서메인프로세스로돌아간다.
28 (8) 타이머카운터 0 인터럽트모드설정 // (AIC_SMR[TC0], AIC_SRCTYPE_INT_HIGH_LEVEL, PRIOR_LOWEST) AIC_SMR[TC0] = ((0<<PRIOR) (3<<SRCTYPE)); : 우선순위를정해주고, 노말모드를설정해준다. (9) 타이머카운터 0 인터럽트클리어 (AIC_ICCR, TC0) AIC_ICCR = 1<<TC0; : 켜기전에 Clear 시켜둔다. (10) TC_RC 값비교타이머인터럽트활성화 (TC_IER, CPCS) TC0_IER = 1<<CPCS; : 축차비교방식으로읽기때문에비교타이머로활성화시켜주었다. (11) 타이머카운터 0 인터럽트활성화 (AIC_IECR, TC0) AIC_IECR = 1<<TC0; (11-1) 타이머클럭활성화 (TC_CCR, CLKEN) TC0_CCR = 1<<CLKEN; : 인터럽트와클럭을활성화시켜준다. (12) 타이머시작 (TC_CCR, SWTRG) TC0_CCR = 1<<SWTRG; : TC 는 Reset 이되고카운터를시작함. (13) Timer_Handler() 함수 TC0_SR; : TC0_SR 에 CPCS 비트에 1이들어있는상태면인터럽트가비활성화됨. 그래서초기화를한번해줌. TC0_SR 에접근 ( 읽으면 ) 0 으로만듬. (14) 전역변수 static volatile unsigned int ui_tic 활용 ++ui_tic; : 전역변수를이용하여 0부터시작할수있고, 빠른접근이가능하며, 처리가끝나고나서도값이변하지말아야하기때문에전역변수를이용하여 1ms 마다 ui_tic이카운터되서올라간다. (15) MS_DELAY() 함수 ui_tic = 0; while(ui_ms > ui_tic); : ui_tic 이 0.01초마다계속인터럽트되서 ++ui_tic 되므로, 1000번이다되면 1초가계산된다.
29 4-3 초음파센서활용 Ultra Run 함수설명 (1) 함수선언. unsigned char *ULTRA_RUN() : 거리값 ( 문자열 ) 반환값으로보내줄것이기때문에반환형을 unsigned char * 로맞춘다. (2) 거리저장할배열확보. static unsigned char uc_dist[] = "---cm"; : uc_dist[] 배열의 0,1,2 번째값을보내줘서거리를띄울것이므로, 미리배열을확보. (3) Trigger Toggle TRG_PULSE_Toggle(); : 초음파센서가초음파를쏘라고명령을내려주게하기위해서 Trigger를걸어준다. 10us의 High Pulse를출력한다. (4) 거리측정변수초기화 ui_tic = 0; // 미리 0cm 로초기화. ui_dist = 0; // 계속동작중인 ui_tic 에다가값을넣어서. 실제거리를제려고. : 소리는 1초에 340m를가고, 이를 1cm 단위당거리를계산하면약 29us가나온다. 하지만 Echo Pulse가돌아온시간을계산해야하므로 58us 정도가나온다. 즉 1cm 당 58us 라할수있다. 이값을 ui_tic이인터럽트가걸릴때마다저장을할것이다. (5) Echo Pin 의시작부분알기 while( 0 == ((AT91C_BASE_PIOA->PIO_PDSR) & ( 1<<Echo_PIN )) ); : 8 cycles off Sonic Burst가물체에부딪혀반사되서센서로되돌아오면 Echo Pin이해당거리에따라 High Pulse 의상태가되는데, High Pulse 되는순간을발견함 (6) 타이머클럭활성화 (TC_CCR, CLKEN) & 타이머시작 (TC_CCR, SWTRG) AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN; AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG; : Timer/Counter 를활성화시키고, 시작. (7) Handler를이용하기위해인터럽트활성화. AT91C_BASE_PIOA->PIO_IER = 1<<Echo_PIN; AT91C_BASE_AIC->AIC_IECR = 1<<AT91C_ID_PIOA; : Echo Pin에인터럽트가걸리게활성화시켜주고, PIO핀장치번호인터럽트를활성화시켜준다.
30 (8) 측정이끝날때까지잡아두기. ui_state = 1; while( 1 == ui_state ); : ULTRA_Handler에서측정이끝나면 ui_state가 0이되는데다음번측정을하기전까지 while문을이용해잡아둠. (9) 측정이끝나고다시대기 U_Timer_Init(); ECHO_INIT(); : Timer와 Echo를초기화시켜서꺼줌. (10) 측정값넘기기. uc_dist[0]= '0' + ((ui_dist%1000)/100); // ui_dist의실제거리를넣어둠. uc_dist[1]= '0' + ((ui_dist%100)/10); uc_dist[2]= '0' + ((ui_dist%10)); return uc_dist; : 측정된값은 uc_dist[] 의문자열로넘겨서값을 DBGU_String 과 LCD_String 에값을띄움 Echo_INIT 함수설명 (1) Echo Pin 핀활성화, 인터럽트비활성화 AT91C_BASE_PMC->PMC_PCER = 1<<AT91C_ID_PIOA; AT91C_BASE_PIOA->PIO_ODR = 1<<Echo_PIN; AT91C_BASE_PIOA->PIO_PER = 1<<Echo_PIN; AT91C_BASE_PIOA->PIO_IDR = 1<<Echo_PIN; AT91C_BASE_AIC->AIC_IDCR = 1<<AT91C_ID_PIOA; : 핀만활성화시켜놓고, 인터럽트를비활성화시켜서대기시켜둔다. (2) 타이머카운터 0 인터럽트핸들러등록 (AIC_SVR[TC0], AIC_Handler) AT91C_BASE_AIC->AIC_SVR[AT91C_ID_PIOA] = (volatile unsigned int )ULTRA_Handler; : Timer_Handler 와같은형식으로 Echo Pin에인터럽트가걸리면 Handler를호출하도록배열에주소값을저장. (3) 타이머카운터 0 인터럽트모드설정 AT91C_BASE_AIC->AIC_SMR[AT91C_ID_PIOA] = ((AT91C_AIC_PRIOR_LOWEST) (AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE)); :Source type 은외부인터럽트 Negative 로맞춰줘서 Echo Pin이하강되는순간을젤수있도록함.
31 (4) PIOA 장치에인터럽트를 Clear/Set & 잡음제거. AT91C_BASE_AIC->AIC_ICCR = 1<<AT91C_ID_PIOA; AT91C_BASE_PIOA->PIO_IFER= 1<<Echo_PIN; AT91C_BASE_AIC->AIC_ISCR = 1<<AT91C_ID_PIOA; : PIO 핀을미리모두 Clear 시켜놓고, 오차를줄이기위해내부기능인필터를켠후, 다시 PIO 핀인터럽트를 Set 시켜서외부인터럽트에반응하게끔대기 ULTRA_Handler 함수설명. (1) 인터럽트상태확인. AT91C_BASE_PIOA->PIO_ISR; // 미리만들어둔다. : Timer/count 와는다르게인터럽트는 32개다반응하므로 PIO로외부인터럽트신호를확인한다. (2) 거리저장 & 다음타이머순간을위한초기화. ui_dist = ui_tic; ui_state = 0; : 하강인터럽트걸리는순간까지도 ui_tic 은계속돌고있다. 그래서 ui_dist 에다가인터럽트걸리는순간에실제거리를저장해놓는다. ui_state 는앞서 while( 1 == ui_state ) 로잡아두었고, 측정이끝났으므로 0 으로다음번타이머를받기위해초기화시켜준다. (3) 인터럽트종료확인. AT91C_BASE_AIC->AIC_EOICR = 0; : 인터럽트종료 U_Timer_Init(), U_Timer_Handler() (1) 앞서적은 Timer/Counter 와같은소스이므로참조 Trigger init(), Trigger_Pulse_Toggle() (1) 초기화하기위해서 Trigger Pin을활성화하고 Clear로맞춰줌. (2) Trigger Pin을 Set 해주고, Trigger Toggle에서 for 문을이용해 10us 정도의시간을벌어줌. Timing Diagram 읽기.
32 4-3-6 LCD 에사용자정의한글입력사용. : LCD 의사용자정의로 CGRAM 부분을건드려한글을입력할수있다. (1) 한 dot 마다 1bit 라고하면은가로줄당 5bit 를사용한다. 1byte 면사용가능하고상위 3bit 는필 요가없다. 총가로줄이 8 줄이므로 8byte 면한칸을완성할수있다. unsigned int pname[] = { 0x09, 0x17, 0x15, 0x01, 0x00, 0x02, 0x05, 0x02, // ' 성 ' 0x00 0x01, 0x0B, 0x15, 0x0B, 0x05, 0x07, 0x05, 0x07, // ' 엽 ' 0x01 0x01, 0x09, 0x15, 0x15, 0x09, 0x01, 0x01, 0x01, // ' 이 ' 0x02 0x05, 0x07, 0x02, 0x00, 0x0A, 0x0E, 0x04, 0x00, // ' 하트 ' 0x03 0x00, 0x0A, 0x0E, 0x04, 0x00, 0x14, 0x1C, 0x08}; // ' 하트 ' 0x04 : 16진수로값을바꿔서배열안에다가찍어줄 dot 값을각각저장해주었다. (2) LCD_data_write에다가각각저장. for(icnt=0; icnt<40; ++icnt) { LCD_data_write(pName[iCnt]); } (3) LCD에다가출력 LCD_cmd_write(0x80); // DD RAM 첫번째라인. LCD_data_write(0x00); // 성, 첫번째가로줄의주소. : LCD_cmd_write() 를이용하여 LCD에출력하고싶은부분을찍어주고, 한칸당 8byte 뿐이못들어 가므로출력할글자의가로줄 1byte 첫부분주소를 LCD_data_write() 에다가적어주면자동으로 8 줄이들어가 8byte가찍어지며글자가찍힌다.
33 4-4 결과사진 LED Off LED On Relay 회로도, 동작시에 딸칵 소리가 난다. 하이퍼터미널에서 동작 상태 사진. 하이퍼터미널에서 동작 상태 사진. 초음파센서 동작 사진.
34 DBGU 를통해 Test 문자열출력전 (Shift 중임 ) DBGU 를통해 Test 문자열출력후 (Shift 중임 ) 4. 사용한프로그램 1. Cygwin : 리눅스환경을윈도우에서쓸수있도록하는프로그램. ( 2. GNUARM : ARM 컴파일러 ( 3. Atmel SAM-BA In-system Programmer : 파일을개발보드로다운로드시킬때사용한다. (
목차 1. 기본설정 1-1. 설치해야할프로그램및파일 2. 문서읽는법 Cygwin 설치법 GNUARM 설치법 AT91SAM7S256 드라이버설치및컴퓨터연결 2-1. 개요 2-2. 회로도읽기 2-3. 데이터시트읽기 2-4. 타이밍차트읽
ARM (AT91SAM7S256) 보고서 2013 년 6 월 7 일 스마트컨트롤러 2013 조유진 목차 1. 기본설정 1-1. 설치해야할프로그램및파일 2. 문서읽는법 1-1-2. Cygwin 설치법 1-1-3. GNUARM 설치법 1-1-4. AT91SAM7S256 드라이버설치및컴퓨터연결 2-1. 개요 2-2. 회로도읽기 2-3. 데이터시트읽기 2-4. 타이밍차트읽기
More informationMicrosoft Word ARM_ver2_0a.docx
[Smart]0703-ARM 프로그램설치 _ver1_0a 목차 1 윈도우기반으로리눅스컴파일하기 (Cygwin, GNU ARM 설치 )... 2 1.1 ARM datasheet 받기... 2 1.2 Cygwin GCC-4.0 4.1 4.2 toolchain 파일받기... 2 1.3 Cygwin 다운로드... 3 1.4 Cygwin Setup... 5 2 Cygwin
More information<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 F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>
8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의
More information<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 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슬라이드 1
마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***
More information<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 informationCANTUS Evaluation Board Ap. Note
Preliminary CANTUS - UART - 32bits EISC Microprocessor CANTUS Ver 1. October 8, 29 Advanced Digital Chips Inc. Ver 1. PRELIMINARY CANTUS Application Note( EVM B d ) History 29-1-8 Created Preliminary Specification
More information2주차: 입출력 제어 복습
마이크로프로세서 응용및실습 ` 13-14 주차 : 직렬통신 (2) 한철수 전자공학과 2/35 직렬통신과병렬통신 직렬통신 한가닥의선으로송수신할데이터를차례대로전송하는방식 장점 : 통신선로가적기때문에경제적임 단점 : 전송속도가느림. 송수신약속이복잡해짐 병렬통신 여러가닥의선으로동시에여러개의데이터를전송하는방식 장점 : 전송속도가빠름 단점 : 직렬통신보다비쌈 3/35
More informationT100MD+
User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+
More information<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(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 informationAPI 매뉴얼
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정보보안 개론과 실습:네트워크
` 마이크로프로세서설계및실습 12-13 주차강의자료 학습목표 A/D 변환기의제어방법을이해한다 능숙하게 A/D 변환기를제어할수있도록반복실습한다 2/28 아날로그 - 디지털변환회로 아날로그 - 디지털변환회로 (A/D 변환회로 ) 는, 아날로그전기신호를디지털전기신호로변환하는전자회로이다 A/D 컨버터 (ADC: Analog-to-digital converter) 라고도불린다
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationChapter. 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[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 informationMicrosoft 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임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More informationUART.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 informationPowerPoint 프레젠테이션
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 informationAN2629
Tech Note STM32 ADC 펌웨어가이드 ( 타이머로 ADC 주파수설정 ) Introduction STM32 ADC 는다양하고복잡한기능을제공하기때문에사용자요구에맞는최선의방법을선택하기위해서는 ADC 의모드와특성에대한이해를필요로한다. 또한하드웨어트리거와 DMA 를함께운용하면소프트웨어로처리할때생기는복잡함과타이밍문제를간단하게해결할수있다. ADC 의특징을다음순서로설명한다.
More informationMicrosoft 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 informationAPI 매뉴얼
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 informationATmega128
ATmega128 외부인터럽트실습 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 외부인터럽트실험 외부인터럽트를사용하기위해관렦레지스터를설정 일반적으로 I/O 포트에대한설정이끝난후에외부인터럽트나타이머 / 카운터설정 PE4~7 번까지 4 개의외부인터럽트 INT4~INT7 까지사용 외부인터럽트사용법요약
More informationCAN-fly Quick Manual
adc-171 Manual Ver.1.0 2011.07.01 www.adc.co.kr 2 contents Contents 1. adc-171(rn-171 Pack) 개요 2. RN-171 Feature 3. adc-171 Connector 4. adc-171 Dimension 5. Schematic 6. Bill Of Materials 7. References
More information[ 마이크로프로세서 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 informationPowerPoint 프레젠테이션
Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여
More information< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More informationPowerPoint 프레젠테이션
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 informationPowerPoint 프레젠테이션
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 informationMicrosoft 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슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More informationMicrosoft Word - FS_ZigBee_Manual_V1.3.docx
FirmSYS Zigbee etworks Kit User Manual FS-ZK500 Rev. 2008/05 Page 1 of 26 Version 1.3 목 차 1. 제품구성... 3 2. 개요... 4 3. 네트워크 설명... 5 4. 호스트/노드 설명... 6 네트워크 구성... 6 5. 모바일 태그 설명... 8 6. 프로토콜 설명... 9 프로토콜 목록...
More informationºÎ·ÏB
B B.1 B.2 B.3 B.4 B.5 B.1 2 (Boolean algebra). 1854 An Investigation of the Laws of Thought on Which to Found the Mathematical Theories of Logic and Probabilities George Boole. 1938 MIT Claude Sannon [SHAN38].
More informationMicrosoft 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(MHT-SB112\273\347\276\347\274\255.hwp)
무한테크 Digital I/O Board MHT-SB112 경기도의왕시고천동 290-2 대영골든밸리 902 호 http:// Tel : 031-450 - 6737 Fax : 031-450 - 6738 Email : info@moohantechbiz 차례 1 사용되는용도및특징 2 구성요소 3 인터페이스구성 4 아날로그입력 5 통신프로토콜 6 딥스위치설정 7 PCB
More informationChapter #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 information1
- - - Data Sheet Copyright2002, SystemBase Co, Ltd - 1 - A0 A1 A2 CS0#, CS1# CS2#, CS3# CTS0#, CTS1# CTS2, CTS3# D7~D3, D2~D0 DCD0#, DCD1# DCD2#, DCD3# DSR0#, DSR1# DSR2#, DSR3# DTR0#, DTR1# DTR2#, DTR3#
More information슬라이드 1
Chap7. LED, LCD 와 7- 세그먼트 켜기및 IIC 통신 LED 를켜기위한순서 1. 프로그램코딩및빌드 ( 헥사파일만들기 ) 2. 프로그램메모리라이팅 M-IDE 빌드해서핵사파일만들기 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5.
More informationMicrosoft 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 informationPowerPoint 프레젠테이션
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 informationPowerPoint 프레젠테이션
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금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationMicrosoft 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 informationMicrosoft 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 informationMicrosoft PowerPoint - chap06-1Array.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어
More informationSRC PLUS 제어기 MANUAL
,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO
More information서보교육자료배포용.ppt
1. 2. 3. 4. 1. ; + - & (22kW ) 1. ; 1975 1980 1985 1990 1995 2000 DC AC (Ferrite) (NdFeB; ) /, Hybrid Power Thyrister TR IGBT IPM Analog Digital 16 bit 32 bit DSP RISC Dip SMD(Surface Mount Device) P,
More informationMicrocontrollerAcademy_Lab_ST_040709
Micro-Controller Academy Program Lab Materials STMicroelectronics ST72F324J6B5 Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun
More informationAN_0005B_UART
CANTUS-CAN - UART - 32bits EISC Microprocessor CANTUS Ver 1.1 April 24, 213 Advanced Digital Chips Inc. Ver 1.1 CANTUS Application Note History 213-2-19 Released 213-4-24 Modified CANTUS-CAN CANTUS-CAN
More information인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고
CHAPTER 7 인터럽트 가. 레지스터구조이해하기 나. 엔코더제어하기 인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고급한일을처리한후에본래의일을다시수행하는것을말한다.
More informationRVC Robot Vaccum Cleaner
RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while
More informationHBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터
HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터 타이머와카운터 1. 클럭과카운터 2. ATMega128 의타이머 / 카운터 3. 8 비트타이머 / 카운터의일반동작모드 4. 타이머로 LED 점멸시키기 5. 타이머로디지털시계만들기 타이머 / 카운터 타이머와카운터 정확한시간의측정이필요하다.( 자명종과스톱워치
More informationAVR Atmega128
AVR Atmega128 외부인터럽트 중원대학교최재영 인터럽트와폴링 MCU 에서입력을받아들이는방법은폴링방식과인터럽트방식이있음 - 폴링 (Polling) 방식 : 사용자의명령어에의해서하드웨어의변경사항을주기적으로읽어들이는방식 주기적으로하드웨어의변화를체크하기때문에사용자의프로그래밍에따라다양핚변화에대응이가능하지만 CPU 의점유율이높기때문에반응속도가느리다. 인터럽트 (Interrupt)
More informationPowerPoint 프레젠테이션
A 반 T2 - 김우빈 (201011321) 임국현 (201011358) 박대규 (201011329) Robot Vacuum Cleaner 1 Motor Sensor RVC Control Cleaner Robot Vaccum Cleaner 2 / Event Format/ Type Front Sensor RVC 앞의장애물의유무를감지한다. True / False,
More informationPowerPoint Presentation
Korea Tech Conference 2005 년 5 월 14 일, 서울 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 1 Parallel port 를이용한가전제품 제어 임효준 LG 전자 imhyo@lge.com 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 2
More informationPoison 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<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<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More informationMicrosoft 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 informationMicrosoft PowerPoint - Chapter 8_USART Serial Communication
MEC382 마이크로프로세서응용및실습 USART Serial Communication Jee-Hwan Ryu School of Mechanical Engineering 통신방법 병렬통신 고속데이터전송이필요한곳에서이루어짐 여러개의라인에서동시에이루어짐 직렬통신 한라인에서이루어짐 데이터의송수신속도가느리다 라인수적고멀리까지통신 동기식, 비동기식있음 동기식 : 기준클럭인동기클럭라인과데이터송
More information2009년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 informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More informationIoT FND8 7-SEGMENT api
IoT FND8 7-SEGMENT api http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History
More informationADP-2480
Mitsubishi PLC 접속 GP 는 Mitsubishi FX Series 와통신이가능합니다. 시스템구성 6 7 8 GP-80 RS- Cable RS-C Cable FXN--BD FXN--BD 6 FX Series(FXS,FXN,FXN,FXNC, FXU) 7 FXS, FXN 8 FXN FX Series 는기본적으로 RS- 통신을하며, RS-/ converter
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationChapter ...
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À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp
l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main
More informationDE1-SoC Board
실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 3 장 : 변수와데이터형 2012 년 이은주 학습목표 변수와상수의개념에대해알아본다. 리터럴상수, 매크로상수, const 변수에대해알아본 다. C 언어의데이터형에대해알아본다. 2 목차 변수와상수 변수 상수 데이터형 문자형 정수형 실수형 sizeof 연산자 3 변수와상수 변수 : 값이변경될수있는데이터 상수 : 값이변경될수없는데이터
More information목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2
제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해
More informationuntitled
Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,
More informationMango-E-Toi Board Developer Manual
Mango-E-Toi Board Developer Manual http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document
More informationMicrosoft PowerPoint - T1 ERS (Elevator Reservation System)SASD2.pptx
Team : T1 Member : 김영훈, 남장우, 황규원 Presenter : 김영훈 Statement of Purpose System Context Diagram Event List Data Flow Diagram Process Specification i Structured Charts Elevator Reservation System(ERS) -ERS는입력이들어오면입력을스케줄에저장한다.
More informationMicrosoft Word - ASG AT90CAN128 모듈.doc
ASG AT90128 Project 3 rd Team Author Cho Chang yeon Date 2006-07-31 Contents 1 Introduction... 3 2 Schematic Revision... 4 3 Library... 5 3.1 1: 1 Communication... 5 iprinceps - 2-2006/07/31
More information歯FDA6000COP.PDF
OPERATION MANUAL AC Servo Drive FDA6000COP [OPERATION UNIT] Ver 1.0 (Soft. Ver. 8.00 ~) FDA6000C Series Servo Drive OTIS LG 1. 1.1 OPERATION UNIT FDA6000COP. UNIT, FDA6000COP,,,. 1.1.1 UP DOWN ENTER 1.1.2
More informationSection 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역
Section 03 인터럽트활성화와인터럽트서비스루틴연결 33/82 Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역인터럽트활성화비트가 1 로셋되었을때
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
비트연산자 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 informationMicrosoft 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 informationKEY 디바이스 드라이버
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<4D F736F F F696E74202D205BBDC7BDC0345DC1B6B5B5BCBEBCADC1A6BEEE2E BC8A3C8AF20B8F0B5E55D>
조도센서제어 이번장에서는 ZigbeX 에장치되어있는센서들중에서조도센서에대해공부하고, TinyOS의 Oscilloscope 프로그램을통해측정된조도값을확인하는방법에대해알아보도록하겠다. 한백전자 ZigbeX 의조도센서 2 ZigbeX 의조도센서 조도센서 CDS ZigbeX에장치되어있는조도센서 CDS는 Atmega 128(ZigbeX의 8bit CPU) 의 INT0
More informationMicrosoft Word doc
2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.
More information2009년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 informationMAX+plus II Getting Started - 무작정따라하기
무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,
More information슬라이드 제목 없음
ETOS-DPS-X Guide AC&T SYSTEM 1 ETOS-DPS-X 개요 ETOS-DPS-X Field Bus Network 중 Profibus-DP Network 에연결되는장비. ProfiBus-DP Network 시스템에 DP 통신을지원하지않는현장장비에대한통신서버기능구현. Profibus-DP Slave 동작하기때문에반드시 DP-Master 모듈이있는시스템에서적용가능.
More informationPowerPoint 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 informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More information2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예
Mitsubishi FX Series Computer Link 2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK... 1 1. 시스템구성... 3 2. 시스템설정... 4 3. 사용예... 6 3.1. 사용예 1... 6 3.2. 사용예 2... 9 4. 케이블연결도... 13 4.1.
More information03_원격제어반_IDAC-2W
IDAC-2W (Intelligent Distributed Automatic Controller) 1. 개요 IDAC-2W 는 HVAC 의공기조화기, 냉온수열원장비, BC 의저소음휀및기타설비장비를제어하기위한제어기기이다. LCD( Liquid Crystal Display) 가장착된이제어기기는장비의다양한제어기능및데이터통신기능을가지며, Key- Pad 를이용하여장비의운전및설정할수있다.
More informationMicrosoft PowerPoint - 부호기와 복호기.PPT
논리회로실험부호기와복호기 2005. 5. 3. 부호기와복호기란? 이론실험내용 개요 Encoder & Decoder 서로다른부호간의변환에사용되는것으로디지털신호를압축하거나전송시깨지지않도록바꾸는등여러가지목적에의해부호화라는장치와부호화되어전송되어온신호를다시원래의디지털신호로복호하는장치들을말한다. CODEC(enCOder DECoder) 이라고도한다. 기타 10진 to
More information-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는
Dong Yang E&P 인버터 Modbus Monitoring Protocol 2018. 08. 27 Sun Spec (Modbus-RTU) -. Modbus Protocol 각 Field에대한설명 Frame갂의구별을위한최소한의시갂 BaudRate 9600에서 1bit 젂송시갂은 Start 0.104msec, (3.5 character Times, 1 Character
More informationMicrosoft 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그룹웨어와 XXXXX 제목 예제
데이터통신 부호화 (encoding) 부호화 (Encoding) 의개념 정보 Encoder 신호 1 Digital - to - Digital 2 Analog - to - Digital 3 Digital - to - Analog 4 Analog - to - Analog 2 1 Digital-to-Digital Encoding Digital 정보를 Digital
More information슬라이드 1
사용 전에 사용자 주의 사항을 반드시 읽고 정확하게 지켜주시기 바랍니다. 사용설명서의 구성품 형상과 색상은 실제와 다를 수 있습니다. 사용설명서의 내용은 제품의 소프트웨어 버전이나 통신 사업자의 사정에 따라 다를 수 있습니다. 본 사용설명서는 저작권법에 의해 보호를 받고 있습니다. 본 사용설명서는 주식회사 블루버드소프트에서 제작한 것으로 편집 오류, 정보 누락
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More information2009년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