목차 1. TWI(Two Wire Serial Interface) 2. SPI(Serial Peripheral Interface) 3. TWI(I 2 C) 로 EEPROM 붙이기 4. SPI로 Serial Flash Memory 붙이기 5. TWI로온습도센서제어하기

Size: px
Start display at page:

Download "목차 1. TWI(Two Wire Serial Interface) 2. SPI(Serial Peripheral Interface) 3. TWI(I 2 C) 로 EEPROM 붙이기 4. SPI로 Serial Flash Memory 붙이기 5. TWI로온습도센서제어하기"

Transcription

1 Chapter. 11 시리얼인터페이스 HBE-MCU-Multi AVR Jaeheung, Lee

2 목차 1. TWI(Two Wire Serial Interface) 2. SPI(Serial Peripheral Interface) 3. TWI(I 2 C) 로 EEPROM 붙이기 4. SPI로 Serial Flash Memory 붙이기 5. TWI로온습도센서제어하기

3 시리얼인터페이스 패러렐 vs 시리얼인터페이스 패러렐인터페이스 (Parallel Interface) n n n 데이터및어드레스가병렬로동시에처리데이터의처리속도가빠르다 SRAM등의외부메모리및고속의주변장치들을연결하는데주로사용 n 다수의어드레스신호와데이터신호를사용칩의크기를소형화가어렵다. n ATMega128 의외부메모리인터페이스 시리얼인터페이스 (Serial Interface) n n 고속의제어가필요없는장치들을위해소수의신호를사용어드레스와데이터를순차적으로처리 n 데이터의처리속도가비교적느리다. n 필요한핀수를최소화하여칩의소형화에유리하다. n n 고속제어가필요없는소형칩들에주로사용 TWI(Two Wire Serial Interface), SPI(Serial Peripheral Interface)

4 TWI(Two Wire Serial Interface) TWI(Two Wire Interface) 단순하면서도강력한시리얼통신인터페이스 필립스사에서제창한 I 2 C(Inter IC Bus) 와같은방식 2 선을이용해시스템내부에서여러장치들과통신 n TWI 프로토콜은클록 (SCL) 과데이터 (SDA) 만으로양방향버스라인사용 마스터와슬레이브동작을지원하며, 다중마스터도가능하다 n TWI 의 7 비트어드레스는 128 개의다른슬레이브어드레스까지허용 버스에연결된모든디바이스는독립적인주소를가짐. n 디바이스어드레스 (Device Address) 혹은디바이스아이디 (Device ID) 라하며, 칩의구분을위해각칩마다고유의디바이스 ID 를가짐. TWI 는 400kHz 까지의데이터전송속도를가진다.

5 TWI(Two Wire Serial Interface) TWI(Two Wire Interface) TWI 버스연결 버스라인 (SCL, SDA) 은풀업저항을통하여 +Vcc 전압으로연결. 각디바이스들은평상시 Tri-State 상태를유지 버스를사용할때에는레벨하이 ( 1 ) 는 Tri-State 로, 레벨 Low( 0 ) 는 0 로출력.

6 TWI(Two Wire Serial Interface) TWI 데이터전송형식 마스터가버스에 START 조건을출력할때전송은시작되고 STOP 조건에서완료된다 START 조건, 어드레스패킷 (SLA+R/W) 와하나또는많은데이터패킷그리고 STOP 으로구성된다. ACK ( 인식비트 ) : 현재 TWI 버스내에마스터가호출한슬레이브디바이 스가존재하고있고, 정상적으로어드레스를수신했음을알게해줌.

7 TWI(Two Wire Serial Interface) ATMega128 TWI 레지스터 TWBR(TWI Bit Rate Register) : n TWI 비트율레지스터 TWCR(TWI Control Register) : n TWI 제어레지스터 TWSR(TWI Status Register) : n TWI 상태레지스터 TWDR(TWI Data Register) : n TWI 데이터레지스터 TWAR[TWI (Slave) Address Register] : n TWI 슬레이브어드레스레지스터

8 TWI(Two Wire Serial Interface) TWBR(TWI Bit Rate Register) TWI 비트율레지스터 비트율발생기에대한분주요소를선택하기위한레지스터 TWBR7 TWBR6 TWBR5 TWBR4 TWBR3 TWBR2 TWBR1 TWBR0 비트 7 0 (TWI Bit Rate Register) n 비트율발생기에대한분주요소를선택 n 비트율발진기는마스터모드에서 SCL 클록주파수를발생하는주파수 SCL 의클럭주파수

9 TWI(Two Wire Serial Interface) TWCR(TWI Control Register) TWI 제어레지스터 (TWI 동작제어 ) TWINT TWEA TWSTA TWSTO TWWC TWEN - TWIE 비트 7 : TWINT(TWI Interrupt Flag) n TWI 인터럽트플래그 n TWI 가현재작업을완료하고응용소프트웨어응답을기다릴때, 하드웨어에의해세트된다. n SREG 의 I 비트와 TWCR 의 TWIE 비트가세트되면 TWI 인터럽트벡터로점프한다

10 TWI(Two Wire Serial Interface) TWCR(TWI Control Register) 비트 6 : TWEA(TWI Enable Acknowledge Bit) n TWI Enable 응답비트 (ACK 펄스의생성을제어 ) n 이비트에 1 을써넣은후, 다음조건을만나면 ACK 펄스가발생. n n n 디바이스에자기슬레이브어드레스가수신될경우 TWAR 의 TWGCE 비트가세트인동안일반적인호출이수신될경우 데이터바이트가마스터수신기또는슬레이브수신기모드로수신될경우 n TWEA 비트에 0 를써넣으면디바이스는 TWI 로부터일시적으로끊어짐 비트 5 : TWSTA(TWI START Condition Bit) : n TWI START 조건비트 n TWI 버스에서마스터가되고자할때이비트에 1 을써넣는다. n START 조건이전송되었을때이비트는소프트웨어에의해클리어해야한다.

11 TWI(Two Wire Serial Interface) TWCR(TWI Control Register) 비트 4 : TWSTO(TWI STOP Condition Bit) : n TWI STOP 조건비트 n 마스터모드에서이비트에 1 을써넣으면 TWI 버스로 STOP 조건을발생시킨다 n STOP 조건이버스에서실행될때이비트는자동적으로클리어된다. 비트 3 : TWWC(TWI Write Collision Flag) : n TWI 쓰기충돌플래그 n 이플래그비트는 TWINT 가 Low 일때 TWDR(TWI Data Register) 로써넣기를시도하면 1 로세트되고, TWINT 가 High 일때 TWDR 레지스터에써넣으면클리어된다.

12 TWI(Two Wire Serial Interface) TWCR(TWI Control Register) 비트 2 : TWEN(TWI Enable Bit) n TWI Enable 비트 n 이비트는 TWI 동작을 Enable시키고 TWI 인터페이스를활성화한다. n 이비트에 1을써넣으면 TWI가 Enbale되어 SCL과 SDA 핀을제어하게되고, 0을써넣으면 TWI는오프되고모든 TWI 전송은어떤행위에관계없이종료된다. 비트 0 : TWIE(TWI Interrupt Enable) n TWI 인터럽트 Enable 비트 n 이비트에 1이고, SREG의 I 비트가 1로세트되면 TWINT가 High인동안 TWI 인터럽트가활성화된다.

