1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.
판매자 | Timy | 판매 납포인트 | 무료 | 평점 | 0점 / 총 0명 참여 |
---|
제목 : [8051강좌] 스터디 00 - 서론
서론
로봇이라는 말은 이미 우리들에게 친숙한 말이 되었다. 로봇의 역사와 단어의 의미들에 대해서는 별도의 참고도서들을 찾아보기 바란다. 인터넷으로나 다른 책들에서 이미 서론부분에 많이 이야기되는 내용이어서 이곳에서는 생략하기로 한다.
그러면 8051 이란 무엇인가? 역시 인터넷에서 8051을 검색해보면 무수한 사이트들이 검색된다. 마이크로프로세서에 대해서 검색을 해도 몇 년 동안 봐도 다 못 볼 정도의 사이트들이 검색된다. 영어가 조금만 익숙하다면 영어로 검색을 해보라. 마이크로프로세서로 별의별 희한한 것들을 만들어 내고 있음을 알게 된다.
우선 마이크로프로세서란 것이 무엇인지 한번 살펴보기로 하자. 마이크로란 말은 Micro 라는 영어의 접두사로 아주 작은 단위를 의미한다. 보통 백만분의 일이라는 의미로 사용된다. 프로세서는 컴퓨터로 따지자면 연산장치가 포함된 CPU를 생각하면 된다. 그래서 마이크로프로세서는 아주 작은 컴퓨터라고 할 수 있다. 크기도 작고, 또 성능도 보통의 컴퓨터와는 비교될 수 없을 만큼 작은 그런 초소형 컴퓨터를 마이크로프로세서라고 생각하기로 하자.
사실 마이크로프로세서라는 말은 작은 컴퓨터를 의미하지만 기술력의 증진으로 인해 처음 이야기 되었던 마이크로프로세서와는 상당한 차이가 있다. 4004를 1971년 인텔사에서 발표한 후 30년이 채 안 되는 시간동안 마이크로프로세서는 상당한 발전을 이루어왔다. 초기 모델과는 비교도 안 될 정도의 속도와 기능의 향상이 있었다. 그래서 현재 우리가 말하는 마이크로프로세서는 초창기 PC 정도의 능력을 보유하고 있다.
필자가 처음 가졌던 PC는 286기종이었다. 램은 2메가를 사용했고, 하드는 20메가를 사용했다. 그때 대부분의 개인용 PC들이 하드 없이 2개의 FDD를 사용했던 XT였던 것을 생각하면 필자가 처음 가졌던 PC는 상당한 고사양이었다. 그 PC를 살 때 붙었던 광고문구는 “어려움없이 AutoCAD를 사용할 수 있는 PC” 였다. 하지만 지금 2000년이 지난 이 시점에 램이 2메가에 하드가 20메가짜리 PC를 가지고 있다면 그 사람은 골동품 수집이 취미인 사람일 것이다. 그만큼 기술의 발전은 엄청난 속도로 진전되었고 컴퓨터의 두뇌 역할을 하는 CPU와 주변기기들, 특히 반도체의 집적화는 대단한 속도로 이루어졌다.
지금 만들어지는 대부분의 마이크로마우스는 대부분 16비트의 연산속도를 가지고 있는 마이크로프로세서를 사용하고 있다. 임베디드 리눅스를 사용하는 Arm 계열의 칩들은 대부분 몇 십 메가 이상의 플래시메모리를 가지고 작동한다. GUI 환경을 생각지도 못했던 286시대의 PC에서 지금은 임베디드 시스템마저 GUI환경을 지원하기도 한다.
프로세서의 발전은 자연스럽게 마이크로프로세서의 속도와 기능의 향상으로 이어졌다. 현재 8051은 인텔에서 처음으로 제안했던 상태에서 머물러있지 않다. 속도와 여러 가지 기능이 복합된 8051 계열의 다양한 칩들이 다양한 회사에서 제조되고 있으며 그 용도는 냉장고에 들어가는 온도제어 센서제어로부터 시작해서 자동차와 항공기 등, 일상생활 중에 안 쓰이는 곳이 없을 정도로 다양하게 사용되고 있다. 8051 외에 많이 사용되는 PIC 와 AVR 이 있으며, 16비트로는 80196 계열의 마이크로프로세서가 사용된다. 그 외에 Arm 계열의 프로세서들과 DSP 용 칩들도 어떤 면에서는 마이크로프로세서로 포함시키기도 한다. 하지만 여기서는 마이크로프로세서는 8비트와 16비트로만 제한시켜 생각하기로 하자.
다양한 마이크로프로세서가 있다는 말은 그만큼 공부해야 할 것들이 많음을 의미하기도 한다. 하지만 100자루의 칼을 한 번씩 사용해 본 사람과 1자루의 칼을 100번 사용해 본 사람 중 전문가는 1자루의 칼을 100번 사용해 본 사람이다. 자신에게 익숙한 한 자루의 칼을 손에 익힐 때까지 다루는 것이 진정한 전문가가 되는 길이다. 100자루의 칼을 한 번씩 손대보는 것은 칼 장사를 위한 장사꾼이 되는 길이기도 하다.
다양한 마이크로프로세서 중 하나를 골라 철저하게 자신의 것으로 만드는 것이 다른 마이크로프로세서를 사용하기 위한 기초가 될 수 있다. 마이크로프로세서라고 해서 특별히 다른 것이 있지 않다. 하나를 제대로 사용해 낼 수 있는 사람은 어떤 것이 주어진다고 해도 금세 사용해 낼 수 있게 된다. 이건 단지 마이크로프로세서에 대한 것만이 아니다. 인생도 비슷하다. 모든 것을 철저하게 해내지 못하고 도중에 그만두는 사람이 100가지 일을 경험하는 사람은 아무것도 제대로 해내지 못한다. 하지만 하나를 끝까지 철저하게 파고들어 끝을 보고 마는 사람은 원리를 터득했기에(도를 깨쳤기에) 비슷한 다른 어떤 것이 주어지더라도 별 어려움 없이 해내고 만다.
그래서 여기서는 가장 대표적이고 쉽다고 여겨지는 8051을 사용하기로 한다. 기본적인 내용을 제대로 터득하면 거기서 파생되어 나온 또 다른 내용을 어려움 없이 습득할 수 있고, 다른 비슷한 마이크로프로세서를 사용하는 것도 하루 이틀에 가능하게 된다. 실제로 필자는 8051을 가능한 제대로 살펴보려고 노력했고, 그 결과 다른 마이크로프로세서들도 8051과 별다른 특별한 것이 없음을 알았다. (A를 알고, A와 B의 차이를 안다면, A와 다른 차이만을 고려하면 B도 어렵지 않게 사용할 수 있다는 말이다.)
학습에 왕도는 없다. 다만 이미 경험한 선배의 조언을 따를 때 겪을 수 있는 약간의 시행착오를 피할 수 있다. 이곳에서는 8051을 다루는 기본적인 내용과 8051을 사용한 프로그램, 그리고 로봇 컨트롤에 대해서 간략하게 다루어보고자 한다. 앞으로의 내용은 최대한 8051의 세부적인 내용을 설명하겠지만 모든 내용을 다 다루지는 않는다. 경험상 꼭 필요한 부분과 로봇제어에서 필요한 부분을 집중적으로 다룰 것이다. 마이크로프로세서에 관해서 더 깊이 있는 지식을 원한다면 개별 칩의 datasheet를 살펴봐야 한다. 어떤 책보다도 사실을 더 많은 시간을 들여 살펴보아야 하는 것이 datasheet 이다. 물론 영어로 되어 있어서 부담스러워 하는 사람도 있을 것이다. 하지만 어떤 공부를 고등학교 이상 수준의 학습을 원한다면 영어는 이미 필수임을 스스로 알아야 한다. 칼 다루는 법을 익히지 않은 채 생선회를 멋있게 뜨겠다는 생각은 버리도록 한다. 필자에게 영어는 미국인이 쓰는 언어가 아니다. 영어는 국제인이 서로간의 의사소통을 위해 사용하는 만국 공통어이다. 좁은 세계에 갇히지 않고 보다 넓게 보기를 원한다면 영어를 반드시 알아야만 한다.
마지막으로 여기서는 8051과 함께 초보적인 로봇제어를 다루게 될 것임을 밝힌다. 학부수준의 로봇공학의 실제적인 연습으로 마이크로프로세서인 8051을 다루고, 모터를 이용한 라인트레이서와 로봇암의 작동을 통해 기초적이지만 실제적인 로봇구동을 한다. 이를 위해 8051은 아트멜에서 나온 AT89S52 라는 칩을 사용한다. 가능한 8051의 기본적인 내용으로 글을 구성하겠지만 AT89S52의 특징 중 몇 가지를 사용하게 된다. 그 내용들은 앞으로 차차 다루어질 것이다.
--------------------------------------
Timy의 전자카페
기분좋은 하루되세요. ^^
http://electoy.tistory.com
http://www.electoy.net
--------------------------------------