마이크로컨트롤러 프로그래밍에 대한 단계별 가이드

이것은 마이크로컨트롤러 프로그래밍을 시작하려는 사람들을 위한 단계별 가이드입니다. 이 기사는 가이드에 사용되는 몇 가지 기본 용어,도구 목록,프로그래밍 언어 및 끝에 마이크로 컨트롤러 프로그래밍을 연습하는 데 사용할 수있는 단계별 가이드와 함께 다운로드 가능한 코드의 예를 소개하는 것으로 시작합니다.

그러나 마이크로 컨트롤러 프로그래밍으로 다이빙하기 전에. 처음 두 가지 기본 용어를 정의합시다: 하드웨어 및 소프트웨어.

하드웨어는 칩,키보드,마우스,모니터,메모리,입출력 장치와 같은 시스템의 물리적 구성 요소로 구성됩니다. 하드웨어는 소프트웨어에 비해 개발하기가 더 어렵고,매우 특정한 응용 분야를 위해 설계되어야하며,고속 시스템에서 매우 효율적이고 완벽한 솔루션입니다.

소프트웨어는 비 물리적 구성 요소 또는 운영 체제,컴퓨터 게임 및 네트워크 응용 프로그램과 같은 하드웨어에서 실행되는 응용 프로그램입니다. 소프트웨어는 하드웨어에 비해 매우 저렴 또한,고도로 구성 쉽고 빠르게 개발 될 수있다.

마이크로 컨트롤러 란 무엇인가

마이크로 컨트롤러가 무엇인지 이해하려면 먼저 마이크로 프로세서 또는 중앙 처리 장치(중앙 처리 장치)가 무엇인지 이해해야합니다. 중앙 처리 장치는 모든 컴퓨터 시스템의 심장,작업을 수행할 때 인간의 두뇌 처럼. 우리는 기본적으로 두 가지 필수 부분으로 나눌 수 있습니다:

제어 장치:이 장치는 메모리에서 데이터를 가져 오는 데 사용됩니다.

실행 단위:이 단위는 데이터를 실행하거나 실행하는 데 사용됩니다.

프로세서 유형

범용 프로세서,애플리케이션 특정 시스템 프로세서 및 다중 프로세서 시스템과 같은 많은 범주의 프로세서가 있습니다. 범용 프로세서에는 많은 유형이 있습니다:

마이크로프로세서

마이크로프로세서

마이크로프로세서

임베디드 프로세서

디지털 신호 프로세서

마이크로프로세서는 반도체 소자 또는 칩의 컴퓨터이지만 완전한 기능을 갖춘 컴퓨터는 아닙니다. 그럴 프로세서 유닛이 포함되

▪ALU

▪프로그램 카운터

▪등록

▪다른 회로(클럭시,인터럽트)

마이크로 컨트롤러 IC 이 포함된 마이크로프로세서와 일부 주변장치를 완벽한 기능성 컴퓨터,주변 장치 등,ADC,RAM ROM,DAC.

마이크로 컨트롤러의 역사

원래 인텔은 마이크로 컨트롤러의 첫 번째 제조했다. 최초의 마이크로컨트롤러는 1971 년 미국에서 생산되었다. 이 모델은 4 비트 마이크로 컨트롤러였습니다. 나중에 인텔은 그 당시 8 비트 마이크로 컨트롤러로보다 정교한 모델을 생산했으며 그 후 12 비트 마이크로 컨트롤러가 도시바에 의해 개발되었습니다.

마이크로 컨트롤러의 응용

마이크로 컨트롤러는 자동차,의료,산업 자동화,항공 우주,로봇 공학과 같은 많은 산업 분야에서 많은 응용 분야를 가지고 있습니다.

예를 들어,자동차 산업에서,현대 자동차는 현재 100 개 이상의 마이크로프로세서를 구비하고 있으며,또한 적응형 큐리 컨트롤러 및 레인 어시스트와 같은 고급 주행 보조 시스템들을 구비하고 있으며,다음은 전자 제어 장치 또는 전자 제어 장치의 이미지이다.

