ประเภทต่างๆของรีจิสเตอร์ที่ใช้ในไมโครคอนโทรลเลอร์ 8051

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





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

ประเภทต่างๆของรีจิสเตอร์ในไมโครคอนโทรลเลอร์ 8051

ลงทะเบียน




รีจิสเตอร์เป็นพื้นที่ขนาดเล็กในซีพียูที่สามารถจัดเก็บข้อมูลจำนวนเล็กน้อยที่ใช้ในการดำเนินการต่างๆเช่นการบวกและการคูณและโหลดข้อมูลที่เป็นผลลัพธ์ในหน่วยความจำหลัก รีจิสเตอร์ประกอบด้วยที่อยู่ของตำแหน่งหน่วยความจำที่จะจัดเก็บข้อมูล ขนาดของทะเบียนมีความสำคัญมากสำหรับ ตัวควบคุมที่ทันสมัย . ตัวอย่างเช่นสำหรับการลงทะเบียน 64 บิต CPU จะพยายามเพิ่มตัวเลข 32 บิตสองตัวและให้ผลลัพธ์ 64 บิต

ประเภทของรีจิสเตอร์

ไมโครคอนโทรลเลอร์ 8051 ประกอบด้วยการลงทะเบียนสองประเภทส่วนใหญ่:



  • การลงทะเบียนเอนกประสงค์ (ไบต์แอดเดรสรีจิสเตอร์)
  • ฟังก์ชั่นพิเศษรีจิสเตอร์ (บิตแอดเดรสรีจิสเตอร์)
8051 RAM หน่วยความจำ

8051 RAM หน่วยความจำ

ไมโครคอนโทรลเลอร์ 8051 ประกอบด้วยแรม 256 ไบต์ซึ่งแบ่งออกเป็นสองวิธีเช่น 128 ไบต์สำหรับวัตถุประสงค์ทั่วไปและ 128 ไบต์สำหรับหน่วยความจำฟังก์ชันพิเศษรีจิสเตอร์ (SFR) หน่วยความจำที่ใช้เพื่อวัตถุประสงค์ทั่วไปเรียกว่าเป็น RAM และหน่วยความจำที่ใช้สำหรับ SFR มีการลงทะเบียนที่เกี่ยวข้องกับอุปกรณ์ต่อพ่วงทั้งหมดเช่น Accumulator, ทะเบียน 'B', ตัวจับเวลาหรือตัวนับและขัดขวางการลงทะเบียนที่เกี่ยวข้อง

การลงทะเบียนวัตถุประสงค์ทั่วไป

หน่วยความจำวัตถุประสงค์ทั่วไป

หน่วยความจำวัตถุประสงค์ทั่วไป

หน่วยความจำที่ใช้งานทั่วไปเรียกว่าเป็น RAM ของไมโครคอนโทรลเลอร์ 8051 ซึ่งแบ่งออกเป็น 3 ส่วนเช่นธนาคารพื้นที่แอดเดรสบิตและพื้นที่ขูดขีด ธนาคารมีการลงทะเบียนสำหรับวัตถุประสงค์ทั่วไปที่แตกต่างกันเช่น R0-R7 และการลงทะเบียนดังกล่าวทั้งหมดเป็นทะเบียนแบบไบต์แอดเดรสที่จัดเก็บหรือลบข้อมูลเพียง 1 ไบต์


ธนาคารและทะเบียน

B0, B1, B2 และ B3 ย่อมาจากธนาคารและแต่ละธนาคารมีการลงทะเบียนที่ใช้งานทั่วไปแปดรายการตั้งแต่ 'R0' ถึง 'R7' การลงทะเบียนทั้งหมดนี้สามารถระบุได้แบบไบต์ ไม่สามารถถ่ายโอนข้อมูลระหว่างรีจิสเตอร์วัตถุประสงค์ทั่วไปไปยังรีจิสเตอร์เอนกประสงค์ได้ ธนาคารเหล่านี้ได้รับการคัดเลือกจากทะเบียน Program Status Word (PSW)

การลงทะเบียนวัตถุประสงค์ทั่วไป

