You are on page 1of 9

BÀI THÍ NGHIỆM 0

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM PROTEUS VÀ KEIL


ĐỂ THỰC HIỆN MÔ PHỎNG KIT THÍ NGHIỆM
MỤC TIÊU:
 Nắm được cách sử dụng kit thí nghiệm, các phần mềm lập trình trước khi lên lớp.
 Nắm được một cách sơ lược lệnh di chuyển dữ liệu của 8051.

CHUẨN BỊ:
 Cài đặt phần mềm Keil và Proteus trên máy tính
(https://drive.google.com/drive/folders/18VgjaOE0WzstpQx7iiVyK5H4aToB3ing?usp=sharing)
 Đọc labmanual chương 1.
 Tìm hiểu về các lệnh trong 8051.

HƯỚNG DẪN THÍ NGHIỆM

- Phần mềm Keil được sử dụng trong hướng dẫn này là Keil µVision 4 và Proteus phiên
bản 8.8 SP1, sinh viên tiến hành cài 2 phần mềm này trước khi xem tiếp hướng dẫn.

- Để tạo một project với Keil uVision 4 ta theo các bước sau:

+ Khởi động chương trình Keil µVision 4.

+ Chọn Project → New µVision Project... Sau đó, chọn thư mục phù hợp để lưu project
và gõ tên project vào cửa sổ Create New Project. Chọn Save như ở Hình 1.

+ Trong cửa sổ Select Device, chọn chip Atmel-AT89S52. Đây là CPU sử dụng trên kit
thí nghiệm. Sau đó, click OK như Hình 2.

+ Khi chương trình hiện cửa sổ hỏi: “Copy Standard 8051 Startup Code to Project Folder
and Add File To Project”, chọn NO như Hình 3.

+ Chọn File → New để tạo một file text mới. Chọn File → Save để lưu file này với tên
file phù hợp và đuôi là .A51 (hoặc .asm) như Hình 4.

+ Click chuột phải vào tab ‘Source Group 1’ chọn Add files to Group ‘Source Group 1’
như Hình 5.

Department of Electronics Page | 1


Microprocessor Laboratory
Hình 1: Lưu tên project mới tạo trong µVision 4.

Hình 2: Chọn dòng chip cho thí nghiệm.

Department of Electronics Page | 2


Microprocessor Laboratory
Hình 3: Bảng thông báo copy Startup Code to Project Folder.

Hình 4: Lưu file code với tên thích hợp và đuôi .asm (hoặc đuôi .a51).

Hình 5: Chọn tab để thêm File .asm vào Project.

Department of Electronics Page | 3


Microprocessor Laboratory
+ Chọn Files of Type là Asm Source file. Chọn file vừa tạo và click Add như Hình 6.

Hình 6: Thêm File .asm vào Project.

+ Chọn Project → Option for Target ‘Target 1’ hoặc nhấn vào phím tắt , sau đó
chọn Tab Output, chọn tick vào ô Create Hex File, rồi ấn OK như Hình 7.

Hình 7: Cấu hình để tạo file HEX.

Department of Electronics Page | 4


Microprocessor Laboratory
+ Xong bước này, ta đã xong việc chuẩn bị. Việc còn lại chỉ là code thôi .

+ Copy đoạn code dưới vào khung code (đoạn code sẽ được giải thích ở phần dưới) rồi ấn
nút biên dịch hoặc phím tắt F7.
ORG 2000H
SETB P1.0
CLR P1.1
SETB P1.2
END

+ Nếu kết quả báo 0 Error, đoạn code đã biên dịch thành công. Ngược lại, phải kiểm tra
xem còn lỗi gì và sửa.

- Sau khi biên dịch không lỗi, trình biên dịch Keil µVision 4 đã chuyển đoạn chương trình
dưới dạng hợp ngữ sang định dạng mã máy và được chứa trong file lab0.hex. Ta sẽ sử
dụng file này để tiến này nạp cho kit (có thể nạp cho cả kit thực tế và mô phỏng).

- Tiến hành mở file mô phỏng bằng Proteus đã cài (hoặc click đúp chuột vào file mô
phỏng), lưu ý file mô phỏng ở 2 cơ sở sẽ khác nhau đôi chút về phần cứng nên sinh viên
cần kiểm tra kỹ khi thí nghiệm.

Hình 8: File mô phỏng ở cơ sở 1 khi mở bằng Proteus.


- Click chuột phải vào vi xử lý AT89C51 và chọn Edit Properties như Hình 9.

Department of Electronics Page | 5


Microprocessor Laboratory
Hình 9: Click chuột phải vào vi xử lý và chọn Edit Properties.
- Khung Edit Component hiện ra, tại Tab Program File, nhấp vào biểu tượng và chọn
vào folder chứa project khi nãy, chọn vào file .hex đã tạo ra và click Open. Chọn OK để
đóng khung Edit Component.

- Click vào biểu tượng Run Simulation dưới góc trái màn hình để tiến hành chạy
kết quả mô phỏng. Nếu kết quả hiện lên như Hình 10, việc mô phỏng đã thành công.

- Muốn dừng mô phỏng, ta click vào biểu tượng trên cùng hàng để dừng mô phỏng.
- Sau bước này, khi muốn thay đổi đoạn code, ta chỉ việc dừng mô phỏng. Sau đó, tiến
hành biên dịch lại đoạn code mới bên Keil µVision 4 và tiến hành chọn Run Simulation
lại là xong. Rất đơn giản .

Department of Electronics Page | 6


Microprocessor Laboratory
Hình 10: Kết quả mô phỏng.

GIẢI THÍCH VỀ ĐOẠN CODE VÀ KẾT QUẢ

- Trong mô phỏng trên, chúng ta sử dụng đoạn chương trình:


ORG 2000H
SETB P1.0
CLR P1.1
SETB P1.2
END

- Trong đoạn chương trình trên, hai dòng đầu và cuối của chương trình là ORG
2000H và END là hai chỉ thị của trình biên dịch hợp ngữ. Dòng đầu (ORG
2000H) mang ý nghĩa chỉ cho trình biên dịch biết đoạn code sẽ bắt đầu được lưu
từ vùng có địa chỉ 2000H trong bộ nhớ chương trình. Dòng cuối (END) chỉ cho

Department of Electronics Page | 7


Microprocessor Laboratory
trình biên dịch biết là đã kết thúc chương trình code. Do đó, khi thí nghiệm, đoạn
code luôn phải đặt trong giữa 2 dòng ORG và END.

- Trong chương trình, có hai lệnh được sử dụng là SETB và CLR. Lệnh SETB có
nhiệm vụ đặt bit sau đó lên mức 1 và lệnh CLR có nhiệm vụ đặt bit sau đó xuống
mức 0.

- Có thể thấy rõ trong Hình 11, anode của các led được nối với nguồn tức mức cao,
còn cathode được nối với các chân của Port1, do đó led sẽ sáng khi chân của Port1
tương ứng được hạ xuống mức 0. Đây là lý do mà ở kết quả trên, ta chỉ thấy 1 led
nối với P1.1 sáng.

Hình 11: Kết nối của 3 chân P1.0, P1.1 và P1.2.

THÍ NGHIỆM 1

Mục tiêu: Nắm được cách sử dụng chương trình có sẵn để mô phỏng bằng Proteus. Hiểu được
lệnh: MOV direct,#data

Yêu cầu: Viết chương trình sau và biên dịch bởi Keil, sau đó nạp vào proteus để mô phỏng.
ORG 2000H
MOV P1,#0E5H
END

Department of Electronics Page | 8


Microprocessor Laboratory
Kiểm tra:

 Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát LED đơn.

 Có bao nhiêu LED sáng? Đó là các LED nào và được nối với chân nào của Port 1?

 Ứng với trạng thái các LED thì các chân tương ứng của Port 1 phải ở mức cao hay thấp?
Chuỗi tín hiệu này ở Port 1 có liên hệ như thế nào với mã hex 0E5H. Từ đó, thử giải
thích ý nghĩa của lệnh MOV P1,#0E5H.

 Từ đó, bây giờ ta muốn các đèn cùng sáng, cùng tắt hoặc sáng xen kẽ nhau thì lệnh thực
thi phải như thế nào?

THÍ NGHIỆM 2

Mục tiêu: Nắm được cách sử dụng chương trình có sẵn để mô phỏng bằng Proteus.

Yêu cầu: Viết chương trình sau và biên dịch bởi Keil, sau đó nạp vào proteus để mô phỏng.
ORG 2000H
MOV A,#0D7H
MOV DPTR,#0000H
MOVX @DPTR,A
END

Kiểm tra:

 Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát mạch.

 Hiện tượng gì xảy ra trên kit? LED nào sáng? Sáng như thế nào?

 Thử giải thích từng dòng của đoạn chương trình trên?

Department of Electronics Page | 9


Microprocessor Laboratory

You might also like