42
Tìm hiu MPLAB IDE v8.56 GVHD: Mã Duy Khanh Trang 1 Chương I : MỞ ĐẦU 1) Giới thiệu về MPLAB IDE: Ngôn ngữ assembly (còn gọi là hợp ngữ) là một ngôn ngữ bậc thấp được dùng trong việc viết các chương trình máy tính. Ngôn ngữ assembly sử dụng các từ có tính gợi nhớ, các từ viết tắt để giúp ta dễ ghi nhớ các chỉ thị phức tạp và làm cho việc lập trình bằng assembly dễ dàng hơn. Mục đích của việc dùng các từ gợi nhớ là nhằm thay thế việc lập trình trực tiếp bằng ngôn ngữ máy được sử dụng trong các máy tính đầu tiên thường gặp nhiều lỗi và tốn thời gian. Một chương trình viết bằng ngôn ngữ assembly được dịch thành mã máy bằng một chương trình tiện ích được gọi là assembler (Một chương trình assembler khác với một trình biên dịch ở chỗ nó chuyển đổi mỗi lệnh của chương trình assembly thành một lệnh của máy). Các chương trình viết bằng ngôn ngữ assembly li ên quan rất chặt chẽ đến kiến trúc của máy tính. Điều này khác với ngôn ngữ lập trình bậc cao, ít phụ thuộc vào phần cứng. Trước đây ngôn ngữ assembly được sử dụng khá nhiều nhưng ngày nay phạm vi sử dụng khá hẹp, chủ yếu trong việc thao tác trực tiếp với phần cứng hoặc hoặc l àm các công việc không thường xuyên. Ngôn ngữ này thường được dùng cho trình điều khiển (driver), hệ nhúng bậc thấp (low-level embedded systems) và các hệ thời gian thực. Những ứng dụng này có ưu điểm là tốc độ xử lí các lệnh assembly nhanh. MPLAB IDE là một phần mền làm môi trường lập trình cho chíp PIC. Đây cũng là một công cụ khá mạnh cho lập trình điều khiển, và nó chạy trên PC đễ phát triển các ứng dụng cho hệ thống quản lí vi mạch của Microchip . Nó được gọi là một môi trường phát triển tích hợp, hay IDE, bởi vì nó cung cấp một tích hợp "môi trường" để phát triển mã cho nhúng hệ quản lí vi mạch.

Tim Hieu Mplab Ide v8.56

Embed Size (px)

Citation preview

Page 1: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 1

Chương I : MỞ ĐẦU

1) Giới thiệu về MPLAB IDE:

Ngôn ngữ assembly (còn gọi là hợp ngữ) là một ngôn ngữ bậc thấp được dùng

trong việc viết các chương trình máy tính. Ngôn ngữ assembly sử dụng các từ có tính

gợi nhớ, các từ viết tắt để giúp ta dễ ghi nhớ các chỉ thị phức tạp và làm cho việc lập

trình bằng assembly dễ dàng hơn. Mục đích của việc dùng các từ gợi nhớ là nhằm thay

thế việc lập trình trực tiếp bằng ngôn ngữ máy được sử dụng trong các máy tính đầu

tiên thường gặp nhiều lỗi và tốn thời gian. Một chương trình viết bằng ngôn ngữ

assembly được dịch thành mã máy bằng một chương trình tiện ích được gọi là

assembler (Một chương trình assembler khác với một trình biên dịch ở chỗ nó chuyển

đổi mỗi lệnh của chương trình assembly thành một lệnh của máy).

Các chương trình viết bằng ngôn ngữ assembly liên quan rất chặt chẽ đến kiến trúc

của máy tính. Điều này khác với ngôn ngữ lập trình bậc cao, ít phụ thuộc vào phần

cứng.

Trước đây ngôn ngữ assembly được sử dụng khá nhiều nhưng ngày nay phạm vi sử

dụng khá hẹp, chủ yếu trong việc thao tác trực tiếp với phần cứng hoặc hoặc làm các

công việc không thường xuyên. Ngôn ngữ này thường được dùng cho trình điều khiển

(driver), hệ nhúng bậc thấp (low-level embedded systems) và các hệ thời gian thực.

Những ứng dụng này có ưu điểm là tốc độ xử lí các lệnh assembly nhanh.

MPLAB IDE là một phần mền làm môi trường lập trình cho chíp PIC. Đây cũng là

một công cụ khá mạnh cho lập trình điều khiển, và nó chạy trên PC đễ phát triển các

ứng dụng cho hệ thống quản lí vi mạch của Microchip . Nó được gọi là một môi

trường phát triển tích hợp, hay IDE, bởi vì nó cung cấp một tích hợp "môi trường" để

phát triển mã cho nhúng hệ quản lí vi mạch.

Page 2: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 2

Hiện tại cũng có nhiều phần mền hỗ trợ lập trình biên dịch cho Pic nhưng MPLAB

IDE vẫn là phần mền mà nhiều người sử dụng nhất do Microchip sản xuất dùng riêng

