[ บทความ : MPLab ] ตอนที่ 3 ...  ชุดคำสั่งของ PIC16F877  ....

 

สวัสดีครับ หลังจากที่เราได้เรียนรู้เรื่องการใช้ Assembler, ระบบหน่วยความจำ กันไปแล้ว บทความนี้ผมจะกล่าวถึงชื่อคำสั่งและคำอธิบายการทำงานของคำสั่งแบบคร่าวๆ กันก่อน แล้วในคราวหน้าเราค่อยศึกษารายละเอียดของคำสั่งพร้อมกับตัวอย่างโปรแกรมกันทีหลัง

ตัวไมโครคอนโทรลเลอร์ PIC16F877 นั้นมีคำสั่งด้วยกัน 35 คำสั่ง โดยแต่ละคำสั่งเป็นแบบ 14 บิต (14bit core) รายการคำสั่งนั้นแบ่งเป็น 3 กลุ่ม ดังนี้ครับ

 

1. กลุ่มคำสั่งแบบไบต์

              ในกลุ่มนี้เป็นการประมวลผลข้อมูลระดับไบต์ โดยมีตัวอักษรที่ใช้แทน Operator อยู่ 2 แบบ คือ f กับ d อันมีความหมายดังนี้
 
  f   ค่าตำแหน่งของเรจิสเตอร์ (มีขนาด 7 บิต)  
  d   การเลือกว่า ผลการทำงานนั้นจะเก็บในเรจิสเตอร์ W หรือ f โดยมีข้อกำหนดว่า  
      ถ้าค่านี้เป็น 0 แสดงว่า ผลการทำงานของคำสั่งนั้นๆ จะเก็บในเรจิสเตอร์ W  
      แต่ถ้าเป็น 1 ผลลัพธ์จะเก็บในเรจิสเตอร์ f  
          

                 ชุดคำสั่งในกลุ่มนี้ได้แก่

 

Mnemonic

Operands

การทำงาน

จำนวนไซเคิล

ผลกับแฟล็ก

ADDWF

f,d

บวกค่าของ W และ f

1

C,DC,Z

ANDWF

f,d

ทำการ AND บิตของ W ด้วย f

1

Z

CLRF

f

ทำให้ f เป็น 0

1

Z

CLRW

 

ทำให้ W เป็น 0

1

 

COMF

f,d

คำนวณค่าคอมพลีเมนต์ของ f

1

Z

DECF

f,d

ลดค่าของ f ลง 1 ค่า

1

Z

DECFSZ

f,d

1. ลดค่าของ f แล้วถ้าผลลัพธ์เป็น 0 จะกระโดดข้ามคำสั่งถัดไป

2. ลดค่าของ f แล้วถ้าผลลัพธ์ไม่ใช่ 0 จะทำคำสั่งถัดไป

2

 

1

 

INCF

f,d

เพิ่มค่าของ f

1

Z

INCFSZ

f,d

1. เพิ่มค่าของ f แล้วถ้าผลลัพธ์เป็น 0 จะกระโดดข้ามคำสั่งถัดไป

2. เพิ่มค่าของ f แล้วถ้าผลลัพธ์ไม่ใช่ 0 จะทำคำสั่งถัดไป

2

 

1

 

IORWF

f,d

หาผลลัพธ์ของการทำ Inclusive OR ระหว่าง W กับ f

1

Z

MOVF

f,d

โอนค่าจาก f

1

Z

MOVWF

f

โอนค่าจาก W ไปเก็บใน f

1

 

NOP

 

ไม่ทำอะไร

1

 

RLF

f,d

หมุนบิตไปทางซ้ายโดยใช้ Carry flag

1

C

RRF

f,d

หมุนบิตไปทางขวาโดยใช้ Carry flag

1

C

SUBWF

f,d

ลบค่าใน f ด้วย W

1

C,DC,Z

SWAPF

f,d

สลับบิตแบบ 4 บิตของ f

1

 

XORWF

f,d

หาผลลัพธ์ของการทำ Exclusive OR ระหว่าง W

1

Z

 

 

… อ่านต่อ  (ดาวน์โหลด) 113 KB ...

   

 


เขียนโดย : ศุภชัย บุศราทิจ
Author : Supachai Budsaratij
e-mail : raek@etteam.com
วันที่ทำการปรับปรุง :  ๒ ต.ค. ๒๕๔๗