บทความ Project Home Control

สำหรับผู้เริ่มต้นเขียนโปรแกรม PIC MCU

 

ตอนที่ 1. การติดตั้ง โปรแกรม สำหรับพัฒนา PIC MCU

- โดย Tumrobot

สวัสดีครับ บทความนี้เขียนขึ้นสำหรับแนะนำผู้เริ่มต้น ที่อยากพัฒนา โปรแกรมบนไมโครคอนโทรลเลอร์ Microchip MCU หรือเรียกสั้นๆ ว่า PIC ซึ่งโดยทั่วไปแล้วอาจจะหาอ่านวิธีการ Setup โปรแกรม ได้จากตามเวปไซต์ต่างๆ ได้ไม่ยุ่งยากเนื่องจากว่า PIC MCU นั้นค่อนข้างได้รับความนิยมในบ้านเรา ไม่ต่างกับ AVR หรือ Arduino เพียงแต่ว่าการพัฒนา PIC MCU นั้นค่อนข้างทำได้หลากหลายช่องทาง และหลายภาษา จึงทำให้เกิดความสับสน สำหรับผู้เริ่มต้น ที่ใช้งาน PIC MCU เป็นครั้งแรกดังนั้นผมจึงขอรวมรวบวิธีการพัฒนา PIC MCU ที่ใช้งานในโปรเจ็ค Home Control ของทาง OpenFog เพื่อการนำไปพัฒนาต่อยอดของ ผู้ใช้งานได้รวดเร็วและถูกต้อง

ช่องทางในการพัฒนาโปรแกรมสำหรับ PIC MCU นั้นที่ผมเคยได้ทดลองใช้มานั้นมีดังต่อไปนี้

1. การเขียนโปรแกรมด้วย Assembly บน MPLAB IDE เนื่องจากว่าตัว MPLAB IDE นั้นเป็น Tool ที่แจกให้ลูกค้าของ Microchip ใช้งานฟรีจึงทำให้หลายๆ ท่านนำมาพัฒนาโปรแกรมสำหรับ PIC MCU เพราะว่าไม่มีปัญหาเรือง ลิขสิทธิ์ และสามารถเข้าถึงการใช้งานทางด้านโครงสร้างสถาปัตยกรรมของ PIC MCU ได้ ซึ่งจากการทดลองใช้งานและเขียนโปรแกรมด้วย Assembly นั้นเป็นเรื่องยากมากสำหรับผู้เริ่มต้น รวมทั้งต้องใช้ความพยายามเป็นอย่างมากในการพัฒนาเรื่องของ Library ต่างๆ ทำให้งานที่ได้ค่อนข้างล่าช้า รวมถึงการที่จะทำให้ผู้อื่นที่ไม่ได้เขียนโปรแกรมนำไปพัฒนา ต่อนั้นค่อนข้างที่จะยุ่งยากมาก หรือแม้กระทั่งตัวผู้เขียนโปรแกรมเอง หากทิ้งช่วงไปสักพัก อยากจะกลับมาแก้ไขโปรแกรมต่อ ยังลำบากเลยครับ อีกทั้งถ้าหากต้องการนำโปรแกรมไปพัฒนาบน MCU ค่ายอื่นๆ ต่อนั้น ก็ทำไม่ได้เพราะ คำสั่งของโปรแกรมจะแตกต่างกันโดยสิ้นเชิง

 

ภาพ แสดงตัวอย่างการพัฒนาโปรแกรมของ PIC MCU บน MPLAB IDE ด้วยภาษา Assembly

 

 

