Top Banner
TRƯỜNG ðẠI HC BÁCH KHOA ðÀ NNG KHOA ðIN TVIN THÔNG BMÔN KTHUT MÁY TÍNH ---o0o--- TÀI LIU THÍ NGHIM KTHUT VI ðIU KHIN VÀ VI XðÀ NNG 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt
54

tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

May 04, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

TRƯỜNG ðẠI HỌC BÁCH KHOA ðÀ NẴNG KHOA ðIỆN TỬ VIỄN THÔNG

BỘ MÔN KỸ THUẬT MÁY TÍNH ---o0o---

TÀI LIỆU THÍ NGHIỆM

KỸ THUẬT VI ðIỀU KHIỂN VÀ VI XỬ LÝ

ðÀ NẴNG 2009

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 2: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

THÍ NGHIỆM KỸ THUẬT VI ðIỀU KHIỂN VÀ VI XỬ LÝ THỜI LƯỢNG: 15 TIẾT

KẾ HOẠCH THÍ NGHIỆM: BUỔI 1: CHƯƠNG 1,2,3 BUỔI 2: CHƯƠNG 4,5 BUỔI 3: CHƯƠNG 6,7

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 3: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

MỤC LỤC 1. MỤC ðÍCH VÀ YÊU CẦU CHUNG

• MỤC ðÍCH THÍ NGHIỆM • YÊU CẦU THÍ NGHIỆM

2. GIỚI THIỆU HỌ VI ðIỀU KHIỂN PIC • GIỚI THIỆU VI XỬ LÝ VÀ VI ðIỀU KHIỂN • GIỚI THIỆU PICF16F877A

3. GIỚI THIỆU KIT PICDEM 2 PLUS VÀ MPLAB TOOLS • GIỚI THIỆU PICDEM2 PLUS • GIỚI THIỆU MPLAB TOOLS

4. BÀI THÍ NGHIỆM SỐ 1 • MỤC ðÍCH • YÊU CẦU • SƠ ðỒ KHỐI • XÂY DỰNG GIẢI THUẬT • VIẾT CHƯƠNG TRÌNH • KIỂM TRA KẾT QUẢ

5. BÀI THÍ NGHIỆM SỐ 2 • MỤC ðÍCH • YÊU CẦU • SƠ ðỒ KHỐI • XÂY DỰNG GIẢI THUẬT • VIẾT CHƯƠNG TRÌNH • KIỂM TRA KẾT QUẢ

6. BÀI THÍ NGHIỆM SỐ 3 • MỤC ðÍCH • YÊU CẦU • SƠ ðỒ KHỐI • XÂY DỰNG GIẢI THUẬT • VIẾT CHƯƠNG TRÌNH • KIỂM TRA KẾT QUẢ

7. BÀI THÍ NGHIỆM SỐ 4 • MỤC ðÍCH • YÊU CẦU • SƠ ðỒ KHỐI • XÂY DỰNG GIẢI THUẬT • VIẾT CHƯƠNG TRÌNH • KIỂM TRA KẾT QUẢ

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 4: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

1. MỤC ðÍCH VÀ YÊU CẦU CHUNG • MỤC ðÍCH THÍ NGHIỆM

• YÊU CẦU THÍ NGHIỆM ================================================================

1.1. Mục ñích thí nghiệm:

- Tiếp xúc, làm việc thực tế với vi ñiều khiển, vi xử lý thông qua các công cụ có sẵn tại phòng thí nghiệm.

- Rà soát và kiểm chứng lại các kiến thức ñã học trong các môn kỹ thuất vi xử lý và vi ñiều khiển.

- Bước ñầu làm quen với các hệ thống vi xử lý thực sự và biết cách làm việc với nó. 1.2. Yêu cầu thí nghiệm:

Dựa vào các thiết bị có sẵn tại phòng thí nghiệm cụ thể là Board PICDEM 2 PLUS và các công cụ kèm theo, sinh viên tham gia thí nghiệm phải:

- Nắm vững lý thuyết trước khi ñi vào thí nghiệm cụ thể là làm việc trực tiếp với dụng cụ thí nghiệm

- Sử dụng các công cụ thí nghiệm một cách cơ bản. - Hoàn thành các bài thí nghiệm. Sau khi hoàn thành thí nghiệm yêu cầu: - Lập trình cơ bản cho PIC16F877A - Sử dụng ñược các công cụ hỗ trợ cho PIC có trong phòng thí nghiệm - Nắm cơ bản về cấu trúc PIC16F877A

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 5: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

2. GIỚI THIỆU HỌ VI ðIỀU KHIỂN PIC • GIỚI THIỆU VI XỬ LÝ VÀ VI ðIỀU KHIỂN.

• GIỚI THIỆU PICF16F877A ================================================================

2.1. Máy tính là gì?

Một máy tính ñược kết hợp từ phần cứng và phần mềm. Phần cứng của một máy tính

bao gồm 4 thành phần:

• Bộ xử lý. Bộ xử lý chịu trách nhiệm thực hiện tất cả các hoạt ñộng tính toán và

phối hợp việc sử dụng tài nguyên của máy tính. Một hệ thống máy tính có thể gồm

1 hoặc nhiều bộ xử lý. một bộ xử lý có thể sử dụng tính toán ña dụng hoặc tính

toán chuyên dụng, như là việc thực hiện ñồ họa, việc in ấn, hay là xử lý mạng.

• Các thiết bị nhập. Một máy tính ñược thiết kế ñể thực hiện chương trình ñiều khiển

dữ liệu nào ñó. Các thiết bị vào là cần thiết ñể nhập chương trình ñược thực hiện

và dữ liệu ñược xử lý vào máy tính. Các thiết bị vào rất ña dạng: bàn phím, bàn

phím số, máy quét, ñầu ñọc mã vạch, bộ cảm biến, và nhiều nữa.

• Các thiết bị xuất. Không có vấn ñề gì nếu người dùng sử dụng máy tính ñể chỉ ñể

tính toán hay ñể tìm kiếm thông tin từ Internet hay một cơ sở dữ liệu, kết quả cuối

cùng phải ñược hiển thị hoặc in ra giấy ñể người dùng có thể thấy. Một số phương

tiện truyền thông và thiết bị có thể ñược sử dụng ñể hiển thị thông tin: màn hình

CRT, màn hình phẳng, bộ hiển thị 7 doạn, máy in, diode phát quang, và nhiều nữa.

• Các thiết bị nhớ: Chương trình ñược ñiều khiển và dữ liệu ñược xử lý phải chứa

trong thiết bị nhớ ñể bộ xử lý có thể sẵn sàng truy cập chúng.

2.1.1. Bộ xử lý.

Một bộ xử lý còn ñược gọi là ñơn vị xử lý trung tâm(CPU). Bộ xử lý gồm ít nhất 3

thành phần:

• Các thanh ghi. Một thanh ghi là một vùng lưu trữ trong CPU. Nó ñược sử dụng ñể

giữ dữ liệu và là một ñịa chỉ nhớ trong khi quá trình thi hành lệnh. Bởi vậy các

thanh ghi rất gần với CPU, nó có thể thực hiện truy cập nhanh các toán hạng ñể

thực hiện chương trình. Số lượng thanh ghi thay ñổi thay ñổi nhiều từ những bộ xử

lý này ñến những bộ xử lý khác.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 6: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

• ðơn vị logic số học (ALU). ALU thực hiện tất cả các tính toán bằng số và sự ước

lượng bằng logic cho bộ xử lý. ALU nhận dữ liệu từ bộ nhớ, thực hiện các công

việc, và, nếu cần, ghi kết quả trở lại bộ nhớ. Siêu máy tính ngày nay có thể thực

hiện hàng ngàn tỷ công việc trên 1 giây. ALU và các thanh ghi cùng ñược mệnh

danh như là ñường dữ liệu của bộ xử lý.

• ðơn vị ñiều khiển. ðơn vị ñiều khiển chứa chỉ dẫn logic phần cứng. ðơn vị ñiều

