chuong 1 gioi thieu pic va mplab
TRANSCRIPT
Chương 1Giới thiệu bộ công cụ của
MicrochipMPLAB® IDE, MPSIM™ Simulator và MPLAB ICD 2
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.
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
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
Giới thiệu môi trường
làm việc MPLAB® IDE
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ị
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í!
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ợ
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).
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
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
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
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
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
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
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.
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
Giới thiệu các thao tác với
MPLAB® IDE, MPSIM™
Simulator và MPLAB ICD 2
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
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
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
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
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
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
Bài giảng Vi điều khiển ứng dụng – GV: Phạm Nguyễn Huy Cường Slide 25
Select Device
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
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
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
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
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
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
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ự
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>
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>
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.
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”
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
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>
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.
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.
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
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
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
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”
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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”
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”
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”
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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?
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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>
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>
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).
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…>
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>
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
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>
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
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
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
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
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
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
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
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
Kết luận
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.
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
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
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