AVR 기초 사용법
日新又日新 | 2008. 3. 16. 20:54

한국항공대학교 이우성

  • 목표 : ATmega8 과 MAX232를 이용해서 PC와 시리얼 통신을 해보자.
  • 준비물

    • ATmega8 DIP 타입
    • MAX 232 DIP 타입
    • 12pF 세라믹 컨덴서
    • 1uF 세라믹 컨덴서
    • D-SUB 커넥터
    • Bread Board
    • 5V Power Supply
    • CodeVision

 

AVR 칩 상태 및 ISP 기능 확인

  1. ATmega8 을 빵판에 끼운다.
  2. 데이터 시트를 보고 전원선을 꼽아준다.
  3. ATmega8 로 들어가는 클럭을 연결해준다. 크리스탈과 세라믹 컨덴서 2개를 이용한다.
  4. ISP 케이블을 연결하기 위한 선을 뽑아준다.

    1. USP-ISP 에 보면 VCC, GND, RESET, SCK, MOSI MISO 의 핀이 배열이 되어 있다. 이 핀들과 같은 순서로 AVR에 연결할 수 있도록 연결해준다.
  5. ISP 기능이 제대로 동작하는지 확인한다.

    1. USB-ISP 드라이버를 설치한다.
    2. 빵판에 전원공급이 되는 것을 확인하고 ISP를 연결한 후에 CodeVision 의 Chip Programmer 를 이용하여 Chip Signature 가 제대로 읽히는지 확인한다.

 

CodeVision AVR을 이용해서 AVR 프로그래밍 준비하기

  1. 새로운 프로젝트를 만든다.

    1. File - New - Porject
  2. CodeWizardAVR 을 이용한다.
  3. 칩 타입을 선택해주고, 클럭 주파수를 맞춰주고, 사용하려는 기능을 선택한다.

    1. 먼저 UART만 사용하도록 한다.

      1. USART Reciever와 Transmitter를 모두 체크하여 사용할 수 있게 한다.
  4. Generate, Save and Exit 를 눌러 프로젝트를 저장한다.
  5. Project - Configure 에서 프로그래밍 방식을 설정한다.

    1. After Make 탭에서 Program the Chip 을 선택한다.
    2. Boot Lock Bit 0 와 Boot Lock Bit 1 을 각각 0,0 으로 맞춰준다.(중요!!)
    3. Fuse bit는 CKOPT에만 체크한다.(중요!!)
    4. Check Erasure 와 Verify는 체크 해제 한다.

 

Serial 통신 확인

  1. MAX 232 를 빵판에 끼운다.
  2. 데이터 시트를 보고 전원선을 꼽아준다.
  3. RS-232 통신은 다음과 같이 연결해주면 된다.
    드로잉1.jpg

    1. 위 그림에서 보듯이 MAX 232 를 사용하는 이유는 Micro Processor의 입출력 전압과 PC의 입출력 전압이 다르기 때문에 맞춰주기 위함이다.
  4. PC의 시리얼 포트는 Male type 이고, 따라서 D-sub 커넥터를 제작할 때 Female type으로 만들어야 한다.

    1. 이 때, PC에서 Rx, Tx, GND의 핀 위치는 각각 2, 3, 5 번이다.
    2. 핀 번호는 커넥터에 씌여져 있으므로 확인하고 납땜한다.
  5. printf 와 scanf 를 사용하여 간단하게 확인한다.

    1. PC상에서 시리얼 입출력을 확인 할 수 있도록 하이퍼 터미널이나 기타 시리얼 프로그램을 이용하여 확인한다.

      1. 아까 준비과정에서 Baud rate를 9600 으로 맞춰놓았기 때문에 9600 bps 8/N/1 로 맞추어 사용한다. (대부분이 기본값으로 잡혀 있을 것이다.)

 

끝. 

크리에이티브 커먼즈 라이센스

Creative Commons License

 

 

  • 숙제

    • 보레이트 19200 bps 으로 맞춰서 통신해볼 것.
    • 1초에 한 번씩 "OK" 문자열이 시리얼로 나오게 해 볼 것.
    • hardware.h 를 작성하여 Initializtion 과정을 따로 빼고 구워볼 것.

이 글은 스프링노트에서 작성되었습니다.


 
 
 
트랙백 | 댓글



위치로그 : 태그 : 방명록 : 관리자
이우성's Blog is powered by Daum / Designed by SSen
관리자  |  글쓰기
BLOG main image
전, 이우성입니다. ( I am Woosung, Lee. ) ""
 Category
 Media
 TAGS
 Recent Entries
 Recent Comments
 Calendar
 Archive
 Link Site
 Visitor Statistics
+ Total :
+ Today :
+ Yesterday :
카피
rss