cho các họ vi xử lý dùng Pic. Nếu chỉ mỗi phần mền này không thì người lập trình chỉ

lập trình ngôn ngữ ASM trên nó. Nhưng để lập trình C chả hạn thì người dùng phải cài

thêm một số công cụ cho nó như là C18, C30...thì nó sẽ hỗ trợ cả trình C.

Chu trình thiết kế của MPLAB(chu trình khép kín ) được tóm gọn như hình bên

dưới.

Chu trình thiết kế

Đây là chu trình khép kín từ lúc biên dịch cho đến lúc xuất ra mã *.hex, trong

đó bao gồm các quá trình sữa chữa Debugger.

Biên dịch / assemble / Link Code

Tải về mã để Debugger

phân tích / Sửa lỗi mã

Sửa / Tạo / Thiết kế mã nguồn

Page 3: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 3

2) Chức năng của MPLAB IDE:

MPLAB IDE là một chương trình phiên dịch từ ngôn ngữ Assembly sang

ngôn ngữ PIC (mã *.hex). Hổ trợ một số mạch nạp PICkit2,PICkit3,…Nó còn hổ trợ

các tính năng kiểm tra lỗi Debugger dung MPLAP SIM, Debug onchip dùng Mplab

ICD2…., cho ta biết giá trị của các thanh ghi cũng như bộ nhớ của chip, giá trị của các

thanh ghi SFR….

Page 4: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 4

Chương II : HƯỚNG DẪN SỬ DỤNG

Trước tiên để có MPLAP bạn phải tải nó về máy tính của bạn, bạn có thể vào

địa chỉ sau:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406

&dDocName=en019469&part=SW007002. (8.56)

Sau khi download về máy ta mở Folder chứa chương trình và Double Click vào biểu

tượng setup.exe và làm theo các bước dưới đây.

1) Cài đặt:Sau khi Double Click vào biểu tượng setup.exe màn hình sẽ hiện lên như bên dưới.

Page 5: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 5

Click “Next”

Chọn “ I accept”

Click “Next”

Page 6: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 6

Click “Next”

Click “ Next”

Page 7: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 7

Click “Next”

Click “Next”

Page 8: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 8

Click “Next”

Ngồi chờ……đến khi tiến trình cài đặt hoàn tất.

Page 9: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 9

Click “Next”

Chọn “ I accept “

“ Next ”

Page 10: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 10

Và cuối cùng là “ Finish”

Thực hiện đầy đủ các bước trên thì chắc chắn là bạn đã có một chương trình

phục vụ cho việc học lập trình bằng ngôn ngữ cấp thấp (Assembly).

Ở đây ta không có các bước bẻ khóa vì chương trình này do microchip cung

cấp hoàn toàn miễn phí.

Page 11: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 11

2) Sử dụng chương trình:

Double Click vào biểu tượng MPLAB IDE v8.56 trên Desktop hoặc làm

theo cách sau: Click vào Start All Programs Microchip MPLAP IDE

v8.56 MPLAP IDE ta sẽ được một cửa sổ giao tiếp với chương trình như bên dưới.

Trước khi thực hiện các thao tác để làm một bài lập trình cơ bản ta sẽ đi tìm hiểu các thanh

công cụ của chương trình.

2.1) Thanh công cụ của MPLAB IDE:

a) File: Dưới đây là các mục menu trong trình đơn File.

New: hiện thị một cửa sổ soạn thảo mới.Khi tắt nó sẽ báo cho bạn chọn nơi lưu file

bạn đã tạo.Tổ hợp phím Ctrl + N

Add New File to Project: Yêu cầu một tên cho tập tin mới trong hộp thoại.

Page 12: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 12

Open: mở tập tin bạn đã lưu lại trước đó. Bạn có thể dung tổ hợp phím Ctrl+O.

Close: Đóng cửa sổ làm việc, nó sẽ nhắc bạn lưu lại những gì bạn đã làm trước khi

đóng lại.

Save: lưu cửa sổ soạn thảo lại.

Save As: bạn muốn lưu cửa sổ soạn thảo ở một nơi khác với một tên khác.

Save All: Lưu tất cả các cửa sổ soạn thảo mở vào đĩa.

Open Workspace: Mở không gian làm việc mới, mà không gian đó là không gian

làm việc trước đây .

Save Workspace : lưu không gian làm việc .

Save Workspace As: lưu không gian làm việc vào một nơi khác mà bạn muốn..

Close Workspace: Đóng một không gian làm việc trở lại cấu hình mặc định không

gian làm việc lúc khởi động.

Import: nhập một tập tin gỡ lỗi hoặc hex vào project của bạn.

Export: Xuất ra một tập tin Hex từ Project của bạn.

Print: in ra thành văn bản.

Recent Files: Hiển thị một danh sách các file đã mở .

Recent Workspaces: Hiển thị một danh sách các không gian làm việc đã mở.

Exit: đóng tất cả các cửa sổ lại.

Page 13: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 13