의료 영역에는 자기 공명 영상,포도당 시험 세트,휴대용 심전도와 같은 마이크로 컨트롤러를 포함하는 의료 기기가 있습니다. 다음 이미지는 포도당 검사 장치입니다.

에 항공 우주,대부분의 항공기는 마이크로 컨트롤러를 사용하는 새로운 항공 전자 시스템으로 설계되었습니다. 또한 비행 제어 시스템,항공 교통 관제 시스템,내비게이션 및 기상 시스템이 모두 마이크로 컨트롤러를 기반으로합니다.

인기있는 마이크로 컨트롤러

많은 마이크로 컨트롤러의 유형과 플랫폼이 있지만 마이크로 컨트롤러를 선택하는 것은 많은 요인에 따라 다릅니다:

▪응용 프로그램

▪Budget

▪Performance

▪수 GPIO 핀을

▪메모리 크기

▪온도 운영 환경의

▪전력 소비

AVR 마이크로 컨트롤러

다음과 같은 이미지 포함 블록 다이어그램의 AVE12DA,하나의 가장 인기 있는 마이크로 컨트롤러 famlily—AVR 마이크로 컨트롤러:

AVR 마이크로컨트롤러에 의해 생산된 Atmel corporation(오늘: 마이크로 칩),아트멜은 범용 마이크로 컨트롤러로 4 가족 및 특정 목적 마이크로 컨트롤러로 2,아브르 마이크로 컨트롤러의 6 가족이있다. 범용 마이크로 컨트롤러는 다음과 같습니다:

▪ 8 & 16

자동차용 배터리 관리

자동차용 배터리 관리

자동차용 배터리 관리

자동차용 배터리 관리자동차용 배터리 관리자동차용 배터리 관리 그것은 섭씨 150 까지 아주 고열의 밑에 작동할 수 있고,단락 문제를 위한 보호 시스템을 포함합니다.

배터리 관리 마이크로 컨트롤러는 충전 및 방전 작업을 확보하기 위해 배터리 관리 시스템을 위해 개발되었습니다.

아두이노 우노

아다 프루트 블루 프루트 마이크로

디지 스파크프로

팔 마이크로프로세서/마이크로컨트롤러

팔 마이크로프로세서는 팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서,팔 마이크로프로세서 소비자 신청에서 세계에 있는 대중적인 가공업자,특히. 당신은 팔 프로세서 기반 장치가있을 수 있습니다,하지만 당신은 몰라! 팔은 대부분 성공적인 32 비트 임베디드 시스템의 핵심 구성 요소입니다. 첫 번째 팔은 1985 년에 개발되었습니다.

이 소프트웨어에 더 의존. 한편,시스코 기술은 하드웨어에 더 의존한다.

더 많은 스레드는 더 빠른 성능과 더 나은 멀티태스킹을 가능하게 합니다 다른 한편으로는,시시 프로세서는 명령 집합의 고정되지 않은 번호를 갖는다.

팔 기능을

팔을위한 많은 기능을 가지고 있습니다 모든 임베디드 시스템 디자이너를 찾고,예를 들어,낮은 전력 소모적 인 컴팩트 한 크기,또한 고밀도 코드는 다른 기능 때문에 우리는 임베디드 시스템 개발 우리는 우리 것이에서 제한된 자원을 가장 경우입니다.

암 기반 마이크로 컨트롤러의 내부 구조

이 그림은 대부분의 암 기반 장치의 내부 구조를 보여줍니다:

상자는 기능을 나타내고 선은 버스를 나타냅니다. 모든 구성 요소에 대해 자세히 이야기 해 봅시다:

▪팔 프로세서 핵심 구성 요소에 대한 책임의 처리 작업을

▪컨트롤러를 조정하는데 사용된 시스템이 기능으로 메모리고 인터럽트 컨트롤러

▪주변장치를 제공하는 데 사용되는 시스템 입력 및 출력을

▪버스 사용을 위한 데이터를 교환하는 다른 구성 요소를 시스템에서

의 예 ARM 플랫폼

