Page 218 고등학교 프로그래밍 교과서
P. 218
2 하드웨어 제어용 프로그래밍
학습목표 •하드웨어 제어용 언어의 종류와 실행 과정을 설명할 수 있다.
•C 언어를 활용하여 하드웨어 제어 프로그램을 구현하고 테스트할 수 있다.
마이크로컨트롤러(MCU) 사람의 접근이 어려운 위험한 현장에는 로봇이나 드론을 투입하여 이들의 도움으
하나의 반도체 칩 안에 컴퓨터의 주
요 기능에 해당하는 프로세서, 메모 로 문제를 해결할 수 있다. 로봇 내부의 마이크로컨트롤러 칩에 심어 놓은 제어 프로
리, 입출력 포트 등을 내장한 단일칩 그램이 있기 때문이다.
마이크로컴퓨터를 말한다.
주로 하드웨어 제어 목적에 필요한 마이크로컨트롤러는 스마트폰, MP3 등과 같은 IT 제품의 필수 구성 요소이며 최
기능을 포함하고 있으며 가격이 저
렴하다. 근의 자동차에는 수십 개의 마이크로컨트롤러 칩이 사용되고 있다. 손톱 크기의 칩
속에 저장된 프로그램이 칩과 연결된 하드웨어를 빠르고 정확하게 제어할 수 있기
때문이다.
1 하드웨어 제어용 언어에 대해 살펴보자
마이크로컨트롤러를 제어하기 위한 프로그래밍 언어로는 일반적으로 어셈블리 언
어와 C 언어가 많이 사용된다. 어셈블리 언어는 실행 속도가 빠르고 하드웨어를 세
밀하게 제어할 수 있으나 높은 수준의 하드웨어 지식과 프로그래밍 경험을 요구한
다. C 언어는 가장 일반적인 하드웨어 제어용 언어로 실행 속도가 빠르고 프로그램
의 이식성이 좋은 고급 언어이다.
여기서는 C 언어 문법을 기본으로 사용하고 있는 아두이노(Arduino)를 이용하여
하드웨어 제어용 언어 하드웨어 제어용 프로그램
프로그래밍 언어의 형식이나 문법
의 특성상 하드웨어를 보다 쉽고 효 을 만들어 보기로 한다.
율적으로 제어할 수 있는 형태의 언 아두이노는 스위치나 센
어로 어셈블리어나 C 언어 등을 하
드웨어 제어용 언어로 구분한다. 서의 정보를 입력받아 LED
나 모터와 같은 전자 장치
들을 제어할 수 있는 소프
아두이노 보드
아두이노 보드는 탑재된 칩의 종류 트웨어 개발 툴과 마이크
에 따라 다양한 종류가 있으며, 일반
적으로 AVR 계열의 칩이 많이 사용 로컨트롤러가 장착된 하드
되고 있다. 웨어 보드를 총칭하는 용
어이다. 아두이노 개발 툴
[그림Ⅲ- 17] 아두이노 보드
은 무료로 다운로드할 수
있으며 하드웨어 및 프로그램 소스가 공개된 오픈 소스 툴이다. 그러므로 사용자들
에 의해 개발된 다양한 라이브러리들을 서로 공유할 수 있다.
216 Ⅲ. 프로그래밍 설계와 구현
(책)2015프로그래밍-교과서3차심의본 본문.indb 216 2017-09-05 오후 4:16:55