b) Edit: Dưới đây là các mục menu trong trình đơn Edit.

Undo: Đảo ngược những thay đổi cuối cùng thực hiện cho các cửa sổ đang hoạt

động. Khi không có hành động chỉnh sửa lùi lại, lệnh đơn được chuyển sang màu xám

và bạn không thể chọn lệnh.

Redo: Đảo ngược tác dụng của các hoạt động Undo gần đây nhất trong cửa sổ đang

hoạt động. Khi không có chỉnh sửa hành động để làm lại, các lệnh menu chuyển sang

màu xám và bạn không thể chọn lệnh.

Cut: Xóa văn bản đã chọn trong cửa sổ hiện tại và đặt nó vào clipboard.

Copy: Bản sao của các văn bản đã chọn trong cửa sổ hiện hành lưu vào clipboard.

Sau này bạn có thể dán các văn bản sao chép vào một cửa sổ MPLAB Editor, ở vị trí

khác trong cùng một cửa sổ Editor MPLAB, hoặc vào một ứng dụng Windows.

Paste: Sao chép các nội dung của clipboard vào cửa sổ hiện hành tại các điểm chèn.

Bạn chỉ có thể thực hiện thao tác này nếu clipboard chứa dữ liệu ở định dạng văn bản.

Delete: xóa đoạn văn bản đã chọn.

Select All: chọn tất cả text and graphics trong Edit window.

Find: Mở hộp thoại tìm.

Find Next: Tìm văn bản tiếp theo.

Replace: Mở hộp thoại thay thế.

Find In Files: Mở hộp thoại tìm trong tập tin.

Go to: Tới mục quy định của họp thoại Go To.

Page 14: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 14

Advanced: Những đặc tính soạn thảo tiên tiến. Bao gồm lựa chọn văn bản đều chữ

hoa hay (chữ)thường , mã bình thường, hay indente hay làm lõm xuống văn bản….

Bookmarks: Làm việc với bookmark. Chuyển đổi một trang đánh dấu (luân phiên

cho phép / vô hiệu hóa một trang đánh dấu), đi để các dấu trang kế tiếp hoặc trước đó

hoặc vô hiệu hóa tất cả các dấu trang.

Properties: Mở hộp thoại Options Editor.

c) View: Dưới đây là các mục menu trong trình đơn View.

Dưới đây là các mục trình đơn trong menu View. Bất kỳ mục nào không áp dụng

đối với các lựa chọn thiết bị sẽ bị vô hiệu. Lựa chọn một mục trong trình đơn này sẽ

làm cho mục đó hiển thị trên cửa sổ.

“Project Window”

“Output Window”

“MPLAB IDE Toolbars”

“Disassembly Listing Window”

“Hardware Stack Window”

“ Program Memory Window”

“ File Registers Window”

“ EEPROM Window”

“ Memory Usage Gauge”

“ LCD Pixel Window”

Page 15: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 15

“ Locals Window”

“ Watch Window”

“ Call Stack Window”

“ Special Function Registers Window”

d) Project: Dưới đây là các mục menu trong trình đơn Project.

Project Wizard: sử dụng Project Wizard để giúp bạn thiết lập một Project mới.

New: mở một Project mới trong không gian ( cửa sổ) làm việc.

Open: mở Project đã có trước đó.

Close: đóng project trên cửa sổ làm việc.

Set Active Project: chọn một project trong cửa sổ làm việc.

Quickbuild: xây dựng một As dung MPASM mà không cần tạo ra một project

mới.

Clean: Loại bỏ các project trung gian, chẳng hạn như hex, đối tượng và các tập tin

gỡ lỗi, cho hoạt động của project. Những tập tin này được tái tạo từ các file khác khi

project được xây dựng.

Build All: biên dịch chương trình. Một project phải được mở trước khi điều này

mục sẽ xuất hiện.

Make: Xây dựng các project bằng cách biên dịch / lắp ráp các tập tin có thay đổi kể

từ lần cuối xây dựng. Một project phải được mở trước khi mặt hàng này sẽ xuất hiện.

Page 16: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 16

Build Options: Thiết lập và xem các tuỳ chọn cho các project đang hoạt động và

tập tin cá nhân bằng cách sử dụng các tùy chọn Build.

Save Project: lưu project lại.

Save Project As: lưu project lại ở một nơi khác.

Add Files to Project: Chèn các tập tin vào các project đang hoạt động. Tùy thuộc

vào loại tập tin, MPLAB IDE sẽ sắp xếp các file vào đúng loại trong cây cửa sổ

project.

Add New File to Project: thêm một tập tin mới vào project.

Remove Files from Project:loại bỏ một tập tin từ project.

Select Language Toolsuite: lựa chọn ngôn ngử phục vụ cho quá trình làm việc.

Set Language Tool Locations: Thiết lập các đường dẫn / thư mục để các công cụ

ngôn ngữ bạn sẽ được sử dụng trong project.

Select Version Control System: Thiết lập các project của bạn để sử dụng các tập