13 TWI(Two Wire Serial Interface) TWSR(TWI Status Register) TWI 상태레지스터 TWI 의상태와프리스캐일러값을보여주는레지스터 TWS7 TWS6 TWS5 TWS4 TWS3 - TWPS1 TWPS0 비트 7 3 : TWS(TWI Status) : TWI 상태 n TWI 의상태를알려주는비트

14 TWI(Two Wire Serial Interface) TWSR(TWI Status Register) Master Transmitter Mode 에서의 Status Code Status Code(Hex) 설명 08 Start 코드전송완료 10 Repeated START 코드전송완료 18 SLA+W 전송완료및 ACK 신호수신완료 20 SLA+W 전송완료및 ACK 신호수신불가 28 데이터바이트전송완료및 ACK 신호수신완료 30 데이터바이트전송완료및 ACK 신호수신불가 38 SLA+W 나데이터바이트전송시중재불가 ( 오류 )

15 TWI(Two Wire Serial Interface) TWSR(TWI Status Register) Master Receiver Mode 에서의 Status Code Status Code(Hex) 설명 08 Start 코드전송완료 10 Repeated START 코드전송완료 38 SLA+R 나 NOT ACK 비트중재불가 ( 오류 ) 40 SLA+R 전송완료및 ACK 신호수신완료 48 SLA+R 전송완료및 NOT ACK 신호수신 50 데이터바이트수신완료및 ACK 신호반송완료 58 데이터바이트수신완료및 NOT ACK 신호반송

16 TWI(Two Wire Serial Interface) TWSR(TWI Status Register) 비트 1 0 : TWPS(TWI Prescaler Bit) : n TWI 프리스케일러비트 n 비트율프리스케일러를제어하기위한비트 TWI Prescaler 설정표 TWPS1 TWPS0 Prescaler Value

17 TWI(Two Wire Serial Interface) TWDR(TWI Data Register) : TWI 데이터레지스터 n 전송모드에서 TWDR은전송될다음바이트를포함 n 수신모드에서는수신된마지막바이트를포함 TWD7 TWD6 TWD5 TWD4 TWD3 TWD2 TWD1 TWD0 비트 7 0 : TWD(TWI Data) n TWI 데이터 n 전송되는다음데이터바이트또는 2 줄직렬버스에서수신된마지막데이터바이트를포함.

18 TWI(Two Wire Serial Interface) TWAR[TWI (Slave) Address Register] TWI 슬레이브어드레스레지스터 슬레이브모드로사용될때슬레이브어드레스를저장하는레지스터 TWA6 TWA5 TWA4 TWA3 TWA2 TWA1 TWA0 TWGCE 비트 7 1 : TWA[TWI(Slave) Address ] n TWI 슬레이브어드레스 n 이일곱비트는 TWI 유닛의슬레이브어드레스를나타낸다. 비트 0 : TWGCE(TWI General Call Recognition Enable Bit) n TWI 일반호출인식 Enable비트 n 이비트가세트되면 TWI 버스에주어진일반호출의인식을 Enable한다.

19 TWI(Two Wire Serial Interface) TWI 동작 AVR TWI 는바이트단위로동작이이루어지고, 인터럽트를기본으로한다. 인터럽트는바이트의수신이나 START 조건의전송처럼모든버스의이벤트뒤에발생된다 SREG 의 I 비트와함께 TWCR 의 TWIE(TWI Interrupt Enable) 비트가 1 로세트되면 TWINT 플래그가 1 이될때인터럽트가발생한다 TWIE 비트가클리어되면, 응용소프트웨어에서 TWI 버스에서의동작상태를알기위해 TWINT 플래그를정기적으로조사 (poll) 해야한다.

20 TWI(Two Wire Serial Interface) TWI 를동작시키는방법 1.TWCR 의 TWINT, TWSTA, TWEN 비트를세팅하여 START Condition 을내보낸다. 2. TWCR 의 START Condition 이정상적으로출력되어 TWINT 플래그가세팅되길기다린다. 3. TWSR 을체크하여 START 상태인지확인한다. 아니면오류이다. 4. SLA+W 를 TWDR 레지스터에넣는다. TWCR 의 TWINT 플래그를클리어시킨다. 5. SLA+W 가전송되고 ACK 비트가정상적으로도착하여 TWCR 의 TWINT 가세팅되길기다린다. 6. TWSR 을체크하여 MT_SLA_ACK 상태인지확인한다. 아니면오류이다. 7. Data 를 TWDR 레지스터에넣는다. TWCR 의 TWINT 플래그를클리어시킨다. 8. Data 가전송되고 ACK 비트가정상적으로도착하여 TWCR 의 TWINT 가세팅되길기다린다. 9. TWSR 을체크하여 MT_DATA_ACK 상태인지확인한다. 아니면오류이다 10. TWCR TWINT, TWSTO, TWEN 비트를세팅하여 STOP Condition 을전송한다.

21 SPI(Serial Peripheral Interface) SPI(Serial Peripheral Interface) 직렬주변장치인터페이스 ( 모토로라사에서제창한방식 ) AVR 과주변장치디바이스간에, 또는여러 AVR 디바이스들간에고속동기데이터를전송하기위한인터페이스. ATmega128 에서는 SS(PB0, pin 10), SCK(PB1, pin 11), MOSI( PB2, pin 12), MISO(PB3, pin 13) 4 선을이용. 전이중 (Full-Duplex) 통신방식으로, 3 개의신호선을이용하는동기데이터전송방식을따름. 마스터와슬레이브방식으로동작 7 가지의비트율세팅 SPI 는 ATmega128 의플래쉬롬에프로그램을다운로드하는 ISP 기능제공

22 SPI(Serial Peripheral Interface) SPI(Serial Peripheral Interface) 동작 SPI 는반드시 1 개의마스터와 1 개의슬레이브사이에서만동작 마스터가슬레이브에게데이터를보낼때 n 여러슬레이브에서원하는슬레이브에게 SS (Slave Select) 신호를 0 레벨로출력하여선택 n 클록신호를발생하여 SCK(Serial Clock) 을통해출력 n 송신할데이터를시프트레지스터에데이터를준비하여 MOSI(Mast er Output Slave Input) 단자로출력한다. n 동시에 MISO (Master Input Slave Output) 단자를통해서는더미데이터가입력

23 SPI(Serial Peripheral Interface) SPI(Serial Peripheral Interface) 동작 SPI Master 와 Slave 간상호연결

24 SPI(Serial Peripheral Interface) SPI(Serial Peripheral Interface) 레지스터 SPCR(SPI Control Register) n SPI 제어레지스터 SPSR(SPI Status Register) n SPI 상태레지스터 SPDR(SPI Data Register) n SPI 데이터레지스터

25 SPI(Serial Peripheral Interface) SPCR(SPI Control Register) SPI 제어레지스터 (SPI 동작을제어하기위한레지스터 ) 인터럽트 Enable, 동작모드설정, Clock 모드설정들에사용 SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 비트 7 (SPIE:SPi Interrupt Enable) n 1 로세트하면 SPI 전송완료인터럽트개별 Enable 비트 6 (SPE: SPi Enable) n 1 로세트하면 SPI 직렬통신을허용

