You are on page 1of 4

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

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?

- Có 3 LED sáng
- LED được nối với chân P1.1 P1.3 P1.4 của chân 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.

- Ứ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 thấp.

- E5H chuyển sang mã nhị phân 11100101B là 8 bit tương ứng với
8 chân Port. P1.0 là LSB. 0 LED sáng và 1 LED tắt.

- Ý nghĩa lệnh MOV P1,#0E5H là chuyển giá trị E5H vào P1

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?

- Các đèn cùng sáng MOV P1,#0


- Các đèn cùng tắt MOV P1,#0FFH
- Các đèn sáng xen kẽ MOV P1,#0AAH hoặc MOV P1,#55H

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:

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

- LED 7 đoạn sáng hình số 7

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

ORG 2000H ; đoạn code sẽ bắt đầu được lưu từ vùng có địa chỉ 2000H
trog bộ nhớ chương trình

MOV A,#0D7H; nội dung của thanh ghi A là D7

MOV DPTR,#0000H; làm cho DPTR trỏ tới địa chỉ 0000H ở ô nhớ ngoài

MOVX @DPTR,A; nội dung của thanh ghi A đặt vào ô nhớ có địa chỉ
0000H

END; kết thúc

You might also like