khiển giải mã và giám sát sự ñiều khiển của các chỉ dẫn. ðơn vị ñiều khiển cũng

làm việc như một bộ trọng tài của hệ thống máy tính phân chia sự thay ñổi dưới

dạng cạnh tranh của những tài nguyên CPU. Các hoạt ñộng của CPU ñược ñồng bộ

hóa bởi ñồng hồ hệ thống. Tốc ñộ của ñồng hồ của những bộ vi xử lý ñời mới ñã

vượt quá 3.0GHz tại thời ñiểm này.

1GHz=1 tỷ chu kỳ trên 1 giây.

Chu kỳ của 1 tín hiệu ñồng hồ 1GHz là 1ns(10-9 giây). ðơn vị ñiều khiển chỉ khai

thác một thanh ghi gọi là bộ ñếm chương trình (PC) ñể giữ vết ñịa chỉ của lệnh tiếp theo

ñể thực hiện. Trong lúc thực thi lệnh, tràn xảy ra, một số nhớ ñược thêm vào, một số trừ

ñược mượn, và nhiều nữa ñược ñánh dấu bằng cờ bởi hệ thống và ñược lưu trong thanh

ghi khác gọi là thanh ghi trạng thái. Kết quả xảy ra của các cờ ñược sử dụng bởi lập trình

viên cho việc ñiều khiển trình tự và quyết ñịnh sự làm việc của chương trình.

2.1.2. Bộ vi xử lý

Sự tiến bộ của công nghệ bán dẫn cho phép hệ mạch của bộ xử lý ñầy ñủ ñược ñặt

trong một mạch tích hợp( còn gọi là chip). Một bộ vi xử lý là một bộ xử lý gọn trong một

mạch tích hợp ñơn. Một máy vi tính là một máy tính sử dụng một bộ vi xử lý làm CPU

của nó. Một máy tính cá nhân(PC) là một máy vi tính. Các máy vi tính ñời cũ rất chậm.

Tuy nhiên, các máy tính cá nhân ngày nay chạy với tốc ñộ cao hơn 3.0GHz và nhanh hơn

các siêu máy tính của vài năm trước.

Việc phụ thuộc vào số bit mà một bộ vi xử lý có thể ñiều khiển trong một công

việc, một bộ vi xử lý ñược quy về là 4-bit, 8-bit,16-bit, 32-bit, hoặc 64-bit. Con số này là

ñộ dài từ ( hoặc ñộ dài ñường dữ liệu) của bộ vi xử lý. Hiện nay, bộ vi xử lý 8-bit hầu như

ñược dùng rộng rãi.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 7: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Mặc dù tốc ñộ ñồng hồ của bộ vi xử lý ñã tăng ñột biến, sự cải tiến về thời gian

truy cập ( hay nói ñơn giản là tốc ñộ) của các chip bộ nhớ dung lượng cao (nhất là các

chip DRAM ñược dùng rộng rãi ñược bàn trong mục 1.2.4) ñược ñiều tiết ở mức tốt nhất.

Bộ vi xử lý có thể hoàn thành 1 hoạt ñộng tính toán trong một chu kỳ ñồng hồ; tuy nhiên,

nó có thể lấy nhiều chu kỳ ñồng hồ ñể truy cập dữ liệu từ chip nhớ. Sự chênh lệch tốc ñộ

này làm cho tốc ñộ ñồng hồ cao của bộ vi xử lý ñơn vô ích trong việc thực hiện trao ñổi

tốc ñộ cao. Giải pháp ñược ñưa ra là thêm vào một bộ nhớ tốc ñộ cao nhỏ vào chip CPU.

Bộ nhớ trên chip này ñược gọi là bộ nhớ cache. CPU có thể truy cập dữ liệu từ bộ nhớ

cache trên chip trong 1 hay 2 chu kỳ ñồng hồ bởi vì nó rất gần với ALU. Bộ nhớ cache là

có ích trong việc cải thiện thời gian truy cập bộ nhớ trung bình bởi vì CPU giải thích ñược

vị trí hành vi truy cập nó. Trong thời gian một chu kỳ ngắn, CPU tiến ñến truy cập một

vùng nhỏ trong bộ nhớ tái lập. Một ñoạn chương trình hoặc dữ liệu ñược ñưa vào trong bộ

nhớ cache, nó sẽ ñược truy xuất nhiều lần. Các kết quả trong thời gian truy cập bộ nhớ

trung bình rất gần với thời gian truy cập bộ nhớ cache.

Bộ vi xử lý và thiết bị nhập/xuất(I/O) có ñặc tính và tốc ñộ khác nhau. Một bộ vi

xử lý không ñược thiết kế ñể giải quyết thiết bị I/O trực tiếp. Thay vào ñó, các chip ngoại

vi( còn gọi là các chip giao tiếp) là cần thiết ñể tạo ra sự khác biệt giữa bộ vi xử lý và các

thiết bị I/O. Ví dụ, i8255 của Intel ñã ñược thiết kế ñể giao tiếp với bộ vi xử lý 8-bit 8080

từ Intel, và M6821 ñã ñược thiết kế ñể giao tiếp với 6800 8-bit từ Motorola với các thiết

bị I/O.

Các bộ vi xử lý ñược sử dụng trong nhiều ứng dụng từ khi chúng ñược phát minh

ra. Tuy nhiên, có vài hạn chế trong việc thiết kế bộ vi xử lý ban ñầu ñã dẫn ñến sự phát

triển của bộ vi ñiều khiển:

• Các chip nhớ ngoài là cần thiết ñể giữ chương trình và dữ liệu bởi vì các bộ vi xử

lý cũ không có bộ nhớ trên chip.

• Glue logic( như là bộ giải mã ñịa chỉ và các chip bộ ñệm) ñược yêu cầu ñể giao

tiếp với các chip nhớ.

• Các chip ngoại vi là cần thiết ñể giao tiếp với thiết bị I/O.

Bởi vì các hạn chế trên, một sản phẩm ñược thiết kế với các bộ vi xử lý không thể gọn

hơn mà có lẽ ñang ñược chờ ñón. Việc phát triển các bộ vi ñiều khiển không chỉ loại

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 8: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

trừ hầu như các vấn ñề trên, mà còn kích thích việc thiết kế các sản phẩm trên cơ sở bộ

vi xử lý giá thành thấp.

2.1.3. Vi ñiều khiển:

Một bộ vi ñiều khiển, hoặc MCU, là một máy tính ñược thực hiện trên một mạch

ñơn tích hợp quy mô rất lớn(VLSI). Thêm vào các thành phần ñược chứa trong

một bộ vi xử lý, một MCU còn chứa vài thành phần ngoại vi sau:

• Bộ nhớ

• Các bộ ñịnh thời, gồm ñếm sự kiện, thu thập ngõ vào, so sánh ngõ ra, ngắt thời

gian thực, và bộ ñịnh thời watchdog.

• ðiều chế ñộ rộng xung(PWM)

• Bộ chuyển ñổi tương tự sang số(ADC)

• Bộ chuyển ñổi số sang tương tự(DAC)

• Giao tiếp song song I/O

• Giao tiếp truyền thông nối tiếp bất ñồng bộ(UART)

• Giao tiếp truyền thông nối tiếp ñồng bộ (SPI, I2C, và CAN)

• Bộ ñiều khiển truy cập bộ nhớ trực tiếp(DMA)

• Hệ mạch giao tiếp thành phần bộ nhớ

• Phần mềm sửa lỗi hỗ trợ phần cứng.

Thảo luận về chức năng và ứng dụng của các thành phần này là một ñề tài của mục

này.Hầu hết các chức năng ñược thảo luận chi tiết ở các chương sau.

Từ lời giới thiệu của họ, các MCU ñã ñược sử dụng trong hầu hết mọi ứng dụng

ñòi hỏi nhất ñịnh về trí tuệ. Chúng ñược sử dụng làm bộ ñiều khiển cho hiển thị, in ấn,

