ค้นหาบล็อกนี้

Snap Shots

Get Free Shots from Snap.com

Build Your Own Microcontroller Projects

Build Your Own Microcontroller Projects
MCU Projec Thai

วันอังคารที่ 6 เมษายน พ.ศ. 2553

การจัดหน่วยความจำของไมโครคอนโทรลเลอร์ MCS-51

หน่วยความจำของไมโครคอนโทรลเลอร์ MCS-51 มีการแบ่งเป็น 3 กลุ่มด้วยกันคือ

1. หน่วยความจำสำหรับเก็บโปรแกรม (Program Memory) หรือ Code Memory

2. หน่วยความจำสำหรับเก็บข่อมูล (Data Memory)

3. รีจิสเตอร์ที่ทำหน้าที่เฉพาะ (Special Function)

1.หน่วยความจำสำหรับเก็บโปรแกรม (Program Memory) หรือ (Code Memory)

ทำหน้าที่เช่นเดียวกับรอม (ROM) ทำหน้าที่เก็บชุดคำสั่งเพื่อให้ไมโครคอนโทรลเลอร์ทำตามชุดคำสั่งนั้น ๆ โดยไอซีไมโครคอนโทรลเลอร์เบอร์ AT89C1051,AT89C2051 และ AT89C4051 จะมีหน่วยความจำเก็บโปรแกรมได้ 1Kbytes,2Kbytes และ 4Kbytes ตามลำดับโดยหน่วยความจำนั้นจะเป็นลักษณะแบบแฟลช ซึ่งมีคุณสมบัติในการลบข้อมูลด้วยไฟฟ้า และโปรแกรมให้ไมโครคอนโทรลเลอร์มากกว่า 1000 ครั้ง



2.หน่วยความจำสำหรับเก็บข้อมูล (Data Memory)

ทำหน้าที่เก็บข้อมูล โดยข้อมูลอาจเป้นค่าหลังจากที่ไมโครคอนโทรลเลอร์ประมวลผลเสร็จเรียบร้อยแล้วหรือเก็บค่าของข้อมูลที่ไมโครคอนโทรลเลอร์ประมวลผลขณะนั้น และจะทำหน้าที่เป้น สแตก (Stack)

ตารางตำแหน่งแอดเดรสของหน่วยความจำภายใน (Internal Data Memory)

วันจันทร์ที่ 5 เมษายน พ.ศ. 2553

บทบาทของไมโครคอนโทรลเลอร์ในปัจจุบัน

การประยุกต์ใช้งานไมโครคอนโทรลเลอร์ที่พบเจอในชีวิตประจำวันของเรานั้น มันจะถูกปกปิดหรือซ่อนไว้ภายในอุปกรณ์ไฟฟ้าต่าง ๆ อย่างเช่น เครื่องซักผ้าอัตโนมัติ เครื่องเล่น MP3 แบบพกพา ระบบแสดงผลในรถยนต์ โทรศัพท์มือถือ และอื่น ๆ เนื่องจากความยืดหยุ่นของไมโครคอนโทรลเลอร์ (Microcontroller) ที่สามารถปรับปรุงการทำงานได้ตามต้องการด้วยการเขียนโปรแกรม และเป็นชิพไอซี(IC) ขนาดเล็กที่ได้บรรจุความสามารถในการเชื่อมต่อกับอุปกรณ์ภายนอกไว้อย่างมากมาย ส่งผลให้การออกแบบสร้างวงจรควบคุมขนาดเล็กลงมากกว่าวงจรอิเล็กทรอนิกส์ (Electronic circuit) ทั่ว ๆ ไป ทำให้มีความสะดวกต่อการประยุกต์ใช้งานเป็นอย่างมาก ตัวอย่างในการนำไมโครคอนโทรลเลอร์ไปใช้งาน



สถาปัตยกรรมแบบ RISC


สถาปัตยกรรมแบบ RISC ซีพียู(CPU) ต้องประมวลผลชุดคำสั่งด้วยเวลาหรือไซเคิลที่แน่นอน เพียง 1 ไซเคิลต่อคำสั่งเท่านั้น และลดจำนวนคำสั่งให้เหลือเพียงชุดคำสั่งพื้นฐานที่สำคัญ อีกทั้งสร้างรูปแบบกระบวณการถอดรหัสชุดคำสั่งโดยใช้หลักการทำงานส่งผ่านชุดคำสั่งแบบไปป์ไลน์ (Pipeline) จึงนับว่าสถาปัตยกรรมที่ได้นั้น สามารถแก้ปัญหาในเรื่องความเร็วในการประมวลผลและความซับซ้อนของสถาปัตยกรรมแบบ CISC ได้ โดยที่ RISC จะใช้รูปแบบการประมวลผลข้อมูลง่าย ๆ แต่ไปเน้นการพัฒนาประสิทธิภาพของฮาร์แวร์ให้มีความเร็วสูงขึ้น ดังนั้นการออกแบบซีพียู (CPU) ไม่ซับซ้อนเหมือนอย่าง CISC จึงง่ายต่อการพัฒนาประสิทธิภาพของฮาร์แวร์ให้ทำงานได้เร็วขึ้น ต่อมาได้มีการนำเอาซีพียูที่ใช้สถาปัตยกรรมแบบ RISC สร้างเป็นไมโครคอนโทรลเลอร์(Microcontroller) ในตระกูลต่าง ๆเช่น ARM,AVR และ PIC เป็นต้น

