ไมโครคอนโทรลเลอร์ 8051 ยังคงเป็นหนึ่งในคอนโทรลเลอร์ฝังตัวที่ได้รับการยอมรับอย่างกว้างขวางและเป็นพื้นฐานที่สุดในอุปกรณ์อิเล็กทรอนิกส์ดิจิทัล บทความนี้จะกล่าวถึงรายละเอียดพินเอาต์ของไมโครคอนโทรลเลอร์ 8051 สถาปัตยกรรมภายใน คําอธิบายบล็อกไดอะแกรม ข้อมูลจําเพาะ การใช้งาน การเปรียบเทียบกับไมโครโปรเซสเซอร์ 8085 และอื่นๆ อีกมากมาย
ค 1. 8051 ไมโครคอนโทรลเลอร์พื้นฐาน
ค 2. 8051 รายละเอียด Pinout ของไมโครคอนโทรลเลอร์
ค 3. สถาปัตยกรรมของไมโครคอนโทรลเลอร์ 8051
ค 4. วิธีเชื่อมต่อ LED กับไมโครคอนโทรลเลอร์ 8051
ค 5. ข้อมูลจําเพาะของไมโครคอนโทรลเลอร์ 8051
ค 6. การประยุกต์ใช้ไมโครคอนโทรลเลอร์ 8051
ค 7. ไมโครคอนโทรลเลอร์ 8051 เทียบกับไมโครโปรเซสเซอร์ 8085
ค 8. 8051 ข้อดีและข้อจํากัด
ค 9. สรุป
ค 10. คําถามที่พบบ่อย [FAQ]

8051 ไมโครคอนโทรลเลอร์พื้นฐาน
ไมโครคอนโทรลเลอร์ 8051 เป็นตัวควบคุมระบบฝังตัว 8 บิตที่พัฒนาโดย Intel ซึ่งรวมโปรเซสเซอร์หน่วยความจําพอร์ตอินพุต / เอาต์พุตตัวจับเวลาและอินเทอร์เฟซการสื่อสารไว้ในชิปตัวเดียว ออกแบบมาเพื่อควบคุมอุปกรณ์อิเล็กทรอนิกส์โดยดําเนินการตามคําสั่งที่ตั้งโปรแกรมไว้และโต้ตอบโดยตรงกับส่วนประกอบฮาร์ดแวร์ ซึ่งแตกต่างจากโปรเซสเซอร์คอมพิวเตอร์เอนกประสงค์ 8051 ถูกสร้างขึ้นโดยเฉพาะสําหรับงานควบคุมเฉพาะ เช่น การอ่านเซ็นเซอร์ จอแสดงผลการขับขี่ การจัดการมอเตอร์ การจัดการสัญญาณการสื่อสาร และการดําเนินการตามกําหนดเวลา จุดประสงค์คือเพื่อทําหน้าที่เป็น "สมอง" ของระบบฝังตัว ทําให้สามารถควบคุมและตัดสินใจอัตโนมัติภายในการออกแบบอิเล็กทรอนิกส์ขนาดกะทัดรัดและคุ้มค่า
8051 รายละเอียด Pinout ของไมโครคอนโทรลเลอร์

