1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Vi xử lý-Chương 3 pptx

32 381 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 32
Dung lượng 2,66 MB

Nội dung

1 CHƯƠNG 3 TẬP LỆNH PIC16F8xx CHƯƠNG 3: TẬP LỆNH PIC16F8xx 1. Cấu trúc của lệnh - Các lệnh sẽ được nạp vào bộ nhớ chương trình. - Mỗi lệnh PIC16Fxx cấu tạo bởi 1 word = 14 bit. - Cấu trúc lệnh được phân theo 3 loại: + Các lệnh thao tác định hướng theo Byte ( Byte-oriented File Register Operations) + Các lệnh thao tác định hướng theo Bit ( Bit-oriented File Register Operations) + Các lệnh thao tác với giá trị HẰNG SỐ hoặc ( Literal and Control Operations) NHÃN. 2 CHƯƠNG 3: TẬP LỆNH PIC16F8xx a. Cấu trúc một dòng lệnh [ NHÃN ] LỆNH Tham số1, Tham số2 - NHÃN: là Tên đánh dấu vị trí dòng lệnh nào đó trong chương trình, được dùng với lệnh nhảy tới Nhãn GOTO hoặc lệnh gọi chương trình con CALL - Lệnh và Tham số: một lệnh có thể có 1 hoặc 2 hay không có tham số nào, tham số là đối tượng lệnh thực hiện. dụ: MOVLW 00h BSF 03h,5 CHƯƠNG 3: TẬP LỆNH PIC16F8xx b. Cấu trúc lệnh thao tác định hướng theo Byte - OPCODE: mã địa chỉ của lệnh (mã lệnh). - d (Destination select): bit chọn thanh ghi đích đến. + d=0 kết quả lưu vào thanh ghi W + d=1 kết quả lưu vào tập thanh ghi F - F (Register File): các thanh ghi được chỉ định trong lệnh. F có 7bit tương ứng 128 Byte (00h -> 7Fh). 3 CHƯƠNG 3: TẬP LỆNH PIC16F8xx c. Cấu trúc lệnh thao tác định hướng theo Bit - OPCODE: mã địa chỉ của lệnh (mã lệnh). - b (Bit address): vị trí Bit trong tập thanh ghi F. 3-bit b tương ứng 8 vị trí trong một Byte của tập F. - F (Register File): thanh ghi được chỉ định trong tập F. F có độ rộng 7bit nên gồm 128 Byte ( 00h -> 7Fh ). CHƯƠNG 3: TẬP LỆNH PIC16F8xx d. Cấu trúc lệnh thao tác với giá trị HẰNG SỐ hoặc NHÃN + k -8Bit: giá trị 8 bit + k -11Bit: giá trị 11 bit hoặc NHÃN khi dùng lệnh GOTO , CALL - OPCODE: địa chỉ của lệnh (mã lệnh). - k (Literal field): có thể là Giá trị hay NHÃN. 4 CHƯƠNG 3: TẬP LỆNH PIC16F8xx Bảng tóm tắt Tập lệnh Cộng W với F AND W với F Xóa F Xóa W Đảo F Các lệnh thao tác định hướng theo Byte 2. Tập lệnh CHƯƠNG 3: TẬP LỆNH PIC16F8xx Đảo F Giảm F Giảm F, Nhảy nếu F=0 Tăng F Tăng F, Nhảy nếu F=0 OR (W và F) Di chuyển F Chuyển W vào F Không làm gì Xoay trái F có C 5 CHƯƠNG 3: TẬP LỆNH PIC16F8xx Các lệnh thao tác định hướng theo Bit Xóa Bit trong F Đặt Bit trong F Ktra Bit = 0, Nhảy Ktra Bit = 1, Nhảy Xoay phải F có C Lấy F - W Đổi 4bit Cao - 4bit Thấp XOR (W và F) CHƯƠNG 3: TẬP LỆNH PIC16F8xx Các lệnh thao tác với hằng số hoặc Nhãn Cộng k với W AND (k và W) Gọi CT con thực hiện Tắt chế độ WDT Nhảy tới vị trí NHÃN OR (k và W) Chuyển k vào W Thoát từ CT Ngắt Thoát và đặt k vào W 6 CHƯƠNG 3: TẬP LỆNH PIC16F8xx Thoát CT con Đặt chế độ SLEEP Lấy k - W XOR (k và W) CHƯƠNG 3: TẬP LỆNH PIC16F8xx 2.1 Nhóm lệnh số học  Cộng với hằng số k - Cú pháp: ADDLW k - Phạm vi: 0 ≤ k ≤ 255 - Thực thi: (W) + k    (W) - Trạng thái ảnh hưởng: C, DC, Z - Diễn giải: Cộng nội dung W với hằng số k-8bit. Kết quả lưu vào W. 7 CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Cộng thanh ghi - Cú pháp: ADDWF F,d - Phạm vi: 0 ≤ F ≤ 127; d = 0,1 - Thực thi: (W) + (F)    (dest) - Trạng thái ảnh hưởng: C, DC, Z - Diễn giải: Cộng nội dung W với F. Kết quả: lưu vào W nếu d=0. lưu vào F nếu d=1. - Chú ý: Trường hợp ghi d thì có thể ghi trực tiếp tên thanh ghi chứa kết quả W, hoặc không ghi thì Kết quả sẽ lưu vào thanh ghi F. CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Trừ với hằng số k - Cú pháp: SUBLW k - Phạm vi: 0 ≤ k ≤ 255 - Thực thi: k - (W)    (W) - Trạng thái ảnh hưởng: C, DC, Z - Diễn giải: Lấy hằng số k trừ W. Kết quả lưu vào W. 8 CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Trừ thanh ghi - Cú pháp: SUBWF F,d - Phạm vi: 0 ≤ F ≤ 127; d = 0,1 - Thực thi: (F) - (W)    (dest) - Trạng thái ảnh hưởng: C, DC, Z - Diễn giải: Trừ nội dung F cho nội dung W. Kết quả: lưu vào W nếu d=0 lưu vào F nếu d=1. CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Tăng thanh ghi - Cú pháp: INCF F,d - Phạm vi: 0 ≤ F ≤ 127; d = 0,1 - Thực thi: (F) + 1    (dest) - Trạng thái ảnh hưởng: Z - Diễn giải: Tăng nội dung F lên 1 đơn vị. Kết quả: lưu vào W nếu d=0 lưu vào F nếu d=1. 9 CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Tăng thanh ghi và Nhảy - Cú pháp: INCFSZ F,d - Phạm vi: 0 ≤ F ≤ 127; d=0,1 - Thực thi: (F) + 1    (dest) - Trạng thái ảnh hưởng: Z - Diễn giải: Tăng nội dung F lên 1 đơn vị. Kết quả: lưu vào W nếu d=0 lưu vào F nếu d=1. Nếu kết quả = 0 thì bỏ qua lệnh kế (NOP), và thực hiện lệnh kế tiếp theo. Lệnh mất 2 chu kỳ máy. CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Giảm thanh ghi - Cú pháp: DECF F,d - Phạm vi: 0 ≤ F ≤ 127; d = 0,1 - Thực thi: (F) - 1    (dest) - Trạng thái ảnh hưởng: Z - Diễn giải: Giảm nội dung F một đơn vị. Kết quả: lưu vào W nếu d=0 lưu vào F nếu d=1. 10 CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Giảm thanh ghi và Nhảy - Cú pháp: DECFSZ F,d - Phạm vi: 0 ≤ F ≤ 127; d=0,1 - Thực thi: (F) - 1    (dest) - Trạng thái ảnh hưởng: Z - Diễn giải: Giảm nội dung F 1 đơn vị. Kết quả: lưu vào W nếu d=0 lưu vào F nếu d=1. Nếu kết quả = 0 thì bỏ qua lệnh kế (=NOP) và thực hiện lệnh kế tiếp theo. Lệnh mất 2 chu kỳ máy. CHƯƠNG 3: TẬP LỆNH PIC16F8xx 2.2 Nhóm lệnh Logic  Phép NOT - Cú pháp: COMF F,d - Phạm vi: 0 ≤ F ≤ 127; d=0,1 - Thực thi: (F)\    (dest) - Trạng thái ảnh hưởng: Z - Diễn giải: Đảo nội dung thanh ghi F. Kết quả: lưu vào W nếu d=0 lưu vào F nếu d=1. [...]... -END 30 CHƯƠNG 3: T P L NH PIC16F8xx Bài t p 3: S d ng B NG - Xét vai trò c a thanh ghi PC • • • • • 0000 0001 0002 00 03 0004 LOOP MOVLW MOVWF DECFSC GOTO END 0xFF BIEN1 BIEN1 LOOP CHƯƠNG 3: T P L NH PIC16F8xx - S d ng B ng MOVLW 0x04 CALL TABLE ADDWF PCL,1 TABLE retlw 01 retlw 02 retlw 03 retlw 04 (W=04) retlw 05 retlw 06 retlw 07 (PCL=02H) RETURN 31 CHƯƠNG 3: T P L NH PIC16F8xx Bài t p 3: S d... giúp ngư i vi t chương trình d dàng hơn 23 CHƯƠNG 3: T P L NH PIC16F8xx 3. 2 Chương trình đi u khi n a Lưu đ gi i thu t Lưu đ chi ti t Lưu đ t ng quát CHƯƠNG 3: T P L NH PIC16F8xx b C u trúc m t chương trình đi u khi n L a ch n lo i Vi Đi u Khi n: LIST Đ nh nghĩa các Ô nh , Thanh ghi: Kh i t o chương trình chính: EQU ORG So n th o chương trình đi u khi n: K t thúc chương trình: END 24 CHƯƠNG 3: T P L... CHƯƠNG 3: T P L NH PIC16F8xx 3. 3 Các Ch d n l nh (Directive Language) CONFIG C u hình các Bit ch n ch đ ho t đ ng c a PIC DB Lưu các giá tr 8 bit vào b nh chương trình CHƯƠNG 3: T P L NH PIC16F8xx DT T o b ng d li u đ i v i các l nh RETLW EQU Đ t tên cho ô nh hay thanh ghi 25 CHƯƠNG 3: T P L NH PIC16F8xx END K t thúc chương trình INCLUDE Ch n thư vi n c a lo i PIC s d ng CHƯƠNG 3: T P L NH PIC16F8xx LIST... lưu vào F n u d=1 13 CHƯƠNG 3: T P L NH PIC16F8xx Xóa thanh ghi W - Cú pháp: CLRW - Ph m vi: - Th c thi: 00h (W) - Tr ng thái nh hư ng: Z = 1 - Di n gi i: Xóa n i dung thanh ghi W K t qu : W = 00h CHƯƠNG 3: T P L NH PIC16F8xx Xóa thanh ghi F - Cú pháp: CLRF - Ph m vi: - Th c thi: 00h (F) - Tr ng thái nh hư ng: Z = 1 - Di n gi i: Xóa n i dung thanh ghi F K t qu : F = 00h 14 CHƯƠNG 3: T P L NH PIC16F8xx... +L nh m t 2 chu kỳ máy 22 CHƯƠNG 3: T P L NH PIC16F8xx L nh không làm gì c - Cú pháp: NOP - Th c thi: - Di n gi i: Không làm gì CHƯƠNG 3: T P L NH PIC16F8xx 3 Các Ch d n l nh và Trình biên d ch 3. 1 Gi i thi u trình biên dich MPASM Trình biên d ch MPASM là công c đ bi n đ i ngôn ng Assembly thành ngôn ng máy Ngôn ng máy đư c n p vào PIC đ th c hi n các yêu c u c a ngư i vi t chương trình MPASM bao g m... lưu vào F n u d=1 19 CHƯƠNG 3: T P L NH PIC16F8xx Hoán đ i 4 bit th p - 4 bit cao - Cú pháp: SWAPF F,d - Ph m vi: 0 ≤ F ≤ 127; d = 0,1 - Th c thi: (F) ↔ (F ) - Tr ng thái nh hư ng: - Di n gi i: Đ i v trí gi a 4 bit th p và 4 bit cao K t qu : lưu vào W n u d=0 lưu vào F n u d=1 CHƯƠNG 3: T P L NH PIC16F8xx 2.5 Nhóm l nh r nhánh L nh Nh y - Cú pháp: GOTO k - Ph m vi: 0 ≤ k ≤ 2047 (11bit) - Th... pháp: MOVWF F - Ph m vi: 0 ≤ F ≤ 127 - Th c thi: (W) (F) - Tr ng thái nh hư ng: Z - Di n gi i: Di chuy n n i dung thanh ghi W vào F CHƯƠNG 3: T P L NH PIC16F8xx 2.4 Nhóm l nh x lý BIT Xóa Bit thanh ghi - Cú pháp: BCF F,b - Ph m vi: - Di n gi i: 0 ≤ F ≤ 127; 0≤b≤7 Xóa Bit th b trong thanh ghi F - Chú ý: Ta có th ghi tr c ti p b = tên c a Bit trong thanh ghi F BCF STATUS, C 17 CHƯƠNG 3: T P L NH PIC16F8xx... 1 thì Nh y: b qua 1 l nh F = 0 thì làm l nh k ti p 18 CHƯƠNG 3: T P L NH PIC16F8xx Xoay trái có C - Cú pháp: RLF F,d - Ph m vi: 0 ≤ F ≤ 127 d=0,1 - Tr ng thái nh hư ng: C - Di n gi i: Xoay trái thanh ghi F và C m t l n K t qu : lưu vào W n u d=0 lưu vào F n u d=1 CHƯƠNG 3: T P L NH PIC16F8xx Xoay ph i có C - Cú pháp: RRF F,d - Ph m vi: 0 ≤ F ≤ 127 d=0,1 - Tr ng thái nh hư ng: C - Di n gi i: Xoay... W v i F K t qu : lưu vào W n u d=0 lưu vào F n u d=1 11 CHƯƠNG 3: T P L NH PIC16F8xx Phép AND v i h ng s k - Cú pháp: ANDLW k - Ph m vi: 0 ≤ k ≤ 255 - Th c thi: (W) AND k (W) - Tr ng thái nh hư ng: Z - Di n gi i: AND n i dung thanh ghi W v i k K t qu lưu vào W CHƯƠNG 3: T P L NH PIC16F8xx Phép AND thanh ghi - Cú pháp: ANDWF F,d - Ph m vi: 0 ≤ F ≤ 127; d=0,1 - Th c thi: (W) AND (F) (dest) - Tr ng thái... (11bit) - Th c thi: k PC PCLATCH PC - Di n gi i: Nh y t i Nhãn (k) L nh này m t 2 chu kỳ máy 20 CHƯƠNG 3: T P L NH PIC16F8xx L nh G i chương trình con th c thi - Cú pháp: CALL k - Ph m vi: 0 ≤ k ≤ 2047 (11bit) - Th c thi: - Di n gi i: +G i chương trình con (k) +Đ t đ a ch c a l nh k ti p trong PC vào ngăn x p Stack +L nh này m t 2 chu kỳ máy CHƯƠNG 3: T P L NH PIC16F8xx L nh tr v t chương . vào W nếu d=0 lưu vào F nếu d=1. 13 CHƯƠNG 3: TẬP LỆNH PIC16F8xx  Phép XOR với hằng số k - Cú pháp: XORLW k - Phạm vi: 0 ≤ k ≤ 255 - Thực thi: (W) XOR. 1. +Bit PD = 0. 16 CHƯƠNG 3: TẬP LỆNH PIC16F8xx 2 .3 Nhóm lệnh di chuyển dữ liệu  Di chuyển hằng số k - Cú pháp: MOVLW k - Phạm vi: 0 ≤ k ≤ 255 - Thực thi:

Ngày đăng: 18/03/2014, 14:20

HÌNH ẢNH LIÊN QUAN

Bảng tóm tắt Tập lệnh - Vi xử lý-Chương 3 pptx
Bảng t óm tắt Tập lệnh (Trang 4)
Bảng tóm tắt các Chỉ dẫn lệnh - Vi xử lý-Chương 3 pptx
Bảng t óm tắt các Chỉ dẫn lệnh (Trang 28)
Bảng tóm tắt các kí hiệu và quy ước - Vi xử lý-Chương 3 pptx
Bảng t óm tắt các kí hiệu và quy ước (Trang 29)
w