26 SPI(Serial Peripheral Interface) SPCR(SPI Control Register) 비트 5 (DORD:Data ORDer) n 1 로설정하면 LSB 부터전송하고 0 으로하면 MSB 부터전송한다 비트 4 (MSTR:Master/Slave Select) n 1 로설정하면마스터로동작하고 0 으로하면슬레이브로동작한다. 비트 3 (CPOL:Clock POLarity) n 데이터샘플링동작이수행되는 SCK 클록의극성을설정한다 n 디폴트값인 0 이면 Leading Edge 의경우는상승에지로, Trailing Edg e 의경우에는하강에지로선정된다. n CPOL=1 이면 Leading Edge 의경우는하강에지로, Trailing Edge 의경우에는상승에지로선정된다.

27 SPI(Serial Peripheral Interface) SPCR(SPI Control Register) 비트 2 (CPHA:Clock PHAse) n 데이터샘플링동작이수행되는 SCK 클록의위상을설정 n 디폴트값인 0 이면 Leading Edge 의경우는샘플링이되고, Trailing Edge 의경우에는셋업된다. n CPHA=1 이면반대로된다. 비트 1~0 (SPR1~0:SPi clock Rate select 1~0) n SPSR 의비트 0(SPI2X 비트 ) 과함께 SCK 클럭신호의주파수분주비를설정 n SPSR 의비트 0 이 0 인상태에서 00 이면시스템클록의 4 분주, 01 이면 16 분주, 10 이면 64 분주, 11 이면 128 분주로설정된다. n SPSR 의비트 0 이 1 인상태에서는주파수를두배로하여분주비를반감시키는데 00 이면시스템클록의 2 분주, 01 이면 8 분주, 10 이면 32 분주, 11 이면 64 분주로설정된다.

28 SPI(Serial Peripheral Interface) SPSR(SPI Status Register) SPI 상태레지스터 (SPI 의동작상태를나타내는레지스터 ) 인터럽트플래그와쓰기충돌플래그등이있고, SCK 클럭주파수를 2 배로설정하는데에도사용 SPIF WCOL SPI2X

29 SPI(Serial Peripheral Interface) SPSR(SPI Status Register) 비트 7 (SPIF:SPi Interrupt Flag) n 전송이완료되면 1 로세트되면서인터럽트가발생된다 n 마스터로설정하고 SS 핀이입력으로설정되어 0 레벨이입력되면 SP CR 의비트 4(MSTR) 는자동으로클리어되며슬레이브모드로되고 SP IF 가세트되면서인터럽트가발생된다. 비트 6 (WCOL:Write COLision flag) n SPI 를통해데이터를전송하고있는동안에 SPDR 레지스터를기록하려고하면 1 로세트된다. n SPSR 을읽고 SPDR 에접근하는경우에 SPIF 와함께클리어된다. 비트 0(SPI2X:SPI Double speed) n 마스터로동작할때 SCK 클록신호의주파수를 2 배로설정한다.

30 SPI(Serial Peripheral Interface) SPDR(SPI Data Register) SPI 데이터레지스터 SPI 의데이터전송에사용되는레지스터 SPDR7 SPDR6 SPDR5 SPDR4 SPDR3 SPDR2 SPDR1 SPDR0

31 SPI(Serial Peripheral Interface) SPI 제어프로그램 SPI 마스터모드로 SPI 를초기화하고, 데이터를전송하는프로그램 void SPI_MasterInit(void) { /* MOSI와 SCK 핀을출력으로, 다른핀들을입력으로선언 */ DDR_SPI = (1<<DD_MOSI) (1<<DD_SCK); /* SPI Enable, Matser 모드, clock rate fck/16 */ SPCR = (1<<SPE) (1<<MSTR) (1<<SPR0); } void SPI_MasterTransmit(char cdata) { /* 전송시작 */ SPDR = cdata; /* 전송완료까지대기 */ while(!(spsr & (1<<SPIF))) ; }

32 SPI(Serial Peripheral Interface) SPI 제어프로그램 SPI 슬레이브모드로 SPI 를초기화하고, 데이터를수신하는프로그램 void SPI_SlaveInit(void) { /* MISO핀을출력으로, 나머지는모두입력으로선언 */ DDR_SPI = (1<<DD_MISO); /* SPI Enable*/ SPCR = (1<<SPE); } char SPI_SlaveReceive(void) { /* 수신완료시까지대기 */ while(!(spsr & (1<<SPIF))) ; /* Data Register 값을리턴 */ return SPDR; }

33 실습 16 : TWI(I2C) 로 EEPROM 붙이기 실습개요 TWI(I 2 C) 로제어가되는 EEPROM 인 AT24C16 를 ATmega128 의 TWI 포트에연결하고, 여기에미리정해놓은데이터를저장했다가, 다시꺼내서 TEXT LCD 에표시한다. AT24C16 칩의 TWI 인터페이스관련라이브러리함수를 at24c16.c 에포함하고있다. 실습목표 TWI(I 2 C) 인터페이스의동작원리이해 ATmega128의 TWI 포트에대한프로그램방법을습득 TWI(I 2 C) 로제어가되는 EEPROM(AT24C16) 의동작이해

34 실습 16 : TWI(I2C) 로 EEPROM 붙이기 사용모듈 : MCU 모듈, TEXT-LCD 모듈, 메모리모듈 MCU 모듈 TEXT LCD 모듈 D 포트메모리모듈 TWI 연결 C,G 포트 TEXT LCD 모듈연결 Data BUS (D0~D7) Control 신호 (Rs, RW, E) SRAM I 2 C ROM SPI Flash 메모리모듈 EEPROM TWI 신호

35 실습 16 : TWI(I2C) 로 EEPROM 붙이기 사용모듈 메모리모듈중 I2C EEPROM 부분의회로

36 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16 데이터읽기 / 쓰기신호흐름 Data Write Data Read

37 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16 의디바이스어드레스의구성 AT24C16 은 2048*8 비트의메모리용량을가지는 EEPROM 칩의전체메모리에주소를할당하려면 2048 개즉 11 비트가필요 디바이스어드레스 (Device Address) 중 3 비트와워드어드레스 (W ord Address) 8 비트를묶어각메모리의주소로사용 Device Address 는 0xA 에페이지어드레스 3 비트그리고 R/W 비트로구성 P2 P1 P0 R/W AT24Cxx 칩의고유 ID Page Address R/W 비트 Write = 0 Read = 1

38 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16 에데이터써넣기 1 START 코드를내보낸다. 2 Device Address 를내보낸다. Device Address 는 0xA + Page Address 3 비트 + 0 (R/W 비트중 Write) 이다. 3 ACK 가도착하기를기다린다. 4 Word Address 를내보낸다. Word Address 는하위 8 비트주소이다. 5 다음 ACK 가도착하길기다린다. 6 메모리에저장할데이터를내보낸다. 7 다음 ACK 가도착하길기다린다. 8 STOP 코드를내보낸다.