| หมายเลขพิน | ชื่อพิน | ประเภท | คําอธิบาย | ||
|---|---|---|---|---|---|
| 1 – 8 | 1 – 8 | P1.0 – P1.7 | ป.1.7 พอร์ต I/O (พอร์ต 1) | พอร์ต I/O แบบสองทิศทาง 8 บิตเอนกประสงค์ ไม่มีฟังก์ชันอื่นใน 8051 พื้นฐาน | |
| 9 | RST | รีเซ็ต | อินพุตรีเซ็ตสูงที่ใช้งานอยู่ พัลส์สูงจะรีเซ็ตไมโครคอนโทรลเลอร์ | ||
| 10 – 17 | 10 – 17 | 10 – 17 น. P3.0 – P3.7 | ป.3.7 พอร์ต I/O (พอร์ต 3) | พอร์ตสองฟังก์ชั่น รวมถึง RXD, TXD, INT0, INT1, T0, T1, WR, RD | |
| 18 | XTAL2 | เอ็กซ์ทัล 2 นาฬิกา | เอาต์พุตจากออสซิลเลเตอร์ภายใน amp ชีวิต. | ||
| 19 | XTAL1 | XTAL1 | ประเทศไทย นาฬิกา | อินพุตไปยังออสซิลเลเตอร์ภายในและเครื่องกําเนิดสัญญาณนาฬิกา | |
| 20 | จีเอ็นดี | พลังงาน | การอ้างอิงกราวด์ (0V) | ||
| 21 – 28 | 21 – 28 | 28 น. P2.0 – P2.7 | 2.0 มิถุนายน I/O / ที่อยู่บัส | I/O ทั่วไปหรือบัสแอดเดรสลําดับสูง (A8–A15) เมื่อใช้หน่วยความจําภายนอก | |
| 29 | 29 | PSEN | การควบคุม | เปิดใช้งานที่เก็บโปรแกรม ใช้เพื่ออ่านหน่วยความจําโปรแกรมภายนอก | |
| 30 | ALE/PROG | การควบคุม | เปิดใช้งานสลักที่อยู่ แยกที่อยู่/ข้อมูลในการเชื่อมต่อหน่วยความจําภายนอก | ||
| 31 | EA/VPP | อีเอ/VPP การควบคุม | เปิดใช้งานการเข้าถึงภายนอก เลือกหน่วยความจําโปรแกรมภายในหรือภายนอก | ||
| 32 – 39 | 32 – 39 | 32 – 39 | P0.0 – P0.7 | ป 0.0 I/O / แอดเดรส/บัสข้อมูล | บัสแอดเดรส/ข้อมูลลําดับต่ําแบบมัลติเพล็กซ์ (AD0–AD7) หรือ I/O เอนกประสงค์ |
| 40 | บัตรเครดิต VCC | พลังงาน | อินพุตแหล่งจ่ายไฟ +5V |
สถาปัตยกรรมของไมโครคอนโทรลเลอร์ 8051