2. การเขียนโปรแกรมด้วย ภาษา Basic เนื่องจากว่า ภาษาเบสิืคนั้นเป็นภาษาที่สูงกว่าภาษา Assembly ผู้เขียนเลยมีโอกาสได้พัฒนาโปรแกรมบนภาษาเบสิคของค่าย Microcode Studio อยู่ช่วงนึงจึงทำให้พบว่าการเขียนโปรแกรมนั้นง่ายและสะดวกกว่าการพัฒนาด้วย Assembly ค่อนข้างเยอะ แต่เนื่องจากว่าภาษาเบสิคนั้นมีปัญหาเรื่องขนาดของ hex ไฟล์หลังจากเวลาที่ คอมไพล์ออกมาแล้วนั้นจะมีขนาดค่อนข้างใหญ่กว่า Assembly เยอะมากจึงทำให้ไม่สามารถใช้งาน PIC MCU ได้อย่างเต็มประสิทธิภาพมาก ส่วนใครที่สนใจอยากทดลองเขียนโปรแกรมด้วย ภาษาเบสิคก็ลองทดสอบดูได้ครับ เป็นทางเลือกอีกทางนึง

 

3. การเขียนโปรแกรมด้วย ภาษา C โดยภาษา C นั้นค่อนข้างเป็นที่นิยมสำหรับผู้พัฒนาโปรแกรมบน MCU เนื่องจากว่าขนาดของ hex ไฟล์ที่มีขนาดเล็กกว่าภาษาอื่นแล้ว การพัฒนาในเรื่องของโปรแกรมก็ค่อนข้างง่ายและเร็วรวมถึง มี Library ให้ใช้งานค่อนข้างเยอะ ซึ่งทาง Microchip เองก็มี Tool ให้นักพัฒนาได้ใช้งานในภาษา C เหมือนกันไม่ว่าจะเป็น Hitech C, C18 หรือ C30 ซึ่งหลังจากที่ผู้เขียนได้ทดสอบใช้งาน Tool ของ Microchip แล้วพบว่า การเข้าถึงโครงสร้างสถาปัตยกรรมของ MCU ทำได้ดีไม่ค่อยแตกต่างกับ Assembly แต่ปัญหาสำหรับผู้เขียนก็ยังเป็นเรื่องการใช้งานที่ยุ่งยาก เหมาะสำหรับพัฒนาคนเดียว เหมือนกับว่าเป็นภาษา C ที่เอา Assembly เข้ามาปนด้วย ( อันนี้เป็นความรู้สึกส่วนตัวของผู้เขียนเองนะครับ ) โดยทั่วไปแล้วในส่วนใหญ่นักพัฒนา ก็จะใช้งานภาษา C ซึ่งข้อดีก็คือจะสามารถ นำไปพัฒนาต่อสำหรับ MCU ค่ายอื่นๆ ที่ใช้ C เหมือนกันครับ ซึ่งตัวที่ผู้เขียนได้มีโอกาสในการพัฒนาโปรแกรมบน MCU ของ PIC ด้วยภาษา C มีที่ชื่นชอบในการใช้งานอยู่ 2 ตัวครับ นั่นก็คือ Mikro C และ CCS ดังนั้น ตัวโปรเจ็ค Home Control จึีงได้พัฒนาโปรแกรมบน MCU ด้วย CCS ครับ

 

ขั้นตอนการ Setup Tool สำหรับพัฒนาโปรแกรมใน PIC MCU ของโปรเจ็ค Home Control

โปรแกรมที่ต้องใช้

1. MPLAB IDE ถึงแม้ว่าจะมี MPLAB ตัวใหม่จาก Microchip ( MPLAB X ) ออกมาให้ใช้งานแล้วแต่ผู้เขียนคิดว่า MPLAB IDE ก็เพียงพอแล้วที่จะใช้งาน สามารถดาวน์โหลดได้ ที่นี่

2. CCS C ตัว Complier ไม่ฟรีนะครับ มีลิขสิทธิ์ สามารถดาวน์โหลดโปรแกรม Demo ฟรี 45 วัน ได้ที่ http://www.ccsinfo.com/ccsfreedemo.php

3. MPLAB® Plug-ins สำหรับพัฒนาโปรแกรม CCS บน MPLAB IDE ครับ สามารถดาวน์โหลดได้ที่ http://www.ccsinfo.com/downloads.php#mplabPlugIn

 

ขั้นตอนการติดตั้งโปรแกรม

