วันพุธที่ 29 พฤษภาคม พ.ศ. 2556

สร้างบอร์ด MCS P89V51RD2

ทดลองเล่นไมโครคอนโทรลเลอร์ MCS-51 ด้วย P89V51RD2

ถ้าพูดถึงไมโครคอนโทรลเลอร์ตระกูล 8051 หรือ MCS-51 ก็คงปฏิเสธไม่ได้ว่าเป็นไมโครคอนโทรลเลอร์ที่มีการใช้งานกันอย่างแพร่หลายมากตระกูลหนึ่ง ถึงแม่ว่าปัจจุบันจะมีไมโครคอนโทรลเลอร์ตระกูลใหม่ ๆ ที่มีคุณภาพสูงออกมามากมาย แต่ยังไงก็ตาม MCS-51 ก็ยังมีการใช้งานที่แพร่หลายอยู่ ทั้งนี้เนื่องจากเป็นไมโครคอนโทรลเลอร์ถูกใช้งานกันอย่างกว้างขวางมาเป็นเวลานาน ทำให้ผู้ใช้งานสามารถหาข้อมูลสนับสนุนเพื่อใช้ในการพัฒนาได้สะดวก, ราคาที่ถูก อีกทั้งผู้ผลิตได้พัฒนาไมโครคอนโทรลเลอร์ MCS-51 รุ่นใหม่ ๆ ออกมาให้มีความสามารถที่สูงขึ้นอยู่ตลอดเวลา ทำให้ไมโครคอนโทรลเลอร์ตระกูล MCS-51 รุ่นใหม่ ๆ ก็ยังสามารถทำงานรองรับงานควบคุมส่วนใหญ่ได้เกือบทั้งหมด ดังนั้นวันนี้เราจะมาลองเล่นไมโครคอนโทรลเลอร์ MCS-51 กันนะครับ แต่ก่อนที่จะเริ่มลองเล่น เรามาดูประวัติ แหละฟังก์ชันการทำงานของมันดูก่อนดีกว่า
ไมโครคอนโทรลเลอร์ตระกูล MCS-51 เริ่มแรกได้ถูกพัฒนาขึ้นจากบริษัท อินเทล (Intel Corporation) และได้มีการนำไปใช้งานกันอย่างแพร่หลายตั้งแต่ปี 1980 ในช่วงเวลาที่ผ่านมาได้มีบริษัทผู้ผลิตหลายบริษัท เช่น Dallas, Philips, Atmel ได้รับลิขสิทธิ์ในการผลิต และจำหน่าย จากบริษัท อินเทล และบริษัทต่าง ๆ ก็ได้พัฒนาความสามารถของไมโครคอนโทรลเลอร์ MCS-51 รุ่นใหม่ ๆ ให้มีความสามารถ และมีความเร็วเพิ่มขึ้น แต่ยังคงโครงสร้างพื้นฐานที่สำคัญของไมโครคอนโทรลเลอร์ตระกูล 8051 ซึ่งมีรายละเอียดดังนี้
  1. เป็นไมโครคอนโทรลเลอร์ที่มีหน่วยประมวลผลกลางแบบ 8 บิต
  2. มีคำสั่งคำนวณทางคณิตศาสตร์ และตรรกศาสตร์ (Boolean processor)
  3. มีแอดเดรสบัสขนาด 16 บิตทำให้สามารถอ้างตำแหน่งหน่วยความจำโปรแกรม และหน่วยความจำข้อมูลได้ 64 กิโลไบต์
  4. มีหน่วยความจำ (RAM) ภายในขนาด 128 ไบต์ (8051/8031) หรือ 256 ไบต์ (8052/8032)
  5. มีพอร์ตอนุกรมทำงานแบบดูเพล็กซ์เต็ม (Full Duplex) 1 พอร์ต
  6. มีพอร์ตอินพุต/เอาต์พุตแบบขนานจำนวน 32 บิต
  7. มีไทเมอร์ 2 ตัว (8051/8031) หรือ 3 ตัว (8052/8032)
  8. มีวงจรควบคุมการเกิดอินเตอร์รัปต์ 5 ประเภท (8051/8031) หรือ 6 ประเภท (8052/8032)
  9. มีวงจรออสซิลเลเตอร์ภายในตัว

RAM ชนิดต่างๆ