거기에 많은 장치 및 임베디드 플랫폼에 있는 팔은 마이크로프로세서 예:다른 마이크로 컨트롤러 및 플랫폼

우리는 마이크로 컨트롤러 또는 플랫폼을 선택하기 전에 말했듯이에 따라 달라집니다 많은 요인(예산,핀 수 등…). 또 다른 마이크로 컨트롤러 및 플랫폼도 있습니다.

그림 마이크로 컨트롤러

▪ 8051

▪ 마이크로 컨트롤러

마이크로 컨트롤러 소프트웨어 및 하드웨어 도구

마이크로 컨트롤러 생성 이후 많은 종류의 소프트웨어 및 하드웨어 개발 도구가있었습니다. 물론 일부 도구는 다양한 마이크로 컨트롤러 유형에서 사용할 수 있지만 일부는 마이크로 컨트롤러 당 매우 구체적입니다. 마이크로컨트롤러 프로그래밍을 시작하기 전에 마이크로컨트롤러 프로그래밍 도구 및 마지막으로 개발 프로세스에 익숙해지기를 원할 수 있습니다.

임베디드 개발 도구를 사용하면 다음과 같은 도구가 필요할 수 있습니다.

어셈블러

어셈블리의 소스 코드를 기계 코드로 변환하는 소프트웨어 도구입니다.

컴파일러

고급 프로그래밍 언어로 소스 코드를 어셈블리 언어 또는 기계 코드로 덮는 소프트웨어 프로그램입니다. 컴파일 할 수 있습니다:

1000 네이티브:즉,컴파일러와 생성 된 코드를 동일한 컴퓨터에서 실행

1000 크로스:즉,컴파일러를 컴퓨터에서 실행하고 생성 된 코드는 다른 컴퓨터(프로세서 아키텍처)에서 실행됩니다.

링커 및 로케이터

링커는 컴파일을 수집 및 연결하고 작업을 어셈블하여 단일 엑셀을 생성하는 프로그램입니다.

로케이터는 링커 출력의 메모리 맵을 변경하는 데 사용할 수 있는 프로그램 도구입니다.

시뮬레이터

실제 시나리오를 모방 한 프로그램으로 실시간 시스템의 근사치를 생성합니다. 실제 하드웨어를 사용할 수 없는 경우

위험한 테스트 환경 및 시나리오에서

디버거

그것은 소프트웨어 프로그램 및 하드웨어 장치 내 임베디드 대상에 내 컴퓨터에 인터페이스 될 수 있습니다. 디버거가 사용됩니다:

중단점을 설정하려면

실행을 추적하려면

메모리를 덤프하려면

하드웨어 디버거는

회로 내 디버거

보드에 디버그 에이전트 소프트웨어

플래시 로더

사용할 수 있는 프로그램 및 하드웨어 장치입니다:프로파일러

프로파일러는 소프트웨어 코드의 성능을 모니터링하는 도구이다

통합 개발 환경

소프트웨어 코드의 성능을 모니터링하기 위한 도구이다

소프트웨어 코드의 성능을 모니터링하기 위한 도구이다

통합 개발 환경

소프트웨어 코드의 성능을 모니터링하기 위한 도구이다하나. 을 포함할 수 있

▪텍스트 편집기

▪컴파일러

▪디버거

▪프로파일러

▪시뮬레이터는

▪Linkers

마이크로 컨트롤러 소프트웨어가 언어

우리는 분류할 수 있습니다 그들은 두 가지 유형으로:

하이 레벨

하이 레벨하이 레벨하이 레벨하이 레벨하이 레벨하이 레벨하이 레벨하이 레벨 0 과 1 이며 인간이 작성하기는 어렵지만 컴퓨터가 이해하기 쉽다

어셈블리

가독성을 향상시키는 니모닉 코드 및 의사 명령어

예제:

명령어 니모닉(연산 코드)+피연산자로 구성

연산 코드는 기계 프로세서에 의해 촬영 작업

피연산자는 최종 대상이다;연산 코드에 대한 작업을 수행해야합니다.

