[ บทความ : ติดต่อ 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 ผมอยู่ด้านล่างของบทความครับ] ผมจะเอามาแปะให้ พร้อมทั้งแก้ไขเอกสาร และลงเครดิตชื่อของท่านเอาไว้ด้วยครับ ... ตอนนี้คงจบเท่านี้ครับ


เขียนโดย : ศุภชัย บุศราทิจ
Author : Supachai Budsaratij
e-mail : raek@se-ed.net
วันที่ทำการปรับปรุง : ๑๑ ส.ค. ๒๕๔๓, ๒๖ ก.ย. ๒๕๔๓