แรม (Ram)
RAM ย่อมาจาก (Random Access Memory) เป็นหน่วยความจำหลักที่จำเป็น หน่วยความจำ ชนิดนี้จะสามารถเก็บข้อมูลได้ เฉพาะเวลาที่มีกระแสไฟฟ้าหล่อเลี้ยงเท่านั้นเมื่อใดก็ตามที่ไม่มีกระแสไฟฟ้า มาเลี้ยง ข้อมูลที่อยู่ภายในหน่วยความจำชนิดจะหายไปทันที หน่วยความจำแรม ทำหน้าที่เก็บชุดคำสั่งและข้อมูลที่ระบบคอมพิวเตอร์กำลังทำงานอยู่ด้วย ไม่ว่าจะเป็นการนำเข้าข้อมูล (Input) หรือ การนำออกข้อมูล (Output) โดยที่เนื้อที่ของหน่วยความจำหลักแบบแรมนี้ถูกแบ่งออกเป็น 4 ส่วน คือ
     1. Input Storage Area เป็นส่วนที่เก็บข้อมูลนำเข้าที่ได้รับมาจากหน่วยรับข้อมูลเข้าโดย ข้อมูลนี้จะถูกนำไปใช้ในการประมวลผลต่อไป
     2. Working Storage Area เป็นส่วนที่เก็บข้อมูลที่อยู่ในระหว่างการประมวลผล
     3. Output Storage Area เป็นส่วนที่เก็บผลลัพธ์ที่ได้จากการประมวลผล ตามความต้องการของผู้ใช้ เพื่อรอที่จะถูกส่งไปแสดงออก ยังหน่วยแสดงผลอื่นที่ผู้ใช้ต้องการ
     4. Program Storage Area เป็นส่วนที่ใช้เก็บชุดคำสั่ง หรือโปรแกรมที่ผู้ใช้ต้องการจะส่งเข้ามา เพื่อใช้คอมพิวเตอร์ปฏิบัติตามคำสั่ง ชุดดังกล่าว หน่วยควบคุมจะทำหน้าที่ดึงคำสั่งจากส่วน นี้ไปที่ละคำสั่งเพื่อทำการแปลความหมาย ว่าคำสั่งนั้นสั่งให้ทำอะไร จากนั้นหน่วยควบคุม จะไปควบคุมฮาร์ดแวร์ที่ต้องการทำงานดังกล่าวให้ทำงานตามคำสั่งนั้นๆ

Module ของ RAM
RAM ที่เรานำมาใช้งานนั้นจะเป็น chip เป็น ic ตัวเล็กๆ ซึ่งส่วนที่เรานำมาใช้เป็นหน่วยความจำหลัก จะถูกบัดกรีติดอยู่บนแผงวงจร หรือ Printed Circuit Board เป็น Module ซึ่งมีหลัก ๆ อยู่ 2 Module คือ SIMM กับ DIMM 

ROM ชนิดต่างๆ

PROM EPROM EEPROM ว่าคืออะไร 
PROM = Programmable Read-Only Memory หรือพีรอม คือหน่วยความจำรอม ซึ่งผู้ใช้สามารถแก้ไขข้อมูลที่บันทึกไว้ได้ 1 ครั้ง พีรอม คือทางเลือกหนึ่งสำหรับผู้ใช้ที่ต้องการบันทึกโค้ดโปรแกรมในหน่วยความจำรอม ซึ่งต้องอาศัยเครื่องมือพิเศษที่เรียกว่า PROM Programmer ในการบันทึก เครื่องมือชิ้นนี้จะป้อนกระแสไฟฟ้าเข้าไปในเซลเฉพาะของหน่วยความจำรอมซึ่งจะทำหน้าที่เสมือนฟิวส์ไฟฟ้า กระบวนการดังกล่าวเรียกว่า การเบิร์นนิ่งพีรอม (Burning PROM) ข้อจำกัดในการเบิร์นนิ่งพีรอมคือห้ามเกิดข้อผิดพลาดใด ๆ ทั้งสิ้น เนื่องจากสามารถแก้ไขได้เพียงครั้งเดียว ดังนั้นจึงมีการคิดค้นรอมชนิดอื่นขึ้นมา เช่น EPOM (Erasable Programmable Read-Only Memory) และ EEPROM (Electrically Erasable Programmable Read-Only Memory) ซึ่งสามารถแก้ไขได้หลายครั้ง