การลงทะเบียนวัตถุประสงค์ทั่วไป

PSW (Program Status Word) ลงทะเบียน

รีจิสเตอร์ PSW เป็นรีจิสเตอร์บิตและไบต์แอดเดรส รีจิสเตอร์นี้สะท้อนถึงสถานะของการดำเนินการที่ดำเนินการในคอนโทรลเลอร์ ทะเบียน PSW กำหนดการเลือกธนาคารโดย RS1 และ RS0 ดังที่แสดงด้านล่าง ที่อยู่จริงของ PSW เริ่มต้นจาก D0h และแต่ละบิตเข้าถึงได้ด้วย D0h ถึง D7h

PSW รีจิสเตอร์

PSW รีจิสเตอร์

ถือธง (C) : ที่อยู่ของแฟล็ก Carry คือ D7 แฟล็กพกพานี้ได้รับผลกระทบเมื่อบิตถูกสร้างขึ้นจากตำแหน่งที่ 7
เมื่อ C = 0 ดำเนินการรีเซ็ต
C = 1 ชุดพกพา

ถือธง

ถือธง

ธงเสริม (AC) : ที่อยู่ของอุปกรณ์พกพาคือ D5 การพกพาเสริมนี้ได้รับผลกระทบเมื่อบิตถูกสร้างขึ้นจากตำแหน่งที่ 3 ไปยังตำแหน่งที่ 4
AC = 0 เสริมถูกรีเซ็ต
AC = 1 อุปกรณ์เสริมถูกตั้งค่าไว้

อุปกรณ์เสริม (AC)

อุปกรณ์เสริม (AC)

Overflow Flag (OV) : ที่อยู่ของแฟล็กโอเวอร์โฟลว์คือ D2 เมื่อบิตถูกสร้างขึ้นจากตำแหน่งที่ 6 ไปยังตำแหน่งที่ 7 ดังนั้นแฟล็กล้นจะได้รับผลกระทบ

OV = 0 overflow flag รีเซ็ต
OV = 1 ชุดแฟล็กโอเวอร์โฟลว์

ค่าสถานะล้น

ค่าสถานะล้น

แฟล็กพาริตี (P) : แอดเดรสของแฟล็กพาริตีคือ D0 ในขณะที่ดำเนินการคำนวณทางคณิตศาสตร์หากผลลัพธ์เป็น 1 แฟล็กพาริตีจะถูกตั้งค่ามิฉะนั้นให้รีเซ็ต
RS1 และ RS0
RS1 และ RS0 ซึ่งเป็นบิตในการลงทะเบียน PSW ใช้เพื่อเลือกตำแหน่งหน่วยความจำที่แตกต่างกัน (bank0 ถึง bank4) ใน RAM

ทะเบียนการเลือกธนาคาร

ทะเบียนการเลือกธนาคาร

ต่อไปนี้เป็นตัวอย่างของการใช้รีจิสเตอร์นี้

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการเพิ่มตัวเลขสองตัวจากนั้นการจัดเก็บค่าสุดท้ายในทะเบียน Bank1 โดยใช้โปรแกรมระดับแอสเซมบลี

องค์กร 0000h
MOV PSW, # 00 ชม
MOV A, 15
เพิ่ม A, 20
MOV 00 ชม
สิ้นสุด

โปรแกรมประกอบการย้ายเลขธรรมชาติ 6 ตัวใน bank0 register R0-R5

องค์กร 0000h (การประกาศที่อยู่เริ่มต้น)
MOV PSW, # 00h (เปิดหน่วยความจำ bank0)
MOV r0, # 00h (ที่อยู่เริ่มต้นของหน่วยความจำ bank0)
MOV r1, # 01 ชม
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05 ชม
สิ้นสุด

โปรแกรมประกอบเพื่อย้ายเลขธรรมชาติ 6 ตัวใน bank1 ลงทะเบียน R0-R7