ด้านล่างนี้คือบล็อกสถาปัตยกรรมหลักของ 8051 และวิธีการทํางานของแต่ละบล็อก
หน่วยประมวลผลกลาง (CPU)
CPU เป็นแกนหลักของไมโครคอนโทรลเลอร์ 8051 และมีหน้าที่ดําเนินการตามคําสั่งดําเนินการทางคณิตศาสตร์และตรรกะและประสานงานกิจกรรมภายในทั้งหมด ประกอบด้วย Arithmetic Logic Unit (ALU), ตัวสะสม, รีจิสเตอร์ B, คําสถานะโปรแกรม (PSW), ตัวนับโปรแกรม (PC), ตัวชี้ข้อมูล (DPTR) และตัวชี้สแต็ก (SP) CPU ประมวลผลข้อมูล 8 บิตและควบคุมการถอดรหัสคําสั่ง เวลา และการไหลของข้อมูลระหว่างหน่วยความจําและอุปกรณ์ต่อพ่วง ทุกการดําเนินการที่ดําเนินการโดยไมโครคอนโทรลเลอร์ได้รับการจัดการผ่านหน่วยประมวลผลกลางนี้
หน่วยความจําโปรแกรม (หน่วยความจํารหัส)
หน่วยความจําของโปรแกรมเก็บคําสั่งที่ไมโครคอนโทรลเลอร์ดําเนินการ ใน 8051 แบบคลาสสิก โดยทั่วไปจะมี ROM ภายใน 4 KB ซึ่งยังคงรักษาคําสั่งที่เก็บไว้แม้ว่าจะถอดพลังงานออกก็ตาม สถาปัตยกรรมยังช่วยให้สามารถขยายหน่วยความจําโปรแกรมภายนอกได้สูงสุด 64 KB เนื่องจาก 8051 เป็นไปตามสถาปัตยกรรมของฮาร์วาร์ด หน่วยความจําโปรแกรมจึงแยกออกจากหน่วยความจําข้อมูล เพื่อให้มั่นใจได้ถึงการดําเนินการคําสั่งที่เป็นระเบียบและประสิทธิภาพที่ดีขึ้น
หน่วยความจําข้อมูล (RAM)
หน่วยความจําข้อมูลใช้สําหรับการจัดเก็บชั่วคราวระหว่างการเรียกใช้โปรแกรม มาตรฐาน 8051 ประกอบด้วย RAM ภายใน 128 ไบต์ ซึ่งแบ่งออกเป็นธนาคารลงทะเบียน หน่วยความจําแอดเดรสบิต RAM เอนกประสงค์ และพื้นที่สแต็ก หน่วยความจํานี้เก็บตัวแปร ผลลัพธ์ระดับกลาง และข้อมูลการดําเนินงานในขณะที่โปรแกรมทํางาน หน่วยความจําข้อมูลภายนอกยังสามารถขยายได้ถึง 64 KB หากจําเป็นสําหรับแอปพลิเคชันขนาดใหญ่
พอร์ตอินพุต/เอาต์พุต (I/O)
8051 ประกอบด้วยพอร์ต I/O แบบขนาน 8 บิตสี่พอร์ต: พอร์ต 0, พอร์ต 1, พอร์ต 2 และพอร์ต 3 พอร์ตเหล่านี้ช่วยให้ไมโครคอนโทรลเลอร์สามารถเชื่อมต่อกับอุปกรณ์ภายนอกได้โดยตรง เช่น เซ็นเซอร์ จอแสดงผล สวิตช์ และมอเตอร์ พอร์ตบางพอร์ตยังมีฟังก์ชันสํารอง ตัวอย่างเช่น พอร์ต 0 และพอร์ต 2 สามารถทําหน้าที่เป็นบัสที่อยู่และข้อมูลสําหรับการเข้าถึงหน่วยความจําภายนอก ในขณะที่พอร์ต 3 มีฟังก์ชันพิเศษ เช่น การสื่อสารแบบอนุกรมและการขัดจังหวะภายนอก การออกแบบพอร์ตที่ยืดหยุ่นนี้ทําให้ 8051 เหมาะสําหรับการใช้งานการเชื่อมต่อฮาร์ดแวร์ต่างๆ
ตัวจับเวลา/เคาน์เตอร์
8051 มีตัวจับเวลา/ตัวนับ 16 บิตสองตัว: ตัวจับเวลา 0 และตัวจับเวลา 1 ตัวจับเวลาเหล่านี้ใช้เพื่อสร้างการหน่วงเวลา วัดช่วงเวลา นับเหตุการณ์ภายนอก และสร้างอัตราบอดสําหรับการสื่อสารแบบอนุกรม ปรับปรุงประสิทธิภาพของระบบโดยการจัดการการดําเนินการจับเวลาในฮาร์ดแวร์ทําให้ CPU สามารถทํางานอื่น ๆ ได้พร้อมกัน
ระบบควบคุมการขัดจังหวะ
ระบบขัดจังหวะช่วยให้ 8051 หยุดงานปัจจุบันชั่วคราวเพื่อตอบสนองต่อเหตุการณ์ที่มีลําดับความสําคัญสูงกว่า ไมโครคอนโทรลเลอร์รองรับแหล่งสัญญาณขัดจังหวะห้าแหล่ง รวมถึงการขัดจังหวะภายนอกสองตัว การขัดจังหวะตัวจับเวลาสองครั้ง และการขัดจังหวะการสื่อสารแบบอนุกรมหนึ่งแหล่ง เมื่อเกิดการขัดจังหวะ CPU จะข้ามไปยังรูทีนเซอร์วิสที่กําหนดไว้ล่วงหน้าโดยอัตโนมัติ และกลับมาทํางานต่อโปรแกรมหลักหลังจากเสร็จสิ้น คุณสมบัตินี้ช่วยเพิ่มการตอบสนองในแอปพลิเคชันแบบเรียลไทม์
อินเทอร์เฟซการสื่อสารแบบอนุกรม
8051 มี UART แบบฟูลดูเพล็กซ์ในตัว (Universal Asynchronous Receiver/Transmitter) สําหรับการสื่อสารข้อมูลแบบอนุกรม ช่วยให้ไมโครคอนโทรลเลอร์สามารถส่งและรับข้อมูลผ่านพิน TXD และ RXD เฉพาะ คุณลักษณะนี้ใช้กันอย่างแพร่หลายสําหรับการสื่อสารกับคอมพิวเตอร์ โมดูลการสื่อสาร และไมโครคอนโทรลเลอร์อื่นๆ
ออสซิลเลเตอร์และวงจรนาฬิกา
วงจรออสซิลเลเตอร์ให้สัญญาณนาฬิกาที่จําเป็นสําหรับการดําเนินการคําสั่งและการทํางานต่อพ่วง 8051 ใช้การเชื่อมต่อคริสตัลภายนอกผ่านพิน XTAL1 และ XTAL2 เพื่อสร้างพัลส์สัญญาณนาฬิกาที่เสถียร พัลส์นาฬิกาเหล่านี้จะซิงโครไนซ์การดําเนินการภายในทั้งหมดและกําหนดความเร็วในการดําเนินการคําสั่ง
ระบบบัสภายใน
ระบบบัสภายในเชื่อมต่อ CPU หน่วยความจํา และอุปกรณ์ต่อพ่วงภายในไมโครคอนโทรลเลอร์ ประกอบด้วยบัสข้อมูล 8 บิต บัสแอดเดรส 16 บิต และสัญญาณควบคุม บัสข้อมูลถ่ายโอนข้อมูล บัสแอดเดรสจะเลือกตําแหน่งหน่วยความจํา และสายควบคุมจัดการการดําเนินการอ่าน/เขียน โครงสร้างบัสที่เป็นระเบียบนี้ช่วยให้มั่นใจได้ถึงการสื่อสารที่ราบรื่นระหว่างส่วนประกอบภายใน
วิธีเชื่อมต่อ LED กับไมโครคอนโทรลเลอร์ 8051
แผนภาพด้านล่างแสดงวงจรเชื่อมต่อ LED พื้นฐานกับไมโครคอนโทรลเลอร์ 8051 หนึ่งในพิน I/O เอนกประสงค์ (P1.0) ใช้เพื่อควบคุม LED ผ่านตัวต้านทานจํากัดกระแส 220Ω ตัวต้านทานปกป้อง LED จากกระแสไฟที่มากเกินไป และป้องกันความเสียหายต่อทั้ง LED และพินไมโครคอนโทรลเลอร์ เมื่อตั้งค่าพินเอาต์พุต P1.0 ไว้สูง (ลอจิก 1) กระแสจะไหลจากไมโครคอนโทรลเลอร์ผ่านตัวต้านทานและ LED ลงกราวด์ ทําให้ไฟ LED เรืองแสง เมื่อพินถูกตั้งค่า LOW (ลอจิก 0) การไหลของกระแสจะหยุดลงและไฟ LED จะดับลง สิ่งนี้แสดงให้เห็นถึงการควบคุมเอาต์พุตดิจิตอลอย่างง่ายโดยใช้ 8051

