Login | thai-learning | Privacy Policy | About Us |

Thai Learning | ทฤษฎี IS ขั้นสูง | เว็บไทย | สารสนเทศวิทยานิพนธ์ | หนังสือรามคำแหงทั้งหมด | เกี่ยวกับผู้จัดทำ | บทกลอน |
วิชาที่เรียน 1/2555
   เมนูหลักวิชาเรียน 1/2555
   การโปรแกรมเว็บสารสนเทศ ฯ
   การโปรแกรมงานภูมิศาสตร์ ฯ
   โปรแกรมสำหรับงานสารสนเทศ
   อินเตอร์เน็ตและการบริการ สารสนเทศบนเว็บ
   บรรยากาศ เทอม 1-2555
โปรแกรมที่ผมพัฒนาครับ
   เมนูหลักโปรแกรมที่ผมพัฒนา
   ถอดรหัสผ่าน M$-Access
   ระบบการเข้าเรียนและให้คะแนน
   การทำงานของ Adder Logic
   ปรับระดับเสียงโวลุ่ม ด้วย CLI
   เกมส์เลื่อนภาพแสนสนุก vb6
    โปรแกรมจับเวลา การนำเสนอผลงานวิชาการ
บทความที่ผมเขียนครับ
   เมนูบทความ
   ภาษาซีสำหรับผู้เริ่มต้น
   ไมโครคอนโทรเลอร์เบื้องต้น
   ไมโครคอนโทรลเลอร์จำลอง
   การกำเนิดกระแสไฟฟ้าอย่างง่าย
   ควบคุมแรงดัน 0-220 โวลท์
   Graphics LCD ด้วย CCSC
   การออกแบบ PCB ด้วย Orcad
   การออกแบบ PCB ด้วย Protel
   ไพธอนส่งเมล์ด้วย GPRS
   ไพธอนควบคุม LCD ผ่าน LPT
   ควบคุม LPT ด้วย Labview
   อิมเมจโปรเซสซิ่ง ตอน 1/3
   อิมเมจโปรเซสซิ่ง ตอน 2/3
   อิมเมจโปรเซสซิ่ง ตอน 3/3
   ภาษาซีบนลินุกซ์สมองกลฝังตัว
   การใช้งาน MinGW เบื้องต้น
   ภาษาซี ARM-LPC2368
   ออกแบบ FPGA ด้วย Schematic
   ออกแบบ FPGA ด้วยภาษา VHDL
   ออกแบบ PCB เทคนิค Dryfilm
   เขียนโปรแกรม Python GUI
   การติดตั้ง NumPy 1.6.1
   เขียนไพธอนถอดรหัส MDB
   วิชวลเบสิค ควบคุมกล้อง
   สังเคราะห์ภาพกราฟิก pov-ray
   อิมพอร์ท MySQL ด้วย BigDump
   ติดตั้ง postgresql และ phppgadmin บน centos linux
   การใช้งานเธรดด้วยภาษา PHP
   การสังเคราะห์สีให้ไวยากรณ์ภาษา
   การสร้าง Search Engine
   เขียนไพธอน Client/Server
   การสร้างพาทิชั่นที่ใหญ่กว่า 3TB บนลินุกซ์ (Ubuntu)
   การรันสคริปต์ CGI ด้วยภาษาไพธอน
   การใช้งานคำสั่ง DD บน Ubuntu - Linux
   การใช้งาน Raspberry Pi
   การเอ็กซีคิวส์ + การจัดเรียงแอพฯในลินุกซ์
   X11 ด้วย Xming และ Putty
   TITAN5 บน Ubuntu - Linux
   รหัสจังหวัดทั่วโลก + เรดาร์
   การควบคุมเว็บบราวเซอร์ผ่าน SELENIUM ด้วยภาษาไพธอน
โปรแกรมภาษา
   เมนู VB-Classic
   ฟังก์ชั่น Visual Basic
   คำสั่ง Visual Basic
   ตัวแปรภาษาไพธอน (ขั้นสูง)
   โมดูลต่าง ๆ ภายในภาษาไพธอน
ข่าวสารไอที
   กูเกิ้ลเปิดตัว Tablet 7 นิ้ว
   อินเดีย IIT เปิดตัว Tablet
   RaspBerry PI สมองกลฝังตัว
   คอมพิวเตอร์จิ๋ว
