2013 mcu( 마이크로컨트롤러 ) 수업자료 2

12
Contents SEE BASIC#2 HARDWARE 1. MEGA8 spec, feature 2. 컴퓨터언어 처리 과정 3. I/O INTERFACE 4. 간단한 register 설명

Upload: -

Post on 18-Jul-2015

89 views

Category:

Devices & Hardware


5 download

TRANSCRIPT

Page 1: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

Contents

SEEBASIC#2HARDWARE

1. MEGA8����������� ������������������  spec,����������� ������������������  feature����������� ������������������  2. 컴퓨터언어����������� ������������������  처리����������� ������������������  과정����������� ������������������  3. I/O����������� ������������������  INTERFACE����������� ������������������  4.간단한����������� ������������������  register����������� ������������������  설명����������� ������������������  !!!

Page 2: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

MEGA8 spec

비 휘발성 프로그램&데이터 메모리!8K Bytes의 ISP플래시 메모리(읽고 쓰기 만 번 가능)!내장된 부트프로그램에 의한 ISP

AVR 시리즈의 mega8!8bit의 마이크로프로세서 내장!최대 16MIPS 의 프로세서 속도!(=16Mhz, 16M clock)

•프로그래밍 가능한 1개의 직렬통신포트 •Master/Slave SPI 직렬인터페이스 •독립된 내장 오실레이터를 갖는 워치독타이머 •내장된 아날로그비교기 !

Page 3: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

MEGA8 feature, function

•2개의 8bit 타이머/카운터 •1개의 16bit 타이머/카운터 •독립된 오실레이터를 갖는 실시간 카운터 •3개의 PWM 채널 ✓각 타이머/카운터 는 독립된 분주기, 비교모드

•23개의 I/O lines (pins) •외부 및 내부 인터럽트 •내장된 RC 발진기

•I/O: ! ! PB, PC, PD!•USART:! ! RXD (PD0), TXD (PD1)!•Interrupt: ! INT(PD2, PD3)!•외부 주파수발생: ! Xtal !•내부 ADC 전원:! AVCC!!

Page 4: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

컴퓨터언어 처리 과정기계어 : CPU에대한 명령어, 메모리에는 프로그램이 기계어로 저장. Micro processor마다 고유한 기계어를 가짐

어셈블리어 : 각 기계어 명령에 1:1 대응시킨 언어, 사용자가 알아볼 수 있는 언어

어셈블러 : 어셈블리어를 기계어로 번역하는 소프트웨어

고급언어 : 사용자 입장에서 이해하기 쉽게, 마이크로프로세서종류에 무관하게 프로그램할 수 있게 한 언어, ex : C, FORTRAN

컴파일러 : 고급언어를 어셈블리어 또는 기계어로 번역

Page 5: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

I/O interface 내부(on chip) 입출력 은 모두 I/O 레지스터로 제어레지스터 : 내부(on chip)에서 데이터를!보관 -> 명령어 처리시 사용(코딩해봐야!이해가 갑니다)

•I/O port:! PB, PC, PD!!*근데, I/O포트라는게 뭘까?!-> I는 input, O는 output,!뭐가 들어오고 뭐가 나가겠어?!-> 전기가!!•디버깅 시 I/O port의 해당 pin 의 파형을 이용 !

Page 6: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

간단한 register 설명(PORTX, DDRX, PINX 는 레지스터 이름)!!PORTX (B,C,D) :!PORTX를 0xff로 설정하면 모든 PORTX의 핀이 !output 상태로 설정된다. !->논리값을 통해 전압 상태를 조절(활용 :전위차로 전류의 흐름 제어)!!Ex : PORTD= 0x01; !// *0번 pin의 논리값은 1로 설정된다. 무슨 말이냐면 PORTD 0번 핀은 전위가 5v의 상태이다!

Page 7: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

간단한 register 설명 2(PORTX, DDRX, PINX 는 레지스터 이름)!!DDRX : pin의 R/W 상태를 결정!-> 외부로부터 데이터를 받아들일 경우 read 상태(0)로! 그게아니고 외부에 어떤 변화를 주려면 write상태(1)로!Ex : DDRD= 0xfe;! // 0번 pin 은 read 상태, 나머지는 write 상태!!PINX : pin의 논리값을 read 하는 레지스터(활용 : pin 의 논리값으로 pin의 전압상태를 확인 할 수 있으므로 스위치상태 확인 등 제어시 사용)!Ex: if(PIND==0x01){ A }; // 0번 pin의 논리값이 1이면 제어문 A 수행!