tin từ một hệ thống kiểm soát phiên bản.

e) Debugger: Dưới đây là các mục menu trong trình đơn Debugger.

Select Tool: Chọn một công cụ gỡ rối. Mặc định là None.

Clear Memory: Xóa tất cả hoặc chỉ một số loại bộ nhớ MPLAB IDE được sử dụng

trong project.

Basic Debug Options: Một khi bạn đã chọn bất kỳ công cụ gỡ lỗi, menu Debugger

sẽ bổ sung lựa chọn sau:

Page 17: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 17

Run: Thực hiện chương trình mã cho đến khi bắt gặp một điểm dừng hoặc cho đến

khi gặp lệnh ngăn chặn.Quá trình bắt đầu từ truy cập chương trình hiện tại các vị trí

hiện tại chương trình truy cập cũng là đại diện như là một con trỏ vào chương trình bộ

nhớ cửa sổ. Trong khi chương trình đang chạy, một số chức năng khác bị tắt.

Animate: giúp cho trình gỡ rối thực sự thực hiện các bước trong khi chạy, cập nhật

các giá trị của sổ nhập dữ liệu. Chạy chậm hơn so với các chức năng Run, nhưng cho

phép bạn xem các thay đổi giá trị trong cửa sổ .

Halt: Ngừng (dừng) việc thực hiện các chương trình mã. Khi bạn nhấn chuột ngăn

chặn.

Step Into: Các bước thông qua các mã chương trình.

Đối với các mã assembly, lệnh này thực hiện một chỉ thị (một hoặc nhiều chu kỳ

hướng dẫn) và sau đó ngừng. Sau khi thực hiện một chỉ thị, tất cả các cửa sổ được cập

nhật.

Step Over: Thực hiện hướng dẫn tại các vị trí hiện tại chương trình truy cập,thực

hiện các chương trình con được gọi và dừng tại địa chỉ sau “CALL” này.Nếu bước qua

quá dài hoặc xuất hiện treo , click ngăn chặn.

Step Out: thoát ra khỏi chương trình con. Nếu là một bước thông qua các mã

chương trình con, bạn có thể kết thúc thực hiện phần còn lại của mã chương trình con

và ngăn chặn theo địa chỉ sau chương trình con CALL bằng cách thoát ra ngoài.

Reset: Đặt lại quy định, hoặc là MCLR, Watchdog Timer, Brown-Out hoặc xử lý

thiết lập lại. Thiết lập lại các tùy chọn và hành động phụ thuộc vào các thiết bị và công

cụ chọn.

Breakpoints: Mở hộp thoại Breakpoint. Thiết lập nhiều điểm dừng trong hộp thoại

này. Đối với những cách khác để thiết lập một điểm dừng.

Page 18: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 18

Settings: Mở một hộp thoại cài đặt công cụ. Thiết lập các công cụ chức năng ở đây.

f) Programmer: Dưới đây là các mục menu trong trình đơn Programmer.

Select Programmer: Chọn một lập trình viên. Mặc định là none. Danh sách các lập

trình viên có sẵn sẽ phụ thuộc vào những cái bạn đã cài đặt.

Enable Programmer: Thiết lập truyền thông giữa MPLAB IDE và lập trình viên.

Nó chuyển sang màu xám nếu người lập trình đã bật nó.

Disable Programmer: Kết thúc thông tin liên lạc giữa MPLAB IDE và lập trình

viên. Nó chuyển sang màu xám nếu lập trình vô hiệu hóa nó.

Program: Chương trình quy định các khu vực bộ nhớ: bộ nhớ chương trình, cấu

hình bit, ID địa điểm .

Verify: Kiểm tra chương trình của các khu vực bộ nhớ quy định: chương trình bộ

nhớ, cấu hình bit,ID địa điểm.

Read: Tìm hiểu quy định các khu vực bộ nhớ: bộ nhớ chương trình, cấu hình bit, ID

hoặc dữ liệu EEPROM.

Blank Check All: Kiểm tra để thấy rằng tất cả bộ nhớ thiết bị sẽ bị xóa .

Blank Check OTP: Đối với One-Time-lập trình (OTP) thiết bị, kiểm tra xem

chương trình, dữ liệu và bộ nhớ EEPROM .

Erase Flash Device: Xóa tất cả dữ liệu trên thiết bị PICmicro Flash MCU bao gồm

bộ nhớ, ID và cấu hình bit.

Reset Program Statistics: Thiết lập trình thống kê (ví dụ, các lỗi) để giá trị mặc

định.

Page 19: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 19

Download OS: Tải về hệ thống điều hành mới nhất cho các lập trình của bạn.

About: Xem thông tin về các công cụ của bạn trong hộp thoại này.

Settings: Mở ra một công cụ cụ thể cài đặt hộp thoại. Thiết lập các thông tin về các

công cụ của bạn.

g) Tools: Dưới đây là các mục menu trong trình đơn Tools.

MPLAB Macros: Microsoft cho phép khả năng vĩ mô để sử dụng với MPLAB

