1. Trang chủ
  2. » Thể loại khác

Vi điều khiển phkkhanh C2

15 130 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 304,33 KB

Nội dung

CHƢƠNG II: TẬP LỆNH 8951 I NHÓM LỆNH DI CHUYỂN DỮ LiỆU: Lệnh di chuyển liệu trực tiếp: - Cú pháp: MOV , Trong đó: : ghi, địa nhớ vùng RAM nội : ghi, địa ô nhớ vùng RAM nội # - Thực hiện: di chuyển nội dung vào - dụ: MOV A, 120 MOV B, #24 MOV 120,#10110010B MOV R3, A MOV P3,#3EH Nhóm lệnh di chuyển liệu gián tiếp: a Liên quan đến vùng nhớ RAM nội: + Lệnh đọc nhớ: - Cú pháp: MOV , @Rp Trong đó: : ghi, ô nhớ Rp: ghi R0 R1 - Thực hiện: lấy nội dung ô nhớ vùng RAM nội có địa nội dung ghi Rp đặt vào - dụ: MOV 120,#47 MOV R1,#120 MOV A,@R1 ; sau thực xong đoạn lệnh nội dung ghi A chứa giá trị 47 + Lệnh ghi nhớ: - Cú pháp: MOV @Rp, Trong đó: : ghi, nhớ # Rp: ghi R0 R1 - Thực hiện: đặt nội dung vào ô nhớ vùng RAM nội có địa nội dung ghi Rp - dụ 1: MOV R0,#100 MOV @R0, #0E3H ; sau thực xong đoạn lệnh nội dung ô nhớ 100 chứa giá trị E3H - dụ 2: MOV A, #49 MOV R1,#127 MOV @R1, A ; (127) = 49 b Liên quan đến vùng nhớ liệu ngoài: + Lệnh đọc nhớ: - Cú pháp: MOVX A, @DPTR - Thực hiện: lấy nội dung nhớ vùng liệu ngồi có địa nội dung ghi DPTR đặt vào ghi A - dụ: MOV DPTR,#1000 MOVX A, @DPTR ; A  (1000) + Lệnh đọc nhớ: - Cú pháp: MOVX @DPTR, A - Thực hiện: lấy nội dung A đặt vào ô nhớ vùng liệu ngồi có địa nội dung ghi DPTR - dụ: MOV DPTR,#1000 MOV A, #4EH MOVX @DPTR, A ; ghi giá trị 4EH vào ô nhớ ngồi có địa 1000 c Lệnh liên quan đến vùng nhớ chƣơng trình (đọc mã lệnh): - Cú pháp: MOVC A,@A+DPTR - Thực hiện: lấy nội dung ô nhớ vùng nhớ chương trình có địa nội dung ghi A + DPTR đặt vào ghi A - dụ 1: MOV A,#2 MOV DPTR,#500 MOVC A,@A+DPTR ; A  (502) - dụ 2: MOV A, #4 MOV DPTR,#TABLE MOVC A, @A+DPTR TABLE: DB 12H, 4EH, 0C7H, 084H, 055H,…… Nhóm lệnh liên quan đến ngăn xếp: + Ghi vào ngăn xếp: - Cú pháp: PUSH Thanh ghi/ địa - Thực hiện: cất nội dung ghi ô nhớ vào đỉnh ngăn xếp + Đọc ngăn xếp: - Cú pháp: POP Thanh ghi/ địa - Thực hiện: lấy nội dung đỉnh ngăn xếp gán vào ghi, nhớ + dụ: MOV A,#100 MOV 100,#3EH PUSH ACC PUSH 100 MOV A, #21H MOV 100, #40 POP 100 POP ACC Lệnh trao đổi liệu: - Cú pháp: XCH A, Trong đó: ghi, nhớ @Rp - Thực hiện: trao đổi nội dung ghi A II NHÓM LỆNH SỐ HỌC Lệnh cộng: a Cộng không nhớ: - Cú pháp: ADD A, Trong đó: ghi, ô nhớ, # @Rp - Thực hiện: A  A + b Cộng có nhớ: - Cú pháp: ADDC A, Trong đó: ghi, ô nhớ, # @Rp - Thực hiện: A  A + + C Lệnh trừ: - Cú pháp: SUBB A, Trong đó: ghi, nhớ, # @Rp - Thực hiện: A  A - - C (carry bit) Lệnh nhân: - Cú pháp: MUL AB - Thực hiện: A * B = BA (B: byte cao của kết quả; A: byte thấp của kết quả) Lệnh chia: - Cú pháp: DIV AB - Thực hiện: A : B = A dư B (A: chứa phần nguyên; B: chứa phần dư) Lệnh tăng đơn vị: - Cú pháp: INC Trong đó: ghi, nhớ - Thực hiện: = + Lệnh giảm đơn vị: - Cú pháp: DEC Trong đó: ghi, nhớ - Thực hiện: = - III NHĨM LỆNH NHẢY: Lệnh nhảy không điều kiện: a Nhảy gần: - Cú pháp: SJMP Trong đó: từ, hay nhóm từ viết liền nhau, theo sau bằng dấu ”:” dùng để đánh dấu vị trí chương trình - Thực hiện: nhày khơng điều kiện đến vị trí chương trình được định , khoảng cách từ lệnh đến không vượt 128 byte mã lệnh b Nhảy xa: - Cú pháp: LJMP - Thực hiện: nhảy đến vị trí được định , nằm vị trí chương trình Lệnh nhảy có điều kiện: a Lệnh so sánh và nhảy nếu không bằng (compare and jump if not equal) - Cú pháp: CJNE A, , Trong ghi, ô nhớ # - Thực hiện: So sánh A , nếu: + A ≠ : nhảy đến nếu: A > : bit C = A < : bit C = + A = : thực lệnh - Một dạng khác của lệnh: CJNE Ri/@Rp, #, b Lệnh giảm nội dung Ri đơn vị và nhảy nếu bằng zero (decrement Ri by and jump if not zero): - Cú pháp: DJNZ Ri, - Thực hiện: Ri = Ri - 1, nếu: + Ri > 0: nhảy đến + Ri =0: thực lệnh c Lệnh nhảy phụ thuộc vào trạng thái bit kiểm tra: - Cú pháp: JB/ JNB BIT, Trong đó: BIT bit của ghi chân I/O của vi điều khiển - Thực hiện: nhảy đến vị trí chương trình được định BIT bằng bằng d Lệnh nhảy thông qua việc kiểm tra cờ CARRY: - Cú pháp: JC/ JNC - Thực hiện: nhảy đến vị trí chương trình được định C bằng bằng e Lệnh nhảy thông qua việc kiểm tra cờ ZERO: - Cú pháp: JZ/ JNZ - Thực hiện: nhảy đến vị trí chương trình được định Z bằng bằng IV NHÓM LỆNH LOGIC: ANL A, ORL A, XRL A, CLR A ; xóa nội dung ghi A CPL A ; đảo BIT ghi A ; lệnh không thực hiện, bỏ qua gặp lệnh NOP SWAP A ; đảo vị trí bit cao bit thấp ghi A Nhóm lệnh quay vòng: a Quay phải ghi A - Cú pháp: RR A - Thực hiện: Bit >- bit b Lệnh quay trái ghi A: - Cú pháp: RL A - Thực hiện: Bit < - bit c Lệnh quay trái ghi A với cờ C: - Cú pháp: RLC A - Thực hiện: C Bit < - bit d Lệnh quay phải ghi A với cờ C: - Cú pháp: RRC A - Thực hiện: C Bit > - bit V NHÓM LỆNH THAO TÁC BIT: CLR BIT ; xóa BIT = SETB BIT ; đặt BIT = CPL BIT ; đảo nội dung của BIT Lệnh di chuyển BIT - MOV C, BIT ; C  BIT - MOV BIT, C ; BIT  C VI NHÓM LỆNH LIÊN QUAN ĐẾN CHƢƠNG TRÌNH CON: CALL ; gọi chương trình RET ; kết thúc chương trình RETI ; kết thúc chương trình ngắt ... Trong đó: BIT bit của ghi chân I/O của vi điều khiển - Thực hiện: nhảy đến vị trí chương trình được định BIT bằng bằng d Lệnh nhảy thông qua vi ̣c kiểm tra cờ CARRY: - Cú pháp:... lệnh - Một dạng khác của lệnh: CJNE Ri/@Rp, #, b Lệnh giảm nội dung Ri đơn vi và nhảy nếu bằng zero (decrement Ri by and jump if not zero): - Cú pháp: DJNZ Ri, ... nhảy khơng điều kiện: a Nhảy gần: - Cú pháp: SJMP Trong đó: từ, hay nhóm từ vi t liền nhau, theo sau bằng dấu ”:” dùng để đánh dấu vị trí chương trình - Thực hiện: nhày khơng

Ngày đăng: 21/01/2018, 11:46

TỪ KHÓA LIÊN QUAN

w