บริการสารสนเทศ
   ไทยเว็บ 2012
   เว็บไทย
   ฐานข้อมูล วิทยานิพนธ์
   รวมคำศัพท์ภาษาไทย
   เคยฟังมั้ย - เพลงมาร์ช มมส
   ประวัติศาสตร์ชาติไทย หลวงปู่ฤาษีลิงดำ
   เพลงน้อมใจปล่อยวาง 1
   เพลงน้อมใจปล่อยวาง 2
   เพลงน้อมใจปล่อยวาง 3
เกี่ยวกับเรา
   เกี่ยวกับผู้ก่อตั้ง
   บทกลอนที่ผมแต่งครับ..
   แลกลิงค์กับเรา ที่นี่
   รายละเอียดแม่ข่าย
   ดาต้าเซนเตอร์ (Data Center)
   เงื่อนไขการใช้งาน

  
 

การเขียนข้อความบน Graphics LCD ของศิลาด้วย CCSc
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม


สำหรับวันนี้ผู้เขียนจะนำท่านเขียนข้อความลงบน Graphics LCD ของบริษัทศิลา (Sila Research) หากท่านอ่านคู่มือที่มากับศิลาจะพบว่าการคู่มือและตัวอย่างการใช้งานค่อนข้างทำความเข้าใจได้ยากสำหรับผู้เริ่มต้น ดังนั้นวันนี้ผู้เขียนจะพาท่านไปเรียกใช้ฟังก์ชั่นซึ่งเขียนขึ้นเพื่อใช้งานอย่างสะดวกสบาย รายละเอียดของบทความมีดังต่อไปนี้

เครื่องมือ
- โปรแกรม CCSC
- บอร์ดทดลอง Inex สำหรับเบอร์ 18F458 ท่านอาจใช้เบอร์ 16F877 แทนได้
- โมดูลกราฟิกของบริษัทศิลา
- โปรแกรม Miracle Pic18F 1.02 (เป็นโปรแกรมสำหรับโหลด Hex ไฟล์ลงในตัวไมโครคอนโทรลเลอร์)

หมายเหตุ : ผู้เขียนอนุมานว่าท่านติดตั้งโปรแกรม CCSC และ Miracle PIC เรียบร้อยแล้ว นอกจากนั้นผู้อ่านควรมีความรู้พื้นฐานในการเขียนโปรแกรม CCSC สำหรับไมโครคอนโทรเลอร์ของบริษัท Microchip มาแล้ว สำหรับบทความสำหรับผู้เริ่มต้น ผู้เขียนจะเขียนในโอกาสต่อไป แต่สำหรับวันนี้พาท่านศึกษากราฟิกโมดูลของบริษัทศิลากันก่อน !!

ขั้นตอนการดำเนินงาน
ขั้นที่ 1: เชื่อมต่อสายไฟด้วยรายละเอียดดังดังต่อไปนี้
DIN ของกราฟิกโมดูลต่อเข้ากับ C0 ของไมโครคอนโทรลเลอร์
LOAD ของกราฟิกโมดูลต่อเข้ากับ C1 ของไมโครคอนโทรลเลอร์
CLK ของกราฟิกโมดูลต่อเข้ากับ C2 ของไมโครคอนโทรลเลอร์
5V ต่อเข้ากับไฟบวกขนาด 5 โวลท์
GND ต่อเข้ากับกราวนด์

   
แสดงตำแหน่งต่าง ๆ ของกราฟิกโมดูลบริษัทศิลา

ปรับตำแหน่งดิฟสวิชย์บนกราฟิกโมดูล
ขั้นที่ 2:
ปรับตำแหน่งดิฟสวิชย์บนกราฟิกโมดูล ดังภาพต่อไปนี้


เมื่อท่านต่อสายสัญญาณเสร็จเรียบร้อยแล้วสามารถแสดงได้ดังภาพต่อไปนี้
           

ขั้นการเปิดโปรแกรม CCSC

แสดงกราฟิกอินเตอร์เฟสของโปรแกรม CCSC

ขั้นการเขียนโปรแกรมด้วย CCSC
สามารถแสดงโค๊ดการเขียนโปรแกรมได้ดังนี้
ซอร์สโค๊ด
#include <18F458.h>
#fuses HS,NOLVP,NOWDT,PUT,NOPROTECT,NOCPD
#use delay(clock=20000000) // defind crystal = 4MHz
#define LCDCLK PIN_C2 // DISPLAY CLOCK
#define LCDLD PIN_C1 // DISPLAY LOAD
#define LCDDIN PIN_C0 // DISPLAY DATA
#define MS 500
/* Dip switch
[000] [0] [00] 10
| | | |
| | | + Default 3 bit Serial
| | + อัตราความเร็ว
| + เน็ตเวอร์ค [0=ไม่มี Address, 1=มี address]
+ Address ของตัว RS485

*/ reset() {
      output_low(PIN_B0);
     output_low(PIN_B1);
      output_low(PIN_B2);
      output_low(PIN_B3);
      output_low(PIN_B4);
      output_low(PIN_B5);
      output_low(PIN_B6);
      output_low(PIN_B7);
}