EPROM = Erasable Programmable Read-Only Memory หรือ เอ็ปรอม คือพีรอมซึ่งสามารถลบและนำมาใช้ซ้ำได้ การลบข้อมูลในเอ็ปรอมสามารถทำได้โดยการนำไปตากแดด รังสีอุลตร้าไวโอเล็ตในแสงแดงจะทำปฏิกิริยากับชิพหน่วยความจำและลบข้อมูลทั้งหมดออกไป อย่างไรก็ตามการลบข้อมูลจะเกิดขึ้นภายใต้แสงแดดจัดเท่านั้น แสงแดดที่ส่องผ่านเข้ามาในห้องอาจมีปริมาณรังสีอุลตร้าไวโอเล็ตไม่เพียงพอสำหรับกระบวนการดังกล่าวได้

EEPROM = Ectrically Erasable Programmable Read-Only Memory หรืออีเอ็ปรอม คือหน่วยความจำรอม ที่ผู้ใช้สามารถลบหรือแก้ไขหรือเขียนซ้ำข้อมูลที่บรรจุอยู่ภายในได้ และสามารถกระทำซ้ำได้หลายครั้ง โดยอาศัยแอพพลิเคชั่นที่ใช้กำลังไฟฟ้าสูงกว่าปกติ EEPROM จะต่างจาก EPROM ตรงที่ไม่จำเป็นต้องถอดออกจากเครื่องคอมพิวเตอร์เพื่อทำการแก้ไขข้อมูล การลบข้อมูลใน EEPROM จะเป็นการลบข้อมูลทั้งหมด ไม่สามารถเลือกลบเฉพาะบางส่วนได้ อย่างไรก็ตามมันมีอายุการใช้งานจำกัดขึ้นอยู่กับจำนวนครั้งในการลบหรือแก้ไขข้อมูล เช่น 10 ครั้งหรือ 100 ครั้ง รูปแบบพิเศษของ EEPROM คือหน่วนความจำแฟลช (Flash Memory) ซึ่งใช้ระดับไฟปกติในเครื่องพีซีสำหรับการลบหรือเขียนหรือแก้ไขข้อมูล


รอมชนิดต่าง ๆ

ภาษาแอสแซมบลี้

ภาษาแอสแซมบลี้
                การเรียนรู้เพื่อใช้งานไมโครคอนโทรลเลอร์ สิ่งที่สำคัญในลำดับต่อมาจากที่ทำความเข้าใจถึงโครงสร้างทางฮาร์ดแวร์แล้วนั่นคือ การเขียนโปรแกรมเพื่อกำหนดให้ไมโครคอนโทรลเลอร์ทำงานข้อมูลของโปรแกรมที่ไมโครคอนโทรลเลอร์ต้องการจะอยู่ในรูปของรหัสเลขฐานสิบหกหรือที่เรียกกันว่าภาษาเครื่อง หรือ แมชีนโค้ด (Machine Code) แต่เนื่องจากการเขียนโปรแกรมในลักษณะที่เป็นภาษาเครื่องนี้ ผู้เขียนโปรแกรมต้องทำการเปิดตารางรหัสคำสั่งซึ่งเป็นเรื่องที่ยุ่งยากและทำให้การตรวจสอบโปรแกรมที่เขียนขึ้นกระทำได้ยากจึงใช้การเขียนโปรแกรมด้วยภาษา
แอสแซมเบลอร์(Assembler) ทำการแปลภาษาแอสแซมบลีที่เขียนขึ้นนั้นเป็นภาษาเครื่องแล้วเขียนลงในหน่วยความจำโปรแกรมของไมโครคอนโทรลเลอร์ต่อไป

วันพุธที่ 15 พฤษภาคม พ.ศ. 2556

เขียนแบบอิเล็กทรอนิกส์

    แบบฝึกหัดที่ 1
    จากรูปข้างล่างนี้ให้เขียนแบบลงกระดาษ A3 ให้ถูกต้อง
    สัญลักษณ์อิเล็กทรอนิกส์พื้นฐาน

สถาปัตยกรรมของ CPU Z-80


สถาปัตยกรรมของ CPU Z-80


โครงสร้างของ CPU Z-80 มีโครงสร้างที่พัฒนามาจาก 8080 ดังนั้นในแง่โครงสร้างพื้นฐานจะ เหมือนกับ CPU 8080 แต่เนื่องจาก Z-80 มีการพัฒนามากขึ้นทางซอฟท์แวร์ และ ฮาร์ดแวร์ จึงทำให้มีรายละเอียดแตกต่างเพิ่มเติมอีกหลายประการด้วยกัน


รูปแสดง block diagram ของ CPU Z-80