chuong 1 gioi thieu pic va mplab

137
Chương 1 Giới thiệu bộ công cụ của Microchip MPLAB ® IDE, MPSIM Simulator MPLAB ICD 2

Upload: tong-nguyen

Post on 24-Jul-2015

459 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Chuong 1 Gioi Thieu Pic Va Mplab

Chương 1Giới thiệu bộ công cụ của

MicrochipMPLAB® IDE, MPSIM™ Simulator và MPLAB ICD 2

Page 2: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 2

Mục tiêu của lớp học

• Kiến thức

– Kiến thức cơ bản về môi trường làm việc

MPLAB® IDE

– Các thao tác để:

• Tạo Project

• Mô phỏng chương trình ứng dụng

• Nạp chương trình.

• Chạy Debug chương trình trên mạch thí

nghiệm.

• Nạp chương trình và chạy ứng dụng.

Page 3: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 3

• Giới thiệu môi trường làm việc MPLAB® IDE

– Các chức năng của môi trường làm việc

• Quản lí các file của dự án đang làm việc

• Soạn thảo chương trình

• Các công cụ - Trình hợp dịch và trình biên dịch

– Phần cứng hỗ trợ

• Mạch nạp/Debug MPLAB ICD 2

• Mạch PICSTART® Plus và MPLAB PM3

• Mạch MPLAB ICE 2000/4000

• Mạch thí nghiệm PICkit™ 2 Starter Kit

Mục lục

Page 4: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 4

Mục lục (tt)

• Làm quen với môi trường làm việc MPLAB® IDE

• Qui trình dùng MPLAB IDE để phát triển ứng dụng:

• Tạo Project

• Mô phỏng chương trình ứng dụng sử dụng MPSIM

• Test chương trình sử dụng mạch MPLAB ICD 2 và

mạch PICDEM™ 2 Plus demo hoặc Proteus

• Nạp chương trình và chạy ứng dụng độc lập

• Các lưu ý trong cách sử dụng các công cụ soạn

thảo MPLAB, công cụ mô phỏng MPSIM và công

cụ Debug/Nạp chương trình MPLAB ICD 2

• Tóm tắt

Page 5: Chuong 1 Gioi Thieu Pic Va Mplab

Giới thiệu môi trường

làm việc MPLAB® IDE

Page 6: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 6

Tại sao nên sử dụng các công

cụ của Microchip?

• Chất lượng cao: đạt tiêu chuẩn ISO 9000

• Được phân phối nhanh chóng và sử dụng

rộng rãi.

• Được hỗ trợ kĩ thuật miễn phí

• Cập nhật liên tục, nâng cấp thường xuyên

• Được phát triển và phân phối bởi chính nhà

sản xuất

• Đạt tiểu chuẩn của thế giới, giá thành hợp lí

Chất lượng * Luôn có sẵn * Hỗ trợ * Dịch vụ * Giá trị

Page 7: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 7

MPLAB® IDE và các thành phần

hỗ trợ

– Chạy trên môi trường

Windows®

– Bao gồm cả phần cứng

và phần mềm

– Được phân phối miễn phí!

Page 8: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 8

MPLAB ICD 2

Quản lí

dự án

Môi trường

soạn thảo

Chạy Debug

chương trình

MPLAB

C18, C30

Compilers

Ngôn ngữ

lập trìnhNạp chương

trìnhMô phỏng Emulators

Assemblers

Linkers

Librarians

MPLAB® IDE

Integrated Development Environment

MPLAB PM3MPLAB ICE

2000

MPLAB ICE

4000

MPLAB

SIM PICSTART®

Plus

PICkit™ 2

Starter Kit

MPLAB® IDE và các thành phần hỗ trợ

Page 9: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 9

Mạch thí nghiệm

PICSTART® Plus• RS-232 Interface

• Hỗ trợ hầu hết các vi điều

khiển có kiểu chân DIP …

• Trình biên dịch ngôn ngữ C

PICC Lite™ được cung cấp

miễn phí

• Thao tác với bộ nhớ