IDE.

RTOS Viewer: Nếu bạn có hệ điều hành (RTOS) được cài đặt và đưa vào project

của bạn, bạn có thể mở xem.

Symbol Browser: Mở biểu tượng trình duyệt người xem để thấy những biểu tượng

trong một định dạng cây cho dự án hoạt động của bạn.

AN908 ACIM Tuning Interface: Sử dụng giao diện này hỗ trợ AN908 lưu ý ứng

dụng (DS00908).

Sensorless Motor Tuning Interface: Sử dụng giao diện này hỗ trợ các ứng dụng

lưu ý AN901 (DS00908).

h) Configure: Dưới đây là các mục menu trong trình đơn Configure.

Select Device: Chọn thiết bị cho chế độ làm việc của bạn.

Configuration Bits: Chọn giá trị cho các bit cấu hình thiết bị.

External Memory: Chọn có hoặc không sử dụng bộ nhớ bên ngoài hay không,xác

định phạm vi bộ nhớ bên ngoài.

ID Memory: Nhập giá trị vào bộ nhớ ID.

Page 20: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 20

Settings: Nhập giá trị cài đặt mặc định cho các không gian làm việc, trình sửa lỗi,

nạp chương trình, phím nóng và project.

i) Window: Dưới đây là các mục menu trong trình đơn Window.

Close All: đóng tất cả các cửa sổ.

Cascade: Sắp xếp các cửa sổ mở để chồng lên nhau để mỗi thanh tiêu đề là nhìn

thấy được.

Tile Horizontally: Sắp xếp các cửa sổ mở ở các kích cỡ nhỏ hơn để phù hợp với

các cạnh theo chiều ngang.

Tile Vertically: Sắp xếp các cửa sổ mở ở các kích cỡ nhỏ hơn để phù hợp với các

cạnh theo chiều dọc.

Arrange Icons: Sắp xếp tất cả cửa sổ icon trên dưới cùng của IDE.

Window Sets: Chọn một bộ cửa sổ được xác định trước. Tạo một thiết lập với

Create Window Set. Xóa một tập với Destroy Window Set.

Create Window Set: Lưu cửa sổ hiện tại / thanh công cụ bố trí vào một file.

Destroy Window Set: Hủy bỏ một cửa sổ thiết lập từ danh sách.

Open windows: mở một cửa sổ mới .Nhắp chuột vào một tên cửa sổ để làm cho

cửa sổ hoạt động.

More windows: Nếu danh sách của tất cả các cửa sổ đang mở là quá dài cho việc

hiển thị menu, nhấn vào nó lúc này sẽ có một hộp thoại liệt kê các cửa sổ khác mở ra.

Nhắp chuột vào một tên cửa sổ trong hộp thoại để làm cho cửa sổ đang hoạt động.

Page 21: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 21

j) Help: Dưới đây là các mục menu trong trình đơn Help.

Topics: Chọn một tập tin trợ giúp từ danh sách trên hộp thoại.

Release Notes: Xem danh sách tất cả các file Readme có sẵn cho các công cụ

Microchip. Chọn một tập tin và sau đó click vào nút để xem các tập tin HTML đầy đủ

trong một cửa sổ trình duyệt.

Driver Installation: Xem danh sách các hướng dẫn cài đặt ,điều khiển thiết bị ,tất

cả các tập tin có sẵn cho các công cụ Microchip. Chọn một tập tin và sau đó click vào

nút để xem các tập tin HTML đầy đủ trong một cửa sổ trình duyệt.

Web Links: Tìm công cụ Microchip và hỗ trợ thông qua web.

About MPLAB IDE: Đánh giá MPLAB IDE .

2.2) Các thao tác để thực hiện một bài lập trình:

Sau khi tìm hiểu 10 thanh công cụ cơ bản của MPLAB IDE các bạn cũng đã hình

dung được cách thức hoạt động của chương trình một cách cơ bản, tiếp theo chúng ta

sẽ thực hiện một số bài lập trình cơ bản làm nền tản cho việc lập trình sau này.

Để thực hiện các thao tác lập trình ta phải có một cử sổ giao tiếp giữa ta và chương

trình, để thực hiện việc đó ta sẽ mở chương trình MPLAP IDE, sau đó vào thanh

menu click Project Project Wizard…

Page 22: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 22

Một cửa sổ Welcome! hiện lên.

Chọn “Next “.

Tiếp theo là thao tác chọn PIC ta sẽ chọn loại PIC mà ta muốn lập trình, như ở đây ta sẽ chọncon PIC16F877A.

Page 23: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 23

Một bảng sẽ hiện lên:Do ta lập trình theo ngôn ngữ Assemply nên ta sẽ chọn

như bên dưới đây.

Active Toolsuite: Microchip MPASM Toolsuite

Toolsuite Contents: MPASM Assembler ( mpasmwin.exe) v5.37.

Click Next

Chọn Browse để Save Project.

Page 24: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 24

Đánh vào ô File Name tên bạn muốn Save. Sau đó ấn Save và Next.

