[ บทความ : ติดต่อ LCD บนบอร์ด MTOOL-7 ด้วย Munc5x ] |
เมื่อสัปดาห์ก่อนผมสัญญาว่าจะเขียนบทความเรื่อง ติดต่อ LCD กับ MTOOL-7 ซึ่งตัวอย่างนี้จะเป็นตัวอย่างหนึ่งที่มากับไลบรารี Munc5x [ ... อ่านเรื่องเกี่ยวกับ Munc5x ... ] ก่อนที่เราจะเขียนโปรแกรมกัน ผมอยากให้ผู้อ่านได้ download ไลบรารีไปก่อนนะครับ ... เมื่อเรียบร้อยแล้ว ก็มาทำความเข้าใจกันอีกนิดนึงเรื่อง คือ การปรับแต่ง ProCOMM+ เพื่อใช้งานกับ MTOOL-7 ของ ศิลา ... เนื่องจากตัว โปรแกรมมอนิเตอร์ (Monitor Program) ของ MTOOL-7 (เรียกได้ว่า เป็นมาตรฐานของทางศิลาก็ได้ครับ) เมื่อมีการ upload หรือ ที่เรียกกันว่า ส่งข้อมูลจากเครื่อง PC แล้วไปเก็บที่ MTOOL-7 เราจะต้องสั่งให้ ProCOMM+ ส่งรหัส CR หรือ ENTER ปิดท้ายบรรทัดไปด้วย ซึ่งสามารถแก้ไขได้ตามรูปด้านล่างนี้
เมื่อเปลี่ยนแปลงเรียบร้อยแล้ว ก็ทำการเปิดเครื่อง MTOOL-7 ซึ่งหน้าตาการแสดงผลบนจอ LCD ของ MTOOL-7 จะเป็นดังนี้ครับ
หลังจากนั้นให้เรากดแป้น 5 เพื่อเลือกการทำงานเป็น Remote Monitor หรือเขียนโปรแกรมจากเครื่อง PC แล้วส่วนของ LCD จะแสดงผล ดังต่อไปนี้
ส่วนที่ ProCOMM+ เราจะต้องกดแป้น space bar ก่อน แล้ว ProCOMM+ ก็จะแสดงผลดังนี้
ตอนนี้แสดงว่าเราเข้าสู่ระบบ remote monitor ของ MTOOL-7 เรียบร้อยแล้ว ... ต่อไปให้เขียนโปรแกรมดังนี้ครับ [ โปรแกรมเป็นตัวอย่าง ที่มาพร้อมกับไลบรารี Munc5x ] ... เวลาที่ใช้ให้ผู้อ่านเขียนโปรแกรม หรือทำการคอมไพล์จากไดเร็กทอรีที่มีไลบรารี Munc5x อยู่ด้วยนะครับ ... ไฟล์ภาษาซีจะมีข้อมูลดังนี้ครับ
/* * Filename : HelloMT7.c * Author : Supachai Budsaratij * School of Computer and Advanced Technologies * Rajabhat Institute Phetchaburi * e-mail : raek@se-ed.net * Date : March 27,2000 * compile : cc51 helloMT7 -pio m=s * Hardware : SILA MTOOL7 V2.0 */ #define USE_LCD #define USE_RS232 #include <8051io.h> #include "mtool7.h" main() { int count; PowerOnReset(); count = 0; LcdCommand(LCD_CLS); LcdGoto(0,0); LcdPutS("- drOT startup -"); LcdGoto(1,1); LcdPutS("Line 2."); LcdGoto(2,2); LcdPutS("Line 3."); LcdGoto(3,3); LcdPutS("Line 4."); while(1) { printf("Hello no.%d/n", count); if (count++ == 10000) { count = 0; } WatchDogACK(); } }เมื่อคอมไพล์เสร็จก็ให้ทำการ upload เข้าสู่ MTOOL-7 เสร็จแล้วผลการทำงานของ LCD จะเป็นดังนี้ครับ
และที่ ProCOMM+ ก็จะแสดงผลดังนี้ครับ
ส่วนรายละเอียดเกี่ยวกับ LCD นั้น ผู้อ่านสามารถหาได้จาก data sheet ของผู้ผลิต LCD หรือไม่ก็ติดต่อกับผู้ขาย LCD ก็ได้ครับ ... ผมขอไม่ลงรายละเอียดล่ะกันครับ เพื่อเป็นการประหยัดพื้นที่ (:D) ... จากตัวอย่างในเรื่องนี้จะเห็นว่า การเขียนโปรแกรมจะง่ายขึ้น ถ้าเราได้เขียนไลบรารีเอาไว้ ... เพราะเวลาที่เราจะทำงาน เราก็เพียงแค่เรียกใช้ไลบรารี หรือฟังก์ชันนั้นขึ้นมาทำงานเท่านั้นเอง ... นอกจากนี้ ถ้าผู้ผลิตบอร์ดสนใจให้ผมปรับปรุงไลบรารีให้สนับสนุน บอร์ดของท่าน ... ท่านสามารถส่งรายละเอียดของพอร์ตต่างๆ มาให้ผมได้ครับ แล้วผมจะทำการปรับปรุงไลบรารีให้ แล้วจะส่งไลบรารีที่ปรับปรุงแล้วไปให้ทดสอบการทำงาน หรือ ใครที่เขียน ไลบรารีเพิ่มเติม แล้วอยากแจกจ่ายก็สามารถส่งมาให้ผมก็ได้ครับ [e-mail ผมอยู่ด้านล่างของบทความครับ] ผมจะเอามาแปะให้ พร้อมทั้งแก้ไขเอกสาร และลงเครดิตชื่อของท่านเอาไว้ด้วยครับ ... ตอนนี้คงจบเท่านี้ครับ