"Skills, Knowledge, Abilities, and Experiences

are only useful....

If you are at the right place "

"Try listening to music from the Thai Symphony Orchestra, you may like it"

MCS-51, Program Status Word

MCS-51, Program Status Word (PSW)

- Chatchaval -

" A MAN OF FEW WORDS "

" Who makes no mistakes does not usually make anything. "

PSW (Program Status Word) คือหนึ่งใน Special Function Register (SFR) ที่สำคัญที่สุดของ MCS-51 ครับ มันทำหน้าที่เป็น Flag เพื่อบอกสถานะการคำนวณของ CPU และใช้สำหรับเลือกชุดของ Register (Bank Select)

PSW เป็น Register ขนาด 8 บิต ที่สามารถเข้าถึงได้แบบระดับบิต Bit-Addressable โดยแต่ละบิตมีความหมายดังนี้ :

1. การเลือก Register Bank (RS1, RS0)

MCS-51 มี RAM ภายในที่แบ่งเป็น Register Bank 4 ชุด (Bank 0-3) ซึ่งแต่ละชุดจะมี R0-R7 ของตัวเอง เราเปลี่ยนการใช้งานได้ผ่านสองบิตนี้ครับ:

11: Bank 3 (Address 18H-1FH)

00: Bank 0 (Address 00H-07H) -> ค่า Default หลัง Reset

01: Bank 1 (Address 08H-0FH)

10: Bank 2 (Address 10H-17H)

2. Carry Flag (CY)

บิตนี้สำคัญมาก เพราะนอกจากจะใช้บอกตัวทดแล้ว ใน MCS-51 บิตนี้ยังทำหน้าที่เป็น “Boolean Accumulator” หรือตัวแปรหลักสำหรับการคำนวณทางตรรกะระดับบิต (เช่น คำสั่ง ANL C, bit)

3. Parity Flag (P)

บิตนี้จะเปลี่ยนแปลงอัตโนมัติทุกครั้งที่มีการประมวลผลใน Accumulator (A) เพื่อเช็คว่ามีเลข “1” ใน A เป็นจำนวนคู่หรือคี่ มักใช้ในการตรวจสอบความถูกต้องของการส่งข้อมูลผ่าน Serial Port (UART)


Related articles

MCS-51, Interrupt Register

MCS-51, Interrupt Register

การจัดการ Interrupt ของ MCS-51 สามารถกำหนดเลือก Enable/Disable ให้มีการ Interrupt ของแต่ละสัญญาณได้ โดยใช้วิธีการกำหนดค่าของ Bit ภายใน Register IE

Read More
MCS-51, Internal Data Memory

MCS-51, Internal Data Memory

หน่วยความจำข้อมูลภายในของ MCS-51 มี 256 Byte แบ่งออกเป็นสองส่วนคือ ส่วนพื้นที่เฉพาะของ CPU ใช้งานเท่านั้น และพื้นที่ใช้งานทั่วไปสำหรับโปรแกรมใช้งานที่ผู้ใช้สร้างขึ้นมา

Read More

Get in Touch !