วงจรนี้ยังมีส่วนประกอบสนับสนุนที่จําเป็นสําหรับการทํางานของไมโครคอนโทรลเลอร์ที่เหมาะสม วงจรรีเซ็ตที่ประกอบด้วยตัวเก็บประจุ (10μF) และตัวต้านทานช่วยให้มั่นใจได้ว่า 8051 เริ่มทํางานอย่างถูกต้องเมื่อเปิดเครื่อง คริสตัลออสซิลเลเตอร์ (11.0592 MHz) พร้อมตัวเก็บประจุ 33pF สองตัวให้สัญญาณนาฬิกาที่จําเป็นสําหรับการดําเนินการคําสั่ง ตัวต้านทานแบบดึงขึ้นที่เชื่อมต่อกับพอร์ต 0 ช่วยให้มั่นใจได้ถึงระดับลอจิกที่เสถียรเมื่อใช้เป็นสาย I/O ส่วนประกอบเหล่านี้ร่วมกันสร้างการตั้งค่าการเชื่อมต่อ LED ที่สมบูรณ์และใช้งานได้โดยใช้ไมโครคอนโทรลเลอร์ 8051
ข้อมูลจําเพาะของไมโครคอนโทรลเลอร์ 8051
| หมวดหมู่ | ข้อมูลจําเพาะ | รายละเอียด | |
|---|---|---|---|
| สถาปัตยกรรม CPU | CPU 8 บิต | ประมวลผลข้อมูล 8 บิต รวม Accumulator (A) และ B register | |
| หน่วยความจําโปรแกรม | รอมภายใน | แฟลช 8 KB (รุ่น 8051 ที่ได้รับการปรับปรุงทั่วไป); หน่วยความจําภายนอกขยายได้สูงสุด 64 KB | Uka AG |
| หน่วยความจําข้อมูล | RAM ภายใน | รวม 256 ไบต์ (RAM ทั่วไป 128 ไบต์ + พื้นที่ SFR 128 ไบต์) | |
| RAM ทั่วไป (00H–7FH) | 128 ไบต์ | ประกอบด้วย 4 รีจิสเตอร์แบงค์ (R0–R7) พื้นที่แอดเดรสบิต และ RAM เอนกประสงค์ | |
| รีจิสเตอร์ฟังก์ชันพิเศษ (80H–FFH) | MISUMI 128 ไบต์ | ควบคุมตัวจับเวลา พอร์ตอนุกรม พอร์ต I/O ขัดจังหวะ และฟังก์ชันระบบ | MISUMI ประเทศไทย |
| ลงทะเบียนธนาคาร | 4 ธนาคาร | แต่ละธนาคารมีเครื่องลงทะเบียนเอนกประสงค์ 8 เครื่อง (R0–R7) | |
| ตัวชี้สแต็ค (SP) | 8 บิต | ชี้ไปยังตําแหน่งสแต็กใน RAM | |
| ตัวนับโปรแกรม (PC) | 16 บิต | เก็บที่อยู่ของคําสั่งถัดไป | |
| ตัวชี้ข้อมูล (DPTR) | 16 บิต | ใช้สําหรับการกําหนดแอดเดรสหน่วยความจําภายนอก (DPH & DPL) | |
| พอร์ต I/O | 32 พิน I/O | จัดเป็น 4 พอร์ต: P0, P1, P2, P3 (พอร์ตละ 8 บิต) | |
| ตัวจับเวลา/ตัวนับ | 2 × 16 บิต | ตัวจับเวลา 0 และตัวจับเวลา 1 สําหรับการสร้างความล่าช้าและการนับเหตุการณ์ | มิซูมิ |
| การขัดจังหวะ | 5 แหล่งที่มาของการขัดจังหวะ | 2 ภายนอก (INT0, INT1) + 3 ภายใน (Timer0, Timer1, Serial) | |
| การสื่อสารแบบอนุกรม | UART ฟูลดูเพล็กซ์ | UART แยกสาย Tx (ส่ง) และ Rx (รับ) | |
| ออสซิลเลเตอร์ | วงจรออสซิลเลเตอร์บนชิป | ต้องใช้คริสตัลภายนอกสําหรับการสร้างนาฬิกา | |
| ที่อยู่ รถบัส | 16 บิต | รองรับหน่วยความจําภายนอกสูงสุด 64 KB | |
| บัสข้อมูล | 8 บิต | ถ่ายโอนข้อมูลทั้งภายในและภายนอก | Synus Thailand |
| รีจิสเตอร์ควบคุม | หลายรายการ | รวมถึง PCON, SCON, TMOD, TCON, IE, IP และอื่นๆ | |
| โหมดการทํางาน | สถาปัตยกรรมฮาร์วาร์ด | แยกพื้นที่หน่วยความจําโปรแกรมและข้อมูล |
การประยุกต์ใช้ไมโครคอนโทรลเลอร์ 8051
• ระบบอัตโนมัติทางอุตสาหกรรม - ไมโครคอนโทรลเลอร์ 8051 ใช้เพื่อควบคุมมอเตอร์ รีเลย์ และเซ็นเซอร์ในสายการผลิตอัตโนมัติและระบบควบคุมเครื่องจักร
• เครื่องใช้ในบ้าน - จัดการเวลา การควบคุมอุณหภูมิ และการประมวลผลการป้อนข้อมูลของผู้ใช้ในอุปกรณ์ต่างๆ เช่น เครื่องซักผ้าและเตาไมโครเวฟ
• ระบบควบคุมแบบฝังตัว - ไมโครคอนโทรลเลอร์ 8051 ทําหน้าที่เป็นตัวควบคุมหลักในแอปพลิเคชันฝังตัวเฉพาะที่ต้องการการทํางานที่เสถียรและคาดเดาได้
• โครงการหุ่นยนต์ - อ่านข้อมูลเซ็นเซอร์และควบคุมแอคชูเอเตอร์ ทําให้เหมาะสําหรับโครงการหุ่นยนต์และระบบอัตโนมัติขนาดเล็ก
• เครื่องใช้ไฟฟ้า - ไมโครคอนโทรลเลอร์ 8051 มักรวมอยู่ในของเล่นอิเล็กทรอนิกส์ รีโมทคอนโทรล และนาฬิกาดิจิตอลสําหรับการควบคุมสัญญาณและการประมวลผลตรรกะ
• ระบบสื่อสาร - รองรับการสื่อสารแบบอนุกรมสําหรับการเชื่อมต่อกับคอมพิวเตอร์ โมดูลการสื่อสาร และไมโครคอนโทรลเลอร์อื่นๆ
•เครื่องมือแพทย์ - ไมโครคอนโทรลเลอร์ 8051 ใช้ในการตรวจสอบอย่างง่ายและอุปกรณ์วินิจฉัยที่ใช้พลังงานต่ํา
• การใช้งานยานยนต์ - จัดการฟังก์ชันการควบคุมพื้นฐาน เช่น การจัดการการแสดงผลและการตรวจสอบเซ็นเซอร์ในยานพาหนะ
• ระบบรักษาความปลอดภัย - ไมโครคอนโทรลเลอร์ 8051 ใช้ในระบบเตือนภัย ล็อคแบบปุ่มกด และอุปกรณ์ควบคุมการเข้าออก
•โครงการการศึกษาและการฝึกอบรม - มีการใช้กันอย่างแพร่หลายในห้องปฏิบัติการทางวิชาการเพื่อสอนการเขียนโปรแกรมไมโครคอนโทรลเลอร์และพื้นฐานการออกแบบระบบฝังตัว
ไมโครคอนโทรลเลอร์ 8051 เทียบกับไมโครโปรเซสเซอร์ 8085
| คุณสมบัติ | 8051 ไมโครคอนโทรลเลอร์ | ไมโครโปรเซสเซอร์ 8085 | |
|---|---|---|---|
| ประเภท | ไมโครคอนโทรลเลอร์ | ไมโครโปรเซสเซอร์ | |
| สถาปัตยกรรม | สถาปัตยกรรมฮาร์วาร์ด (รหัสและหน่วยความจําข้อมูลแยกต่างหาก) | สถาปัตยกรรม Von Neumann (หน่วยความจําที่ใช้ร่วมกันสําหรับโค้ดและข้อมูล) | |
| ความกว้างของข้อมูล | 8 บิต | 8 บิต | |
| ซีพียู | CPU 8 บิตในตัวพร้อมอุปกรณ์ต่อพ่วงบนชิป CPU 8 บิตเท่านั้น (ไม่มีอุปกรณ์ต่อพ่วงในตัว) | ||
| หน่วยความจําโปรแกรม | โดยทั่วไป ROM ภายใน 4KB–8KB (ขยายได้ถึง 64KB ภายนอก) | ไม่มี ROM ภายใน (ต้องใช้หน่วยความจําภายนอก) | |
| หน่วยความจําข้อมูล | RAM ภายใน 128–256 ไบต์ (ขยายได้) | ไม่มี RAM ภายใน (ต้องใช้ RAM ภายนอก) | |
| พอร์ต I/O | 32 สาย I/O ในตัว (4 พอร์ต) | ไม่มีพอร์ตเชื่อมต่อ I/O ในตัว (ต้องใช้ชิปเชื่อมต่อภายนอก) | MISUMI AG |
| ตัวจับเวลา/ตัวนับ | ตัวจับเวลา 2 × 16 บิต | ไม่มีตัวจับเวลาภายใน (ต้องใช้ตัวจับเวลาภายนอก) | |
| การขัดจังหวะ | 5 แหล่งที่มาของการขัดจังหวะ | อินพุตขัดจังหวะ 5 ช่อง (TRAP, RST 7.5, 6.5, 5.5, INTR) | |
| การสื่อสารแบบอนุกรม | UART ฟูลดูเพล็กซ์ในตัว ไม่มีพอร์ตอนุกรมในตัว | ||
| ออสซิลเลเตอร์ | วงจรออสซิลเลเตอร์บนชิป | ต้องใช้เครื่องกําเนิดสัญญาณนาฬิกาภายนอก | |
| กอง | สแต็กภายในภายใน RAM | สแต็กที่จัดการใน RAM ภายนอก | Stack |
| ที่อยู่ รถบัส | 16 บิต (รองรับหน่วยความจําภายนอกสูงสุด 64KB) | 16 บิต (รองรับหน่วยความจําสูงสุด 64KB) | |
| บัสข้อมูล | 8 บิต | 8 บิต | |
| การบูรณาการอุปกรณ์ต่อพ่วง | บูรณาการสูง (ตัวจับเวลา, อนุกรม, I/O, ขัดจังหวะ) | การผสานรวมน้อยที่สุด (CPU เท่านั้น) | |
| ส่วนประกอบภายนอกที่จําเป็น | ส่วนประกอบภายนอกน้อยลง | ต้องใช้ไอซีสนับสนุนภายนอกหลายตัว | |
| การใช้พลังงาน | ต่ํา | สูงกว่าเมื่อเทียบกับระบบที่ใช้ไมโครคอนโทรลเลอร์ | |
| จุดเน้นการใช้งาน | ระบบฝังตัวและแอพพลิเคชั่นควบคุม | Synology Inc. คอมพิวเตอร์เอนกประสงค์และการพัฒนาระบบ | Synology Inc. |
| ความซับซ้อน | การออกแบบระบบที่เรียบง่ายและกะทัดรัด การออกแบบระบบที่ซับซ้อนมากขึ้น | ||
| ค่าใช้จ่าย | ลดต้นทุนระบบโดยรวม | Syntu ต้นทุนระบบที่สูงขึ้นเนื่องจากส่วนประกอบภายนอก | |
| กรณีการใช้งานทั่วไป | เครื่องใช้ในบ้าน, หุ่นยนต์, ระบบอัตโนมัติ, อุปกรณ์ฝังตัว | ระบบคอมพิวเตอร์ยุคแรก ชุดฝึกอบรม ระบบที่ใช้โปรเซสเซอร์ | |
| ปีที่เปิดตัว | 1980 (โดย Intel) | 1976 (โดย Intel) |
8051 ข้อดีและข้อจํากัด
8051 ข้อดี
• สถาปัตยกรรมที่เรียบง่ายและเข้าใจง่าย
• CPU, RAM, ROM, ตัวจับเวลา และพอร์ต I/O ในตัวบนชิปตัวเดียว
•ต้นทุนต่ําและแพร่หลาย
• ใช้พลังงานต่ํา
•การสนับสนุนการสื่อสารแบบอนุกรมในตัว
•แหล่งขัดจังหวะหลายแหล่งสําหรับการใช้งานแบบเรียลไทม์
•รองรับหน่วยความจําภายนอกที่ขยายได้ (สูงสุด 64KB)
• ระบบนิเวศขนาดใหญ่ของเครื่องมือพัฒนาและทรัพยากรการเรียนรู้
•มีเสถียรภาพและเชื่อถือได้สําหรับงานควบคุมแบบฝังตัว
8051 ข้อจํากัด
• RAM ภายในและหน่วยความจําโปรแกรม จํากัด
•การประมวลผล 8 บิต จํากัด ความสามารถในการคํานวณ
• ความเร็วในการประมวลผลที่ต่ํากว่าเมื่อเทียบกับไมโครคอนโทรลเลอร์ที่ทันสมัย
•ไม่มี ADC หรือ DAC ในตัวในรุ่นพื้นฐาน
• อุปกรณ์ต่อพ่วงที่จํากัดเมื่อเทียบกับ MCU ขั้นสูง (เช่น ARM, AVR)
• ต้องใช้ส่วนประกอบภายนอกสําหรับการใช้งานที่ซับซ้อน
• ไม่เหมาะสําหรับระบบประสิทธิภาพสูงหรือใช้ข้อมูลมาก
• สถาปัตยกรรมที่ล้าสมัยเมื่อเทียบกับคอนโทรลเลอร์ 32 บิตที่ทันสมัย
สรุป
ด้วยสถาปัตยกรรมฮาร์วาร์ดของไมโครคอนโทรลเลอร์ 8051, CPU ในตัว, โครงสร้างหน่วยความจําที่เป็นระเบียบ, พอร์ต I/O ที่ตั้งโปรแกรมได้, ตัวจับเวลา, ระบบขัดจังหวะ และการสนับสนุนการสื่อสารแบบอนุกรม จึงเป็นโซลูชันที่สมบูรณ์และมีประสิทธิภาพสําหรับแอปพลิเคชันควบคุมเฉพาะ แม้ว่าไมโครคอนโทรลเลอร์สมัยใหม่จะให้ประสิทธิภาพที่สูงขึ้นและอุปกรณ์ต่อพ่วงที่ล้ําหน้ากว่า แต่ 8051 ยังคงมีค่าเนื่องจากความเรียบง่ายต้นทุนต่ําความน่าเชื่อถือและความสําคัญทางการศึกษาที่แข็งแกร่ง
คําถามที่พบบ่อย [FAQ]
ไตรมาสที่ 1 ภาษาโปรแกรมใดที่ใช้สําหรับไมโครคอนโทรลเลอร์ 8051
โดยทั่วไปแล้ว 8051 จะถูกตั้งโปรแกรมในภาษา Embedded C และ Assembly Embedded C ถูกนํามาใช้กันอย่างแพร่หลายเนื่องจากการดีบักและการพกพาที่ง่ายขึ้นในขณะที่ Assembly ให้การควบคุมระดับฮาร์ดแวร์ที่แม่นยํา
ไตรมาสที่ 2 เครื่องมือซอฟต์แวร์ใดดีที่สุดสําหรับการเขียนโปรแกรม 8051
เครื่องมือยอดนิยม ได้แก่ Keil μVision, Proteus (สําหรับการจําลอง) และ SDCC (คอมไพเลอร์ C อุปกรณ์ขนาดเล็ก) Keil เป็นสภาพแวดล้อมการพัฒนาวิชาชีพที่ใช้กันอย่างแพร่หลายมากที่สุด
ไตรมาสที่ 3 ความถี่สัญญาณนาฬิกาสูงสุดของ 8051 คือเท่าไร?
โดยทั่วไปแล้ว 8051 แบบคลาสสิกจะทํางานได้ถึง 12 MHz ในขณะที่รุ่นที่ได้รับการปรับปรุงที่ทันสมัยสามารถทํางานด้วยความเร็วที่สูงขึ้นมากขึ้นอยู่กับผู้ผลิต
ไตรมาสที่ 4 8051 สามารถเชื่อมต่อกับเซ็นเซอร์และโมดูลที่ทันสมัยได้หรือไม่?
ใช่ 8051 สามารถเชื่อมต่อกับเซ็นเซอร์ที่ทันสมัยโดยใช้ I/O แบบดิจิทัล, UART, SPI (ผ่านซอฟต์แวร์) และ I2C (บิตกระแทกหรือไอซีภายนอก) แม้ว่าอาจต้องใช้ส่วนประกอบการเชื่อมต่อเพิ่มเติม
ไตรมาสที่ 5 8051 ขับเคลื่อนอย่างไร และแรงดันไฟฟ้าในการทํางานคืออะไร?
มาตรฐาน 8051 ทํางานที่ +5V อย่างไรก็ตาม อนุพันธ์สมัยใหม่บางชนิดรองรับแรงดันไฟฟ้าที่ต่ํากว่า เช่น 3.3V สําหรับการใช้งานที่ใช้พลังงานต่ํา
ไตรมาสที่ 6 ตัวแปรตระกูล 8051 ทั่วไปที่มีอยู่ในปัจจุบันมีอะไรบ้าง?
ตัวแปรยอดนิยม ได้แก่ AT89C51, AT89S52 และไมโครคอนโทรลเลอร์ที่เข้ากันได้กับ 8051 ที่ได้รับการปรับปรุงอื่นๆ จากผู้ผลิตหลายรายที่ให้หน่วยความจําและคุณสมบัติเพิ่มเติม
ไตรมาสที่ 7 8051 แตกต่างจากไมโครคอนโทรลเลอร์สมัยใหม่อย่าง ARM Cortex-M อย่างไร
8051 เป็นคอนโทรลเลอร์ 8 บิตที่ออกแบบมาสําหรับงานควบคุมอย่างง่ายในขณะที่อุปกรณ์ ARM Cortex-M เป็นโปรเซสเซอร์ 32 บิตที่มีความเร็วสูงกว่าอุปกรณ์ต่อพ่วงขั้นสูงและความจุหน่วยความจําที่มากขึ้น