chương trình (Read/

Program/Verify), bộ nhớ dữ

liệu EEDATA và các bit cấu

hình (Configuration bits).

Page 10: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 10

Mạch phát triển

(Starter Kit)

(DV164120)

Bộ nạp chương trình

(PG164120)

Mạch phát triển PICkit™ 2 Starter

Kit Development Programmer

Page 11: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 11

Bộ nạp chương trình chuyên dụng

MPLAB® PM3

• Màn hình LCD lớn

• Parallel Interface

• USB Interface

• Cáp kết nối ICSP™

• (In Circuit Serial

Programming™)

• 3 chế độ hoạt động

– Kết nối với PC

– Hoạt động độc lập

– Chế độ Safe-mode

Page 12: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 12

MPLAB® ICE 2000 In-Circuit

Emulator• Parallel Interface

• 32K x 128 bit Trace

• Up to 25 MHz

• Code Coverage Profiling

• Flexible Processor Modules

Page 13: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 13

MPLAB® ICE 4000 In-Circuit

Emulator

• Tốc độ cao

• Dung lượng bộ nhớ 2 Mb

• Hỗ trợ Stopwatch

• Hỗ trợ 48-bit Time Stamp

• 64K x 136 bit Trace

• Code Coverage Profiling

• Parallel Interface

• USB Interface

• Flexible Processor

Modules

Page 14: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 14

Hệ thống các mạch phát triển hỗ trợ cho việc học tập,

nghiên cứu và phát triển sản phẩm nhanh chóng.

Các mạch phát triển và mạch demo

Page 15: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 15

Danh sách các mạch phát triển thông dụng.

Các mạch phát triển và mạch Demo

• PICkit™ 1 Starter Kit

• PICDEM™ 1 board

• PICDEM™ 2 board

• PICDEM™ 2 Plus board

• PICDEM™ 4 board

• PICDEM™ 14A board• PICDEM™ 18R board

• PICDEM™ USB board

• PICDEM™ MSC1 board

• PICDEM.net™ board

• PICDEM™ LIN board

• PICDEM™ CAN-LIN 1 board

• PICDEM™ CAN-LIN 2 board

• PICDEM™ CAN-LIN 3 board

• Analog Filter, Temp Sensor, and Thermister design

• CAN Evaluation Kits

• PIC18F2539 Motor Control

• KEELOQ® Security ICs

• MCP2110/2150 Infrared Controller

• Fan Controllers

• Memory

PIC18FXX20 64/80 pinDemo

PIC18F2539 Motor Control

dsPICDEM™ Demo Board

dsPIC® DSC Starter Board

dsPIC DSC Motor Control

microID® Radio Frequency Devices

Lưu ý: Xem thêm trên trang

www.microchip.com

Page 16: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 16

Bộ công cụ thí nghiệm MPLAB® ICD 2 và

PICDEM™ 2 Plus Demo Board

• Bộ nạp chương trình và Debug giá thành thấp

• Debug chương trình theo từng bước, và được hỗ trợ Breakpoint

• Nạp chương trình cho hầu hết các chip có bộ nhớ flash.

• Cho phép kết nối với các ứng dụng thực tế.

• Cho phép kết nối qua cổng USB hoặc RS-232

• Mạch thí nghiệm cho PIC18 và PIC16 loại chân DIP

• Màn hình LCD 2x16

• Loa tạo âm thanh

• Loa(Piezo)

• Cảm biến nhiệt độ

• Cổng kết nối RS-232 với MPLAB ICD2

• Có sẵn chương trình ứng dụng tổng hợp.

Page 17: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 17

Tài nguyên của mạch

MPLAB® ICD 2

• 2 vùng nhớ Stack

• Các vùng nhớ ROM và RAM

• Hỗ trợ 2 chân I/O phụ.

• Chân Reset dùng chung

Page 18: Chuong 1 Gioi Thieu Pic Va Mplab

Giới thiệu các thao tác với

MPLAB® IDE, MPSIM™

Simulator và MPLAB ICD 2

