2013 mcu( 마이크로컨트롤러 ) 수업자료 2
TRANSCRIPT
Contents
SEEBASIC#2HARDWARE
1. MEGA8����������� ������������������ spec,����������� ������������������ feature����������� ������������������ 2. 컴퓨터언어����������� ������������������ 처리����������� ������������������ 과정����������� ������������������ 3. I/O����������� ������������������ INTERFACE����������� ������������������ 4.간단한����������� ������������������ register����������� ������������������ 설명����������� ������������������ !!!
MEGA8 spec
비 휘발성 프로그램&데이터 메모리!8K Bytes의 ISP플래시 메모리(읽고 쓰기 만 번 가능)!내장된 부트프로그램에 의한 ISP
AVR 시리즈의 mega8!8bit의 마이크로프로세서 내장!최대 16MIPS 의 프로세서 속도!(=16Mhz, 16M clock)
•프로그래밍 가능한 1개의 직렬통신포트 •Master/Slave SPI 직렬인터페이스 •독립된 내장 오실레이터를 갖는 워치독타이머 •내장된 아날로그비교기 !
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!!
컴퓨터언어 처리 과정기계어 : CPU에대한 명령어, 메모리에는 프로그램이 기계어로 저장. Micro processor마다 고유한 기계어를 가짐
어셈블리어 : 각 기계어 명령에 1:1 대응시킨 언어, 사용자가 알아볼 수 있는 언어
어셈블러 : 어셈블리어를 기계어로 번역하는 소프트웨어
고급언어 : 사용자 입장에서 이해하기 쉽게, 마이크로프로세서종류에 무관하게 프로그램할 수 있게 한 언어, ex : C, FORTRAN
컴파일러 : 고급언어를 어셈블리어 또는 기계어로 번역
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 의 파형을 이용 !
간단한 register 설명(PORTX, DDRX, PINX 는 레지스터 이름)!!PORTX (B,C,D) :!PORTX를 0xff로 설정하면 모든 PORTX의 핀이 !output 상태로 설정된다. !->논리값을 통해 전압 상태를 조절(활용 :전위차로 전류의 흐름 제어)!!Ex : PORTD= 0x01; !// *0번 pin의 논리값은 1로 설정된다. 무슨 말이냐면 PORTD 0번 핀은 전위가 5v의 상태이다!
간단한 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 수행!
PULL UP 저항5V5V
스위치 close 상태 스위치 open 상태
MEGA8
5V
pin MEGA8
5V
pin
f loa t ing 상태를 벗어나 확실히 끌어올린다
GNDGND
f l o a t i n g 상태 : 입력전압이 불분명해 논리판단이 어려운 상태
•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가����������� ������������������ 거꾸로����������� ������������������ 순차적으로����������� ������������������ 켜진다.
숙제
PORTD에는����������� ������������������ 8개의����������� ������������������ LED가����������� ������������������ 물려있다.����������� ������������������ 요����������� ������������������ LED로����������� ������������������ I/O����������� ������������������ interface를����������� ������������������ 실습해보는게����������� ������������������ 이번����������� ������������������ 강의����������� ������������������ 핵심.����������� ������������������ (아래����������� ������������������ 설명대로����������� ������������������ 프로그램����������� ������������������ 작성해.)����������� ������������������ !•LED����������� ������������������ 순차����������� ������������������ 점멸����������� ������������������ 8개의����������� ������������������ LED가����������� ������������������ 점점����������� ������������������ 밝아지다가����������� ������������������ 최대����������� ������������������ 밝기가����������� ������������������ 되고,����������� ������������������ ����������� ������������������ 그����������� ������������������ 다음은����������� ������������������ 점점����������� ������������������ 어두워지다가����������� ������������������ ����������� ������������������ 최저����������� ������������������ 밝기가����������� ������������������ 되는����������� ������������������ 과정을����������� ������������������ 반복한다.����������� ������������������ ����������� ������������������ (눈은����������� ������������������ 빛이����������� ������������������ 많이����������� ������������������ 들어올수록����������� ������������������ 밝게����������� ������������������ 본다.����������� ������������������ 요����������� ������������������ 성질을����������� ������������������ 이용할����������� ������������������ 것)����������� ������������������
숙제����������� ������������������ 2
E T C
WINAVR 폴더 안에는 각종 헤더파일 및 mega8 을 이용할 때 필요한 명령어 이름들이 정확히 나와있다. (Iom8.h 또는 iomx8.h 이라는 이름의 파일) !C:\WinAVR-20070525\avr\include\avr
QnA#3����������� ������������������ .notice
1. Reset����������� ������������������ 회로����������� ������������������ 2. 분해능����������� ������������������ &����������� ������������������ 분주비����������� ������������������ 3. ADC����������� ������������������ !!!