วันอาทิตย์ที่ 4 เมษายน พ.ศ. 2553

สถาปัตยกรรมของไมโครคอนโทรลเลอร์

เราสามารถแบ่งสถาปัตยกรรมทางโครงสร้างของซีพียู(CPU)ที่ใช้งานอย่างไร สำหรับในการออกแบบซีพียู(CPU)นั้น สามารถแบ่งสถาปัตยกรรมทางโครงสร้างของซีพียูที่ใช้ในไมโครคอนโทรลเลอร์ได้ 2 ประเภท คือ สถาปัตยกรรมแบบ CISC และ แบบ RISC
สถาปัตยกรรมแบบ Complex Instruction Set Computer (CISC)

เป็นสถาปัตยกรรมการออกแบบซีพียูที่มีใช้งานในเครื่องคอมพิวเตอร์ส่วนบุคคลทั่วไป โดยเป็นแนวคิดดั้งเดิมที่จะให้คอมพิวเตอร์ทำงานได้รวดเร็วขึ้น โดยใช้วิธีเพิ่มขีดความสามารถของคำสั่งให้มีความซีบซ้อนและใช้เวลาในการประมวลผลเพิ่มมากขึ้นตามคุณสมบัติของชุดคำสั่งนั้น ๆ ส่งผลให้การออกแบบสถาปัตยกรรมรูปแบบนี้ต้องรองรับชุดคำสั่งใหม่ ๆ และมีการออกแบบที่ซับซ้อน ซึ่งระยะเวลาในการประมวลผลคำสั่งแต่ละชุดคำสั่งจะใช้เวลเไม่เท่ากัน บางเวลาจะมีคำสั่งเพียง 1 ไซเคิล และบางคำสั่งจะใช้เวลามากกว่า 1 ไซเคิล ทำให้การทำงานกับชุดคำสั่งซับซ้อนทำงานได้ช้า รวมถึงกระบวณการถอดรหัสชุดคำสั่งต้องทำงานเรียงตามลำดับคำสั่งจนเสร็จจึงสามารถไปทำงานที่ชุดคำสั่งต่อไปได้ ซึ่งเป็นข้อด้อยของสถาปัตยกรรมแบบ CISC อย่างไรก็ตามสถาปัตยกรรมแบบ CISC นี้ยังมีการใช้งานอย่างแพร่หลายและได้พัฒนาต่อเนื่องมาจนถึงปัจจุบัน อย่างเช่น ซีพียู AMD,Intel Pentium รวมถึงไมโครคอนโทรลเลอร์ตระกูล MCS-51,68HCxx และ Z80 เป็นต้น









ซีพียู(CPU)



ซีพียู(CPU)



คือ อุปกรณ์ที่ถูกสร้างขึ้นเพื่อการประมวลผลเท่านั้น การที่จะนำซีพียู(CPU) มาใช้งานเพื่อทำงานตามที่เราต้องการนั้น จำเป็นต้องเชื่อมต่อกับอุปกรณ์ภายนอกอื่น ๆจำนวนมาก เช่น หน่วยความจำวงจรสื่อสารข้อมูลแบบอนุกรม/ขนาน ส่วนเชื่อมต่ออินพุตและเอาต์พุต และอื่น ๆ ตามความต้องการ ซึ่งการต่อระบบต่าง ๆเข้ากับซีพียู(CPU)เพื่อให้ทำงานตามที่เราต้องการนั้น เรียกว่า ระบบไมโครโปรเซสเซอร์ (Microprocessor system) อย่างไรก็ตามระบบไมโครโปรเซสเซอร์ เหมาะกับงานที่ประมวลผลที่ซับซ้อน และเก็บข้อมูลมาก แต่ทำนองเดียวกัน การออกแบบระบบการทำงานของไมโครโปรเซสเซอร์ให้เหมาะสมกับงานที่ต้องการนั้น ยิ่งมีความซับซ้อนมากขึ้นด้วย เช่น ต้องเชื่อมต่อกับอุปกรณ์ภายนอกหลายส่วน ส่งผลให้ระบบไมโครโรเซอร์เซอร์มีขนาดใหญ่ สิ้นเปลืองพลังงาน และค่าใช้จ่ายที่สูงขึ้น และขาดความคล่องตัวในการพฒนาโปรแกรมควบคุมการทำงาน ต่อมาได้มีการรวมความสามารถพื้นฐานของไมโครโปรเซสเซอร์เช่น ระบบ input , output หน่วยความจำ วงจรสื่อสารข้อมูล วงจรตั้งเวลา ต่าง ๆไว้ในชิฟ(Chip) เพียงตัวเดียว สร้างเป็นซีพียู(CPU) เรียกว่า ไมโครคอนโทรลเลอร์(Microcontroller)

Microcontroller system

Microcontroller สมองกลแห่งอนาคตตัวจิ๋ว