Page 1
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
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
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
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
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
• ðơ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
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
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
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
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
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
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
+ 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
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
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
Hình 2-3: BẢN ðỒ TỆP THANH GHI PIC16F877A
CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt
Page 17
- 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
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
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
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
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
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
* 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
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
• 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 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
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
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
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
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
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
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
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
- 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
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
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
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
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt
Page 39
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
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
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
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................ 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
........................................................................................................................................................ 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
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
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
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
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................ 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
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
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
+ 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
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................ - Lưu ñồ thuật toán:
CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt
Page 52
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
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................ 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
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
CuuDuongThanCong.com https://fb.com/tailieudientucnttCuuDuongThanCong.com https://fb.com/tailieudientucntt