Và đây là khâu add thư viện vào để phục vụ cho việc lập trình,ta tìm hai file có

đuôi .inc và .lkr để dể cho các bạn mới bước vào tìm hiểu thì chúng tôi nói rỏ việc tìm

hai file này,các bạn vào nơi cài đặt chương trình mặc định là Program Files trong ổ C

(cài Window) rồi tìm folder Microchip MPASM Suite( chứa file .INC) và folder

LKR(chứa file .lkr)

Page 25: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 25

Chọn add để add thư viện hoặc Remove để bỏ thư viện.

Chọn “Next”

Sau khi add thư viện ta được

Chọn “Next”

Page 26: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 26

Chọn “Finish”.

Một Project đơn giản nhất phải có hai thành phần Source Files và Header

Files. Thư mục Source Files chứa file .asm hoặc .c chứa code lập trình. Thư mục

Header Files chứa file .h hoặc .INC:file có sẵn của microchip. Thư mục linker Scrip

chứa file có đuôi .lkr. các thư mục khác như Object Files, Library Files có thể

không cần add vào.

Nếu bạn quên không add các file cần có vào thì làm theo hướng dẫn sau. ADD

header file: ( Copy header file vào thư mục chứa project để tiện cho việc sử dụng sau

này).

Page 27: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 27

Như vậy là chúng ta đã có một cửa sổ giao tiếp với chương trình. Công

việc tiếp theo là mở Notepad sau đó lưu nó lại với đuôi “.asm” .

Tiếp theo ta sẽ Add Files..(*.asm)

Page 28: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 28

Chọn đường dẫn đên nơi đã Save Notepad khi nãy. Click chọn Open

Và bây giờ chúng ta sẽ bắt đầu công việc lập trình: chọn Edit nó sẽ hiện ra một

cửa sổ để ta viết code lập trình (bên phải)

Page 29: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 29

3) Phân tích cấu trúc lệnh:3.1) Mở đầu:

Bất cứ một chương trình ASM nào, cũng được bắt đầu bằng việc giới thiệu về

chương trình, tên chương trình, người thực hiện chương trình, ngày thực hiện chương

trình, ngày hoàn tất, người kiểm tra lại chương trình, ngày kiểm tra chương trình,

phiên bản của chương trình, mô tả phần cứng của mạch giao tiếp và một số chú thích.

Chúng ta quy định một số quy ước sau:

;========== dùng để phân cách các phần chính của chương trình

;---------------- dùng để phân cách các chương trình con của chương trình

Code:

;========================================================; Ten chuong trinh : Mach test den LED_1; Nguoi thuc hien : Nhom tieu luan; Ngay thuc hien : 30/10/2010; Phien ban : xx; Mo ta phan cung : Dung PIC16F877A - thach anh 4MHz; : LED giao tiep voi PORTB; : Cuc am cua LED noi voi GND; : RB0 - RB7 la cac chan output;----------------------------------------------------------------; Ngay hoan thanh : 01/11/2010; Ngay kiem tra : 02/11/2010; Nguoi kiem tra : xxx;========================================================

Vì sao các bạn phải chú thích ? vì sau 1, 2, 3 năm, các bạn nhìn lại, các bạn sẽ

vẫn còn hiểu được mình đã làm gì.

Page 30: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 30

3.2) Cấu trúc của một dòng lệnh :

Code:

NHÃN LỆNH thamso1, thamso2 ; chú thích dòng lệnh

Một điểm lưu ý là các bạn phải sử dụng phím TAB để phân cách các cột của

một chương trình viết bằng MPASM. Các dòng khởi tạo này được viết ở cột thứ 3. Các

directive __CONFIG, LIST, TITLE, #INCLUDE được viết vào cột thứ 3. Còn chi

tiết khởi tạo được viết vào cột thứ tư.Cột thứ nhất dùng để viết các [NHÃN], cột thứ

hai để viết mã lệnh, cột thứ ba lại dùng để viết chi tiết các tham số của lệnh, và cột thứ

tư bỏ trống để tạo khoảng cách với cột thứ năm. Cột thứ năm dùng để viết các chú

thích. Các chú thích bắt đầu bằng dấu chấm phẩy . Trên một dòng, tất cả các ký tự viết

sau dấu chấm phẩy đều vô nghĩa. Chính vì vậy, khi viết phần chú thích ban đầu, các

bạn thấy rằng tất cả nội dung đó đều bắt đầu bằng dấu chấm phẩy.

Phần thứ hai các bạn cần làm đó là khởi tạo PIC. Phần này là phần bắt buộc

theo sau phần ghi chú, bởi vì chương trình dịch cần phải hiểu bạn đang làm việc với

con PIC nào, làm việc với nó như thế nào?

Code:

;=======================================================TITLE "Mach test LED_1"LIST P16F877A#INCLUDE "P16F877A.inc"__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF

&_HS_OSC

;=======================================================

Các bạn sẽ thấy rằng có một số từ khoá như sau:

