ATmega 163 8bit AVR Microcontroller


Features


  • 하이 퍼포먼스 , 로우 전력 - 그래봤자 8 BIT
    • 130 Powerful Instruction - RISC MPU
    • 32 X 8 범용 레지스터
    • 8 MHz 클럭 - 와~ 열라 빠르다!
    • On-chip 2 cycle Multiplier

  • 비휘발성 프로그램 과 데이타 메모리

  • 자체 프로그래밍 가능한 플래쉬 메모리
    • 16 KB 의 Boot Block ( 256 - 2K Bytes )
    • 512 Bytes EEPROM
    • 1024 Bytes SRAM

  • 주변 장치 기능
    • 2 개의 8-bit Timer/Counters
    • 1 개의 16-bit Timer/Counters
    • Real Time Clock
    • Tree PWM Channels
    • Programmable Serial UART
    • Analog Comparator
    • Master / Slave SPI Serial Interface
    • Byte - oriented 2-wire Serial Interface

이 MPU 의 용도


  • MP3 플레이어
  • 임베디드 시스템
  • 마이크로 로봇
  • 산업용 임베디드 시스템

프로그래밍에 필요한 유틸리티


  • AVR - GCC
  • AVR - Studio
  • Pony Prog

웨비 사운드에서 구한 ATmega 163 L 보드에 관한 Testing


  • 먼저 웨비 사운드에서 ATmega 163L E board 를 구한다. - ps 난 판매 사원이 아니다.. 더 좋은 것이 있으면 ..그걸..
  • ISR 모듈과 함께 Board에 장착한다.
  • 용산 가서 9 pin 짜리 Serial Port 잭과 5.5volt 어덥터에 끼울 것을 준비한다.
  • 그리고 납땜질용 인두와 실납을 준비후 납땜 시작.
  • 9 pin 에서 TX는 2번 RX 3번 접지는 5번에 연결 시킨다.
  • 5.5 Volt 어덥터는 안쪽이 + 극 바깥쪽이 -극이라는 점을 유의..
  • 이렇게 까지 연결하고 컴퓨터에 시리얼 케이블을 COM1 에 연결.
  • ISR 모듈을 COM2에 연결하고
  • 전원 어뎁터를 연결하면 LED가 켜지며 TEST를 위한 준비는 끝난다.
  • 이후 새롬 데이타맨에서 모뎀에 의한 연결로 SETTING하고 baud rate를 19300(ㅠㅠ) 로 설정 후 reset 버튼을 누르면

    WAVY SOUND XXXXXX TEST - 란 식의 명령어가 뜬다. 그럼 하드웨어 TEST 완료
  • 그럼 소프트웨어 테스팅을 써볼까?

AVR GCC Programming


  • AVR-GCC는 AVR에서 Cross Compile을 위해 만든 공짜 컴파일러
  • 방법
    • 설치 방법

      c:\> 에서 avrgcc 폴더로 옮기고
      c:\avrgcc>에서 install을 실행 시킨 후 바탕화면의 avr-gcc 배치파일을 이용해 도스창을 열어서 쓴다.
    • Makefile 사용법


~cpp 
# Simple Makefile
# Volker Oth (c) 1999

include $(AVR)/include/make1

########### change this lines according to your project ##################
    HEADER   = ../Include
    MYLIBDIR = 
    GCCLIB   = $(AVR)/lib/gcc-lib/avr/2.97/avr3
    NEWLIB   = $(AVR)/lib

#INCDIR means .h file search path
    INCDIR = . -I$(HEADER)
#---------------------------------------------- 

#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)
    MCU = atmega163
    

#put the name of the target file here (without extension)
    TRG = test

#put your C sourcefiles here 
    SRC =   $(TRG).c		\
            $ utils.c		\
            $ global.c		\
            $ uart.c

#put additional assembler source file here
    ASRC =

#additional libraries and object files to link
    LIB = $(LIBDIR)/libc.a $(GCCLIB)/libgcc.a $(NEWLIB)/libbfd.a $(NEWLIB)/libiberty.a

#additional includes to compile
    INC = 

#INCDIR means .h file search path
    INCDIR = . -I$(HEADER)

#compiler flags
    CPFLAGS = -g -O3 -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)

#linker flags
    LDFLAGS = -Wl,-Map=$(TRG).map,--cref

########### you should not need to change the following line #############
include $(AVR)/include/make2
          
###### dependecies, add any dependencies you need here ###################
all : $(TRG).siz

$(TRG).o :                  \
    $ config.h              \
    $(TRG).c

$(TRG).siz : $(TRG).elf
	avr-size --format=sysv $(TRG).elf > $(TRG).siz
	avr-size --format=sysv $(TRG).elf

wr :    $(TRG).rom
	uisp --STK200 --erase
	uisp --STK200 --upload $(TRG).rom

erase :
	uisp --STK200 --erase


  • avr_gcc 사용법

    • AVG-GCC AVR-GCC... ㅠㅠ 오타다.

우우.. 정직아 내껀 왜 안올라가냐.. rom 까지 만들었는데..--; - 떡

device missing or unknown device 라고 나온다. ponyprog 에서 장치를 꼭 163 L 로 해야하나? 163 밖에 없던데..

내게 힘을 주는 LINK 들

Retrieved from http://wiki.zeropage.org/wiki.php/ATmega163
last modified 2021-02-07 05:22:23