39 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16 의임의의주소에서데이터읽어오기 1START 코드를내보낸다. 2Device Address 를내보낸다.( 0xA + Page Address 3 비트 + 0) : Dummy Write 3ACK 가도착하길기다린다. 4 읽어들이고싶은 Word Address 를내보낸다. 5 다음 ACK 가도착하길기다린다. 6 다시 START 코드를내보낸다. 7Device Address 를내보낸다. 여기서의 Device Address 는 0xA + Page Address 3 비트 + 1 (R/W 비트중 Read) 이다. 8 다음 ACK 가도착하길기다린다. 9 데이터를읽어들인다.( 여기서는 ACK 를기다리지않는다.) 10STOP 코드를내보낸다.

40 실습 16 : TWI(I2C) 로 EEPROM 붙이기 모듈결선방법 MCU 모듈포트 C의 PC0~PC7을 TEXT LCD 모듈의 D0~D7 신호에연결 MCU 모듈포트 G의 PG0~PG3은 TEXT LCD 모듈의 RS, RW, E에연결 MCU 모듈포트 D의 PD0는메모리모듈의 R_SCL에, PD1은 R_SDA에연결

41 실습 16 : TWI(I2C) 로 EEPROM 붙이기 구동프로그램 : 사전지식 AT24C16 칩의초기화 n TWI 포트로사용된포트 D 의하위 2 비트에대한 PORTD 레지스터를 1 로세팅하여풀업을설정 n TWBR = 28 로세팅, TWSR 의 TWPS(1:0) = 00 으로세팅 n Prescaler 를 1 분주로설정, SCL 의클럭주파수는 KHz. AT24C16 칩의초기화 void AT24C16_Init(){ PORTD = 0x03; // 내부풀업 TWBR = 28; //30.720khz TWSR = 0; }

42 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16_WRITE 함수 1바이트데이터쓰기 (Write) void AT24C16_WRITE(unsigned int address,unsigned char byte) /* write a byte */ { TWCR = 0xA4; // START condition while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x08)); // START complete? TWDR = 0xA0 + ((address >> 7) & 0x000E); // +W TWCR = 0x84; while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x18)); // +W complete? TWDR = (address & 0x00FF); // word address TWCR = 0x84; while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x28)); // address complete? TWDR = byte; // write data TWCR = 0x84; while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x28)); // data complete? TWCR = 0x94; // STOP condition ms_delay(10); // delay 10 ms for twr time }

43 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16_READ 함수 1바이트데이터읽기 (Read) unsigned char AT24C16_READ(unsigned int address) /* read a byte */ { unsigned char byte; TWCR = 0xA4; // START condition while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x08)); // START complete? TWDR = 0xA0 + ((address >> 7) & 0x000E); // +W TWCR = 0x84; while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x18)); // +W complete? TWDR = (address & 0x00FF); // word address TWCR = 0x84; while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x28)); // address complete? TWCR = 0xA4; // REPEATED START condition while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x10)); // START complete? TWDR = 0xA0 + ((address >> 7) & 0x000E) + 0x01; // +R TWCR = 0x84;

44 실습 16 : TWI(I2C) 로 EEPROM 붙이기 AT24C16_READ 함수 1바이트데이터읽기 (Read) while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x40)); // +R complete? TWCR = 0x84; // read data with no acknowledge while(((twcr & 0x80) == 0x00) ((TWSR & 0xF8)!= 0x58)); // data complete? byte = TWDR; // read data TWCR = 0x94; // STOP condition return byte; // return data }

45 실습 16 : TWI(I2C) 로 EEPROM 붙이기 구동프로그램 : 소스분석 Lcdconf.h #ifdef LCD_PORT_INTERFACE #ifndef LCD_CTRL_PORT #define LCD_CTRL_PORT PORTG #define LCD_CTRL_DDR DDRG #define LCD_CTRL_RS 0 #define LCD_CTRL_RW 1 #define LCD_CTRL_E 2 #endif #ifndef LCD_DATA_POUT #define LCD_DATA_POUT PORTC #define LCD_DATA_PIN PINC #define LCD_DATA_DDR DDRC #endif #endif

46 실습 16 : TWI(I2C) 로 EEPROM 붙이기 구동프로그램 : 소스분석 I2C_EEPROM.c 1) #include <avr/io.h> #include<util/delay.h> #include"at24c16.h" #include"lcd.h" #define DELAY_MS(x) { static unsigned int _i; \ for(_i=0;_i<x;_i++) \ _delay_ms(1); } 2) char msg1[9]="welcome!!"; char msg2[16]="hanback-world!! "; char msg3[16]="twi-eeprom Exam!"; int main(){ char i=0; 3) AT24C16_Init(); //AT24C16 초기화 lcdinit(); //TextLCD 초기화

47 실습 16 : TWI(I2C) 로 EEPROM 붙이기 4) for(;i<9;i++) // 각주소마다한바이트씩저장 AT24C16_WRITE(0x0100+i,msg1[i]); for(i=0;i<16;i++) AT24C16_WRITE(0x0200+i,msg2[i]); for(i=0;i<16;i++) AT24C16_WRITE(0x0300+i,msg3[i]);

48 실습 16 : TWI(I2C) 로 EEPROM 붙이기 5) for(i=0;i<9;i++){ // 한바이트씩읽어와서 LCD에출력 lcddatawrite(at24c16_read(0x0100+i)); DELAY_MS(100); //100ms단위의딜레이간격 } for(i=0,lcdgotoxy(0, 1);i<16;i++){ lcddatawrite(at24c16_read(0x0200+i)); DELAY_MS(100); } for(i=0;i<16;i++){ lcddatawrite(at24c16_read(0x0300+i)); DELAY_MS(100); } for(i=0;i<16;i++){ //LCD 화면을왼쪽으로쉬프트 lcdcontrolwrite(1<<lcd_move 1<<LCD_MOVE_DISP ); DELAY_MS(100); } while(1); }

49 실습 16 : TWI(I2C) 로 EEPROM 붙이기 실행결과

50 실습 17 : SPI 로 Flash Memory 붙이기 실습개요 정해진문자열을 SPI 인터페이스를이용하여 Serial Flash Memory 에저장했다가, 이를다시꺼내어 TEXT LCD 에표시하도록한다. SPI 로제어되는 Flash Memory 인 AT25F512 칩을메모리로사용 AT25F512 칩의 SPI 인터페이스관련라이브러리함수는 at25fxx.c 에포함되어있음. 실습목표 SPI 인터페이스동작원리이해 ( 레지스터설정 ) ATmega128의 SPI 포트에대한프로그램방법습득 Serial Flash Memory(AT25F512) 동작원리이해

51 실습 17 : SPI 로 Flash Memory 붙이기 사용모듈 : MCU 모듈, 메모리모듈, TEXT-LCD 모듈, MCU 모듈 TEXT LCD 모듈 B 포트메모리모듈 SPI 연결 C,G 포트 TEXT LCD 모듈연결 Data BUS (D0~D7) Control 신호 (Rs, RW, E) SRAM I 2 C ROM SPI Flash 메모리모듈 Flash Memory SPI 신호

52 실습 17 : SPI 로 Flash Memory 붙이기 사용모듈 메모리모듈의 SPI Flash 메모리부분회로 n AT25F512 n n SPI 를지원하는 64K*8(512) 비트용량의 Serial Flash memory 32K Byte 크기의섹터가 2 개내장된구조를가지고있으며, Write-Pr otect 기능을가지고있음.

53 실습 17 : SPI 로 Flash Memory 붙이기 사용모듈 AT25F512 를 ATMega128 에연결하는방법

54 실습 17 : SPI 로 Flash Memory 붙이기 사용모듈 AT25F512 핀설명

55 실습 17 : SPI 로 Flash Memory 붙이기 사용모듈 AT25F512 8 비트명령어세트

56 실습 17 : SPI 로 Flash Memory 붙이기 AT25F512 Serial Flash Memory 제어 AT25F512 칩의임의의메모리주소로부터데이터읽어오기 1) CS를 low로만든다.(chip-select active) 2) SPDR에 READ(0x03) 명령을넣어 AT25F512로전송한다. SPSR레지스터의 SPIF(SPi Interrupt Flag) 비트를관찰하면서 1로세트될때까지대기한다. 3) SPDR에 0x00을넣는다 ( 최상위어드레스 ). SPSR의 SPIF가 1로세트될때까지대기한 다. 4) SPDR에상위 8비트어드레스를넣는다. SPSR의 SPIF가 1로세트될때까지대기한다. 5) SPDR에하위 8비트어드레스를넣는다. SPSR의 SPIF가 1로세트될때까지대기한다. 6) SPDR에 0을넣는다 ( 데이터수신대기 ). SPSR의 SPIF가 1로세트될때까지대기한다. 7) SPDR에서데이터를읽어온다. 8) CS를 High로만든다.(Chip-Select inactive)