องค์กร 0000h (การประกาศที่อยู่เริ่มต้น)
MOV PSW, # 08h (เปิดหน่วยความจำ bank1)
MOV r0, 00h (ค่าที่ส่งไปยังหน่วยความจำ bank1)
MOV r1, 02 ชม
MOV r2, 02 ชม
MOV r2, 03 ชม
MOV r3, 04 ชม
MOV r4, 05 ชม
MOV r5 06 น
MOV r6 07 ชม
MOV r7, 08 น
สิ้นสุด

การลงทะเบียนฟังก์ชันพิเศษ (SFR)

การลงทะเบียนฟังก์ชันพิเศษคือแรมบน ในไมโครคอนโทรลเลอร์ 8051 . การลงทะเบียนเหล่านี้ประกอบด้วยการลงทะเบียนที่เกี่ยวข้องกับอุปกรณ์ต่อพ่วงทั้งหมดเช่น P0, P1, P2, P3, ตัวจับเวลาหรือตัวนับ, พอร์ตอนุกรมและการลงทะเบียนที่เกี่ยวข้องกับการขัดจังหวะ ที่อยู่หน่วยความจำ SFR เริ่มตั้งแต่ 80h ถึง FFh การลงทะเบียน SFR ดำเนินการโดยการลงทะเบียนบิตแอดเดรสและการลงทะเบียนไบต์แอดเดรส

การลงทะเบียนฟังก์ชันพิเศษ (SFR)


การลงทะเบียนฟังก์ชันพิเศษ (SFR)

ตัวสะสม, ทะเบียน B, Po, P1, P2, P3, IE รีจิสเตอร์เป็นบิตแอดเดรสรีจิสเตอร์ที่เหลือทั้งหมดเป็นรีจิสเตอร์แบบไบต์แอดเดรส

ตัวสะสม

ตัวสะสมซึ่งเรียกอีกอย่างว่า ACC หรือ A เป็นบิตเช่นเดียวกับการลงทะเบียนแบบไบต์ที่สามารถระบุแอดเดรสได้โดยใช้ที่อยู่ของตัวสะสม หากคุณต้องการใช้การลงทะเบียนบิตแอดเดรสคุณสามารถใช้บิตเดียว (E0) ของรีจิสเตอร์และคุณสามารถใช้แอคคูมูเลเตอร์ 8 บิตเป็นรีจิสเตอร์ที่สามารถแอดเดรสแบบไบต์ได้ ตัวสะสมเก็บผลลัพธ์ของการดำเนินการทางคณิตศาสตร์และตรรกะส่วนใหญ่

ลงทะเบียนสะสม

ลงทะเบียนสะสม

โปรแกรม Assembly สำหรับการลบที่ใช้กับ Accumulator

องค์กร 0000h
MOV R0, # 09 ชม
MOV A, # 03h (ข้อมูล 1 ไบต์)
SUBB A, 01h (ข้อมูล 1 ไบต์)
สิ้นสุด

B- ลงทะเบียน

B-register เป็นรีจิสเตอร์แบบบิตและไบต์แอดเดรส คุณสามารถเข้าถึง 1 บิตหรือ 8 บิตทั้งหมดโดยใช้ที่อยู่จริง F0h สมมติว่าจะเข้าถึงบิต 1 เราต้องใช้ f1 ทะเบียน B ใช้สำหรับการคูณและการหารเท่านั้น

B- ลงทะเบียน

B- ลงทะเบียน

โปรแกรม Assembly สำหรับการคูณที่ใช้กับ B-Register

องค์กร 0000h
MOV A, # 09 น
MOV B, # 03 ชม
MUL A, B (ค่าสุดท้ายเก็บไว้ใน A)
สิ้นสุด
โปรแกรม Assembly สำหรับ Division ที่ใช้กับ B-Register
องค์กร 0000h
MOV A, # 09 น
MOV B, # 03 ชม
DIC A, B (ค่าสุดท้ายที่เก็บไว้ใน A)
สิ้นสุด

พอร์ตรีจิสเตอร์

