Nhóm lệnh xử lý bit

Một phần của tài liệu giáo trình vi điều khiển đại học kỹ thuật công nghệ tp hồ chí minh (Trang 51)

3. Tập lệnh

3.2.Nhóm lệnh xử lý bit

Họ MCS-51 chứa một bộ xử lý bit hoàn chỉnh. RAM nội có 128 bit có thể xử

lý bit và các thanh ghi chức năng đặc biệt có thể hỗ trợ lên tới 128 bit (các bit trong SFR xem tại bảng 2.2). Các địa chỉ bit từ 00h – 7Fh nằm trong RAM nội còn các địa chỉ từ 80h – FFh nằm trong SFR.

Các lệnh trong nhóm lệnh logic mô tả như trong bảng sau:

Bảng 2.5 – Các lệnh logic

Lệnh Hoạt động Chu kỳ thực thi

ANL C,bit C = C AND bit 2

ANL C,/bit C = C AND (NOT bit) 2

ORL C,bit C = C OR bit 2

ORL C,/bit C = C OR (NOT bit) 2

MOV C,bit C = bit 1

MOV bit,C Bit = C 2

CLR C C = 0 1

CLR bit Bit = 0 1

SETB C C = 1 1

SETB bit Bit = 1 1

CPL C C = NOT C 1

CPL bit Bit = NOT bit 1

JC rel Nhảy đến nhãn rel nếu C = 1 2

JNC rel Nhảy đến nhãn rel nếu C = 0 2

JB bit,rel Nhảy đến nhãn rel nếu bit = 1 2 JNB bit,rel Nhảy đến nhãn rel nếu bit = 0 2 JBC bit,rel Nhảy đến nhãn rel nếu bit = 1 và sau đó xoá bit 2

ANL: And logic; ORL: Or logic; CLR: Clear; CPL: Complement Bit: các bit trong RAM nội từ 00h – 7Fh hay trong SFR theo bảng 2.2

Rel: địa chỉ tương đối (cho phép trong vùng từ -128 ÷ 127 byte trong bộ nhớ

chương trình)

Ví dụ: Chuyển từ bit 00h vào P1.0

MOV C, 00h ; Chuyển bit 00h vào cờ Carry MOV P1.0, C ; Chuyển cờ Carry vào P1.0

Lưu ý rằng trong tập lệnh logic không có lệnh XOR mà phải thực hiện bằng phần mềm, cụ thể như sau:

JNB bit, next CPL C

Next:

Ngoài ra, các lệnh nhảy trên đều dùng địa chỉ tương đối, nghĩa là chỉ cho phép trong vùng từ -128 ÷ 127 byte. Nếu cần nhảy đến dịa chỉ xa hơn thì phải dùng các lệnh nhảy khác, như mô tả trong phần sau.

Một phần của tài liệu giáo trình vi điều khiển đại học kỹ thuật công nghệ tp hồ chí minh (Trang 51)