57 실습 17 : SPI 로 Flash Memory 붙이기 AT25F512 Serial Flash Memory 제어 AT25F512 칩의임의의메모리주소에데이터를써넣기 (Program) 1) CS 를 low 로만든다.(Chip-Select active) 2) SPDR 에 WREN(0x06) 명령을넣음으로써, AT25F512 로전송한다. SPSR 레지스터의 SPIF(SPi Interrupt Flag) 비트를관찰하면서 1 로세트될때까지대기한다. 3) SPDR 에 PROGRAM(0x00) 을넣는다 ( 쓰기선언 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 4) SPDR 에 0x00 을넣는다 ( 최상위어드레스 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 5) SPDR 에상위 8 비트어드레스를넣는다. SPSR 의 SPIF 가 1 로세트될때까지대기한다. 6) SPDR 에하위 8 비트어드레스를넣는다. SPSR 의 SPIF 가 1 로세트될때까지대기한다. 7) SPDR 에데이터를넣는다 ( 데이터송신 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 8) SPDR 에 RDSR(0x05) 을넣는다 (Status Register 읽기선언 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 9) SPDR 에 0 을넣는다 ( 레지스터내용수신대기 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 10) SPDR 에서데이터를읽어온다.(Status Register 내용 ) 11) Status 레지스터의 RDY(0 번비트 ) 가 1 로세트될때까지 8~10 반복한다. 12) CS 를 High 로만든다.(Chip-Select inactive)

58 실습 17 : SPI 로 Flash Memory 붙이기 AT25F512 Serial Flash Memory 제어 AT25F512 칩의모든메모리영역을지우기 (Erase) 1) CS 를 low 로만든다.(Chip-Select active) 2) SPDR 에 WREN(0x06) 명령을넣음으로써, AT25F512 로전송한다. SPSR 레지스터의 SPIF (SPi Interrupt Flag) 비트를관찰하면서 1 로세트될때까지대기한다. 3) SPDR 에 CHIP_ERASE(0x62) 을넣는다 ( 칩지우기선언 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 4) SPDR 에 RDSR(0x05) 을넣는다 (Status Register 읽기선언 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 5) SPDR 에 0 을넣는다 ( 레지스터내용수신대기 ). SPSR 의 SPIF 가 1 로세트될때까지대기한다. 6) SPDR 에서데이터를읽어온다.(Status Register 내용 ) 7) Status 레지스터의 RDY(0 번비트 ) 가 1 로세트될때까지 4~6 을반복한다. 8) CS 를 High 로만든다.(Chip-Select inactive)

59 실습 17 : SPI 로 Flash Memory 붙이기 모듈결선방법 MCU 모듈포트 C 의 PC0~PC7 은 TEXT LCD 모듈의 D0~D7 핀에연결 MCU 모듈포트 G 의 PG0~PG3 은각각 TEXT LCD 모듈의 RS, RW, E 에연결 MCU 모듈포트 B 의 PB0(/SS) 는메모리모듈의 F_CS 에, PB1(SCK) 은 F_SCK 에, PB2(MOSI) 는 F_SI 에, PB3(MISO) 는 F_SO 핀에연결

60 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : 사전지식 (SPI 인터페이스제어 ) SPI 초기화 n SPI 신호로사용할핀들을설정하고, 입출력을결정 n ATmega128 이마스터로사용될경우, MISO 는입력으로, 나머지 MOSI, S CK, /SS 는출력으로설정 n 동작모드와클럭모드를결정 n n n SPCR 레지스터의 MSTR 비트를세팅하여, Master/ Slave 모드를결정 : 여기서는 Master 모드를사용 DORD 비트를세팅하여, 데이터전송순서를결정 : 여기서는 AT25F512 에적용하기위해, MSB 먼저보내도록설정 CPOL 과 CPHA 비트를세팅하여, 클럭의극성 (Polarity) 와위상 (Phase) 를결정 : 여기서는그냥디폴트 ( 0 ) 로설정. n 클럭의주파수를결정 : n SPCR 의 SPR(1:0) 과 SPSP 의 SPI2X 를세팅 : 여기서는 SPI2X= 0, SP R(1:0)= 00 로하여, 4 분주 (7.3728MHz/4 = MHz) 로설정 n SPCR 의 SPE 비트를 1 로세팅하여 SPI 를 Enable

61 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : 사전지식 AT25F512 칩을위한라이브러리함수 n at25fxx_rdid(u08* data) : 제조자와칩 ID 를읽어낸다. n at25fxx_chip_erase() : 칩전체의데이터를지운다. n at25fxx_write_byte(u16 addr, u08 data) : 임의의주소에 1 바이트데이터를써넣는다. 인수로주소와써넣을 1 바이트데이터를받는다. n at25fxx_sector_erase(u16 addr) : 주어진주소가가리키는섹터의데이터를지운다. n at25fxx_read_byte(u16 addr) : 인수로주어진주소의 1 바이트데이터를읽어낸다. n at25fxx_write_arry(u16 addr, u08* BPdata, u08 size) : 인수로주어진주소로부터 size 만큼 BPData 에존재하는데이터를써넣는다. n at25fxx_read_arry(u16 addr, u08* BPbuf, u08 size) : 인수로주어진주소로부터 size 만큼의데이터를읽어 BPbuff 에넘겨준다.