bàn phím, modem, thẻ trả tiền ñiện thoại, máy tính cầm tay, và ñồ gia dụng, như là tủ

lạnh, máy giặt, và lò vi sóng. Chúng còn ñược sử dụng ñể ñiều khiển hoạt ñộng của ñộng

cơ và máy móc trong nhà máy. Một trong số ứng dụng quan trọng nhất của MCU có lẽ là

ñiều khiển ô tô. Ngày nay, một ô tô sang trọng có thể sử dụng hơn 100 MCU. Ngày nay,

hầu hết gia ñình có ñồ gia dụng ñiện xài 1 hoặc nhiều MCU ñể ñiều khiển. Trong các ứng

dụng này, mọi nguời chỉ ñể ý ñến chức năng của sản phẩm cuối cùng hơn là ñến MCU

ñược sử dụng ñể thực hiện chức năng ñiều khiển. Những sản phẩm mang ñặc tính này

thường ñược gọi là Hệ thống nhúng.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 9: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

2.1.4. Bộ nhớ

Chương trình và dữ liệu ñược lưu trữ trong bộ nhớ trong một hệ thống máy tính.

Một máy tính có thể gồm bộ nhớ bán dẫn, từ, quang. Chỉ bộ nhớ bán dẫn là ñược thảo

luận trong ñoạn này bởi vì bộ nhớ từ và quang hiếm khi sử dụng trong các ứng dụng

MCU 8 bit. Bộ nhớ bán dẫn có thể phân loại thành 2 loại chủ yếu: bộ nhớ truy cập ngẫu

nhiên RAM( random-access memory) và bộ nhớ chỉ ñọc ROM(Read-Only Memory).

Bộ nhớ truy cập ngẫu nhiên RAM(Random-Access Memory)

Bộ nhớ truy cập ngẫu nhiên thay ñổi ñược theo nghĩa không thể giữ ñược dữ liệu

khi bị mất nguồn. RAM còn ñược gọi là bộ nhớ ñọc/ghi bởi vì nó cho phép bộ xử lý ñọc

từ nó và ghi vào nó. Cả ñọc và ghi ñều truy cập RAM cùng một thời gian. Cùng lúc bật

nguồn, bộ vi xử lý có thể viết dữ liệu vào vùng RAM và ñọc trở lại giống nội dung cũ.

Việc ñọc bộ nhớ là không làm hỏng nó. Khi bộ vi xử lý viết dữ liệu ñến bộ nhớ, dữ liệu

cũ ñược viết ñè lên và mất ñi.

Có 2 loại công nghệ RAM: RAM tĩnh(SRAM) và RAM ñộng(DRAM). SRAM sử

dụng từ 4 ñến 6 transistor ñể lưu thông tin của một bit. Cùng lúc bât nguồn, thông tin lưu

trong SRAM sẽ không bị mất. RAM ñộng sử dụng một transistor và một tụ ñể lưu thông

tin của một bit. Thông tin ñược lưu trong tụ dưới dạng nạp ñiện. Việc nạp vào tụ sẽ thoát

hết sau một thời gian, vì vậy mỗi chu kì hoạt ñộng làm tươi ñược yêu cầu ñể bảo trì nội

dung của DRAM.

RAM chủ yếu ñể dùng ñể lưu dữ liệu và chương trình thay ñổi. Người sử dụng

máy tính thường muốn chạy nhiều chương trình khác nhau trên cùng một máy tính, và các

chương trình ñó thường hoạt ñộng trên những tổ hợp khác nhau của dữ liệu. Các chương

trình và dữ liệu vì thế mà ñược nạp vào RAM từ ñĩa cứng hoặc bộ lưu trữ thứ cấp khác,

và vì lý do này nên chúng ñược gọi là ñộng

Bộ nhớ chỉ ñọc ROM(Read-Only-Memory)

ROM là loại “không bốc hơi”. Nếu nguồn cấp cho ROM bị ngắt và sau ñó ñược

cấp lai, dữ liệu gốc sẽ vấn còn ở ñó. Như tên gọi của nó bao hàm, dữ liệu ROM chỉ có thể

ñược ñọc. Cái này không chính xác lắm. ða số công nghệ ROM yêu cầu giải thuật ñặc

biệt và ñiện áp ñể ghi dữ liệu vào chip. Việc không sử dụng giải thuật và ñiện áp ñặc biệt,

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 10: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

bất kì sự cố gắng nào ñể ghi vào bộ nhớ ROM sẽ không thành công. Có vài dạng khác

biệt của công nghệ ROM sử dụng ngày nay:

Bộ nhớ chỉ ñọc lập trình hóa mặt nạ MROM(Masked-programmed read-only

memory) là loại của ROM ñược lập trình khi nó ñược chế tạo. Nhà sản xuất bán dẫn ñặt

dữ liệu nhị phân vào bộ nhớ theo như ñặc tả kỹ thuật của khách hàng. ðể hiệu quả về chi

phí, hàng ngàn chip bộ nhớ MROM, mỗi bộ chứa cùng một bản sao dữ liệu (hoặc chương

trình), ñã ñược bán. Mọi người gọi MROM ñơn giản là ROM.

Bộ nhớ chỉ ñọc lập trình ñược PROM( Programable Read-Only Memory) là một

loại bộ nhớ chỉ ñọc có thể ñược lập trình trong lĩnh vực (thường là do người dùng cuối) sử

dụng thiết bị gọi là bộ lập trình PROM hoặc bộ xóa PROM. Một khi PROM ñược lập

trình, nội dung của nó không thể thay ñổi ñược. PROM dựa trên cơ sở làm ngắt mạch,

nghĩa là người dùng lập trình ngắt mạch ñể cấu hình nội dung bộ nhớ.

Bộ nhớ chỉ ñọc lập trình ñược xóa ñược EPROM(Erasable programmable read-

only memory) là loại bộ nhớ chỉ ñọc có thể bị xóa bằng việc bắt nó phải chịu ánh sáng tia

tử ngoại mạnh. Mạch thiết kế của EPROM yêu cầu người dùng xóa nội dụng của một

vùng trước khi giá trị mới có thể ñược viết vào nó. Một cửa sổ thạch anh trên mặt của

mạch tích hợp EPROM cho phép ánh sáng tử ngoại có thể chiếu trực tiếp vào bên trong

chip silicon. Một lần chip ñược lập trình, cửa sổ thạch anh có thể ñược bao bọc bởi băng

tối ñể ngăn dữ liệu bị xóa ñi dần dần. Nếu cửa sổ thạch anh không ñược cung cấp, chip

EPROM trở thành chỉ lập trình ñược một lần OTP(one-time programmable). EPROM

thường ñược dùng trong các máy tính dùng thử nơi mà phần mềm có thể ñược sửa lại vài

lần cho ñến khi nó ñược hoàn thiện. EPROM không cho phép xóa ñi nội dung của một vị

trí riêng lẻ. Chỉ có một cách ñể thay ñổi nó là xóa toàn bộ chip EPROM và lập trình lại

nó. Việc lập trình một chip EPROM làm bằng ñiện bởi việc sử dụng một thiết bị gọi là bộ

lập trình EPROM. Ngày nay, ña số các bộ lập trình là phổ biến theo nghĩa chúng có thể

lập trình cho một số loại thiết bị khác nhau bao gồm EPROM, EEPROM, bộ nhớ Flash,

và thiết bị logic lập trình ñược.

Bộ nhớ chỉ ñọc lập trình ñược xóa ñược bằng ñiện EEPROM (electrically erasable

programmable read-only memory) là một loại bộ nhớ không bốc hơi có thể xóa ñược và

lập trình lại bởi tín hiệu ñiện. Giống với EPROM, mạch thiết kế của EEPROM cũng ñòi

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 11: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

hỏi người dùng xóa nội dung của một vi trí bộ nhớ trước khi ghi một giá trị mới vào nó.

EEPROM cho phép mỗi vị trí riêng lẻ bị xóa và lậ trình lại. Khác với EPROM, EEPROM

