8d111651108fb4153e69334eeb884342.ppt
- Количество слайдов: 58
마이크로컨트롤러 시스템 개발 환경 C 언어로 배우는 8051 마이크로프로세서
학습목표 마이크로컨트롤러 시스템을 개발하는 방법을 이해한다. 프로그램을 개발하는 데 필요한 도구를 안다. 통합 환경의 컴파일러를 사용할 수 있다. 다운로드 프로그램을 사용할 수 있다. 01. 마이크로컨트롤러 시스템 개발 방법 02. 컴파일러 03. ROM화 작업 2/59
1. 마이크로컨트롤러 시스템 개발 방법 1. 1 시스템 개발 순서 q 목적하는 하드웨어를 제작하여 동작시키기까지의 순서 ① 하드웨어 제작 ② 소스 프로그램 작성 ③ 컴파일 작업 ④ 시뮬레이션 수행(optional) ⑤ ROM화 작업 ⑥ 타깃 보드에 탑재하여 실행 ⑦ 동작 확인 3/59
1. 마이크로컨트롤러 시스템 개발 방법 1. 2 하드웨어 제작 q 하드웨어 제작에 필요한 도구 인두기, 인두기 스텐드 인두기는 저항이나 커패시터 등을 프린트 기판에 납땜할 때 필요하다. 여러 가지 종류가 있으나 끝이 뾰족하고 가는 것, 소비전력이 20~30 W 정도의 것을 선택한다. 인두기 스텐 드는 인두기를 고정시키는데 사용된다. 니퍼(Nipper), 롱 노즈(Long Nose) 니퍼는 저항이나 커패시터 등을 기판에 납땜한 다음에 여분의 리드(lead) 선을 절단하는 데 사용된다. 롱 노즈는 전선이나 부품을 잡아 편하게 납땜할 수 있다. 인두기 스텐드 니퍼 롱 노즈 4/59
1. 마이크로컨트롤러 시스템 개발 방법 래핑기(wrapping tool), 래핑선은 단선으로 직경이 25 mm, 주석 도금한 것을 사용한다. 래핑기는 래핑선을 사용하여 부품과 부품 사이를 접속할 때 사용하는 도구 스트리퍼(stripper) 직경 0. 25 mm 정도의 래핑선의 피복을 벗기는데 사용 납흡입기(solder sucker) 수동소자나 DIP 타입(다리(lead)가 달린) 부품의 납땜제거에 사용 레핑기 레핑선 스트리퍼 납흡입기 5/59
1. 마이크로컨트롤러 시스템 개발 방법 q 하드웨어 제작 순서 ① 인두기가 가열할 때까지 기다린다. ② 부품을 기판에 부착한다. ③ 인두기 끝을 납땜하는 곳에 댄다. 납땜하려는 부분에 인두기를 댄 후, 납을 인두기 끝에 닿게 하여 납이 녹으면 일정양의 납을 녹인 후 뗀다. 납땜하는 부분에 납이 잘 부착되면 인두기를 재빨리 뗀다. ④ 다리를 절단한다. 6/59
1. 마이크로컨트롤러 시스템 개발 방법 1. 3 프로그램 작성 q 문제 분석은 처리하고자 하는 업무가 어떤 자료를 어떠한 조건으로, 어떤 결과를 요구 하는지를 분석하는 과정이다. 이것은 프로그램 작성 시 가장 중요하고 기본이 되는 작 업이다. q 순서도 작성 순서도(flow chart)는 알고리즘을 표준화된 기호나 도형으로 나타낸 것이다. 즉, 순서 도는 넓은 의미의 알고리즘이라고 할 수 있다. 순서도 장점 ① ② ③ ④ ⑤ 문제의 논리적인 체계를 알 수 있다. 업무의 전반적인 개요를 알 수 있다. 문제의 정확성 여부를 알 수 있다. 순서도에 따라 프로그램으로 쉽게 작성할 수 있다. 작성된 프로그램의 수정이 용이하다. 7/59
1. 마이크로컨트롤러 시스템 개발 방법 q 코딩(Coding) 코딩은 알고리즘이나 순서도에 서술된 내용을 원하는 언어로 바꾸는 것이다. 이 단 계는 단순히 알고리즘이나 순서도로 표현된 단계를 컴퓨터가 인식할 수 있는 언어 로 바꾸는 과정이다. C 언어나 어셈블리어를 사용한다. q 디버깅(Debugging) 디버깅은 프로그램 중의 오류를 찾는 과정이다. 오류에는 문법적 오류(semantic error)와 논리적 오류(logical error)가 있다. 문법적 오류는 번역기가 번역과정에서 자동으로 지적하여 주므로 크게 문제되지 않는다. 그러나 논리적 오류를 찾는 방법은 프로그램을 프린터로 출력하여 내용을 살피는 방법과 프로그램의 중간에 추적 루틴을 삽입하는 방법이 있다. q 문서화 (Documentation) 문서화는 완성된 프로그램을 나중에 사용할 때, 이해하고 분석하기 쉽게 가급적 설 명문(comment)을 자세히 서술하여 보관하는 것이다. 프로그램은 구조화, 모듈화하여 작성하므로 완성된 프로그램은 유사한 문제 처리 에 다시 사용할 수 있다. 8/59
1. 마이크로컨트롤러 시스템 개발 방법 1. 4 프로그램 실행 과정 9/59
1. 마이크로컨트롤러 시스템 개발 방법 1. 5 프로그램 개발 지원도구 q 에디터 프로그램을 작성하기 위해 사용하는 일종의 워드 프로세서로서 Q-EDIT, ULTRA EDITOR, 메모장, 워드패드 등이 사용 q 크로스 어셈블러(cross assembler) CRT와 키보드 그리고 저장장치를 갖춘 PC에서 타겟 시스템용의 프로그램을 작성하고, 작성한 프로그램을 타겟 시스템에 전송하여 실행하는 방법이 채용 되고 있다. 이와 같이, 프로그램을 개발하는 환경과 실행하는 환경이 다른 경 우를 크로스 개발 환경이라 부른다. 8051 어셈블리어로 작성된 원시 프로그램을 PC가 어셈블할 때, PC의 어셈블 러를 크로스 어셈블라고 하고 A 8051, ASEM-51가 있다 10/59
1. 마이크로컨트롤러 시스템 개발 방법 q 크로스 컴파일러(cross compiler) 소프트웨어 도구인 C 컴파일러는 C로 작성된 소스 코드를 기계어로 번역해 주는 프로그램이다. 마이크로컨트롤러 부분에서는 C 이외의 다른 언어를 사 용하지 않으므로, 현재까지 고급언어 컴파일러로는 C 컴파일러만 존재한다. q 링크 & 로케이터(Link & Locator) 오브젝트를 ROM에 저장할 수 있는 실행 가능한 절대 파일(Absolute Object File)로 만들어 주는 과정이다. 관련 오브젝트들과 라이브러리들을 링크시키 고 주소지정을 함으로써 실행 가능한 Absolute File이 만들어 지는 것이다. 링 크시 ROM에 저장되는 코드방식을 지정할 수 있는데 여기에는 Binary Code, Hex Code 등이 있다. 11/59
1. 마이크로컨트롤러 시스템 개발 방법 q 디버거(Debugger) 프로그램의 오류를 찾아내기 위한 소프트웨어를 총칭하는 말 프로그램의 수행을 대화식으로 추적하면서 오류를 찾아낼 수 있도록 해 주 는 프로그램을 의미 q 다운로더(down loader) PC에서 어셈블 또는 컴파일해서 전송 가능한 HEX 파일을 롬 에뮬레이터나 인서킷 에뮬레이터의 메모리 또는 롬 라이터 등에 로드(load)시키는 프로그 램 최근에는 ISP 방식을 지원하는 다운로더를 많이 사용하며, Pony. Prog 2000, Toast 2005, ISP Flash Programmer 등이 있다. 12/59
2. 컴파일러 q 상용 8051 컴파일러 및 어셈블러 Keil, IAR, Raisonance라는 회사에서 제작. 상용 프로그램인 이들 컴파일러들은 8051용 통합개발환경(IDE)을 제공하고 있으며, 사용에 제한이 있는 데모 버전 을 무료로 배포 RIDE 51 평가판 Keil C 평가판 IAR C 평가판 http: //www. raisonance. com/ http: //www. keil. com/ http: //www. iar. com/ q 공개용 8051 컴파일러 및 어셈블러 MCS-IDE는 ASEM-51 어셈블러와 SDCC를 사용한 개발용 통합환경을 제공 MCS-IDE http: //www. opcube. com/home. html 13/59
2. 컴파일러 2. 1 Keil 컴파일러 실행 과정 프로젝트 생성 메뉴 선택과 저장 [Project]-[New u. Vision Project] 클릭 새로운 프로젝트 생성 [Create New Project] 대화상자에서 프로젝트 이름인 ‘demo’를 입력하 고 <저장> 버튼을 클릭 프로젝트 이름 새로운 프로젝트 이름 입력 14/59
2. 컴파일러 칩 제조사와 모델명 선택 사용할 칩 제조사와 모델명을 선택한 후 <OK> 버튼 클릭 15/59
2. 컴파일러 소스 파일 작성 - 새로 작성하는 경우에는 [File]-[New] 메뉴 또는 (New) 아이콘을 클릭하여 소스 파일을 작성한 후 저장 - 이미 소스 파일이 작성되어 있다면 [File]-[Open] 메뉴 또는 (Open) 아이콘을 클릭하여 해당 경로에서 파일을 읽은 후 저장 16/59
2. 컴파일러 프로젝트에 소스 파일 추가 프로젝트 탐색 창의 [Source Group 1]에서 마우스 오른쪽 버튼을 클릭한 후 [Add Files to Group ‘Source Group 1’] 메뉴를 선택하여 대화상자에서 소스 파일을 추가 17/59
2. 컴파일러 프로젝트의 옵션 설정하기 [Target 1] 폴더를 선택한 후 [Project]-[Option for Target] 메뉴 (또는 (Target Options))를 클릭 프로젝트의 옵션 설정 메뉴 선택 18/59
2. 컴파일러 [Target] 탭에서 설정 [Output] 탭에서 설정 프로젝트 옵션 설정 화면 19/59
2. 컴파일러 컴파일 하기 [Project]-[Build target] 메뉴(또는 (Build target files))를 클릭하면 하단 메시 지 창에 결과가 나타난다. 에러가 없으면 프로젝트 옵션 설정에서 지정한 위치에 hex 파일이 생성된다. 컴파일 완료 화면 20/59
2. 컴파일러 2. 2 MCS-IDE 실행 과정 M-IDE를 실행 MIDE-51 실행 초기화면 21/59
2. 컴파일러 소스 파일을 새로 작성하거나([File]-[New] 메뉴 또는 (New)) 기존 소스 파일을 연다([File]-[Open] 메뉴 또는 (Open)). 소스파일 작성 22/59
2. 컴파일러 [Build]-[Build] 메뉴(또는 (Build current file))를 클릭하면 컴파일 된다. 프로그램에 에러가 없으면 최종 결과물인 *. hex 파일이 만들어진다. (Open)). 컴파일이 완료된 화면 23/59
2. 컴파일러 2. 3 RIDE 51 실행과정 프로젝트 생성 메뉴 선택과 저장 - [Project]-[New] 클릭 (기존 프로젝트를 열려면 [Project]-[Open] 메뉴 선택) - [Project] 대화상자에서 프로젝트 이름을 입력하고 저장할 위치를 지정 - ‘Target family’ 항목을 기본 설정인 80 C 51로 두고 <Next> 버튼 클릭 24/59
2. 컴파일러 타깃 디바이스 선택 - 타깃 디바이스 선택 화면에서 제조사와 칩을 선택하고 <Finish> 버튼 클 릭 - 해당 칩의 데이터시트는 ‘Datasheet’를 클릭해 확인할 수 있다. 25/59
2. 컴파일러 소스 파일 작성 - 프로젝트가 생성되면 프로젝트 및 디버거 창이 만들어지면서 프로젝트 이름, 디렉토리, 파일 이름이 표시된다. - [File]-[New] 메뉴를 클릭하면 만들고자 하는 소스의 종류를 선택할 수 있는 화면이 나온다. - [C Files] 메뉴를 클릭해 에디터 창을 열고 소스 파일을 새로 작성하거나 , 기존 소스 파일을 불러온다. 프로젝트 및 디버깅 창 26/59
2. 컴파일러 작성한 C 소스 파일을 프로젝트에 추가 - 프로젝트 탐색기의 파일 이름에서 마우스 오른쪽 버튼을 클릭한 후 [Add node Source/Application] 메뉴를 선택하면 포함할 소스 파일을 선 택하는 창이 나온다. 여기서 전에 저장한 demo. c 파일을 선택하면 프로 젝트에 포함된다. 프로젝트에 소스 파일이 포함된 화면 27/59
2. 컴파일러 컴파일 하기 - (Make all) 아이콘을 누르면 컴파일되며, 컴파일이 성공하면 메시지 창 에 생성된 hex 파일이 보인다. - 하지만 프로그램을 작성하는 형식에 맞지 않거나 잘못된 명령어를 입 력하면 에러가 발생하고 메시지 창에 에러의 원인과 위치를 알려주는 메시지를 보여준다. 해당 위치로 가서 에러를 수정하고 [Project]-[Build all] 메뉴를 클릭해 다시 컴파일한다. 성공 에러 발생 28/59
2. 컴파일러 2. 4 IAR 컴파일러 실행과정 프로젝트 생성 메뉴 선택과 저장 - 프로젝트를 생성하기 위해 시작 화면에서 [Project]-[Create New Project] 메뉴(또는 (Create new project in current workspace))를 클릭 - [Create New Project] 대화상자에서 C를 선택하고 <OK> 버튼을 클릭 - 다음 대화상자에서는 프로젝트 이름과 저장할 위치를 설정 전체 경로에 한글이 들어가지 않게 설정 시작 화면 프로젝트 생성 29/59
2. 컴파일러 프로젝트 옵션 설정 - 프로젝트 화면에서 workspace를 Debug에서 Release로 변경 - 프로젝트에서 마우스 오른쪽 버튼을 클릭한 다음 [Options] 메뉴를 선택 프로젝트에서 마우스 오른쪽 버튼을 눌러 선택 30/59
2. 컴파일러 - ‘General Options’의 [Target] 탭에서 ‘Device’를 8051이 사용하는 장치로 설정해야 한다. 아트멜의 AT 89 C 51을 사용한다면 그림과 같이 설정하 고 <열기> 버튼을 클릭한다. 디바이스 설정 화면 31/59
2. 컴파일러 - 컴파일러 최적화 설정에서 최적화 수준을 ‘Low’로 설정 - [C/C++ Compiler] 메뉴에서 [Optimizations] 탭의 내용을 그림과 같이 변경 컴파일러 최적화 설정 화면 32/59
2. 컴파일러 - include 디렉토리의 경로 설정이다. [C/C++ Compiler] 메뉴의 [Preprocessor] 탭 에서 ‘Ignore standard include directories’ 항목을 체크 해제한다. include 디렉토리 설정 화면 33/59
2. 컴파일러 - 마지막으로 hex 파일에 대한 설정을 한다. [Linker] 메뉴의 [Output] 탭에서 ‘Override default’ 항목을 체크하고 출력 파일의 확장자를 hex로 설정한다. hex 파일 설정 화면 34/59
2. 컴파일러 소스 파일 작성과 컴파일 - 모든 설정을 마친 후, 에디터 창에 소스 프로그램을 작성하여 저장한다 ( 또는 [File]-[Open] 메뉴를 클릭하여 기존 소스 파일을 연다). - [Project]-[Make(F 7)] 메뉴를 클릭해 컴파일한다. 처음 실행할 경우에는 현 재 작업 중인 작업공간(workspace)를 저장하는 대화상자가 나타나는데 프로젝트 이름과 같은 이름으로 저장한다. 35/59
2. 컴파일러 - 컴파일이 성공적으로 수행되면 결과 소스 파일에 에러가 있으면 메시지 창에 표시된다. 에러를 더블 클릭하면 해당 위치로 이동하므로 이를 참고 하여 에러를 수정한다. 컴파일 완료 화면 36/59
2. 컴파일러 2. 5 컴파일러 사용 시 주의 사항 q 컴파일러마다 다른 점 : 헤더 파일, 비트 단위 제어 방식 P 04_01 a. c #include <reg 51. h> sbit sw = P 2^0; void main(void) { P 2=0 xff; do { if (sw == 0) P 1=0 x 79; if (sw == 1) P 1=0 x 40; } while(1); } // 포트 2를 입력으로 사용 // 7 -세그먼트에 1 출력 // 7 -세그먼트에 0 출력 Keil이나 RIDE 51에서 동작하는 프로그램 37/59
2. 컴파일러 P 04_01 b. c #include <8051. h> void main(void) { P 2=0 xff; // 포트 2를 입력으로 사용 do { if (P 2_0 == 0) P 1=0 x 79; // 7 -세그먼트에 1 출력 if (P 2_0 == 1) P 1=0 x 40; // 7 -세그먼트에 0 출력 } while(1); } MIDE-51에서 동작하는 프로그램 38/59
2. 컴파일러 P 04_01 c. c #include <io 51. h> void main(void) { P 2=0 xff; // 포트 2를 입력으로 사용 do { if (P 2_bit. P 2_0 == 0) P 1=0 x 79; // 7 -세그먼트에 1 출력 if (P 2_bit. P 2_0 == 1) P 1=0 x 40; // 7 -세그먼트에 0 출력 } while(1); } IAR에서 동작하는 프로그램 q 컴파일러마다 다른 점 : 인터럽트 서비스 루틴을 작성하는 방법 MIDE-51, RIDE 51, Keil : ‘void timer 0(void) interrupt 1’ IAR : ‘interrupt [0 x 0 B] void TF 0_int(void)’ 39/59
3. ROM화 작업 소스 프로그램을 작성한 후 컴파일하여 링크시키면 핵사파일(*. hex)이 생성 된다. 생성된 핵사파일을 사용자가 만든 타겟보드(target board)에 실행시키는 방법 은 다음과 같이 4가지가 있다. 프로그램 실행 방법 40/59
3. ROM화 작업 3. 1 롬 라이터를 이용하는 방법 롬 라이터(ROM writer)를 이용하여 hex 파일을 ROM에 쓴 후 타겟보드에 장 착하여 실행하는 방법 롬 라이터, EPROM 또는 Flash ROM 타입의 마이크로컨트롤러, 롬 이레이저 (ROM eraser)를 사용한 개발 환경을 갖추게 되는데, 이 환경에서는 롬 라이 팅, 장착 실험, 롬 지움의 작업을 계속 반복해야 하는 불편이 있음 가장 불편한 것은 칩 내부의 실행 상황을 확인할 수 없다는 것과 ROM의 내 용을 지우는데 많은 시간이 소요된다 41/59
3. ROM화 작업 3. 2 롬 에뮬레이터를 이용하는 방법 롬 에뮬레이터가 타겟 시스템의 ROM 역할을 함 마이크로컨트롤러로 제어되는 시스템을 개발할 때, 프로그램의 내용을 변 경하면서 동작상태를 확인해야 하기 때문에 많은 시간과 노력이 필요 프로그램의 내용을 변경할 때마다 그것을 ROM에 넣어서 장착해야 한다면 많은 시간과 노력이 소요된다. PC에서 프로그램을 변경해서 롬 에뮬레이터 에 보내면 이것이 타겟 시스템의 롬 역할을 함으로써 개발을 빠르고 쉽게 할 수 있다. 롬 에뮬레이터는 PC가 보낸 프로그램을 자신의 RAM에 저장한다. 타겟 시스템의 ROM을 빼내고 그 자리에 롬 에뮬레이터를 꽂음으로써 롬 에 뮬레이터가 타겟 시스템의 롬 역할을 하도록 한다. 42/59
3. ROM화 작업 3. 3 인서킷 에뮬레이터를 이용하는 방법 인서킷 에뮬레이터는 타겟 시스템의 마이크로컨트롤러 역할을 한다. 즉, 타 겟 시스템의 8051의 빼내고 그 자리에 인서킷 에뮬레이터의 출력 핀을 꽂아 인서킷 에뮬레이터가 타겟 시스템의 마이크로컨트롤러 역할을 하게 한다. 원시 프로그램을 PC가 어셈블하고 디버깅해서 HEX 파일로 만든 후, 인서킷 에뮬레이터로 다운로딩하면, 인서킷 에뮬레이터는 그 프로그램을 자신의 메모리에 저장하고 이 프로그램을 자신의 8051로 실행시킨다. 43/59
3. ROM화 작업 q 인서킷 에뮬레이터가 제공하는 유용한 기능 스텝실행 프로그램을 한 줄 단위로 실행시킬 수 있으며, 이 과정에서 사용자가 의도한 대로 프로그램의 흐름이 진행되는지를 확인할 수 있다. 레지스터 확인 칩 내부의 모든 레지스터의 값을 PC화면상에서 볼 수 있다. 사용자가 의도 한 값이 들어가 있는지를 확인함으로써 오류(bug)의 원인을 추적해 볼 수 있 다. 브레이크 포인트 실행 중에 원하는 위치에 브레이크 포인트(break point)를 설정할 수 있다. 동 작 중 설정된 브레이크 포인트의 차례가 되면, 인서킷 에뮬레이터는 모든 동 작을 즉시 멈추고 그 당시의 상황(레지스터값, 포트상태 등)을 PC화면상에 표시해 준다. 오류를 찾는데 필수적인 기능이다. 레지스터 수정 실행을 멈춰 놓고 레지스터의 값을 마음대로 조작할 수 있다. 사용자는 레지 스터의 값을 원하는 상태로 바꾸어 놓고 프로그램이 제대로 실행되는지 확 인할 수 있다. 44/59
3. ROM화 작업 3. 4 직렬 ISP 방법 SPI(Serial Peripheral Interface)를 이용해 별도의 장비가 필요 없이 간단한 회 로 구성으로 쉽게 프로그램을 ROM에 라이트할 수 있다. 이 방법은 내부의 프로그램 메모리가 Flash-ROM 구조로 되어 있는 마이크 로컨트롤러에 적용 가능한 방법이며, 대략 1000회 정도 재사용할 수 있다. 최근에 아트멜사에서 출시한 제품(ATtiny 12, ATtiny 15, AT 89 S, AT 90 S 시리 즈, ATmega 시리즈)에 적용 가능 45/59
3. ROM화 작업 SPI를 위한 Kanda사에서 제안한 인터페이스 회로(STK 300) AVR 시리즈, AT 89 S 시리즈에 적용 가능 프린터 포트와 타깃 보드간의 인터페이스 46/59
3. ROM화 작업 인터페이스 회로 외형 47/59
3. ROM화 작업 q AT 89 S 계열 Writer 만능기판에 ZIP 소켓을 이용하여 마이크로컨트롤러에게 프로그래밍하려는 경우의 결선도 이 회로는 전용 라이터나 유니버셜 라이터에 준하는 것으로 이해 AT 89 S 계열의 마이크로컨트롤러에 hex 파일을 쓰는 호로도 48/59
3. ROM화 작업 q AT 89 S 계열 Writer의 부품 번호 1 2 3 4 5 6 7 8 9 10 11 12 13 품 명 Textool ZIF DIP소켓 수정 진동자 LED 저항 저항 세라믹 커패시터 전해 커패시터 토글 스위치 Pin Array DC Power Jack 만능기판 PCB 서포트 형 명 40 pin 12 MHz 3 3 4. 7 K 330 20 p. F 10 F 소형 2. 54 m DC-002 SYP-1102 25 mm 수 량 1 1 1 2 2 1 1 20 1 1 4조 비 고 크리스털 빨간색 녹색 1/4 W 발진용 16 V 전원용 1. 3 너트 포함 49/59
3. ROM화 작업 q AT 89 S 계열 Writer의 부품 모양 수정진동자 (12 MHz) Textool 10 u. F DC 파워잭 330 PCB 서포트 LED(3 ) 4. 7 K LED(3 ) 토글 스위치 20 p. F IC Pin Array 너 트 만능기판(SYP-1108) 50/59
3. ROM화 작업 q 시스템 연결도 51/59
3. ROM화 작업 3. 5 다운로드 프로그램 사용법 q Toast. Prog 2005 (주)시니어컴에서 개발하여 프리웨어로 제공하는 다운로드 프로그램 AT 89 S 시리즈, AVR 시리즈에 적용 가능 www. seniorcom. co. kr, cafe. daum. net/avr 8051, cafe. naver. com/8051 avr 설치 시작 화면 프로그램 설치 완료 52/59
3. ROM화 작업 q 실행방법 Toast. Prog 2005 초기화면 53/59
3. ROM화 작업 HEX 파일 읽음 CPU 제품군과 모델선택 다운로드 54/59
3. ROM화 작업 다운로드 완료화면 55/59
3. ROM화 작업 q ISP Flash Programmer M. Asim Khan이 개발하여 프리웨어로 제공하는 다운로드 프로그램 AT 89 S 시리즈, AVR 시리즈에 적용 가능 www. kmitl. ac. th/~kswichit/ISP-Pgm 3 v 0. html 로고 화면 56/59
3. ROM화 작업 초기 실행 화면 HEX 파일을 읽은 화면 57/59
3. ROM화 작업 다운로드 완료화면 58/59
8d111651108fb4153e69334eeb884342.ppt