Professional Documents
Culture Documents
Vùng RAM
đa dụng
(30H-7FH)
Vùng
thanh ghi
Vùng RAM
chức năng
được địa chỉ
đặc biệt
hóa từng bit
(SFRs)
(20H-2FH)
(80H-FFH)
Vùng bank
thanh ghi
(00H-1FH)
2
Các lệnh về bit luôn luôn sử dụng định vị trực tiếp, ngoại trừ
bit CY được dùng mặc định, khi đó bit CY được ký hiệu là C.
Các địa chỉ bit được ký hiệu bằng một trong 4 cách:
Địa chỉ hằng số từ 00H-7FH (128 bit trong vùng RAM nội có địa
chỉ byte từ 20H-2FH) và các bit của SFR được địa chỉ hóa từng bit
Ví dụ: CLR 05H
SETB 90H
Ký hiệu tên SFR theo sau là dấu . và vị trí bit
Ví dụ: SETB P1.0
Ký hiệu địa chỉ byte theo sau là dấu . và vị trí bit
Ví dụ: CLR 20H.5; SETB 90H.0
Ký hiệu riêng (hay tên riêng)
Ví dụ: CLR RS1; SETB RS0
Bit carry C được sử dụng hầu hết trong các lệnh xử lý bit. Địa chỉ trực
tiếp của C là 0D7H, hoặc PSW.7, hoặc 0D0H.7 hoặc ký hiệu CY.
CLR C
≡ CLR 0D7H
≡ CLR PSW.7
≡ CLR 0D0H.7
≡ CLR CY
Nhóm lệnh xử lý trên bit
Cách 1 𝑧 = 𝑥⨁𝑦 = 𝑥 𝑦 + 𝑥𝑦
ORG 0000H
LOOP: MOV C,P1.1 ; CY P1.1
ANL C,/P1.0 ; CY P1.1 AND /P1.0
MOV 20H,C ; (20H) = /P1.0 AND P1.1
MOV C,P1.0 ; CY P1.0
ANL C,/P1.1 ; CY P1.0 AND /P1.1
ORL C,20H ; CY (P1.0 AND /P1.1) OR (/P1.0 AND P1.1)
MOV P1.2,C ; P1.2 = P1.0 XOR P1.1
SJMP LOOP
END
Ví dụ
Viết chương trình thực hiện phép XOR logic giữa 2
bit P1.0 với P1.1. Kết quả được chép vào bit P1.2
𝑧 = 𝑥⨁𝑦 = 𝑥 𝑦 + 𝑥𝑦
Cách 2 𝑦 = 0 ⟹ 𝑧 = 𝑥
𝑦=1⟹𝑧=𝑥
ORG 0000H
LOOP: MOV C,P1.0 ; CY P1.0
JNB P1.1, KT ; Kiểm tra nếu P1.1 = 0 thì P1.2 P1.0
CPL C ; P1.1 = 1, do đó P1.2 /P1.0
KT: MOV P1.2,C
SJMP LOOP
END
Ví dụ
Viết chương trình thực hiện phép AND logic giữa 2
bit P1.0 với P1.1. Kết quả được chép vào bit P1.2
ORG 0000H
LOOP: MOV C,P1.0
ANL C,P1.1
MOV P1.2,C
SJMP LOOP
END
Ví dụ
Viết chương trình thực hiện sơ đồ logic bên dưới.
Lưu ý: không được phép biến đổi hay rút gọn mạch.