có thể bị xóa và lập trình sử dụng cùng bộ lập trình. Tuy nhiên, EEPROM trả giá cho sự

mềm dẻo trong cách thức xóa của nó. Giá của chip EEPROM là cao hơn nhiều so với chip

EPROM có thể so sánh ñược về tỷ trọng.

Bộ nhớ Flash ñã ñược phát minh ñể hợp nhất những lợi thế và loại bỏ những hạn

chế của hai công nghệ EPROM và EEPROM. Bộ nhớ Flash có thể bị xóa và lập trình lại

trong hệ thống không sử dụng bộ lập trình chuyên dụng. Nó ñạt ñược tỷ trọng của

EPROM, nhưng nó không ñòi hỏi cửa sổ cho việc xóa. Giống với EEPROM, bộ nhớ

Flash có thể ñược lập trình và xóa bằng ñiện. tuy nhiên, nó không cho phép xóa một vị trí

bộ nhớ riêng lẻ - người dùng có thể chỉ xóa một nhóm tách biệt hoặc toàn bộ chip. Ngày

nay, càng ngày càng nhiều MCU tích hợp bộ nhớ flash trên chip cho việc lưu trữ chương

trình và dữ liệu. MCUs PIC16 trên cơ sở bộ nhớ Flash cho phép bạn xóa một khối 64 byte

một lúc.

2.2. Giới thiệu PIC16F877A

2.2.1. PIC là gì?

PIC ñầy ñủ là “Programable Intelligent Computer”, tạm dịch là “máy tính thông

minh khả trình” do hãng Genenral Instrument ñặt tên cho vi ñiều khiển ñầu tiên của họ:

PIC1650 ñược thiết kế ñể dùng làm các thiết bị ngoại vi cho vi ñiều khiển CP1600. Vi

ñiều khiển này sau ñó ñược nghiên cứu phát triển thêm hình thành nên dòng vi ñiều khiển

PIC ngày nay.

2.2.2. ðại cương PIC16F877A

2.2.2.1. Sơ ñồ chân

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 12: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Hình 1. Sơ ñồ chân PIC16F877A 2.2.2.2. Các thông số ñáng quan tâm

- Vi ñiều khiển PIC16F877A với tập lệnh gồm 35 lệnh có ñộ dài 14 bit. Mỗi lệnh

ñều ñược thực thi trong một chu kì xung clock. Tốc ñộ hoạt ñộng tối ña cho phép là 20

MHz với một chu kì lệnh là 200ns.

- Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ

liệu EEPROM với dung lượng 256x8 byte.

- Số PORT I/O là 5 với 33pin I/O.

-Các ñặc tính ngoại vi bao gồmcác khối chức năng sau:

+ Timer0: bộ ñếm 8 bit với bộ chia tần số 8 bit.

+ Timer1: bộ ñếm 16 bit với bộ chia tần số, có thể thực hiện chức năng ñếm dựa

vào

xung clock ngoại vi ngay khi vi ñiều khiển hoạt ñộng ở chế ñộ sleep.

+ Timer2: bộ ñếm 8 bit với bộ chia tần số, bộ postcaler.

+ Hai bộ Capture/so sánh/ñiều chế ñộ rông xung.

+ Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.

+ Chuẩn giao tiếp nối tiếp USART với 9 bit ñịa chỉ.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 13: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

+ Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân ñiều khiển RD,

WR,

CS ở bên ngoài.

- Các ñặc tính Analog:

+ 8 kênh chuyển ñổi ADC 10 bit.

+ Hai bộ so sánh.

- Vài ñặc tính khác:

+ Bộ nhớ flash với khả năng ghi xóa ñược 100.000 lần.

+ Bộ nhớ EEPROM với khả năng ghi xóa ñược 1.000.000 lần.

+ Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.

+ Khả năng tự nạp chương trình với sự ñiều khiển của phần mềm.

+ Nạp ñược chương trình ngay trên mạch ñiện ICSP (In Circuit Serial

Programming) thông qua 2 chân.

+ Watchdog Timer với bộ dao ñộng trong.

+ Chức năng bảo mật mã chương trình.

+ Chế ñộ Sleep.

+ Có thể hoạt ñộng với nhiều dạng Oscillator khác nhau.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 14: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

2.2.2.3. Sơ ñồ khối

Hình 2. Sơ ñồ khối PIC16F877A

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 15: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

2.2.2.4. Tổ chức bộ nhớ Hình 3. BẢN ðỒ BỘ NHỚ CHƯƠNG TRÌNH

- Tổ chức bộ nhớ chương trình: VÀ NGĂN XẾP STACK PIC16F876/877A

Các thiết bị PIC16F87XA có bộ ñếm

chương trình 13 bit có khả năng ñịnh ñịa chỉ

8K từ x 14 bit không gian bộ nhớ chương

trình. Thiết bị PIC16F876A/877A có 8K từ x

14 bit bộ nhớ chương trình Flash. Việc truy

nhập một vị trí phía trên ñịa chỉ thực thi theo

quy luật tự nhiên sẽ gây ra một vòng tiếp.

Vector Reset tại 0x0000 và vector ngắt tại

0x0004.

- Tổ chức bộ nhớ dữ liệu

Bộ nhớ dữ liệu ñược phân chia thành

nhiều dãy bank chứa các thanh ghi mục ñích

chung (GPRs) và các thanh ghi chức năng ñặc

biệt (SFRs). Các bit RP1 (STATUS<6>) và

RP0 (STATUS<5>) là các bit lựa chọn bank.

Mỗi bank mở rộng lên ñến 0x7F (128 byte).

Các vị trí thấp của mỗi bank ñược dành riêng

cho các thanh ghi chức năng ñặc biệt. Phía

trên các thanh ghi chức năng ñặc biệt là các

thanh ghi mục ñích chung, làm việc như RAM

tĩnh. Tất cả các bank làm việc ñều chứa các thanh ghi chức năng ñặc biệt. Một số thanh

ghi chức năng ñặc biệt ñược sử dụng thương xuyên từ một bank này có thể ñược ánh xạ

trong một bank khác ñể rút gọn mã và truy cập nhanh hơn.

- Tệp thanh ghi mục ñích chung

Tệp thanh ghi có thể ñược truy cập hoặc trực tiếp, hoặc gián tiếp, thông qua thanh

ghi chọn lựa tệp (FSR).

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 16: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Hình 2-3: BẢN ðỒ TỆP THANH GHI PIC16F877A

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 17: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

- Các thanh ghi chức năng ñặc biệt

Các thanh ghi chức năng ñặc biệt là các thanh ghi ñược dùng bởi CPU và các

module ngoại vi cho việc ñiều khiển các hoạt ñộng mong muốn của thiết bị. Các thanh ghi

này ñược sử dụng như RAM tĩnh. Bảng 1 liệt kê các thanh ghi này. Các thanh ghi chức

năng ñặc biệt có thể ñược nhóm vào 2 tập hợp: lõi(CPU) và ngoại vi. Các thanh ghi kết

hợp với các chức năng lõi ñược trình bày chi tiết trong mục này. Các thanh ghi liên quan

ñến hoạt ñộng của các tính năng ngoại vi ñược trình bày chi tiết trong mục các tính năng

ngoại vi.

Bảng 1: BẢNG TÓM TẮT THANH GHI CHỨC NĂNG ðẶC BIỆT

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 18: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Bảng 1: BẢNG TÓM TẮT THANH GHI CHỨC NĂNG ðẶC BIỆT(tiếp)

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 19: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Bảng 1: BẢNG TÓM TẮT THANH GHI CHỨC NĂNG ðẶC BIỆT(tiếp)

2.2.2.5.Tập lệnh

Hệ lệnh PIC16 là loại trực giao cao và gồm 3 loại cơ bản:

• Nhóm lệnh thanh ghi ñịnh hướng Byte

• Nhóm lệnh thanh ghi ñịnh hướng Bit