Page 8: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

PULL UP 저항5V5V

스위치 close 상태 스위치 open 상태

MEGA8

5V

pin MEGA8

5V

pin

f loa t ing 상태를 벗어나 확실히 끌어올린다

GNDGND

f l o a t i n g 상태 : 입력전압이 불분명해 논리판단이 어려운 상태

Page 9: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

•PULL����������� ������������������  UP����������� ������������������  저항은����������� ������������������  알아봤으니까,����������� ������������������  PULLDOWN저항����������� ������������������  알아보기����������� ������������������  •8bit����������� ������������������  CPU����������� ������������������  에대해서����������� ������������������  알아보기����������� ������������������  (요거����������� ������������������  중요해)����������� ������������������  !PORTD에는����������� ������������������  8개의����������� ������������������  LED가����������� ������������������  물려있다.����������� ������������������  요����������� ������������������  LED로����������� ������������������  I/O����������� ������������������  interface를����������� ������������������  실습해보는게����������� ������������������  이번����������� ������������������  강의����������� ������������������  핵심.����������� ������������������  (아래����������� ������������������  설명대로����������� ������������������  프로그램����������� ������������������  작성해.)����������� ������������������  !•LED����������� ������������������  circling����������� ������������������  1. 첫번째����������� ������������������  LED부터����������� ������������������  마지막����������� ������������������  LED����������� ������������������  까지����������� ������������������  순차적으로����������� ������������������  한개씩����������� ������������������  켠다.����������� ������������������  ����������� ������������������   ����������� ������������������  (나머지는����������� ������������������  꺼져있다.)����������� ������������������  ,����������� ������������������  한����������� ������������������  LED가����������� ������������������  켜����������� ������������������  있는����������� ������������������  시간은����������� ������������������  0.5초����������� ������������������  2-1.����������� ������������������  마지막����������� ������������������  LED까지����������� ������������������  켰으면����������� ������������������  다시����������� ������������������  프로그램을����������� ������������������  반복한다.����������� ������������������  2-2.����������� ������������������  마지막����������� ������������������  LED까지����������� ������������������  켰으면����������� ������������������  LED가����������� ������������������  거꾸로����������� ������������������  순차적으로����������� ������������������  켜진다.

숙제

Page 10: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

PORTD에는����������� ������������������  8개의����������� ������������������  LED가����������� ������������������  물려있다.����������� ������������������  요����������� ������������������  LED로����������� ������������������  I/O����������� ������������������  interface를����������� ������������������  실습해보는게����������� ������������������  이번����������� ������������������  강의����������� ������������������  핵심.����������� ������������������  (아래����������� ������������������  설명대로����������� ������������������  프로그램����������� ������������������  작성해.)����������� ������������������  !•LED����������� ������������������  순차����������� ������������������  점멸����������� ������������������  8개의����������� ������������������  LED가����������� ������������������  점점����������� ������������������  밝아지다가����������� ������������������  최대����������� ������������������  밝기가����������� ������������������  되고,����������� ������������������  ����������� ������������������  그����������� ������������������  다음은����������� ������������������  점점����������� ������������������  어두워지다가����������� ������������������  ����������� ������������������  최저����������� ������������������  밝기가����������� ������������������  되는����������� ������������������  과정을����������� ������������������  반복한다.����������� ������������������  ����������� ������������������  (눈은����������� ������������������  빛이����������� ������������������  많이����������� ������������������  들어올수록����������� ������������������  밝게����������� ������������������  본다.����������� ������������������  요����������� ������������������  성질을����������� ������������������  이용할����������� ������������������  것)����������� ������������������  

숙제����������� ������������������  2

Page 11: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

E T C

WINAVR 폴더 안에는 각종 헤더파일 및 mega8 을 이용할 때 필요한 명령어 이름들이 정확히 나와있다. (Iom8.h 또는 iomx8.h 이라는 이름의 파일) !C:\WinAVR-20070525\avr\include\avr

Page 12: 2013 mcu( 마이크로컨트롤러 ) 수업자료 2

QnA#3����������� ������������������  .notice

1. Reset����������� ������������������  회로����������� ������������������  2. 분해능����������� ������������������  &����������� ������������������  분주비����������� ������������������  3. ADC����������� ������������������  !!!