어셈블리 언어는 기계 코드보다 읽기 쉽고 이해할 수 있지만 특정 프로세서에서 사용하고 아키텍처에 대한 지식이 있어야합니다.프로그래밍 언어

고급 언어에는 다음과 같은 기능이 있습니다.

쓰기 쉬운

유연한

프로세서 독립

높은 생산성

아트메가 16 에는 다음과 같은 기능이 있습니다:

▪16Kb 에는 시스템 자체 프로그래밍 플래시 메모리

▪512 바이트 EEPROM

▪1 킬로바이트 내장 SRAM

▪프로그래밍 보안을 위해 잠금

주변 기능을

▪실시간 카운터와 오실레이터는 별도의

▪프로그래밍 시리얼 USART

▪네 PWM 채널을

▪8-채널 10-bit ADC

▪On-chip Oscillator

▪전원 및 나머지 브라운아웃 탐지

▪내부 RC 오실레이터와 인터럽트 소스의

▪전압(부터 2.7v~5.응용 프로그램 개발에서”헬로 월드”프로그램과 같은 임베디드 시스템에서 깜박임 프로그램을 사용합니다. 다음 예제에서는 프로테우스 시뮬레이터를 배우고 사용하여 첫 번째 프로그램을 실행합니다. 원본 파일을 다운로드하려면 이 폴더로 이동하십시오.

아트멜 스튜디오를 사용하여 프로그램을 작성

아이디 다운로드 후,

다음 단계는 마이크로 컨트롤러 제품군을 선택하는 것입니다

마이크로 컨트롤러 프로그래밍 제품군

마이크로 컨트롤러 프로그래밍 제품군

그 후 당신은 스타터 코드와 함께 다음 창을 얻을 것이다

마이크로 컨트롤러 프로그래밍

지금 적어주세요 다음 코드

마이크로컨트롤러 프로그래밍

다음 단계는 마이크로컨트롤러 프로그래밍

그 후 선택한 위치에서 16 진수 파일을 찾을 수 있습니다.

마이크로컨트롤러 프로그래밍

다음 단계는 프로테우스 시뮬레이터를 사용하는 것입니다

이제 선택한 템플릿

마이크로컨트롤러 프로그래밍에서 회로도를 만들고 인쇄 회로 기판 레이아웃

생성 안 함을 선택합니다.

마이크로컨트롤러 프로그래밍 AVR

마지막으로, 우리는 할 수 있지만 우리가 필요한 추가 hex 파일에 다음과 같은 이미지

마이크로컨트롤러 프로그래밍 AVR

이제 편집 CKSEL 퓨즈

마이크로컨트롤러 프로그래밍 AVR

저장을 클릭합 플레이

그리고 당신이 볼 수 있는 LED500ms(왼쪽)및에서 500ms(오른쪽)

프로그램 설명을 줄

을 소스 파일을 다운로드로 이동하시기 바랍니다.상수를 생성하고 프로세서 속도를 선택

#포함<.입력 및 출력에 대한 일부 파일을 불러오려면

#에는<가 포함됩니다.(1){//루프 영원히

동안 출력/방향

포르타=이 경우,상기 제 1 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 2 및 제 3 및 제 3 및 제 3 및 제 3 및 제 3 및 제 3 및 제 3 및 제 3 및 제 3; / 2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년

}

반환 0;

} //프로그램 종료

결론

요즘 임베디드 시스템은 중요한 제품에 사용되며 의료 영역 및 기타 응용 프로그램에서와 같이 많은 사람들을 보호하고 저장하는 데 사용할 수 있습니다. 마이크로 컨트롤러 프로그래밍에 대한 개요 및 소개를 얻은 후에는 계속 학습해야합니다. 다음 단계는 임베디드 소프트웨어 설계 및 실시간 트리거 시스템을 배우는 것입니다.

https://www.faa.gov/regulations_policies/handbooks_manuals/aviation/phak/

2004 년

암 시스템 개발자 가이드 시스템 소프트웨어 설계 및 최적화 모건 카우프만 시리즈 컴퓨터 아키텍처 및 디자인 책•2004

Leave a Reply

이메일 주소는 공개되지 않습니다.