Professional Documents
Culture Documents
LAB0
LAB0
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.
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:
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?
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 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