[ บทความ : DnRx051 LAB #2 ติดต่อกับ LED ] |
บทความเกี่ยวกับ LAB ของบอร์ด DnRx051 ที่ผมทำเอาไว้ในคราวที่แล้วนั้น เป็นการขับหลอด LED เพียง 1 ดวง [อ่านบทความเก่า] ... ตอนนี้ผมทำบอร์ดทดลองที่เป็น LED8 ดวง เสร็จแล้ว ดังนั้น ในตอนนี้เราจะลองเอาบอร์ด DnRx051 มาขับบอร์ด LED ที่ว่านี้กันดู ... [ อ่านบทความบอร์ด LED 8 ดวง ] ... ซึ่งตัวอย่างโปรแกรมก็จะเป็นดังนี้ครับ ... ส่วนถ้าผู้อ่านไม่เข้าใจว่าเกตุใดจึงไม่สามารถคอมไพล์โปรแกรมได้ ก็สามารถอ่านบทความเกี่ยวกับคำแนะนำด้านการใช้ Micro-C51 ได้ที่นี่ครับ [ GO].
/* * Filename : dnrLED8.c * Author : Supachai Budsaratij * e-mail : raek@se-ed.net * compiler : Micro-C51 * cc51 dnrLED8 -piof m=t * Note : Test send data to p1.0-p1.7 to DnRLED board. */ #include <8051io.h> #include <8051reg.h> delay() { int i,o; for (o=0;o<50;o++) for (i=0; i<255; i++); } main() { P1 = 0x01; while (1) { if (P1 != 0x80) { P1 <<= 1; } else { P1 = 0x01; } delay(); } }เมื่อทำการเขียนโปรแกรมแล้วคอมไพล์โปรแกรมเรียบร้อยแล้วก็นำไปโปรแกรมลงตัวชิพได้เลยครับ ... รูปด้านล่างเป็นรูปที่ผมจับภาพมาจาก กล้อง CCD ครับ ... จะเห็นว่า ผมพยายามออกแบบบอร์ดให้สามารถนำไปประยุกต์ใช้กับบแร์ดอื่นๆ ได้ด้วย เพราะพยายามเน้น เอาไปเสียบบน โปรโตบอร์ดอีกทีหนึ่งนั่นเอง ...
บทความเกี่ยวกับ MCS-51 นี้ค่อนข้างซ้ำไปซ้ำมาอยู่บ้างนะครับ เพราะว่าบทความส่วนหนึ่งจะเป็นบทความที่ใช้กับบอร์ดไมโครคอนโทรลเลอร์ที่ ทางบริษัทต่างๆ (เช่น ET-BOARD V6 ของ ETT) ที่ให้ผมนำมาทดลองใช้ ... ผมเลยต้องตอบแทนด้วยการเขียนบทความถึงบอร์ดเหล่านั้นไปด้วย ... ส่วนบทความของผมจริงๆ นั้น ปกติจะเน้นทำขึ้นมาใช้เอง ครับ ... ซึ่งโดยมากแล้วบอร์ดที่ผมทำขึ้นมาใช้เองก็เป็นเพียงบอร์ดสำหรับทดลอง หรือหัดเขียนโปรแกรมเท่านั้นครับ ความสามารถ เสริมอื่นๆ เช่น การรองรับอุปกรณ์พิเศษ เช่น A-TO-D, D-TO-A , RS-232 พวกนี้ก็จะไม่มีให้เห็นครับ ... แต่คิดว่าผู้อ่านสามารถนำไปประยุกต์ทำขึ้นมาเองได้ง่ายๆ ครับ โดยเฉพาะเจ้า MCS-51 .. เราเพียงแค่เอา MAX232 มาต่อเพิ่มเติมก็สามารถใช้พอร์ตสื่อสารแบบอนุกรมได้แล้ว ... ดังนั้น ถ้าผู้อ่านสนใจนำไปใช้งานแบบหลากหลาย แล้วไม่ค่อยมีเวลาประกอบเอง หรือทำเอง (... บอร์ดที่ผมทำโดยมากจะใช้วิธีเชื่อมด้วยสายไฟครับ ไม่ได้ออกแบบลายวงจร) ก็ลองหาบอร์ดควบคุมที่ชอบมาใช้ก็ได้ครับ ... แต่เวลาศึกษาก็ต้องศึกษาวงจรของบอร์ดนั้นๆ ให้เข้าใจด้วยนะครับ เพราะว่าโดยมากแล้ว บอร์ดแต่ละรุ่น จะออกแบบไม่เหมือนกันทั้งหมด อาจจะมีโน่นแต่ขาดนี่ ... ยิ่งเป็นของต่างบริษัท การออกแบบก็แตกต่างกันไปอีก ...