1. ติดตั้งตัว MPLAB IDE ลงบน Drive: C นะครับ เท่าที่เคยทดสอบดูแล้วติดตั้งบน Drive อื่นได้แต่อาจจะมีปัญาหาตามมาภายหลัง

   

การติดตั้งก็ไม่มีอะไรยุ่งยากครับ คลิ๊ก Next อย่างเดียวไปจนกระทั่งเสร็จสิ้นครับ

 

2. ติดตั้งโปรแกรม CCS เช่นเดียวกันครับพยายามติดตั้ง บน Drive: C คลิ๊ก Next ไปเรื่อยจนกระทั่งเสร็จสิ้น ซึ่งเมื่อติดตั้งโปรแกรมเสร็จสิ้นแล้ว จะพบ Folder ที่มีชื่อว่า PICC ใน C:\Program Files\PICC นะครับ ตรงนี้เอาไว้ลงใส่ยาแก้ไอ สำหรับใครที่นิยมของป่า นะครับ สอบถามตัวผู้เขียนได้นะครับ

3. ติดตั้งโปรแกรม MPLAB® Plug-ins สำหรับให้เปิดการพัฒนาโปรแกรม CCS Complier บน MPLAB IDE ซึ่งมีข้อดี กว่าในการพัฒนาบนโปรแกรมของ CCS เองเนื่องจากว่า MPLAB IDE สามารถที่จะเชื่อมต่อ Tool ในการเบิร์นโปรแกรมลงบน MCU ไม่ว่าจะเป็น ICD3, PICKIT 3 หรือ ตัวอื่นๆ ของทาง Microchip ได้ดีกว่า

 

 

ขั้นตอนในการพัฒนา Home Control โปรแกรมบน MPLAB IDE

หลังจากที่ติดตั้งโปรแกรมครบทั้งหมดแล้ว เราก็จะสามารถเริ่มต้นใช้งาน Tool ในการพัฒนาโปรแกรม Home Control ในส่วนของงาน MCU Code ได้นะครัีบ ซึ่งถ้าหากว่าเราเปิดไฟล์ Home Control Arduino MCU Code V1.0 Download ที่เราดาวน์โหลดมา และทำการ Unzip ไฟล์เราก็จะสามารถ ดับเบิ้ลคลิ๊ก ICON MPLAB ใน Folder ที่เรา Unzip ได้เลยครับ

   

 

   

หลังจากที่เปิดไฟล์ขึ้นมาแล้วให้ กดลดขนาดของหน้า Code ลงครับ ตามภาพที่แสดงเอาไว้

 

   

ทำการตรวจสอบ Path ของไฟล์ HomeCtrl_main.c ว่าโปรแกรม MPLAB IDE เรียกขึ้นมาถูกต้องหรือไม่ ส่วนมากจะเรียกผิด เพราะว่าผู้เขียนทำการบันทึกตัว WorkSpace ไว้ต่างกับ ไฟล์ของลูกค้าที่นำไฟล์ Code Project ไปวางเอาไว้ ซึ่งผลก็จะทำให้ เมื่อกด คอมไพล์ไฟล์ แล้ว MPLAB จะค้าง หรือไม่ก็เกิด Error ขึ้นครับ

วิธีกแก้ไขทำได้ดังต่อไปนี้ครับ

   
   
   
   

 

หลังจากแก้ไข Path ให้ถูกต้องเรียบร้อยแล้วให้ทำการทดสอบกดปุ่ม Build All เพื่อที่จะทำการ คอมไพล์ Code ดูครับ

   
   

แต่ถ้าหากว่าระหว่างกด Build All แล้วพบว่า มีการเรียกหาตำแหน่งตำแหน่ง CCS ก็ให้เลือกตำแหน่งที่เราติดตั้งตัวโปรแกรม CCS ไว้ เพราะจะแตกต่างกันบน Windows OS 32 Bit และ 64 Bit ขึ้นอยู่กับว่าเราเลือกใช้ Windows อะไร

   

 

 

 

อ่านต่อ ตอนที่ 2