• Nhóm lệnh ñiều khiển và literal

Mỗi lệnh PIC16 là một từ 14 bit ñược ñưa vào trong mã lệnh chỉ rõ loại lệnh và một

hoặc nhiều toán hạng sau ñó chỉ rõ hoạt ñộng của lệnh. Khuôn dạng của mỗi loại ñược

trình bày ở hình 3, các trường mã lệnh khác ñược tóm tắt ở bảng 2.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 20: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Bảng 3 liệt kê các lệnh ñược nhận dạng bởi bộ hợp dịch MPASM. Với các lệnh thanh

ghi ñịnh hướng byte, ‘f’ là một thanh ghi tệp ñược chỉ ñịnh và ‘d’ mô tả một vị trí ñích

ñược chỉ ñịnh. Thanh ghi tệp ñược chỉ ñịnh rõ là thanh ghi ñược sử dụng trong lệnh. Vị trí

ñích ñược chỉ ñịnh rõ là nơi mà kết quả của công việc ñược ñặt vào. Nếu ‘d’ là 0, kết quả

ñược ñặt vào thanh ghi W. Nếu ‘d’ là 1, kết quả ñược ñặt vào thanh ghi ñược chỉ rõ ở

trong lệnh. Với các lệnh thanh ghi ñịnh hướng bit, ‘b’ mô tả một trường bit ñược chỉ ñịnh

lựa chọn bit ñược tác ñộng bởi công việc, trong khi ‘f’ mô tả ñịa chỉ của tệp ở nơi mà bit

ñược xác ñịnh. Với các lệnh ñiều khiển và literal, ‘k’ mô tả một giá trị tức thời hoặc hằng

số 8 hay 11 bit. Một vòng lệnh gồm 4 chu kỳ dao ñộng; cho tần số bộ dao ñộng là 4MHz,

thời gian thực hiện một lệnh bình thường là 1 µs. Tất cả các lệnh ñược thực hiện trong

vòng một vòng lệnh ñơn, trừ lệnh kiểm tra ñiều kiện ñúng, hoặc bộ ñếm chương trình bị

thay ñổi do kết quả của một lệnh khác. Khi xảy ra trường hợp này, việc thực hiện lấy 2

vòng lệnh với vòng thứ hai ñược thực hiện như là một lệnh NOP.

Tất cả các ví dụ lệnh sử dụng khuôn dạng ‘0xhh’ ñể mô tả số hexadecimal, ở ñây

‘h’ là kí hiệu của một chữ số hexadecimal.

HOẠT ðỘNG ðỌC-CHỈNH SỬA-GHI

Các lệnh chỉ rõ thanh ghi tệp như là một phần của lệnh thực hiện hoạt ñộng ñọc -

chỉnh sửa – ghi (R-M-W). Thanh ghi ñược ñọc, dữ liệu ñược chỉnh sửa, kết quả ñược lưu

trữ tùy theo lệnh hoặc ñích ñược chỉ ñịnh ‘d’. Một hoạt ñộng ñọc ñược thực hiện trên

thanh ghi cho dù lệnh viết ñến thanh ghi ñó.

Ví dụ, lệnh “CLRF PORTB” sẽ ñọc portB, xóa tất cả các bit dữ liệu, sau ñó ghi kết

quả trở lại portB. Ví dụ này có kết quả không tính trước ñiều kiện làm cho cờ RBIF bị

xóa.

Bảng 2: Mô tả trường mã lệnh

Trường Mô tả

f ðịa chỉ tệp thanh ghi(0x00->0x7F)

W Thanh ghi làm việc (Bộ tích lũy)

b ðịa chỉ bit trong thanh ghi tệp 8 bit

k Trường số thực, dữ liệu hằng hoặc nhãn

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 21: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Hình 3: Dạng ñầy ñủ cho các lệnh

* Nhóm lệnh thanh ghi ñịnh hướng byte