62 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI 초기화 SPI 초기화 void SPI_Init(){ DDRB = 0x07; // 포트를설정, miso 입력설정 PORTB = 0x01; // ~cs = 1 } SPCR = 0x50; SPSR = 0x00;

63 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI Flash Memory 칩지우기 칩지우기 (Chip Erase) #define AT25FXX_CS_LOW (PORTB &= 0xFE) #define AT25FXX_CS_HIGH (PORTB = 0x01) void at25fxx_wren(){ } AT25FXX_CS_LOW; // 칩셀렉트 SPDR = WREN; //wren명령 while((spsr & 0x80)==0x00); // 데이타전송완료확인 AT25FXX_CS_HIGH; //cs high 가되어야다음부터쓰기실행

64 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI Flash Memory 칩지우기 void at25fxx_chip_erase(){ at25fxx_wren (); AT25FXX_CS_LOW; SPDR = CHIP_ERASE; while((spsr & 0x80)==0x00); AT25FXX_CS_HIGH; at25fxx_ready(); } // 칩셀렉트 //chip Erase 명령 // 데이타전송완료확인 //cs high 가되어야다음부터쓰기실행

65 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI Flash Memory 칩지우기 void at25fxx_ready(){ u08 data; do{ AT25FXX_CS_LOW; SPDR = RDSR; while((spsr & 0x80)==0x00); SPDR=0; while((spsr & 0x80)==0x00); data = SPDR; SPDR = 0; while((spsr & 0x80)==0x00); AT25FXX_CS_HIGH; }while((data & 1<<(RDY))); // 레지스터를읽어와준비상태가되어있을때까지루프 }

66 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI Flash Memory 1 바이트읽기 1 바이트읽기 u08 at25fxx_read_byte(u16 addr){ u08 data=0; AT25FXX_CS_LOW; SPDR = READ; // 읽기선언 while((spsr & 0x80)==0x00); SPDR = 0x00; while((spsr & 0x80)==0x00);

67 실습 17 : SPI 로 Flash Memory 붙이기 SPI Flash Memory 1 바이트읽기 1 바이트읽기 SPDR = ((addr>>8) & 0xff); while((spsr & 0x80)==0x00); SPDR = ((addr) & 0xff); while((spsr & 0x80)==0x00); // 주소 // 주소 SPDR = 0; while((spsr & 0x80)==0x00); data = SPDR; // 데이타 } AT25FXX_CS_HIGH; return data;

68 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI Flash Memory 1 바이트쓰기 (Program) 1 바이트쓰기 (Program) void at25fxx_write_byte(u16 addr, u08 data){ at25fxx_wren (); AT25FXX_CS_LOW; SPDR = PROGRAM; while((spsr & 0x80)==0x00); // 쓰기선언 SPDR = 0x00; //at25f512 는여기주소를사용되지않음 (16 비트주소만사용 ) while((spsr & 0x80)==0x00);

69 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : AT25F512 칩을위한라이브러리함수 SPI Flash Memory 1 바이트쓰기 1 바이트쓰기 (Program) SPDR = ((addr>>8) & 0xff); while((spsr & 0x80)==0x00); SPDR = ((addr) & 0xff); while((spsr & 0x80)==0x00); // 주소 } SPDR = data; // 데이타 while((spsr & 0x80)==0x00); AT25FXX_CS_HIGH; //cs high 가되어야입력한내용이적용 at25fxx_ready();

70 실습 17 : SPI 로 Flash Memory 붙이기 구동프로그램 : 소스분석 1) #include<avr/io.h> #include<util/delay.h> #include"at25fxx.h" #include"lcd.h #define ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0])) #define DELAY_MS(x) {static unsigned int _i; \ for(_i=0;_i<x;_i++) \ _delay_ms(1); } 2) unsigned char msg1[]="welcome!!"; unsigned char msg2[]="hanback-world!!"; unsigned char msg3[]="spi-flash Exam"; int main(){ unsigned char i=0;

71 실습 17 : SPI 로 Flash Memory 붙이기 3) unsigned char buf1[20]={0}; unsigned char buf2[20]={0}; unsigned char buf3[20]={0}; 4) SPI_Init(); //SPI통신초기화 lcdinit(); //TextLCD 초기화 5) at25fxx_chip_erase(); // 모든섹터의내용을지운다. 6) at25fxx_write_arry(0x1000, msg1,array_size(msg1)); //"Welcome!!" 저장 at25fxx_write_arry(0x2000, msg2,array_size(msg2)); //"HanBack-World!!" 저장 at25fxx_write_arry(0x3000, msg3,array_size(msg3)); //"SPI-Flash Exam" 저장 at25fxx_read_arry(0x1000, buf1,array_size(msg1)); /* 각배열에플래쉬에저장한문자열을읽어온다. */ at25fxx_read_arry(0x2000, buf2,array_size(msg2)); at25fxx_read_arry(0x3000, buf3,array_size(msg3));

72 실습 17 : SPI 로 Flash Memory 붙이기 7) for(;i<array_size(msg1)-1;i++){ // 읽어들인문자열출력 lcddatawrite(buf1[i]); DELAY_MS(100); //100ms단위의딜레이간격 } for(i=0,lcdgotoxy(0, 1);i<ARRAY_SIZE(msg2)-1;i++){ lcddatawrite(buf2[i]); DELAY_MS(100); } for(i=0;i<array_size(msg3)-1;i++){ lcddatawrite(buf3[i]); DELAY_MS(100); } for(i=0;i<15;i++){ //LCD 화면을왼쪽으로시프트 lcdcontrolwrite(1<<lcd_move 1<<LCD_MOVE_DISP ); DELAY_MS(100); } return 0; }

73 실습 17 : SPI 로 Flash Memory 붙이기 실행결과

74 실습 18 : TWI 로온습도센서제어하기 실습개요 I 2 C 로제어되는온습도센서인 SHT11 을 ATmega128 의 TWI 포트에연결하고, 온도와습도정보를읽어들여 TEXT LCD 에표시하도록한다. GPIO 포트를이용하여, SHT11 과통신이가능한유사 TWI 버스의신호를만들어사용한다. SHT11 칩의 TWI 인터페이스관련라이브러리함수를 lib_sensor.c 에포함하고있음. 실습목표 TWI(I 2 C) 의동작원리이해 ( 레지스터설정 ) ATmega128의 GPI를통한유사 TWI(I2C) 신호제어방법습득 SHT11 온도센서제어방법습득

75 실습 18 : TWI 로온습도센서제어하기 사용모듈 : MCU 모듈, 센서모듈, TEXT-LCD 모듈, MCU 모듈 TEXT LCD 모듈 D 포트센서모듈 TWI 연결 C,D 포트 TEXT LCD 모듈연결 Data BUS (D0~D7) Control 신호 (Rs, RW, E) 센서모듈 온도 / 습도센서 광다이오드 조도센서 (CDS) 센서모듈온습도센서 TWI Signal

76 실습 18 : TWI 로온습도센서제어하기 사용모듈 센서모듈중온습도센서부분의회로 n SHT11 n n 상대습도와상대온도를측정하는칩이며, 이슬점 (Dew Point) 측정이가능함. 이칩은 SCK( 클럭 ) 과 Data, 두신호선으로 TWI(I2C) 와유사한인터페이스프로토콜을사용한다

77 실습 18 : TWI 로온습도센서제어하기 사용모듈 SHT11 온습도센서 SHT11 의 Serial Interface 데이터형식

78 실습 18 : TWI 로온습도센서제어하기 모듈결선방법 MCU 모듈포트 C의 PC0~PC7은 TEXT LCD 모듈의 D0~D7 핀에연결 MCU 모듈포트 D의 PD5~PD7은 TEXT LCD 모듈의 RS, RW, E에연결 MCU 모듈포트 D의 PD0는센서모듈의 TMP_SCK에, PD1은 TMP_SDA에연결

79 실습 18 : TWI 로온습도센서제어하기 구동프로그램 : 사전지식 lib_sensor.c 에서제공하는라이브러리함수 start_sht11_sensor(void) : SHT 의온습도측정기능을시작한다. get_sht11_hanback_data(u08 type) : SHT11 로부터온도와습도데이터를읽어온다. initialize_sht11_hanback(void) : SHT11 용 TWI 인터페이스와센서를초기화한다. SHT11 에서온습도데이터를읽어들이기 1) initialize_sht11_hanback(void) 를이용하여센서와 TWI 인터페이스용핀을초기화한다. 2) start_sht11_sensor(void) 를이용하여 SHT 의온습도측정기능을시작한다. 3) get_sht11_hanback_data(u08 type) 를이용하여상대습도와상대온도를읽어온다. 여기서 type 은 DEW( 이슬점 ), TEMP( 온도 ), HUMI( 습도 ) 의세가지이다.