Page 19: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 19

Môi trường làm việc của

MPLAB® IDE

• Các file

Template

• Cửa sổ

làm việc

• Hỗ trợ Online

Page 20: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 20

Chức năng Debug của MPLAB® IDE

• Các Breakpoint– Điạ chỉ (Address) trong bộ nhớ, tên nhãn (Label) hoặc số thứ tự

của dòng lệnh (Line Number)

• Quan sát bằng cửa sổ Watch– Hiển thị giá trị hiện tại của một thanh ghi hoặc một chuỗi các

thanh ghi

– Định dạng dữ liệu cần hiển thị của thanh ghi

• Theo dõi quá trình hoạt động của chương trình– Bằng phần mềm (simulator)

– Trực tiếp trên phần cứng (ICE)

• Simulator Stimulus

• File chứa kết quả mô phỏng (Output Log)

• Nhập/xuất dữ liệu

Page 21: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 21

Cửa sổ MPLAB® IDE

Page 22: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 22

Cửa sổ MPLAB® IDE

Page 23: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 23

Qui trình phát triển 1 ứng dụng

Select

Device

Create

Project

Select

Language

Tools

Add Files

Build

Project

Develop

CodeSimulate

Program

Device

In Circuit

Debug

Page 24: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 24

Màn hình hiển thị khi khởi động

MPLAB® IDE

Page 25: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 25

Select Device

Page 26: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 26

Cửa sổ Select Device

Page 27: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 27

Chọn Vi điều khiển

Page 28: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 28

Tạo một Project

Page 29: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 29

Cửa sổ Project Wizard

Page 30: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 30

Bước 1: Xác nhận vi điều khiển

Page 31: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 31

Bước 2: Chọn trình biên dịch

• Các đường dẫn mặc định cho MPLAB® assembler và linker:

• C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe

• C:\Program Files\Microchip\MPASM Suite\mplink.exe

Page 32: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 32

Bước 3: Đặt tên cho Project

• Tên Project: BlinkLED

• Thư mục chứa Project: C:\FirstPicProject\BlinkLED

• Lưu ý đường dẫn không quá 63 kí tự

Page 33: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 33

Tạo thư mục chứa Project

BlinkLED

• Trong mục <My Computer>, chọn ổ đĩa <C:>

• Click vào nút <Make New Folder>

Page 34: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 34

Tạo thư mục chứa Project

BlinkLED

• Đổi tên cho thư mục <New Folder>

Page 35: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 35

Create the BlinkLED Directory

• Đổi tên thư mục thành <FirstPicProject>

• Click vào nút <Make New Folder> một lần nữa.

Page 36: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 36

Tạo thư mục BlinkLED

• Đổi tên thư mục New Folder thành thư mục “BlinkLED”

Page 37: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 37

Thư mục BlinkLED đã được tạo

Page 38: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 38

Bước 4:Chọn file Template

• Đường dẫn: <C:\ProgramFiles\Microchip\MPASMSuite\Template\Object\4520tmpo.asm>

• Ấn nút <Add>

Page 39: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 39

Absolute và Linker

• Người dùng có hai lựa chọn:– Sử dụng Linker

– Không sử dụng Linker (absolute code)

• Ưu điểm của việc sử dụng Linker:– Cho phép liên kết nhiều file với nhau

– Được định nghĩa trước các Vector và các vùng nhớ trong bộ nhớ chương trình

• Các Vector ngắt (Interrupt Vector)

• Vùng nhớ dùng để Debug chương trình

– Độc lập với vi điều khiển được sử dụng.

– Sử dụng các định nghĩa đã được mô tả trong datasheet của vi điều khiển

• Ưu điểm của việc tự viết chương trình – Đơn giản.

Page 40: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 40

Khuyến cáo của Microchip

• Sử dụng Linker

• Vi điều khiển được lựa chọn trong

Project là PIC18F4520, do đó file linker

4520tmpo.asm được chọn.

– Kí tự “o” được thêm vào trong tên của file

linker là viết tắt của “Object” dùng để chỉ

