PIC16F84A – Bộ hướng dẫn
Bộ chỉ thị của PIC16F84A bao gồm 35 chỉ thị, còn được gọi là Mnemonics. Trong quá trình giới thiệu về PIC16F84A đến chương trình "hello world", có 7 chỉ thị đã được giới thiệu:
Trước khi xem xét các chỉ thị, hãy phân loại các chỉ thị này thành các nhóm chính như sau:
Các thao tác trên tập tin đăng ký dưới dạng byte:
Như tên gọi, những chỉ thị này được sử dụng khi làm việc với các byte dữ liệu - tức là, nếu bạn muốn thay đổi/sửa đổi/ảnh hưởng đến toàn bộ byte dữ liệu. Đây là danh sách các thao tác trên tập tin đăng ký dưới dạng byte kèm theo mô tả:
Mã tệp |
Mô tả |
ADDWF f, d
|
Thêm nội dung của W-register và f sau đó lưu trứ nội dung trong địa chỉ đã chỉ định |
ANDWF f,d
|
Nội dung của thanh ghi W và f được lưu trữ trong địa chỉ được chỉ định |
CLRF f |
Xóa nội dung của f |
CLRW |
Xóa nội dung của W-register |
COMF f,d
|
Ghim nội dung của f và lưu kết quả vào d(destination) |
DECF f,d |
Giảm f và lưu kết quả vào đích d |
DECFSZ f,d |
Giảm f, bỏ qua nếu kết quả bằng 0 |
INCF f,d |
Tăng f và lưu kết quả vào đích d |
INCFSZ f,d |
Tăng f , bỏ qua nếu bằng 0 |
IORWF f,d |
Bao gồm nội dung OR của thanh ghi W với nội dung của f và lưu kết quả vào đích d |
MOVF f,d |
Di chuyển nội dung của f đến đích (D) |
MOVWF f |
Di chuyển nội dung của W-register sang Fm |
NOP |
Không hoạt động ( vẫn im lặng trong một chu kì ) |
RLF f,d |
Xoay trái f qua mang |
RRF f,d |
Xoay phải f qua mang |
SUBWF f,d |
Trừ nội dung của thanh ghi W khỏi f |
SWAPF f,d |
Trao đổi nibbles trong f |
XORWF f,d |
Nội dung OR độc quyền của thanh ghi W với f |
Ví dụ:
Dưới đây là một số ví dụ về cách thực thi các chỉ thị và kết quả của cách chúng hoạt động. Điều này sẽ giúp bạn hiểu hơn về cách làm việc với các chỉ thị này.
Trong bảng trên, 'f' đại diện cho tập tin (hoặc thanh ghi) sẽ được chỉ định và 'd' đại diện cho địa chỉ đích.
ADDWF f,d – Chỉ thị này cộng nội dung của thanh ghi W và f (sẽ được chỉ định) và lưu kết quả vào địa chỉ đích được chỉ định bởi 'd' (thao tác: (W)+(F) —>(đích)). 'd' có giá trị là 0 hoặc 1. Nếu 'd' là 0, kết quả sẽ được lưu vào thanh ghi W và nếu 'd' là 1, kết quả sẽ được lưu vào f.
Minh họa:
Giả sử nội dung ban đầu của thanh ghi W = 00100110 Giả sử nội dung ban đầu của thanh ghi 0CH = 10100010
Nếu chúng ta áp dụng chỉ thị ADDWF 0CH, 0 Chỉ thị trên sẽ cộng nội dung của W và f và lưu vào W. Bây giờ, nội dung của thanh ghi W = 11001000 (kết quả của W+F) nội dung của thanh ghi 0CH = 10100010 (không thay đổi)
Ngược lại, nếu chúng ta áp dụng chỉ thị ADDWF 0CH, 1 Chỉ thị sẽ cộng nội dung của W và F và lưu vào F. Bây giờ, nội dung của thanh ghi W = 00100110 (không thay đổi) nội dung mới của thanh ghi 0CH = 11001000 (kết quả của W+F) Tất cả các chỉ thị trên tập tin dưới dạng byte hoạt động tương tự như đã giải thích ở trên.
Code: 7204-174 Còn hàng
Hotline: 0979 466 469