You are on page 1of 42

Tìm hiểu MPLAB IDE v8.

56 GVHD: Mã Duy Khanh

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.

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

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ế

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

Đâ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.

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

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….

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

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.

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

Click “Next”

Chọn “ I accept”

Click “Next”

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

Click “Next”

Click “ Next”

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

Click “Next”

Click “Next”

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

Click “Next”

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

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

Click “Next”

Chọn “ I accept “

“ Next ”

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

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í.

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

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.

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

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.

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

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.

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

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”

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

“ 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.

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

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:

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

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.

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

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.

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

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.


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

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.

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

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…

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

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ọn
con PIC16F877A.

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

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.

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

Đá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)

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

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”

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

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).

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

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)

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

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)

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

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ì.

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

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.

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

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.

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

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).

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

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 .

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

Đế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ưu
lú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 :

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

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

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

...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:

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

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.

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

Để 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:

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

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ế.

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

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.

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

Phụ Lục
Chươ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

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

Tài liệu tham khảo


MPLAB IDE User’s Guide

http://www.dientuvietnam.net/

http://www.picvietnam.com/

http://www.microchip.com/

Trang 42

You might also like