TITLE: dùng để các bạn ghi chú thích tên chương trình. TITLE là tên chương trình

chính. Cú pháp ghi TITLE như trên. Nhớ phải có dấu nháy kép khi viết tên chương

trình.

Page 31: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 31

LIST(PROCESSOR): dùng để khai báo dòng vi điều khiển mà các bạn sử

dụng. Các bạn lưu ý, trong MPLAB quy định, không viết đầy đủ tên PIC16F877A mà

chỉ viết P16F877A, vì trong chương trình dịch đã quy định như vậy.

#INCLUDE: dùng để đưa thêm vào các file mà bạn viết trong chương trình.

Mặc định, trong MPLAB đường dẫn đến thư mục chứa file P16F877A.inc đã có sẵn.

Nếu bạn đặt file ở nơi khác không phải trong thư mục bạn đang làm việc, hoặc các file

include khong phải là file .inc có sẵn của MPLAB, thì các bạn phải chỉ đường dẫn rõ

ràng. Lưu ý rằng, để MPASM dịch được, các bạn phải đặt đường dẫn từ thư mục gốc

đến hết tên file (kể cả phần mở rộng của file) không được quá 60 ký tự.

__CONFIG: dùng để thiết lập các chế độ hoạt động của PIC. Các bạn có thể

xem để hiểu thêm về các chế độ hoạt động này trong tài liệu.Mỗi directive để đặt chế

độ, cách nhau một ký tự &.

_CP_OFF: tức là khôngđặt chế độ bảo vệ source code khi nạp vào PIC, sau khi

nạp vào sẽ có thể đọc ngược lại từ PIC ra.

_PWRITE_ON: tức là cho timer 0 chạy khi Power On Reset. Thực ra timer0

có chạy hay không cũng không quan trọng, vì nó chẳng liên quan gì đến công việc của

chúng ta. Nếu sau này muốn dùng timer0, thì các bạn vẫn phải khởi tạo lại giá trị cho

nó, chứ đâu thể sử dụng giá trị ngẫu nhiên của nó được, thành ra cứ để cho nó chạy,

sau này cần dùng khỏi phải khởi tạo.

_WDT_OFF: tại thời điểm này, tôi tắt Watch Dog Timer vì lý do các bạn chưa

nên tìm hiểu phần này vội.

_HS_OSC: chúng ta dùng thạch anh 4MHz, tức là chạy chế độ dao động HS.

Page 32: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 32

3.3) Mã lệnh:

Và đây sau khi viết code lập trình ta được như thế này:(soạn thảo một đoạn code từ giáo trình)

Sau đó lưu lại và công việc tiếp theo là Build All(tạo ra file .hex).

Page 33: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 33

Việc này có thể thất bại đối với những ai lần đầu tiên tìm hiểu và thực hành với Mplab nếu nhưviệc Build thất bại thì ta có hình bên dưới.

Quan sát các lỗi và sữa chữa lại code, cấu trúc câu lệnh thì việc Build lại sẽ thành công .

Page 34: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 34

Đến đây bạn đã có một file *.hex đây là file nạp vào PIC.Để tìm file *.hex bạn vào nơi chọn lưulúc mới bắt đầu.

Tiếp theo là lấy mạch nạp và con PIC16F877A ra cắm con PIC vào mạch nạp

rùi cắm vào máy tính.

Đầu tiên là chọn mạch nạp bằng cách vào menu Programmer -> Select

Programmer -> Mplab ICD2 như hình sau :

Page 35: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 35

Sau khi chọn Mplab ICD2 xong thì ta sẽ thấy giao diện như sau:

Lúc này để nạp chương trình ta chỉ cần vào menu Programmer -> Program như

hình sau là có thể nạp được chương trình.

Sau khi nhấn Program nếu download xuống chip thành công thì ta sẽ thấy hiển thị

ra cửa sổ Output như sau:

MPLAB ICD 2 Ready

Programming Target...

...Validating configuration fields

...Erasing Part

...Programming Program Memory (0x0 - 0x3F)

Verifying...

...Program Memory

Page 36: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 36

...Verify Succeeded

Programming Configuration Bits

.. Config Memory

Verifying configuration memory...

...Verify Succeeded

...Programming succeeded

01-Nov-2010, 14:23:39

MPLAB ICD 2 Ready

Để bắt đầu chạy chương trình ta phải rút dây kết nối mạch nạp và kit ra. Khi đó

chương trình mới có thể chạy được.

Trên đây là toàn bộ các bước để tạo một project, viết assembly cho Pic trên Mplab

cũng như làm thế nào để compile và download chương trình xuống chip để thực thi. Đây

là trường hợp lý tưởng là khi viết code không có lỗi nào xảy ra. Nếu có lỗi nào xảy ra thì

ta phải debugger nó như thế nào. Trong chương này sẽ hướng dẫn các bạn hai cách

debugger.

4) Sửa lỗi :

4.1) Debugger dung MPLAP SIM