đối tượng vi điều khiển được lựa chọn.

Page 41: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 41

Thêm file 4520tmpo.asm vào

Project

Page 42: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 42

Lưu file vào thư mục chứa

Project

Page 43: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 43

Đổi tên file thành

BlinkLED.asm

Page 44: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 44

Thêm file Linker

• Chọn file <C:\Program Files\Microchip\MPASM suite\lkr\18f4520.lkr>

• Nhấn nút “Add”

Page 45: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 45

Lưu file 18F4520.lkr vào thư

mục chứa Project

Page 46: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 46

Tất cả các file cần thiết đã được thêm

vào trong thư mục chứa Project

Page 47: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 47

Kết thúc 4 bước tạo Project

Page 48: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 48

Cây thư mục các file của Project

Vào Project/View để xem cây thư mục quản lý Project

Page 49: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 49

Biên dịch các file trong Project

Page 50: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 50

Cửa sổ Output hiển thị kết quả

biên dịch Project

Page 51: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 51

Soạn thảo chương trình ứng

dụng của Project

Page 52: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 52

Cửa sổ soạn thảo chương trình

ứng dụng (file Template)

Page 53: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 53

Điều chỉnh các thuộc tính của

cửa sổ soạn thảo

Page 54: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 54

Điều chỉnh các thuộc tính của

cửa sổ soạn thảo

Page 55: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 55

Điều chỉnh các thuộc tính của

cửa sổ soạn thảo

Page 56: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 56

Chọn Font

Page 57: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 57

Lựa chọn các thuộc tính khác

Page 58: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 58

Thêm code vào chương trình

chính Main

Page 59: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 59

Tham khảo Data Sheet: lựa chọn

chân điều khiển cần dùng

Page 60: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 60

Tham khảo các thuộc tính

các chân IO của PORTB

0 1 010110

2 1 034567

O I OIOIIO

TRISB

PORTB

PINs

• Thanh ghi TRISB thiết lập chân điều khiển là chân ngõ vào (Input) hay chân ngõ ra (Output)

• TRISB, bit0 = 0 ; PORTB, bit0 = Output

• TRISB bit1 = 1 ; PORTB, bit1 = Input

Page 61: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 61

Lệnh MOVLW

MOVLW 0x55

0x000

0xFFF

0x001

0xFFE

0x00

0x10

0x00

0xAB

0x00

0x00

0x00

0x00

Thanh ghi W

File Registers

0x0FE

0x0FF

0xF80

0xF81

Lệnh

0x55

Giá trị Địa chỉ

0x00

SFR s

0x55

Wreg

Tham số = 0 đến 0xFF

Page 62: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 62

Lệnh MOVWF

MOVWF 0xFF

0x000

0xFFF

0x001

0xFFE

0x00

0x10

0x00

0xAB

0x00

0x00

0x00

0x00

Thanh ghi W

File Registers

0x0FE

0x0FF

0xF80

0xF81

Lệnh

[0xFF]

Giá trị Địa chỉ

Vùng địa chỉ = 0 đến 0xFF

0x55

SFR s

0x55

Wreg

PORTB là thanh ghi SFR (Special Function Register)

Page 63: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 63

Viết thêm lệnh cho chương trình

• Viết dòng lệnh đầu tiên:

movlw 0x00 ; move hex 0 to w register

Page 64: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 64

Viết thêm lệnh cho chương trình

• Thêm các lệnh vào chương trình như trong hình

Page 65: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 65

Cấu hình loại thạch anh cần

sử dụng

• Tìm dòng lệnh CONFIG OSC = LP

• Bỏ lệnh trên bằng cách thêm dấu “;” ở đầu dòng

• ;CONFIG OSC = LP

• Cấu hình của loại thạch anh cần sử dụng sẽ được

thiết lập sau

Page 66: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 66

Biên dịch chương trình

Page 67: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 67

Lựa chọn công cụ mô phỏng

Page 68: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 68

Thiết lập cấu hình họat động

Page 69: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 69