ไมโครคอนโทรลเลอร์ 8051 ประกอบด้วยพอร์ตอินพุตและเอาต์พุต 4 พอร์ต (P0, P1, P2 และ P3) หรือพิน 32-I / O แต่ละพินคือ ออกแบบด้วยทรานซิสเตอร์ และ P ลงทะเบียน การกำหนดค่าพิน มีความสำคัญมากสำหรับไมโครคอนโทรลเลอร์ที่ขึ้นอยู่กับสถานะตรรกะของรีจิสเตอร์ การกำหนดค่าพินเป็นอินพุตที่กำหนดโดย 1 หรือเอาต์พุต 0 ขึ้นอยู่กับสถานะตรรกะ หากใช้ลอจิก 1 กับบิตของรีจิสเตอร์ P ทรานซิสเตอร์เอาต์พุตจะปิดพินที่เหมาะสมซึ่งทำหน้าที่เป็นพินอินพุต

พอร์ตรีจิสเตอร์ของ 8051

พอร์ตรีจิสเตอร์ของ 8051

โปรแกรมประกอบเพื่อสลับ LED ของ Port0

ORG 0000 ชม
ผลตอบแทน: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
ผลตอบแทน SJMP
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
ขวา
สิ้นสุด

เคาน์เตอร์และการลงทะเบียน

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

ไมโครคอนโทรลเลอร์ 8051 ประกอบด้วยตัวจับเวลาและตัวนับ 16 บิตสองตัวเช่นตัวจับเวลา 0 และตัวจับเวลา 1 ตัวจับเวลาทั้งสองประกอบด้วยรีจิสเตอร์ 16 บิตซึ่งไบต์ที่ต่ำกว่าจะถูกเก็บไว้ใน TL และไบต์ที่สูงกว่าจะถูกเก็บไว้ใน TH ตัวจับเวลาสามารถใช้เป็นตัวนับและสำหรับการทำงานของเวลาที่ขึ้นอยู่กับแหล่งที่มาของพัลส์นาฬิกาไปยังเคาน์เตอร์

ตัวนับและตัวจับเวลาในไมโครคอนโทรลเลอร์ 8051 ประกอบด้วยการลงทะเบียนฟังก์ชันพิเศษสองรายการ: TMOD (Timer Mode Register) และ TCON (Timer Control Register) ซึ่งใช้สำหรับเปิดใช้งานและกำหนดค่าตัวจับเวลาและตัวนับ

ประเภทของ Shift Register

Shift register เป็นวงจรลอจิกตามลำดับประเภทหนึ่งที่ส่วนใหญ่ใช้สำหรับการจัดเก็บข้อมูลดิจิทัล shift register คือการลงทะเบียนแบบ bit-addressable ที่เก็บข้อมูลเพียงบิตเดียว ชิฟต์รีจิสเตอร์สร้างขึ้นด้วยฟลิปฟล็อปซึ่งเป็นกลุ่มของฟลิปฟล็อปที่เชื่อมต่อกันเป็นโซ่เพื่อให้เอาต์พุตจากฟลิปฟล็อปหนึ่งตัวกลายเป็นอินพุตของฟลิปฟล็อปถัดไป

รองเท้าแตะทั้งหมดขับเคลื่อนด้วยสัญญาณนาฬิกาที่ใช้งานโดย D-flip-flap การลงทะเบียนกะส่วนใหญ่จะใช้สำหรับ การสื่อสารแบบอนุกรม .

สิ่งเหล่านี้แบ่งออกเป็น 4 ประเภท:

  • อนุกรมใน Serial out (SISO)
  • อนุกรมใน Parallel Out (SIPO)
  • ขนานใน Serial out (PISO)
  • ขนานใน Parallel Out (PIPO)
D- การลงทะเบียน flipflop

D- การลงทะเบียน flipflop

นี่คือรีจิสเตอร์ประเภทต่างๆทั้งหมดในไมโครคอนโทรลเลอร์ 8051 เราหวังว่าเราจะประสบความสำเร็จในการให้เนื้อหาที่เกี่ยวข้องกับโปรแกรมที่เหมาะสมสำหรับการลงทะเบียนแต่ละครั้ง นอกจากนี้หากต้องการความช่วยเหลือในการทราบการเข้ารหัสของการลงทะเบียนอื่น ๆ คุณสามารถติดต่อเราได้โดยการแสดงความคิดเห็นด้านล่าง

เครดิตภาพ: