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

กำลังโหลด...

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 สมองกลแห่งอนาคตตัวจิ๋ว

วงจรคอมไบน์เนชั่น (Combination circuit)

ลักษณะของ Decoder circuit






แสดงลักษณะของวงจรซีเควนเชียล(Sequential circuit)


วงจรคอมไบน์เนชั่น (Combination circuit)

คือวงจรที่สร้างขึ้นจากการนำเอาเกตแบบต่าง ๆ เช่น AND Gate,OR Gate มากกว่า 1 ตัวต่อให้ได้ Output ตามที่ต้องการ วงจรลักษณะนี้ทำงานได้โดยไม่ต้องอาศัยสัญญาณนาฬิกาในการควบคุมจังหวะการทำงาน ซึ่งวงจรประเภทคอมไบน์เนชั่น ได้แก่ วงจรเข้ารหัส (Encoder) วงจรถอดรหัส (Decoder) วงจรบวก (Adder) วงจรลบ (Sub-tractor) วงจรมัลติเพล็กเซอร์ (Multiplexer) เป็นต้น เมือรวมวงจรต่าง ๆเหล่านี้เข้าด้วยกันแล้ว เราจะได้ส่วนที่ทำหน้าที่ในการคำนวณทางคณิตศาสตร์และการกระทำทางลอจิก เรียกส่วนนี้ว่า ALU (Arithmetic Logic Unit)

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

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

ไมโครคอนโทรลเลอร์ (Microcontroller)
นั้นคืออะไร ให้ท่านย้อนนึกถึงสมัยที่มนุษย์สามารถคิดค้นและประยุกต์สร้างอุปกรณ์ทางอิเล็กทรอนิกส์สารกึ่งตัวนำ (Semiconductor) ได้ นั่นก็คือไดโอด (Diode) และทรานซิสเตอร์ (Transistor) ซึ่งเป็นจุดเปลื่ียนของวงการอิเล็กทรอนิกส์ยุดสมัยใหม่ เพราะเมื่อนำอุปกรณ์ประเภทนี้สร่างเป็นวงจรอิเล็กทรอนิกส์ได้แล้ว ส่งผลให้การสร้างวงจรที่ซับซ้อนมีขนาดเล็กลงมาก รวมถึงประสิทธิภาพในการทำงานที่สูงขึ้นด้วย ต่อมาให้มีกาารกำหนดอุปกรณืมาตรฐานที่ใช้งานกันอย่างแพร่หลาย ซึ่งคุณสมบัติเด่นของไดโอดที่สามารถควบคุมทิศทางการไหลของกระแสได้และในทำนองเดียวกันทรานซิสเตอร์ (Transistor) มีลักษณะการทำงานเป็นวงจรขยายสัญญาณหรือทำหน้าที่เป็นสวิตช์ได้ ดังนั้นได้มีการพัฒนาสร้างเป็นวงจรลอจิกในระบบดิจิทัล (Digital logic circuit) เช่น แอนด์เกต (AND) ออร์เกต (OR) เป็นต้น และต่อมาได้มีการนำวงจรเกตแบบต่าง ๆ สร้างเป็นวงจรทางดิจิทัล (Digital circuit) ดังนี้
คือ วงจรดิจิทัลที่อาศัยสัญญาณนาฬิกาหรือคาบเวลาในการควบคุมการทำงานเป็นหลัก โดยที่สภาวะ Input จะต้องมีสภาวะที่เหมาะสมตามตารางความจริง รวมถึงจังหวะในการทำงานจะต้องขึ้นอยู่กับสัญญาณควบคุมด้วย วงจรลักษณะนี้ได้แก่ วงจรฟริปฟลอป (Flip-Flop) วงจรรีจีสเตอร์ (Register) และวงจรนับ (Connter) เป็นต้น ต่อมาได้มีการพัฒนาสร้างเป็นหน่วยความจำ (RAM) ที่สามารถจำสภาวะข้อมูลได้ ซึ่งโครงสร้างพื้นฐานของหน่วยความจำจะประกอบด้วย วงจรถอดรหัสวงจรรีจีสเตอร์ หลาย ๆตัวทำงานร่วมกัน
จากคุณสมบัติของวงจรดิจิทัลแบบคอมไบน์เนชั่นและวงจรแบบซีเควนเชียลนั่นเอง เมื่อเชื่อมต่อวงจรในส่วนต่าง ๆเข้าด้วยกันแล้ว ทำให้มีความสามารถในการคำนวณทางคณิตศาสตร์ การกระทำทางลอจิก รวมถึงความสามารถในการจัดเก็บและการย้ายข้อมูล และเมื่อเพิ่มวงจรสร้างสัญญาณนาฬิกาสำหรับควบคุมจังหวะกาารทำงานแล้วสร้างให้อยู่ภายในอุปกรณ์เพียงตัวเดียวเราเรียกว่า CPU (Central Processing Unit)