Thiết lập cấu hình họat động

Page 70: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 70

Chọn cấu hình xung nhịp họat

động của chip là INT RC

• Chọn cấu hình INT RC-Port on

RA6, Port on RA7

Page 71: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 71

Tắt chế độ BOD

• Click chuột lên vị trí thiết lập cấu hình

cho chức năng “Brown Out Detect”

• Chọn chức năng “Disable in hardware”

Page 72: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 72

Tắt WDT (WatchDog Timer)

• Click chuột lên vị trí thiết lập của

“WatchDog Timer” và chọn

“Disabled – Controlled by SWDTEN”

Page 73: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 73

Cấu hình các chân PORTB <4:0>

là chân Digital

• Click chuột lên chức năng “PortB A/D Enable”

• Chọn “PORTB<4:0> configured as Digital I/O”

Page 74: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 74

Reset chương trình

Page 75: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 75

Vị trí của chương trình sau khi

được Reset

Page 76: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 76

Theo dõi hoạt động của chương

trình theo từng bước

Page 77: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 77

Theo dõi hoạt động của chương

trình theo từng bước

Page 78: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 78

Tự tạo ra một lỗi khi biên dịch

Change PORTB to

PORT

Page 79: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 79

Xem thông báo lỗi khi biên dịch

• Thông báo lỗi: “Error[113] Symbol not

previously defined”

• Click chuột vào thông báo lỗi để nhảy đến vị

trí gây ra lỗi trong chương trình

Page 80: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 80

Con trỏ nhảy đến vị trí gây ra lỗi

• Chỉ ra dòng lệnh gây ra lỗi trong chương trình

• Sửa lỗi (đổi PORT thành PORTB) và biên dịch

lại chương trình

Page 81: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 81

Chọn cửa sổ Watch

Page 82: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 82

Cửa sổ Watch hiện ra

Page 83: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 83

Menu đổ xuống trong cửa sổ

Watch

Page 84: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 84

Thêm thanh ghi PORTB vào

cửa sổ Watch

Page 85: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 85

Cửa sổ Watch

Page 86: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 86

Quan sát bit RB0 được set trong

cửa sổ Watch

Page 87: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 87

Quan sát bit RB0 được xóa

trong cửa sổ Watch

Page 88: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 88

Kết nối công cụ ICD2 với môi

trường MPLAB®

MPLAB ICD 2

PICDEM™ 2 Demo Board +

Có thể sử dụng PicKit2

Page 89: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 89

Kích hoạt MPLAB® ICD 2

sử dụng môi trường MPLAB IDE

Page 90: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 90

Cửa sổ Download

Page 91: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 91

Thanh công cụ của MPLAB® ICD 2

Page 92: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 92

Tắt chức năng nạp chương trình

điện áp thấp (Low Voltage Pogram)

Page 93: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 93

Nạp chương trình cho

MPLAB® ICD 2

Page 94: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 94

Nạp chương trình thành công

Nạp thành công

Page 95: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 95

Vị trí con trỏ chương trình khi

reset MPLAB® ICD 2

Page 96: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 96

Nhảy tới lệnh ghi giá trị lên

thanh ghi PORTB

Page 97: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 97

LED sáng; nhưng PORTB,0 = 0?

Page 98: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 98

Bit PORTB,0 đã được cập nhật

Page 99: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 99

LED tắt, nhưng PORTB,0 = 1?

Page 100: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 100

PORTB,0 đã được cập nhật

Page 101: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 101

Chạy/dừng chương trình trên

MPLAB® ICD 2

Page 102: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 102

Thiết lập Breakpoint trên

MPLAB® ICD 2

Page 103: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 103

Kí hiệu Breakpoint

Page 104: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 104

Tác dụng của Breakpoint

Page 105: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 105

Xóa Breakpoint

trên MPLAB® ICD 2

Page 106: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 106

Breakpoint trên MPLAB® ICD

2 đã được xóa

Page 107: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 107

Các tính năng khác của môi

trường soạn thảo - Bookmarks

Page 108: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 108