OPCODE d f(File #)

d = 0 cho ñích là W

d = 1 cho ñích là f

f = 7 bit ñịa chỉ thanh ghi

* Nhóm lệnh thanh ghi ñịnh hướng bit

OPCODE b(BIT#) f(File #)

b = 3 bit ñịa chỉ bit

f = 7 bit ñịa chỉ thanh ghi

* Nhóm lệnh ñiều khiển và literal

ðầy ñủ

OPCODE k(literal)

k = giá trị tức thời 8 bit

Chỉ dùng cho lệnh GOTO và CALL

OPCODE k(literal)

k = giá trị tức thời 11 bit

x Vị trí không cần lưu ý(= 0 hoặc 1)

d Chọn ñích ñến; d=0: lưu kết quả trong W, d=1: lưu

kết quả trong thanh ghi tệp f.Mặc ñịnh là d=1

PC Bộ ñếm chương trình

TO Bit Time-out

PD Bit Power-down

13 8 7 6 0

13 9 7 6 0 10

13 8 7 0

13 11 10 0

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 22: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Bảng 3: Hệ lệnh PIC 16F877A

* Nhóm lệnh thanh ghi ñịnh hướng byte

Mã lệnh 14 bit Mnemonic,

toán hạng Mô tả

Chu

kỳ Msb Lsb

Ảnh hưởng

trạng thái

Chú

ý

ADDWF f,d Cộng w và f 1 00 0111 dfff ffff C,DC,Z 1.2

ANDWF f,d And w và f 1 00 0101 dfff ffff Z 1,2

CLRF f Xóa f 1 00 0001 1fff ffff Z 2

CLRW - Xóa w 1 00 0001 0xxx xxxx Z

COMF f Bù f (ñảo f) 1 00 1001 dfff ffff Z 1,2

DECF f,d Giảm f 1 00 0011 dfff ffff Z 1,2

DECFSZ f,d Giảm f, nhảy cách nếu = 0 1(2) 00 1011 dfff ffff 1,2,3

INCF f,d Tăng f 1 00 1010 dfff ffff Z 1,2

INCFSZ f,d Tăng f, nhảy cách nếu = 0 1(2) 00 1111 dfff ffff 1,2,3

IORWF f,d Phép OR w và f 1 00 0100 dfff ffff Z 1,2

MOVF f,d Sao chép f 1 00 1000 dfff ffff Z 1,2

MOVWF f Sao chép w vào f 1 00 0000 1fff ffff

NOP - Không làm gì cả 1 00 0000 0xx0 0000

RLF f,d Quay trái f qua cờ C(carry) 1 00 1101 dfff ffff C 1,2

RRF f,d Quay phải f qua cờ C 1 00 1100 dfff ffff C 1,2 SUBWF f,d Trừ w cho f 1 00 0010 dfff ffff C,CD,Z 1,2

SWAPF f,d Hoán ñổi các nibble trên f 1 00 1110 dfff ffff 1,2

XORWF f,d XOR w với f 1 00 0110 dfff ffff Z 1,2

* Nhóm lệnh thanh ghi ñịnh hướng bit

Mã lệnh 14 bit Mnemonic,

toán hạng Mô tả

Chu

kỳ Msb Lsb

Ảnh hưởng

trạng thái

Chú

ý

BCF f,d Xóa bit f 1 01 00bb bfff ffff 1.2

BSF f,d ðặt bit f 1 01 01bb bfff ffff 1,2

BTFSC f,b Kiểm tra bit,nhảy nếu bị xóa 1(2) 01 10bb bfff ffff 3

BTFSS f,b Kiểm tra bit,nhảy nếu ñược ñặt 1(2) 01 11bb bfff ffff 3

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 23: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

* Nhóm lệnh ñiều khiển và giá trị thực

Mã lệnh 14 bit Mnemonic,

toán hạng Mô tả

Chu

kỳ Msb Lsb

Ảnh hưởng

trạng thái

Chú

ý

ADDLW k Cộng giá trị tức thời vào w 1 11 111x kkkk kkkk C,DC,Z

ANDLW k AND giá trị tức thời vào w 1 11 1001 kkkk kkkk Z

CALL k Gọi chương trình con 2 10 0kkk kkkk kkkk

CLRWDT - Xóa bộ ñịnh thời watchdog 1 00 0000 0110 0100 TO’, PD’

GOTO k Nhảy ñến ðịa chỉ 2 10 1kkk kkkk kkkk

IORLW k OR giá trị tức thời với w 1 11 1000 kkkk kkkk Z

MOVLW k Sao chép giá trị tức thời vào w 1 11 00xx kkkk kkkk

RETFIE - Trở về từ ngắt 2 00 0000 0000 1001

RETLW k Trả về giá trị tức thời trong w 2 11 01xx kkkk kkkk

RETURN - Trở về từ chương trình con 2 00 0000 0000 1000

SLEEP - ði vào chế ñộ nghỉ 1 00 0000 0110 0011 TO’,PD’

SUBLW k Trừ w cho giá trị tức thời 1 11 110x kkkk kkkk C,DC,Z

XORLW k XOR giá trị tức thời với w 1 11 1010 kkkk kkkk Z

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 24: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

3. GIỚI THIỆU KIT PICDEM 2 PLUS VÀ MPLAB TOOLS • GIỚI THIỆU PICDEM2 PLUS • GIỚI THIỆU MPLAB TOOLS

===================================================================== 3.1. Giới thiệu PICDEM2 PLUS

3.1.1. PICDEM2 PLUS BOARD

Hình 4: PICDEM 2 BOARD

- The PICDEM 2 Plus Demonstration Board has the following hardware features:

• 1. 18, 28 and 40-pin DIP sockets. (Although three sockets are provided, only one

• device may be used at a time.)

• 2. On-board +5V regulator for direct input from 9V, 100 mA AC/DC wall adapter

or

• 9V battery, or hooks for a +5V, 100 mA regulated DC supply.

• 3. RS-232 socket and associated hardware for direct connection to an RS-232

• interface.

• 4. In-Circuit Debugger (ICD) connector.

10

2

2

3

4

6 18

12

14

11 5 8

17

1

15

16

13 7 9

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 25: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

• 5. 5 KΩ potentiometer for devices with analog inputs.

• 6. Three push button switches for external stimulus and Reset.

• 7. Power-on indicator LED.

• 8. Four LEDs connected to PORTB.

• 9. Jumper J6 to disconnect LEDs from PORTB.

• 10. 4 MHz canned crystal oscillator.

• 11. Unpopulated holes provided for crystal connection.

• 12. 32.768 kHz crystal for Timer1 clock operation.

• 13. Jumper J7 to disconnect on-board RC oscillator (approximately 2 MHz).

• 14. 32K x 8 Serial EEPROM.

• 15. LCD display.

• 16. Piezo buzzer.

• 17. Prototype area for user hardware.

• 18. Microchip TC74 thermal sensor.

3.1.2. PIC KIT 2 PROGRAMMER

Step 1: Tìm trên Desktop hoặc từ Start\All Program\Microchip và chọn biểu tượng

Step 2: Chương trình sau khi ñược khởi ñộng sẽ hiển thị một cửa sổ như sau:

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 26: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

- Tại vùng chỉ thị hiển thị một thông báo “PICkit 2 not found.Check USB

connections and use Tools->Check Communication to retry”báo cho người sử

dụng biết bộ PICkit2 chưa ñược kết nối, yêu cầu kiểm tra kết nối USB. Ở ñây có

các trường hợp có thể xảy ra như sau:

+ Chưa kết nối bộ PICkit 2 với PC.

+ Có vấn ñề giữa giao tiếp USB trên PC hoặc trên PICkit 2.

+ Có vấn ñề với bộ PICkit 2.

Step 3: Sau khi kết nối PICkit2 với PC thông qua cổng USB thực hiện việc kiểm tra

truyền thông giữa PICkit2 với phần mềm trên PC, vào Tools\Check Communication, tai

vùng chỉ thị xuất hiện thông báo “PICkit 2 found and connected” báo cho người sử dụng

biết ñã kết nối xong.

Vùng chỉ thị

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 27: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Step4: Tiếp theo, kết nối Board Demo vào PICkit 2 qua kết nối RJ11, chọn Tools\Check

Communication, phần mềm sẽ thông báo cho ta biết một số thông tin về:

+ Cấu hình thiết bị

+ Bộ nhớ chương trình

+ Bộ nhớ dữ liệu EEPROM

+ Ngưỡng áp hoạt ñộng Vdd của PICkit 2

+ Nguồn bộ nhớ

MENU BAR:

File:

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 28: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Import Hex: Lấy vào một file dưới dạng chữ số Hexa ñể nạp chương trình. Khuyến khích

chuẩn file Hex INHX32

Export Hex: Lấy ra một file dưới dạng chữ số Hexa. File ñược tạo lập theo chuẩn

INHX32

File History: ðưa ra ñường dẫn của file ñược mở lần gần nhất. Có thể sử dụng ñể nạp

nhanh. Chú ý là vào lần khởi ñộng chương trình ñầu tiên sau khi cài ñặt thì File History

ñể trống

Exit: Thoát khỏi chương trình

Device Family

Chọn một họ thiết bị trong tất cả các họ này ñể kết nối với thiết bị. Việc chọn một phần

của dòng thiết bị sẽ xóa hết tất cả dữ liệu về thiết bị.

Những họ thiết bị không ñược nhận biết tự ñộng (như là dòng cơ sở_Baseline) sẽ ñặt vào

hộp thoại sổ xuống ñể có thể chọn lựa thiết bị thích hợp.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 29: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Programmer

Read Device: ðọc bộ nhớ chương trình, bộ nhớ dữ liệu EEPROM, Vùng ID và các bit cấu

hình.

Write Device: Ghi vào bộ nhớ chương trình, bộ nhớ dữ liệu EEPROM, vùng ID và các bit

cấu hình.

Verify: Kiểm lại bộ nhớ chương trình, bộ nhớ dữ liệu EEPROM, vùng ID và các bit cấu

hình ñọc từ MCU ñích dựa vào mã chứa trong ứng dụng lập trình.

Erase: Thực hiện xóa toàn bộ nhớ MCU ñích. Các giá trị OSCCAL và dải khoảng trống

ngắt quảng ñược lưu giữ trên các phần với ñặc trưng này.

Blank Check: Thực hiện kiểm tra chỗ trống của bộ nhớ chương trình, bộ nhớ EEPROM

dữ liệu, vùng ID và các bit cấu hình.

Verify on Write: khi chọn mục này, thiết bị sẽ ñược kiểm lại liền sau khi chương trình

ñược ghi(ñược ñề nghị sử dụng). Khi không chon mục này thiết bị sẽ ñược ghi chương

trình nhưng không ñược kiểm lại.

Hold Device in Reset: Khi chọn mục này, chân MCLR(VPP) sẽ ñược giữ ở mức

thấp(khẳng ñịnh). khi không chọn mục này chân này ñược giải phóng(3 trạng thái), cho

phép việc kéo lên ở ngoài ñể mang thiết bị ra khỏi trạng thái Reset.

Write on PICkit Button: Khi chọn mục này, một hoạt dộng ghi sẽ ñược chỉ thị bởi việc

nhấn nút ấn trên PICkit 2.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 30: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

3.2. Giới thiệu MPLAB TOOLS

- Thiết lập môi trường MPLAB

Giả sử MPLAB IDE ñã ñược cài ñặt trong máy tính của bạn, chúng ta cần ñảm bảo

là các công cụ ngôn ngữ ñược MPLAB nhận diện ñúng. Ở ñây, chúng ta sẽ sử dụng hợp

ngữ ñể viết chương trình cho PIC, do ñó cần phải ñảm bảo bộ công cụ MPASM Toolsuite

ñược chọn trong MPLAB IDE. Chạy Project Wizard.

1. Từ thanh menu của MPLAB, chọn Project>Set Language Tool Locations ñể mở

hộp thoại ñặt/kiểm tra vị trí các tập tin thực thi của bộ công cụ ngôn ngữ.

Hình. Hộp thoại thiết lập vị trí các công cụ ngôn ngữ

2. Trong hộp thoại, trong hộp thoại “Registered Tools”, chọn “Microchip MPASM

Toolsuite”. Nhấn vào “+” ñể mở rộng.

3. Chọn “Executables”. Nhấn vào “+” ñể mở rộng.

4. Chọn “MPLAB MPASM Assembler (mpasmwin.exe)”. Tại khung “Location”,

một ñường dẫn ñúng cho tập tin thực thi cần ñược hiển thị. Nếu không có ñường dẫn nào

ñược hiển thị, bạn hãy nhập vào ñường dẫn hay duyệt thư mục ñể ñến ñược tập

tin này.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 31: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

5. Chọn “MPLINK Object Linker (mplink.exe)”. Tại khung “Location”, một

ñường dẫn ñúng cho tập tin thực thi cần ñược hiển thị. Nếu không có ñường dẫn nào ñược

hiển thị, hãy thực hiện tương tự như trên.

6. Chọn “MPLIB Librarian (mplib.exe)”. Tại khung “Location”, một ñường dẫn

ñúng cho tập tin thực thi cần ñược hiển thị. Nếu không có ñường dẫn nào ñược hiển thị,

hãy thực hiện tương tự như trong bước 4.

7. Nhấn nút OK.

Như vậy chúng ta ñã thiết lập xong bộ công cụ ngôn ngữ trong MPLAB cho project kế

tiếp của chúng ta.

- Chạy Project Wizard

Trong môi trường MPLAB, chọn lệnh menu Project>Project Wizard ñể mở wizard. Nhấn

vào nút Next> ở màn hình chào mừng.

1. Chọn PIC16F877A trong danh sách thả xuống “Device”. Nhấn nút Next> ñể

tiếp tục.

2. Ở mục trước chúng ta ñã thiết lập các công cụ ngôn ngữ, do ñó ở ñây chỉ cần

kiểm tra lại các thiết lập. Tuy nhiên, nếu chưa thiết lập bộ công cụ ngôn ngữ thì hãy thiết

lập tại ñây. Hãy ñảm bảo “Active Toolsuite” ñược chọn là “Microchip MPASM

Toolsuite”, sau ñó hãy kiểm tra các vị trí của các trình hợp dịch (assembler), trình liên kết

(linker), và trình quản lý thư viện (Librarian) là ñúng, tương tự như ở mục trên. Nhấn nút

Next> ñể sang bước kế tiếp.

3. Chọn cho project của mình một cái tên, chẳng hạn như “123”, sau ñó hãy nhấn

vào nút Browse ñể chọn vị trí ñặt project. Nhấn vào nút Next> khi bạn ñã hoàn tất việc

ñặt tên và chọn vị trí cho project.

4. Ở bước này, thêm các tập tin cần thiết vào project. Tham khảo hình minh họa

phía dưới.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 32: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

a. Trong hộp duyệt thư mục ở bên trái của hộp thoại, chọn thư mục có chứa tập tin

mã nguồn (có phần mở rộng là .asm). Trong hình minh hoạ, tôi chọn tập tin “123.asm” ñể

thêm vào project (bằng cách nhấn vào nút Add>>.

b. Vẫn trong hộp duyệt thư mục, tìm ñến thư mục cài ñặt của MPLAB, sau ñó

dùng các dấu ‘+’ ñể mở rộng ñường dẫn sau ñây: MPASM Suite\LKR. Chọn tập tin

“16f877a.lkr”, ñây chính là kịch bản liên kết cho chip PIC16F877A ñang ñược sử dụng

trong project. Nhấn vào nút Add>> ñể thêm tập tin này vào project.

c. Hãy ñánh dấu chọn cho các hộp chọn (checkbox) bên cạnh các tập tin ñó ñể

chép chúng vào thư mục của project. (Các tập tin gốc vẫn ñược giữ nguyên). Nhấn nút

Next> ñể tiếp tục. Hãy kiểm tra lại thông tin tóm tắt cho project, nếu có sai sót thì bạn có

thể dùng nút <Back ñể quay lại chỉnh sửa. Nhấn nút Finish sẽ hoàn tất việc tạo và thiết

lập project.

Khi Project Wizard ñã hoàn tất, cửa sổ Project sẽ có một cây quản lý tập tin như

hình minh họa phía trên. Tên của không gian làm việc (workspace) là “123.mcw”, tên của

project là “123.mcp”, và tất cả các tập tin của project ñược liệt kê dưới loại tập tin tương

ứng của chúng.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 33: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

Thiết lập các tùy chọn biên dịch

Bạn chọn lệnh menu Project>Build Options>Project ñể mở hộp thoại Build Options.

1. Chọn thẻ MPASM Assembler . Với "Catagories: General", tại "Default Radix"

lựa chọn "Hexadecimal". Với "Catagories: Output", tại "Diagnostics level" chọn

phần chứa tất cả error, warnings and messages. Sau ñó check vào "Generate cross-

reference file".

2. Chọn thẻ MPLINK Linker. Với "Catagories: (All Options)", tại "Hex File

Format" chọn "INHX32". Sau ñó check vào "Generate map file".

3. Chọn thẻ MPASM/C17/C18 Suite . Với "Catagories: (All Options)", chọn "Build

normal target (invoke MPLINK)".

4. Chọn OK ñể thiết lập và thoát khỏi hộp thoại.

5. Chọn Project>Save Project ñể lưu lại tất cả các cấu hình của project.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 34: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

- Biên dịch project

Chọn menu Project>Build All ñể biên dịch project hiện thời. Cửa sổ Output hẳn xuất

hiện khi ñã biên dịch xong, và hiển thị kết quả biên dịch, như trong hình minh họa dưới

ñây. Ví dụ trên hẳn phải ñược biên dịch thành công, nếu bạn theo ñúng những bước ñã

hướng dẫn, và sử dụng tập tin mã nguồn ñi kèm bài hướng dẫn này.

Nếu việc biên dịch không thành công, hãy kiểm tra những phần sau:

1. Xem lại các bước trước ñó trong bài hướng dẫn này. Hãy ñảm bảo thiết lập các

công cụ ngôn ngữ chính xác và có tất cả các tập tin của project và các thiết lập biên dịch

ñúng.

2. Nếu sửa mã nguồn của ví dụ, hãy xem trong nhãn Build của cửa sổ Output về

các lỗi cú pháp trong mã nguồn. Nếu có, nhấp chuột kép vào lỗi ñể ñến dòng mã nguồn

chứa lỗi ñó. Hãy sửa lỗi ñó, và sau ñó thử biên dịch lại.

.

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 35: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

4. BÀI THÍ NGHIỆM SỐ 1: A LED-TURNING ON/OFF,FLASHING 4.1. MỤC ðÍCH

4.2.YÊU CẦU 4.3.SƠ ðỒ KHỐI

4.4.XÂY DỰNG GIẢI THUẬT 4.5.VIẾT CHƯƠNG TRÌNH

4.6.KIỂM TRA KẾT QUẢ ===================================================================== 4.1. Mục ñích: - Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 1 LED ñơn báo hiệu ñược mắc ở ngoài. Tính toán trễ. 4.2. Yêu cầu: - Sử dụng ñược Kit PICDEM2 Plus - Sử dụng ñược bộ công cụ lập trình MPLAB - Viết giải thuật và chương trình bật, tắt và nháy một LED ñơn. - Năm cấu trúc phần cứng của PIC16F877A 4.3. Sơ ñồ khối chung:

- Vẽ sơ ñồ khối và sơ ñồ nguyên lý giản lược cho PIC16F877A + Sơ ñồ khối: + Sơ ñồ nguyên lý giản lược cho PIC16F877A ñiều khiển 1 LED.

BỘ XỬ LÝ

TRUNG TÂM

BỘ DAO ðỘNG

OUTPUT

Osc1

Osc2

Vcc GND

RB1

PIC

16F

877A

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 36: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

4.4. Xây dựng giải thuật: 4.4.1. Tính toán trễ 1ms (DELAY) bằng phương pháp giảm thanh ghi: ....................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 4.4.2. Giải thuật bằng ngôn ngữ giả: + LED-TURN ON: ......................................................................................................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ +LED-FLASH: ............................................................................................................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ + DELAY: ..................................................................................................................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 4.4.3. Lưu ñồ thuật toán: + LED-TURN ON: + LED-FLASH: + DELAY:

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 37: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

4.5. Viết chương trình bằng ngôn ngữ Assembly: 4.5.1. DELAY: .............................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 4.5.2. LED-TURN ON

ORG 0................................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 4.5.3. LED-FLASH

ORG 0................................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 4.6. Kiểm tra kết quả:

- Giá trị các thanh ghi bị ảnh hưởng khi thực hiện xong 1 chu kỳ chương trình: ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 38: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 39: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

5. BÀI THÍ NGHIỆM SỐ 2: BIN COUTING,TURNING ON ODD/EVEN NUMBERED LEDs 5.1.MỤC ðÍCH

5.2.YÊU CẦU 5.3.SƠ ðỒ KHỐI

5.4.XÂY DỰNG GIẢI THUẬT 5.5.VIẾT CHƯƠNG TRÌNH

5.6.KIỂM TRA KẾT QUẢ ===================================================================== 5.1. Mục ñích:

- Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 4 LED ñơn báo hiệu ñược mắc ở ngoài và trễ tạo bởi phần mềm. 5.2. Yêu cầu: - Sử dụng ñược Kit PICDEM2 Plus - Sử dụng ñược bộ công cụ lập trình MPLAB - Viết giải thuật và chương trình bật tắt 4 LED ñơn theo số lẻ, số chẵn và ñếm nhị phân. - Năm cấu trúc phần cứng của PIC16F877A 5.3. Sơ ñồ khối: - Vẽ sơ ñồ khối và sơ ñồ nguyên lý giản lược cho PIC16F877A + Sơ ñồ khối: + Sơ ñồ nguyên lý giản lược cho PIC16F877A ñiều khiển 4 LED.

BỘ XỬ LÝ TRUNG

TÂM

BỘ DAO ðỘNG

OUTPUT

Osc1

Osc2

Vcc GND

RB0

PIC

16F

877A

RB1

RB2

RB3

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 40: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

5.4. Xây dựng giải thuật: 5.4.1. Tính toán trễ 1s (DELAY) bằng phương pháp giảm thanh ghi: .......................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 5.4.2. Giải thuật bằng ngôn ngữ giả: + BIN COUNTING LEDs(BCL): .................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ +TURNING ON ODD/EVEN NUMBERED LEDs(TOOENL): .................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ + DELAY: ..................................................................................................................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 41: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

5.4.3. Lưu ñồ thuật toán: + BCL: + TOOENL: + DELAY: 5.5. Viết chương trình bằng ngôn ngữ Assembly: 5.5.1. DELAY: .............................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 42: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................ 5.5.2. BIN COUNTING LEDs(BCL):

ORG 0................................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 5.5.3. TURNING ON ODD/EVEN NUMBERED LEDs(TOOENL):

ORG 0................................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 43: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................ 5.6. Kiểm tra kết quả: - Giá trị các thanh ghi bị ảnh hưởng khi thực hiện xong một chu kỳ chương trình: ..................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 44: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

6. BÀI THÍ NGHIỆM SỐ 3: LEFT AND RIGHT SCROLLING LEDs 6.1.MỤC ðÍCH

6.2.YÊU CẦU 6.3.SƠ ðỒ KHỐI

6.4.XÂY DỰNG GIẢI THUẬT 6.5.VIẾT CHƯƠNG TRÌNH

6.6.KIỂM TRA KẾT QUẢ ===================================================================== 6.1. Mục ñích:

- Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 4 LED ñơn báo hiệu ñược mắc ở ngoài và trễ tạo bởi phần mềm. 6.2. Yêu cầu: - Sử dụng ñược Kit PICDEM2 Plus - Sử dụng ñược bộ công cụ lập trình MPLAB - Viết giải thuật và chương trình quét 4 LED ñơn từ trái sang và từ phải sang - Năm cấu trúc phần cứng của PIC16F877A 6.3. Sơ ñồ khối: - Vẽ sơ ñồ khối và sơ ñồ nguyên lý giản lược cho PIC16F877A + Sơ ñồ khối: + Sơ ñồ nguyên lý giản lược cho PIC16F877A ñiều khiển 4 LED.

BỘ XỬ LÝ

TRUNG TÂM

BỘ DAO ðỘNG

OUTPUT

Osc1

Osc2

Vcc GND

RB0

PIC

16F

877A

RB1

RB2

RB3

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 45: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

6.4. Xây dựng giải thuật: 6.4.1. Tính toán trễ 2s (DELAY) bằng phương pháp giảm thanh ghi: .......................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 6.4.2. Giải thuật bằng ngôn ngữ giả: + LEFT SCROLLING LEDs(LSL):............................................................................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ + RIGHT SCROLLING LEDs(RSL):............................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ + DELAY: ..................................................................................................................................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 46: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

6.4.3. Lưu ñồ thuật toán: + LSL: + RSL: + DELAY: 6.5. Viết chương trình bằng ngôn ngữ Assembly: 6.5.1. DELAY: .............................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 47: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................ 6.5.2. LEFT SCROLLING LEDs(LSL): ORG 0 ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ 6.5.3. RIGHT SCROLLING LEDs(RSL):

ORG 0................................................................................................................................. ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 48: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

6.6. Kiểm tra kết quả: - Giá trị các thanh ghi bị ảnh hưởng khi thực hiện xong một chu kỳ chương trình: ..................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 49: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

7. BÀI THÍ NGHIỆM SỐ 4: BUTTON CONTROL 7.1. MỤC ðÍCH

7.2. YÊU CẦU 7.3. SƠ ðỒ KHỐI

7.4. XÂY DỰNG GIẢI THUẬT 7.5.VIẾT CHƯƠNG TRÌNH

7.6 KIỂM TRA KẾT QUẢ ===================================================================== 7.1. Mục ñích:

- Kiểm tra khả năng truy xuất của thiết bị thông qua 4 LED ñơn báo hiệu và nút bấm ñược mắc ở ngoài và trễ tạo bởi phần mềm. 7.2. Yêu cầu: - Sử dụng ñược Kit PICDEM2 Plus - Sử dụng ñược bộ công cụ lập trình MPLAB - Viết giải thuật và chương trình dùng nút bấm ñể chuyển ñổi các chế ñộ quét 4 LED ñã làm ở bài thí nghiệm 5 và 6 - Năm cấu trúc phần cứng của PIC16F877A 7.3. Sơ ñồ khối: - Vẽ sơ ñồ khối và sơ ñồ nguyên lý giản lược cho PIC16F877A + Sơ ñồ khối:

BỘ XỬ LÝ TRUNG

TÂM

BỘ DAO ðỘNG

OUTPUT

INPUT

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 50: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

+ Sơ ñồ nguyên lý giản lược cho PIC16F877A ñiều khiển 4 LED.

7.4. Xây dựng giải thuật:

- Giải thuật bằng ngôn ngữ giả: ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

Osc1

Osc2

Vcc GND

RB0

PIC

16F

877A

RB1

RB2

RB3 RA4

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 51: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................ - Lưu ñồ thuật toán:

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 52: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

7.5. Viết chương trình bằng ngôn ngữ Assembly: ORG 0 ; ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 53: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................ END ;

7.6. Kiểm tra kết quả: - Giá trị các thanh ghi bị ảnh hưởng khi thực hiện xong một chu kỳ chương trình: ..................... ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................ ........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 54: tài liệu thí nghiệm kỹ thuật vi ðiều khiển và vi xử lý

........................................................................................................................................................

........................................................................................................................................................

........................................................................................................................................................

CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt