마이크로컨트롤러를 배우는 방법
먼저 Guo Tianxiang 씨의 마이크로컨트롤러용 C 언어 학습 10일을 시청하세요. 인터넷에서 검색해 보세요.
개발 보드를 개발하려면 다음을 선택하세요. Guo Tianxiang의 동영상입니다.
Taobao에는 많이 있습니다.
비싸지 않습니다.
1. 마이크로 컨트롤러의 원리와 구조에 익숙합니다.
2. 디지털 및 아날로그 전자공학을 잘 배우고 회로 설계 기초를 준비하세요.
3. C 언어를 능숙하게 사용하고 다른 사람의 프로그램에 대해 자세히 알아보세요. 4. 운영 체제 원리에 대해 어느 정도 이해하고 있어야 합니다.
5. Protel 최소한 몇 가지 기본 기술이 필요합니다.
6.
마이크로 컨트롤러를 배우는 단계
현재 마이크로 컨트롤러의 종류는 많지만 51이 가장 기본이므로 51부터 마이크로 컨트롤러 학습을 시작하는 것이 가장 좋습니다. 시작하는 동시에 매우 실용적입니다. 그러나 51 마이크로컨트롤러는 결국 너무 기본적입니다. 따라서 많은 후속 마이크로컨트롤러가 기능을 크게 확장했기 때문에 우리 연구실의 대부분의 사람들은 AVR 마이크로컨트롤러의 기능을 훨씬 더 많이 배울 것입니다. 51개의 마이크로컨트롤러로 개선되었으며 A/D 및 빠른 PWM과 같은 많은 실용적인 기능을 통합하고 많은 대형 마이크로컨트롤러와 많은 기능적 유사성을 가지고 있습니다. 따라서 향후 다른 마이크로컨트롤러를 마스터하고 싶다면 의심할 여지 없이 AVR이 좋은 발판입니다.
학습 과정
마이크로 컨트롤러에 대해 마지막으로 배우는 것은 물론 실습입니다. 제가 말하는 학습은 교실에서 배우는 마이크로 컨트롤러와도 다릅니다. 이전에는 마이크로컨트롤러 교재가 있었고, 일부 교과서에서는 마이크로컨트롤러의 작동 원리와 내부 구조에 대해 설명하고 있으므로 앞으로 수업이 시작되면 이러한 내용은 배우지 않을 것입니다. 지금 우리가 배워야 할 것은 내부 구조 원리는 잠시 접어두고, 마이크로 컨트롤러를 이용해 간단한 작은 프로그램을 작성하는 방법을 배우는 방법이라는 말이 인터넷에 있습니다. 먼저 실습을 하고 그다음 이론을 익히는 것입니다.
그래서 내 관점은 먼저 마이크로 컨트롤러의 하드웨어 구조에 대한 기본적인 이해가 있어야 합니다. 최소한의 마이크로컨트롤러 시스템을 스스로 구축할 수 있으며 프로그램을 통해 직접 시작할 수 있습니다. 이 프로그램은 C 언어로 프로그래밍하는 것이 가장 좋습니다. 간단한 윤곽선으로 시작하여 점차적으로 디지털 튜브의 일부 응용 프로그램을 심화시킬 수 있습니다. , 액정, DS1302, DS18B20 및 기타 전자 부품을 심화시키면 몇 가지 구체적인 예를 결합하여 인터럽트 및 직렬 통신과 같은 일부 기능을 확장할 수 있습니다. 주목해야 할 또 다른 점은 마이크로 컨트롤러에 사용되는 C 언어가 실제로 매우 제한적이라는 것입니다. 교실에서 배운 C 내용의 대부분은 초기 마이크로 컨트롤러 프로그래밍에 사용되지 않으므로 C 언어 기초가 충분하다고 생각할 필요가 없습니다. 별로 좋지는 않지만 마이크로컨트롤러는 멀리하세요!
학습 도구
소프트웨어 측면에서 51 마이크로컨트롤러는 KEIL 소프트웨어를 사용합니다. 이 소프트웨어는 학교 도서관 소프트웨어 다운로드 및 기타 웹사이트에서 직접 찾을 수 있습니다. 구체적인 사용법은 AVR 소프트웨어가 더 많고, CVAVR을 사용하며, ICCAVR 및 기타 컴파일 소프트웨어도 있습니다. 학습하기 전에 특정 51 기초를 갖추는 것이 좋습니다. 다른 하나는 프로그래밍 소프트웨어입니다. 프로그래밍 소프트웨어의 기능은 컴파일러에 의해 생성된 HEX 파일을 마이크로컨트롤러에 프로그래밍하는 것입니다. 이는 다운로드 라인에서 실용적이어야 합니다. 포트 다운로드 라인. SLISP 소프트웨어의 경우 노트북에 병렬 포트가 없으면 USBASP라는 다운로더를 구입해야 합니다. 약 20위안입니다. 소프트웨어는 CD와 함께 제공됩니다.
하드웨어 측면에서 가장 먼저 마이크로컨트롤러에 대해 주목할 점이 하나 있습니다. 제가 언급한 프로그래밍 프로그램은 89S51 및 89S52 모델을 구입하는 것이 가장 좋습니다. 위의 마이크로 컨트롤러는 ISP 다운로드를 지원하므로 다른 모델의 프로그래밍 프로그램을 구입하는 경우 불편할 수 있습니다. 일반적으로 사용되는 AVR 마이크로 컨트롤러는 ATmega16L이며 다른 모델과의 차이는 그리 크지 않습니다. 어느 정도 호환됨. 단일 칩 마이크로컴퓨터 개발 보드의 경우 현재 가격이 백에서 수백까지 매우 비싸지만 지난번 학교에서 광고한 것처럼 60위안이 넘는 것은 건너뛰는 것이 가장 좋습니다. 효과가 없습니다. 물론 구입하면 좋지만, 없어도 상관없습니다. 회로 기판을 구입하여 직접 제작하는 것도 매우 쉽습니다. ISP 인터페이스를 이끌어내고 프로그램을 프로그래밍하는 것도 매우 쉽습니다. 확장을 위해 I/O 포트를 꺼내는 것도 매우 편리합니다.
마이크로컨트롤러를 학습할 때 주의해야 할 몇 가지 다른 사항:
1. 이론과 실습을 동등하게 고려하세요
마이크로 컨트롤러를 배우는 초보자의 경우 교과서 스타일의 학습 방법을 따르면 오랫동안 공부한 후에 많은 지침과 명사가 나올 것입니다. , 그는 여전히 이 지시 사항이 무엇인지 알 수 없습니다. 어쩌면 며칠 내에 지루함을 느끼고 중간에 포기할 수도 있습니다. 따라서 학습과 실천을 동시에 단계별로 결합하는 것이 좋은 방법입니다. 이런 식으로 사용된 지침을 이해하고, 완전히 이해하고, 마음에 뿌리를 내릴 수도 있습니다. "단 몇 번만에. 즉, 몇 가지 지침을 익힌 후(더 많은 것을 요구하지 않고 이해만) 실험을 통해 지금 당장 지침의 제어 효과를 느낄 수 있으며, 이를 통해 확인할 수 있습니다. 눈으로 보고(빛), 들을 수 있고(소리), 지시가 어떻게 신호로 변환되어 제어가 이루어지는지 더 깊이 이해할 수 있습니다. 성취감을 느낄 뿐만 아니라 마이크로컨트롤러에 대한 관심도 높아집니다. 솔직히 말해서, 마이크로컨트롤러는 학습되는 것이 아니라 실험을 통해 실습되는 만큼, 실험을 하는 것 자체도 학습 과정이라는 점은 말할 것도 없습니다. 따라서 연습하면서 학습하는 학습 방법이 특히 효과적입니다.
2. 시간을 합리적으로 조정하고 인내하십시오.
마이크로 컨트롤러를 배우는 것은 "3일 낚시하고 이틀 동안 그물을 말리는 것"이 될 수 없습니다. 인내와 결단력이 필요합니다. 몇 가지 지침을 익힌 후 실험을 하기 전에 며칠 또는 몇 주를 기다리는 대신 시간 내에 실험을 수행하여 이를 통합해야 합니다. 그렇지 않으면 효과가 좋지 않거나 이전에 배운 것을 잊어버릴 수도 있습니다. 또한, "장기적인 전쟁"에 대비해 정신적으로 준비가 되어 있어야 합니다. 관심이 있을 때는 며칠 동안 공부하지 말고, 관심이 없을 때는 몇 주 동안 가만히 있어야 합니다. 마이크로컨트롤러를 배울 때 가장 중요한 점은 인내심을 갖는 것입니다.
3. 문제가 발생하면 인내심을 갖고 확인하십시오.
MCU에는 소프트웨어 구성 요소와 하드웨어 구성 요소가 모두 있습니다. 프로그램을 어떻게 조정해도 조정할 수 없지만 작동하지 않는 경우도 있습니다. 이 경우 원인을 주의 깊게 찾아야 하며, 마이크로 컨트롤러를 학습할 때 종종 많은 문제에 직면하게 되며 때로는 하루나 이틀 안에 해결할 수 없는 경우도 있습니다. 실수하면 새로운 것을 얻게 될 것이다. 결코 쉽게 포기하지 마세요! ! !
4. 단지 잠깐 배운 지식의 경우 기껏해야 잠깐 훑어보는 것보다 약간 나을 뿐입니다. 그러므로 일정 기간(1~2개월) 후에 다시 배우는 것이 더 좋은 방법입니다. 배운 지식은 자주 활용해야 합니다. 이렇게 여러 번 반복하면 완전히 이해하고 소화할 수 있습니다. 잊어 버려.
5. 실험 장비와 서적, 재료 구입을 위해 적절한 투자를 하세요
단일 칩 마이크로컴퓨터 기술은 금 함량이 높습니다. 한번 배우면 취업을 하든 창업을 하든 높은 혜택을 누릴 수 있습니다. 공장과 회사를 운영하는 것의 전망은 밝고 무한합니다. 따라서 공부할 때 필요한 학습 및 실험 장비 구입에 적절하게 투자할 의지가 있어야 합니다. 또한 과학 기술 서점을 자주 방문하여 자신의 학습과 발전에 적합한 책을 구입해야 합니다. 좋은 책은 정말 중요합니다. 언제든지 읽고, 이해하지 못하거나 잊어버린 지식을 보충할 수 있습니다.
마이크로 컨트롤러 사용법을 배운다는 것은 마이크로 컨트롤러의 하드웨어 구조와 내부 자원의 활용을 이해하고, 어셈블리나 C 언어로 다양한 기능의 초기화 설정을 배우고, 다양한 기능을 구현하기 위한 프로그래밍을 배우는 것을 의미한다.
1단계: 디지털 I/O 사용
버튼을 사용하여 신호를 입력하면 LED에 출력 레벨이 표시됩니다. 핀 누르기 특정 버튼을 누르면 특정 발광 다이오드가 켜집니다. 이는 디지털 회로의 조합 논리 기능입니다. 예를 들어 일반적인 마이크로 컨트롤러 프로그래밍 아이디어를 배울 수 있습니다. 핀을 사용하기 위해 초기화하도록 설정합니다. 핀에는 디지털 입력 및 출력 기능이 있습니다. 마이크로 컨트롤러의 기능을 사용할 때마다 해당 기능을 제어하는 레지스터를 설정해야 합니다. 이것이 마이크로 컨트롤러 프로그래밍의 특징입니다. 모든 마이크로 컨트롤러가 이와 같습니다.
2단계: 타이머 사용 타이머 사용법을 배우면 마이크로컨트롤러를 사용하여 순차 회로를 구현할 수 있습니다. 순차 회로의 기능은 강력하며 제어에 많은 응용이 가능합니다. 예를 들어, 마이크로컨트롤러를 사용하여 버튼이 있는 복도 조명 스위치를 구현할 수 있으며 버튼을 한 번 누른 후 3분 후에 조명이 자동으로 꺼집니다. , 표시등은 계속 켜져 있습니다. 버튼을 누르면 표시등이 자동으로 꺼집니다. 시간이 2초를 초과하면 표시등이 꺼집니다. 디지털 집적회로는 순차회로를 구현할 수 있고, 프로그래머블 논리소자(PLD)는 순차회로를 구현할 수 있으며, 프로그래머블 컨트롤러(PLC)도 순차회로를 구현할 수 있지만 마이크로컨트롤러만이 구현하기 가장 간단하고 비용이 저렴하다.
타이머의 사용은 매우 중요합니다. 로직과 시간 제어는 마이크로 컨트롤러 사용의 기초입니다.
3단계: 인터럽트
마이크로 컨트롤러의 특성은 프로그램이 반복적으로 실행된다는 것입니다. 프로그램의 각 명령을 실행하려면 일정량의 실행 시간이 필요합니다. 특정 명령을 실행하지 않으면 명령의 동작이 발생하지 않아 버튼을 눌렀을 때 하강 에지(falling edge)와 같이 빠르게 발생하는 많은 일이 지연됩니다. 프로그램이 정상적으로 실행되는 동안 마이크로 컨트롤러가 빠른 동작에 응답하려면 마이크로 컨트롤러의 인터럽트 기능을 사용해야 합니다. 이 기능은 빠른 동작이 발생한 후 마이크로 컨트롤러가 빠른 동작을 처리하기 위해 정상적으로 실행 중인 프로그램을 중단하는 기능입니다. . 처리가 완료된 후 일반 프로그램을 실행하기 위해 돌아갑니다. 인터럽트 기능을 사용할 때 어려운 점은 인터럽트 발생이 허용되지 않는 시기(마스크 인터럽트), 인터럽트 발생이 허용되는 시기(인터럽트 활성화), 특정 인터럽트가 작동하도록 설정해야 하는 레지스터를 정확히 알아야 한다는 것입니다. 인터럽트가 시작되면 프로그램은 무엇을 해야 하는지, 인터럽트가 완료된 후 프로그램은 무엇을 해야 하는지 등을 수행해야 합니다.
인터럽트 학습 후에는 더 복잡한 구조의 프로그램을 컴파일할 수 있습니다. 이러한 프로그램은 한 가지 작업을 수행하고 한 가지 작업을 모니터링하면 수행 중인 작업을 중단하고 처리합니다. 사물을 모니터링하려면 물론 여러 사물을 모니터링할 수도 있습니다. 생생한 비유를 사용하면 인터럽트 기능을 통해 마이크로컨트롤러는 그릇에서 음식을 먹고 냄비를 관찰하는 기능을 갖게 됩니다.
위의 3단계를 익히는 것은 십팔용장(十十十十八) 무술을 익히는 것과 같다.
4단계: PC와의 RS232 통신
MCU에는 모두 USART 인터페이스가 있으며, 특히 2개의 USART 인터페이스가 있는 MSP430 시리즈의 많은 모델이 그렇습니다. USART 인터페이스는 PC의 RS232 인터페이스에 직접 연결할 수 없으며 둘 사이의 로직 레벨이 다르므로 레벨 변환을 위해 MAX3232 칩을 사용해야 합니다.
USART 인터페이스의 사용은 매우 중요합니다. 이 인터페이스를 통해 마이크로컨트롤러와 PC 간에 정보를 교환할 수 있습니다. RS232 통신이 고급은 아니지만 인터페이스를 익히는 것이 매우 중요합니다. USART 인터페이스를 올바르게 사용하려면 통신 프로토콜, PC RS232 인터페이스 프로그래밍 등을 배워야 합니다.
마이크로 컨트롤러 실험 보드의 데이터가 PC 모니터에 표시되고 PC 키보드 신호가 마이크로 컨트롤러 실험 보드에 표시될 수 있다고 상상해 보십시오.
5단계: A/D 변환 학습
MAP430 마이크로 컨트롤러에는 다중 채널 12비트 A/D 변환기가 있으며 이러한 A/D 변환기를 통해 마이크로 컨트롤러는 아날로그 양을 작동할 수 있습니다. . 전압, 전류 및 기타 신호를 표시하고 감지합니다. 연구할 때 아날로그 접지와 디지털 접지, 기준 전압, 샘플링 시간, 변환율, 변환 오류 등과 같은 개념에 주의하십시오.
A/D 변환 기능을 사용하는 간단한 예는 전압계를 설계하는 것입니다.
6단계: PCI, I2C 인터페이스 및 LCD 인터페이스 알아보기
이러한 인터페이스를 사용하면 마이크로 컨트롤러를 외부 장치에 더 쉽게 연결할 수 있으며 확장에 매우 중요합니다. 마이크로 컨트롤러의 기능.
7단계: 비교, 캡처 및 PWM 기능 학습
이러한 기능을 통해 마이크로컨트롤러는 모터를 제어하고 속도 신호를 감지하며 모터 속도와 같은 제어 기능을 구현할 수 있습니다. 조절기.
위의 7단계를 모두 익히면 용을 제압하는 10수와 손바닥 18개를 익히는 것과 같은 일반 응용 시스템을 설계할 수 있고 공격도 할 수 있다.
8단계: USB 인터페이스, TCP/IP 인터페이스 및 다양한 산업용 버스의 하드웨어 및 소프트웨어 설계를 학습합니다. USB 인터페이스, TCP/IP 인터페이스, 그리고 각종 산업용 버스 네, 이것이 현재의 제품 개발 방향이기 때문입니다.
여기까지는 15수와 십팔용장을 익히는 것과 맞먹지만, 아직 세상의 무적들을 제압할 수준은 아니다. 그럼에도 불구하고 여전히 마이크로컨트롤러 새우입니다