80 실습 18 : TWI 로온습도센서제어하기 구동프로그램 : 소스분석 lcdconf.h n TEXT LCD 의제어포트로 D 포트를, 데이터포트는 C 포트를사용 #ifdef LCD_PORT_INTERFACE #ifndef LCD_CTRL_PORT #define LCD_CTRL_PORT PORTD #define LCD_CTRL_DDR DDRD #define LCD_CTRL_RS 5 #define LCD_CTRL_RW 6 #define LCD_CTRL_E 7 #endif #ifndef LCD_DATA_POUT #define LCD_DATA_POUT PORTC #define LCD_DATA_PIN PINC #define LCD_DATA_DDR DDRC #endif #endif

81 실습 18 : TWI 로온습도센서제어하기 구동프로그램 : 소스분석 Sensor_test.c 1) #include<avr/io.h> #include<util/delay.h> #include"lib_sensor.h" #include"lcd.h" #include"avr_lib.h #define ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0])) #define DELAY_MS(x) { static unsigned int _i; \ for(_i=0;_i<x;_i++) \ _delay_ms(1); } 2) void printf_2dot1(u08 sense,u16 sense_temp); int main(){ volatile u16 temp,humi;

82 실습 18 : TWI 로온습도센서제어하기 3) initialize_sht11_hanback(); //sht11 센서초기화 start_sht11_sensor(); //sht11 센서시작 4) lcdinit(); //TextLCD 초기화 lcdprintdata("sensor_test",sizeof("sensor_test")-1); DELAY_MS(500); //500ms단위의딜레이간격 lcdclear(); while(1){ 5) temp = get_sht11_hanback_data(temp); DELAY_MS(100); //100ms단위의딜레이간격 6) humi = get_sht11_hanback_data(humi); DELAY_MS(100); //100ms단위의딜레이간격 lcdgotoxy(0,0);

83 실습 18 : TWI 로온습도센서제어하기 7) printf_2dot1(temp,temp); // 온도값을출력 lcdgotoxy(0,1); printf_2dot1(humi,humi); // 습도값을출력 DELAY_MS(300); //300ms단위의딜레이간격 } return 0; } void printf_2dot1(u08 sense,u16 sense_temp) { u08 s100,s10; if(sense == TEMP) lcdprintdata(" Temp: ",7); else if(sense == HUMI) lcdprintdata(" Humi: ",7); s100 = sense_temp/100; if(s100> 0) lcddatawrite(s100+'0'); else lcdprintdata(" ",1); s10 = sense_temp%100; lcddatawrite((s10/10)+'0'); lcdprintdata(".",1); lcddatawrite((s10%10)+'0'); }

84 실습 18 : TWI 로온습도센서제어하기 실행결과

<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

목차 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

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

<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 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

<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

ARDUINO Open Physical Computing Platform 오탈자, 문의및보완이필요한내용은 으로알려주세요.

ARDUINO Open Physical Computing Platform 오탈자, 문의및보완이필요한내용은 으로알려주세요. ARDUINO Open Physical Computing Platform 오탈자, 문의및보완이필요한내용은 으로알려주세요. Chapter 20. I2C 와 SPI 통신을이용한아두이노연결 SPI(Serial Peripheral Interface) 는 I2C(Inter-Integrated Circuit) 와더불어마이크로컨트롤러와주변장치사이에디지털정보를간편하게전송할수있는방법을제공하기위해만들어진통신프로토콜이다.

More information

목차 1. ATMega128의외부메모리인터페이스 2. TEXT LCD 3. TEXT LCD에글자쓰기 4. SRAM 5. 외부메모리인터페이스에 SRAM붙이기

목차 1. ATMega128의외부메모리인터페이스 2. TEXT LCD 3. TEXT LCD에글자쓰기 4. SRAM 5. 외부메모리인터페이스에 SRAM붙이기 Chapter. 10 외부메모리인터페이스 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. ATMega128의외부메모리인터페이스 2. TEXT LCD 3. TEXT LCD에글자쓰기 4. SRAM 5. 외부메모리인터페이스에 SRAM붙이기 ATMega128 의외부메모리인터페이스 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

<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

슬라이드 1

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

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

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

// 변수선언 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

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

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

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

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

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

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

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

(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

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

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

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 - AVR100%(1).ppt

Microsoft PowerPoint - AVR100%(1).ppt GREENTECH SYSTEM CO., LTD. AVR 100% 활용하기 목 차 그린텍시스템 AVR 이란 AVR ATmega128 AVR ATmega128 활용 SPI 사용방법 실 기 습 타 2 AVR 이란 AVR 어원 AVR 은 Alf(Bogen) Vergard(Wollen) Risc(Reduced Instruction Set Computer) 의약자로서

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

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech 1. 제품소개 1) 제품특징 OSTSen-THL100은 UART 인터페이스를통하여온도, 습도, 조도데이터를제공하는센서모듈입니다. 이센서모듈은사용자가편리하게다양한분야에쉽게적용할수있도록소형으로제작되었습니다. PC에서 OSTSen-THL100의온도,

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

lecture4(6.범용IO).hwp

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

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

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