Bước 1: Để sử dụng MpLab SIM ta vào menu Debugger -> Select Debugger ->

Mplab SIM như hình vẽ sau:

Page 37: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 37

Bước 2: Khi đã chọn Mplab SIM xong thì trên menu Debugger có thêm nhiều

chức năng khác để hỗ trợ cho việc debug như hình sau:

Từ đây ta đã có thể mô phỏng được chương trình của mình một cách dễ dàng.

Ví dụ như Run (F9) dùng để chạy chương trình, chương trình sẽ chạy liên tục

đến khi nào có breakpoint(điểm dừng) thì dừng. Vậy làm thế nào để tạo Breakpoint, ta

sử dụng lệnh Breakpoints (F2) như trên hình để tạo ra breakpoint tại vị trí hiện tại của

con trỏ hoặc double click vào hàng code mình mong muốn đặt con trỏ. Hay sử dụng

Step Into (F7) để chạy từng lệnh một, gặp lời gọi hàm thì nó sẽ vào bên trong lời gọi

hàm chạy từng lệnh trong đó. Khác với Step Over (F8) một tí là khi có lời gọi hàm thì

Step Over xem như đó là một lệnh bình thường, không đi vào hàm chi tiết như Step

Into.Reset: trở về đầu chương trình.

Bước 3: Khi debug thì ta cũng cần phải biết giá trị của các thanh ghi cũng như

bộ nhớ của chip như thế nào, để xem được các giá trị này thì chúng ta qua menu View.

Page 38: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 38

Để xem được giá trị của các thanh ghi trong PIC ta chọn View -> File registers

sẽ xuất hiện cửa sổ như hình sau:

Để xem được giá trị của các thanh ghi SFR thì ta chọn View -> Special Function

Registers sẽ xuất hiện của sổ như hình sau:

Page 39: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 39

Hay để xem một và thanh ghi mà ta quan tâm thì có thể dùng Watch để xem bằng

cách vào View -> Watch thì hình sau sẽ xuất hiện:

Muốn xem thanh ghi nào, ta chỉ việc chọn thanh ghi tương ứng trong combobox

bên trên, sau đó nhấn Add SFR.

4.2) Debug onchip dùng Mplab ICD2.

Cũng giống như debug trên Mplab SIM, Mplab ICD2 cũng có những tính năng

tương tự, nhưng khi sử dụng Mplab ICD2 thì cần phải có mạch debug, và các hiện tượng

xảy ra giống như khi chạy thực tế.

Page 40: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 40

Chương III: KẾT LUẬN

Như vậy MPLAB IDE là một công cụ hữu ích cho những ai mới bắt đầu tìm

hiểu cũng như là mới tập lập trình Vi xử lí ( PIC), bằng việc hổ trợ ngôn ngữ cấp

thấp(assembly) có tính gợi nhớ, các từ viết tắt để giúp ta dễ ghi nhớ các chỉ thị phức

tạp và làm cho việc lập trình bằng assembly dễ dàng hơn. Mục đích của việc dùng các

từ gợi nhớ là nhằm thay thế việc lập trình trực tiếp bằng ngôn ngữ máy được sử dụng

trong các máy tính đầu tiên thường gặp nhiều lỗi và tốn thời gian.

Tóm lại để thực hiện một bài lập trình căn bản bạn phải làm được những điều

sau:

Biết sử dụng chương trình.

Xác định được mục tiêu làm việc.

Nắm được cấu trúc lệnh.

Khắc phục lỗi khi có sự cố xảy ra.

Page 41: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 41

Phụ LụcChương I : MỞ ĐẦU .................................................................................................................................. 1

1) Giới thiệu về MPLAB IDE: ............................................................................................................ 1

2) Chức năng của MPLAB IDE: ......................................................................................................... 3

Chương II : HƯỚNG DẪN SỬ DỤNG ..................................................................................................... 4

1) Cài đặt:............................................................................................................................................. 4

2) Sử dụng chương trình: ................................................................................................................. 11

2.1) Thanh công cụ của MPLAB IDE: ........................................................................................... 11

2.2) Các thao tác để thực hiện một bài lập trình: .......................................................................... 21

3) Phân tích cấu trúc lệnh:................................................................................................................ 29

3.1) Mở đầu:...................................................................................................................................... 29

3.2) Cấu trúc của một dòng lệnh : .................................................................................................. 30

3.3) Mã lệnh: ..................................................................................................................................... 32

4) Sửa lỗi : .......................................................................................................................................... 36

4.1) Debugger dung MPLAP SIM................................................................................................... 36

4.2) Debug onchip dùng Mplab ICD2............................................................................................. 39

Chương III: KẾT LUẬN.......................................................................................................................... 40

Page 42: Tim Hieu Mplab Ide v8.56

Tìm hiểu MPLAB IDE v8.56 GVHD: Mã Duy Khanh

Trang 42

Tài liệu tham khảo

MPLAB IDE User’s Guide

http://www.dientuvietnam.net/

http://www.picvietnam.com/

http://www.microchip.com/