ระบบฝังตัว - การลงทะเบียน SFR

การลงทะเบียนฟังก์ชันพิเศษ (หรือการลงทะเบียนเพื่อวัตถุประสงค์พิเศษหรือเพียงแค่ลงทะเบียนพิเศษ) คือการลงทะเบียนภายในไมโครโปรเซสเซอร์ที่ควบคุมหรือตรวจสอบการทำงานต่างๆของไมโครโปรเซสเซอร์ เนื่องจากรีจิสเตอร์พิเศษเชื่อมโยงอย่างใกล้ชิดกับฟังก์ชันหรือสถานะพิเศษบางอย่างของโปรเซสเซอร์จึงอาจไม่สามารถเขียนได้โดยตรงตามคำสั่งปกติ (เช่นเพิ่มย้าย ฯลฯ ) แต่การลงทะเบียนพิเศษบางอย่างในสถาปัตยกรรมโปรเซสเซอร์บางตัวต้องการคำสั่งพิเศษในการแก้ไข

ใน 8051 การลงทะเบียน A, B, DPTR และ PSW เป็นส่วนหนึ่งของกลุ่มการลงทะเบียนที่เรียกกันทั่วไปว่า SFR (การลงทะเบียนฟังก์ชันพิเศษ) SFR สามารถเข้าถึงได้ด้วยชื่อหรือตามที่อยู่

ตารางต่อไปนี้แสดงรายการ SFR และที่อยู่

ที่อยู่ไบต์ ที่อยู่บิต
FF
F0 F7 F6 F5 F4 F3 F2 F1 F0
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 - D0 ป. ป. ส
B8 - - - พ.ศ. BB ศ ธ B9 B8 IP
B0 B7 B6 B5 B4 B3 B2 B1 B0 P3
A2 AF - - AC AB AA A9 A8 IE
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
99 บิตแอดเดรสไม่ได้ SBUF
98 ชั้น 9 9E 9 ด 9 ค 9B 9A 99 98 SCON
90 97 96 95 94 93 92 91 90 P1
8D บิตแอดเดรสไม่ได้ TH1
8C บิตแอดเดรสไม่ได้ TH0
8B บิตแอดเดรสไม่ได้ TL1
8A บิตแอดเดรสไม่ได้ TL0
89 บิตแอดเดรสไม่ได้ TMOD
88 ชั้น 8 8E 8D 8C 8B 8A 89 88 TCON
87 บิตแอดเดรสไม่ได้ PCON
83 บิตแอดเดรสไม่ได้ ปส
82 บิตแอดเดรสไม่ได้ DPL
81 บิตแอดเดรสไม่ได้ SP
80 87 87 85 84 83 82 81 80 P0

พิจารณาสองประเด็นต่อไปนี้เกี่ยวกับที่อยู่ SFR

  • การลงทะเบียนฟังก์ชันพิเศษสามารถมีที่อยู่ระหว่าง 80H ถึง FFH ที่อยู่เหล่านี้สูงกว่า 80H เนื่องจากที่อยู่ตั้งแต่ 00 ถึง 7FH เป็นที่อยู่ของหน่วยความจำ RAM ภายใน 8051

  • SFR ไม่ได้ใช้พื้นที่แอดเดรส 80 ถึง FF ทั้งหมด สถานที่ที่ไม่ได้ใช้ตั้งแต่ 80H ถึง FFH สงวนไว้และโปรแกรมเมอร์ 8051 จะต้องไม่ใช้

CY PSW.7 ถือธง
AC PSW 6 ธงพกพาเสริม
F0 PSW 5 แฟล็ก 0 พร้อมใช้งานสำหรับผู้ใช้สำหรับวัตถุประสงค์ทั่วไป
RS1 PSW.4 ลงทะเบียนตัวเลือกธนาคารบิต 1
RS0 PSW.3 ลงทะเบียนตัวเลือกธนาคารบิต 0
OV PSW 2 ค่าสถานะล้น
- PSW.1 FLAG ที่ผู้ใช้สามารถกำหนดได้
PSW.0 ธงปาริตี ตั้งค่า / ล้างโดยฮาร์ดแวร์ระหว่างรอบคำสั่งเพื่อระบุจำนวนคู่ / คี่ของ 1 บิตในตัวสะสม

ในตัวอย่างต่อไปนี้ชื่อผู้ลงทะเบียน SFR จะถูกแทนที่ด้วยที่อยู่

CY AC F0 RS1 RS0 OV -

เราสามารถเลือกบิต Register Bank ที่เกี่ยวข้องโดยใช้บิต RS0 และ RS1

RS1 RS2 ลงทะเบียนธนาคาร ที่อยู่
0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH

Program Status Word (PSW) มีบิตสถานะเพื่อแสดงสถานะปัจจุบันของ CPU ตัวแปร 8051 มีการลงทะเบียนฟังก์ชันพิเศษหนึ่งรายการคือ PSW พร้อมข้อมูลสถานะนี้ 8251 มีแฟล็กสถานะเพิ่มเติมสองสถานะคือ Z และ N ซึ่งมีอยู่ในการลงทะเบียนฟังก์ชันพิเศษที่สองที่เรียกว่า PSW1