Kí hiệu Bookmarks

Page 109: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 109

Kéo và thả các tham số vào

cửa sổ Watch

Page 110: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 110

Kéo và thả các tham số vào

cửa sổ Watch

Page 111: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 111

Thêm chương trình con Delay

• Thêm hai lệnh gọi hàm Delay call Delay vào

chương trình chính

Page 112: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 112

Lệnh CALL

CALL Sub

Cú pháp

Here: CALL Sub

Other Inst.

Other Inst.

Sub: Next Inst.

Next Inst.

RETURN

Lệnh CALL có thể nhảy đến mọi vùng nhớ

trong bộ nhớ chương trình của PIC18

Page 113: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 113

Lệnh DECFSZ

DECFSZ 0xFF 0x000

0xFFF

0x001

0xFFE

0x00

0x10

0x00

0x02

0x00

0x00

0x00

0x00

Thanh ghi W

File Registers

0x0FE

0x0FF

0xF80

0xF81

Cú pháp

Value Addr.

0x55

SFR s

0x000x01

Loop: DECFSZ 0xFF

GOTO Loop

Exit: Next Inst.

Page 114: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 114

Lệnh CLRF

CLRF 0xFF0x000

0xFFF

0x001

0xFFE

0x00

0x10

0x00

0xAB

0x00

0x00

0x00

0x00

Thanh ghi W

File Registers

0x0FE

0x0FF

0xF80

0xF81

Cú pháp

0x00

Value Addr.

0x00

SFR s

0x00

[0xFF]

Trá trị vùng địa chỉ = 0 đến 0xFF

Page 115: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 115

Viết chương trình con Delay

call Delay

goto Loop

Delay:

BANKSEL count1

clrf count1

clrf count2

clrf count3

DLoop:

decfsz count1,F

goto DLoop

decfsz count2,F

goto Dloop

decfsz count3,F

goto DLoop

return

Tcycle = 1 uS; mỗi vòng lặp tốn 3 Tcyl;

Thời gian Delay (tính gần đúng)

[(256*3*1)256]us = 197mS

Page 116: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 116

Viết chương trình con Delay(tt)

Thời gian Delay ?

call Delay

goto Loop

Delay:

BANKSEL count1

movlw 0x02

movwf count3

DLoop:

decfsz count1,F

goto Dloop

movlw 0x04

movwf count1

decfsz count2,F

goto Dloop

movlw 0x03

movwf count1

decfsz count3,F

goto DLoop

return

Page 117: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 117

Khai báo hai thanh ghi CountL

và CountH

Dưới dòng khai báo UDATA_ACSSau lệnh EXAMPLE RES 1 thêm các khai báoCountH RES 1CountL RES 1• Trình biên dịch sẽ dành riêng hai vùng nhớ để chứa

giá trị các biến CountL và CountH sử dụng trong chương trình con Delay

• Biên dịch chương trình

Page 118: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 118

Chọn công cụ Simulator

• Trong menu <Debugger> chọn <MPLAB

SIM>

Page 119: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 119

Chọn cửa sổ Watch

• Trong menu <Debugger> chọn <StopWatch>

Page 120: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 120

Cửa sổ Stopwatch

• Tần số họat động của bộ xử lí (Processor Frequency) là 20 MHz

• Sửa thành 1 MHz (tần số mặc định khi chọn cấu hình xung nhịp cho bộ xử lí là INTRC Freq).

Page 121: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 121

Thiết lập tần số hoạt động cho

bộ xử lí

• Chọn <Debugger>, sau

đó chọn <Settings…>

Page 122: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 122

Thiết lập tần số hoạt động cho

bộ xử lí

• Trong cửa sổ “Simulator Settings”, thẻ “Osc/Trace”,

sửa lại tần số hoạt động là 1.0 MHz

• Click vào nút <Apply>, sau đó click nút <OK>

Page 123: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 123

Điều chỉnh xong tần số cho cửa

sổ Stopwatch

• Đã chọn đúng tần số hoạt động