void put(char x)
{ // change putchar for TLCD-164
int i;

for (i=0;i<=7;i++)
{
if ((x & 0x80)==0)
output_low(LCDDIN);
else
output_high(LCDDIN);
output_low(LCDCLK);
delay_us(50); // approx 10 uS
output_high(LCDCLK);
x = x << 1;
}
output_low(LCDLD);
delay_us(50);
output_high(LCDLD);
delay_us(550); // approx 100 uS
}

void BackLight_On()
{
printf(put,":9\r");delay_ms(20);
}

void BackLight_Off()
{
printf(put,":A\r");delay_ms(20);
}

void CLRSCR()
{
printf(put,":5\r");delay_ms(300);
}

main()
{
delay_ms(1000);
BackLight_On();
CLRSCR();
printf(put,":5\r"); delay_ms(50);
printf(put,":2 คุณจักรกฤษณ์\r"); delay_ms(100);
printf(put,":2 แสงแก้ว\r"); delay_ms(100);
printf(put,":2 เอ็นโปรเท็ค\r"); delay_ms(100);
printf(put,":2 ประเทศไทย\r"); delay_ms(100);

while(1){
   reset();
    output_high(PIN_B0);
    delay_ms(MS);
    reset();
    output_high(PIN_B1);
    delay_ms(MS);
    reset();
    output_high(PIN_B2);
    delay_ms(MS);
    reset();
    output_high(PIN_B3);
    delay_ms(MS);
    reset();
    output_high(PIN_B4);
    delay_ms(MS);
    reset();
    output_high(PIN_B5);
    delay_ms(MS);
    reset();
    output_high(PIN_B6);
    delay_ms(MS);
    reset();
    output_high(PIN_B7);
    delay_ms(MS);
}
}



โหลดไฟล์ .HEX ลงไมโครคอนโทรเลอร์ด้วย Miracle
แอพลิเคชั่นสำหรับโหลดซอร์สโค๊ดที่ผ่านการคอมไฟล์แล้วลงบนไมโครคอนโทรเลอร์มีให้เลือกใช้หลายตัวได้แก่ Miracle, EPicWin ฯลฯ ในตัวอย่างนี้ผู้เขียนเลือกใช้ Miracle แสดงได้ดังภาพต่อไปนี้


รันผลการทดสอบโปรแกรมด้วยโมดูล Graphics Module
จากตัวอย่างด้านบนสามารถแสดงผลลัพธ์ภายหลังการเอ็กซีคิวส์ได้ดังต่อไปนี้

การแสดงข้อความให้ปรากฎบนกราฟิกโมดูล

ทดลองแก้ไขซอร์สโค๊ดในส่วนแสดงผลภาษาไทย

ซอร์สโค๊ด
printf(put,":2 อิเล็กทูเดย์\r"); delay_ms(100);
printf(put,":2 http://www.\r"); delay_ms(100);
printf(put,":2 electoday.com\r"); delay_ms(100);
printf(put,":2 202.44.9.126/~nprotech\r"); delay_ms(100);

จากโค๊ดด้านบนเมื่อคอมไพล์และโหลดลงบนไมโครคอนโทรลเลอร์แล้วสั่งให้ทำงานจะปรากฎข้อความปรากฎบนกราฟิกโมดูลดังภาพต่อไปนี้



ดาวนส์โหลดซอร์สโค๊ด
คลิ๊กเพื่อดาวนส์โหลดซอร์สโค๊ด !!

สรุปผล
สำหรับบทความนี้ผู้เขียนได้หลับใหลในระหว่างที่เขียนบทความไปบ้าง เพราะเพลียจากงานประจำมาทั้งวันแล้ว ..ถึงตอนนี้บทความสามารถจบได้แล้ว แม้ว่าเนื้อหาจะค่อนข้างรวบรัดแต่เชื่อว่าผู้อ่านสามารถนำไปประยุกต์ใช้งานได้อย่างสะดวกรวดเร็ว สำหรับวันนี้ขอกล่าวคำว่า ราตรีสวัสดิ์ครับ !!




All trademarks and trade names are the property of their respective owners and used here for identification purposes only.
Privacy Policy | Terms of service | Report a Policy Violation (0.0052 sec)