[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

SRC PLUS 제어기 MANUAL

SRC 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

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 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

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

목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기

목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기 Chapter. 8 UART HBE-MCU-Multi AVR Jaeheug, Lee 목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기 UART 와 RS232 개요 UART(Uiversal Asychroous Receiver/Trasmitter) 시리얼기반의통신방식으로일반적으로

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

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

-. 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 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

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 Word doc

Microsoft Word doc 2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.

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

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

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

More information

T100MD+

T100MD+ 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

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

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

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

<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

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D>

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

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

Microsoft Word - DTM-M300_Spec_V1_0.doc

Microsoft Word - DTM-M300_Spec_V1_0.doc Page 1 of 10 Digital Thermopile Module 적외선온도센서모듈 Version 1.0 (-35~300 ) History Version Document name Date Purpose Author 1.0 DTM-M300_Spec_V1_0.doc 13.09.2010 Creation DS Jeong Page 2 of 10 1 제품설명 1.1

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

Page 2 of 27 Absolute Maximum Ratings - Supply voltage : 3.5V - Operating Temperature Range : -20 ~ 70 - Storage Temperature Range : -40 ~ 85 위조건을넘어서게

Page 2 of 27 Absolute Maximum Ratings - Supply voltage : 3.5V - Operating Temperature Range : -20 ~ 70 - Storage Temperature Range : -40 ~ 85 위조건을넘어서게 Page 1 of 27 비접촉온도측정 방사율조절가능 IR refresh rate : 50Hz 원거리온도측정 High Accuracy Digital Interface : SPI 레이저포인터기본장착 AVR / 아두이노 UNO 예제코드제공 제품설명 DTPML-SPI Series는온도계산프로세서를내장하고있어정확한온도값을출력합니다.

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 - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

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

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

슬라이드 제목 없음

슬라이드 제목 없음 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 information

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech 1. 제품소개 1) 제품특징 OSTSen-PIR100은 UART 인터페이스를통하여인체모션감지 (PIR) 데이터를제공하는센서모듈입니다. 이센서모듈은사용자가편리하게다양한분야에적용할수있도록소형으로제작되었습니다. ( PIR: Pyroelectric

More information

ATmega128 교재 - 8장 EEPROM.hwp

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

More information

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver 1.1 1 of 8 Onsystech 1. 제품소개 1) 제품특징 OSTSen-MOS100은 UART 인터페이스를통하여토양수분데이터를제공하는센서모듈입니다. 이센서모듈은사용자가편리하게다양한분야에적용할수있도록소형으로제작되었습니다. PC에서는 OSTSen-MOS100에서제공하는토양수분데이터를

More information

CANTUS Evaluation Board Ap. Note

CANTUS 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 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

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

Microsoft 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

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

목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER

목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER < Tool s Guide > 목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER 실행파일... 7 4. DEVICE-PROGRAMMER 사용하기...

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

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

More information

슬라이드 1

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

More information

1

1 - - - 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

Microsoft Word - MAI-ISP-STK500_매뉴얼_Ver25.docx

Microsoft Word - MAI-ISP-STK500_매뉴얼_Ver25.docx MAI-ISP-STK500 사용자매뉴얼 Manual Ver. 2.5 엠에이아이 (M.A.I) www.maicom.co.kr http://cafe.naver.com/at128mai [ 모델이름 ]: MAI-ISP-STK5000 [ 용도 ]: AVR MCU의내부 Flash Memory 및 EEPROM 에 HEX 파일을 Write W / Readd 할수있는기능을하는프로그래머로써,

More information

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

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

More information

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

Page 2 of 18 Absolute Maximum Ratings Absolute Maximum Rating 값을초과하는조건에서 DTPM을동작시킬경우치명적인손상을 가할수있습니다. Parameter Symbol Conditions min Typ Max Unit Supp Page 1 of 18 비접촉온도측정 방사율조절 원거리온도측정 High Accuracy Digital Interface : SPI 제품설명 DTPM Series는접촉을하지않고원하는물체표면의온도를 500ms 이내에정확하게측정할수있는온도센서모듈입니다. DTPM Series는온도계산프로세서를내장하고있어정확한온도값을출력합니다. (Master Controller에온도계산알고리즘이필요하지않습니다.)

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog 뉴티씨 (NEWTC) FPGA 개발 키트 (FB-CY4E-DEV) 매뉴얼 (주) 뉴티씨 ( NEWTC ) 1. FB-CY4E-DEV (FPGA 개발 키트) 소개 ALTERA 사의 FPGA(EP4CE6E22C8N)를 이용한 개발보드 입니다. USB 블래스터(FM-USBBLASTER) 를 이용하여 프로그램을 다운로드 가능 LCD, FND(7-Segment), 스위치

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

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

뉴티씨 (NEWTC) ATmega8 교육용모듈 (Model : AM-8PL ) 메뉴얼 ( 주 ) 뉴티씨 ( NEWTC ) 1. ATmega8 모듈 (AM-8PL) 소개 ATmega8 칩을

뉴티씨 (NEWTC)   ATmega8 교육용모듈 (Model : AM-8PL ) 메뉴얼 ( 주 ) 뉴티씨 ( NEWTC )   1. ATmega8 모듈 (AM-8PL) 소개 ATmega8 칩을 ATmega8 교육용모듈 (Model : AM-8PL ) 메뉴얼 ( 주 ) 뉴티씨 ( NEWTC ) 1. ATmega8 모듈 (AM-8PL) 소개 ATmega8 칩을이용한초소형모듈 AM-8PL에내장된 UART 포트로디버깅가능 ( 전원핀포함된뉴티씨 4핀 UART 배열 ) 8MHz 초소형크리스탈클럭채용으로안정성확보및 3.3V/5V 전원에모두동작함. 전원전압 (3.3V/5V)

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

untitled

untitled 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 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

CAN-fly Quick Manual

CAN-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

슬라이드 1 임베디드시스템개론 : Arduino 활용 Lecture #10: 시리얼통신 (Serial Comm.) 2015. 5. 26 by 김영주 강의목차 시러얼통신개요 I2C 통신개요 I2C 통신실험 2 3 1. Serial Communication 아두이노통신 아두이노통신개요 아두이노 MCU 와 on-board 장치또는외부연결장치간의통신 통신프로토콜에따른데이터송수신을위해개별적인통신장치

More information

슬라이드 1

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

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

USB3-DIO01

USB3-DIO01 USB3-DIO01 API Programming (Rev 1.2) 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

ADP-2480

ADP-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 information

AVR Atmega128

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

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

BMP 파일 처리

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

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 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

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

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 Word - MPC850 SPI Driver.doc

Microsoft Word - MPC850 SPI Driver.doc MPC850 SPI Driver 네트워크보드에서구현한 SPI Device Driver 제작및이용방법입니다. 문서작성 : 이재훈 (kingseft.lee@samsung.com) 이용한 SPI EEPROM - X5043/X5045 512 x 8 bit SPI EEPROM (4Kbits = 512bytes) - 제조사 : XICOR (www.xicor.com) -

More information

MR-3000A-MAN.hwp

MR-3000A-MAN.hwp ITS Field Emulator for Traffic Local Controller [ MR-3000A ] User's Manual MORU Industrial Systems. www.moru.com - 1 - 1. 개요 MR-3000A는교통관제시스템에있어서현장용교통신호제어기의개발, 신호제어알고리즘의개발및검증, 교통신호제어기생산 LINE에서의자체검사수단등으로활용될수있도록개발된물리적모의시험장치이다.

More information

슬라이드 1

슬라이드 1 Chap7. LED, LCD 와 7- 세그먼트 켜기및 IIC 통신 LED 를켜기위한순서 1. 프로그램코딩및빌드 ( 헥사파일만들기 ) 2. 프로그램메모리라이팅 M-IDE 빌드해서핵사파일만들기 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5.

More information

Microsoft Word - AM-2560PRO_V01 메뉴얼.doc

Microsoft Word - AM-2560PRO_V01 메뉴얼.doc ATMEGA 2560 모듈 ( Model : AM-2560PRO V01) 메뉴얼 ( 주 ) 뉴티씨 (NEWTC) 1 AM-2560Pro 소개 ATMega2560 16AU AVR 마이크로컨트롤러사용 256Kbit (32Kbyte) SRAM 내장 (ISSI IS62C256AL) 2줄짜리 2mm Header Pin이양쪽으로 50 핀씩배치되어있음. MAX3232 내장으로

More information