• Click vào nút “Reset” trên thanh công cụ mô phỏng

Page 124: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 124

Tính năng “Run to Cursor”

• Di chuyển con trỏ lệnh đến dòng lệnh “Call Delay”,

sau đó click phải chuột và chọn <Run to Cursor>

Page 125: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 125

Tính năng “Run to Cursor”

• Chương trình sẽ chạy và dừng như trên cửa sổ

StopWatch

• 6 lệnh đã được thực thi

Page 126: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 126

Reset cửa sổ Stopwatch

• Reset giá trị trong cửa sổ StopWatch bằng cách click lên nút “Zero”

• Bây giờ thời gian được hiển thị trên cửa sổ Stopwatch Time là 0.0

Page 127: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 127

Nhảy qua lệnh “Call Delay” và kiểm tra

thời gian thực thi chương trình con Delay

• Dùng nút <Stepover> trên thanh công cụ mô phỏng để nhảy qua lệnh gọi chương trình con Delay

• Thời gian trên cửa sổ Stopwatch = 789.528 mS = thời gian Delay chính xác

• Tiếp tục chạy thử chương trình bằng công cụ MPLAB® ICD 2

Page 128: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 128

Chọn công cụ Debug là

MPLAB® ICD 2

• Chọn <Debugger>, sau đó chọn <MPLAB ICD 2>

• Cửa sổ StopWatch tự động đóng lại, và thực hiện

kết nối với công cụ MPLAB ICD 2

Page 129: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 129

Nạp và chạy chương trình

• Nhất nút nạp chương trình và nhấn nút Run

• LED chớp tắt liên tục

Page 130: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 130

Dừng MPLAB® ICD 2 và chọn

chế độ nạp chương trình• Dừng chế độ chạy Debug

• Từ Menu <Debugger>

chọn <None>

• Thanh công cụ MPLAB

ICD 2 biến mất

• Từ menu <Programmer>

chọn <MPLAB ICD 2>

• Thanh công cụ mới xuất

hiện

Page 131: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 131

Nạp chương trình ứng dụng

cho vi điều khiển

• Thanh công cụ nạp

chương trình xuất hiện

• Di chuyển chuột đến

các nút để tìm hiểu các

chức năng của thanh

công cụ

• Nhấn vào nút ngoài

cùng phía bên trái để

nạp chương trình cho vi

điều khiển

Page 132: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 132

Ứng dụng chạy độc lập

• Cửa sổ Output hiển thị

kết quả quá trình nạp

chương trình

• Để cho ứng dụng chạy

độc lập, ngắt kết nối

giữa MPLAB ICD 2 và

mạch thí nghiệm

LED chớp tắt liên tục

Page 133: Chuong 1 Gioi Thieu Pic Va Mplab

Kết luận

Page 134: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 134

Kết luận

• Các kiến thức thu được – Các kiến thức liên quan đến môi trường làm việc

MPLAB® và cách sử dụng (phần cứng và phần mềm)

– Các thao tác với môi trường soạn thảo

– Cách tạo Project, bao gồm:

• Sử dụng Project Wizard

• Chọn vi điều khiển cần sử dụng

• Chọn ngôn ngữ biên dịch

• Thêm các file vào trong Project

• Viết một số chương trình ứng dụng đơn giản

• Biên dịch Project.

Page 135: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 135

Kết luận

• Các kiến thức thu được

– Chạy mô phỏng chương trình sử dụng MPLAB® SIM và MPLAB ICD 2, bao gồm:

• Rà soát lỗi trong chương trình ứng dụng

• Bật cửa sổ Watch để rà soát lại các hoạt động theo từng bước

• Sử dụng cửa sổ Stopwatch

• Tạo Breakpoints

– Cách sử dụng công cụ MPLAB ICD 2 như là công cụ mô phỏng và công cụ nạp chương trình

Page 136: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 136

Download MPLAB® IDE

• www.microchip.com

Page 137: Chuong 1 Gioi Thieu Pic Va Mplab

Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 137

Cảm ơn sự quan tâm theo dõi của các bạn