Header Ads Widget

Ticker

6/recent/ticker-posts

การเขียนโปรแกรมภาษาซีสาหรับไมโครคอนโทรลเลอร์

         การใช้งานไมโครคอนโทรลเลอร์ นอกจากจะต้อ งมีวงจรไมโครคอนโทรลเลอร์ และมีส่วนของวงจรเชื่อมต่อกับอุปกรณ์ภายนอก เพื่อใช้ในการควบคุมงานต่างๆ ตามต้องการที่เรียกว่า ฮาร์ดแวร์ (Hardware)แล้ว จำเป็นต้องมีชุดคำสั่งหรือโปรแกรมไว้สำหรับสั่งงานให้ไมโครคอนโทรลเลอร์ ทำงานตามที่ต้องการซึ่งเรียกว่าซอฟท์แวร์ (Software) ในบทนี้  เป็นการเรียนรู้ หลักการเขียนโปรแกรมควบคุม การทำงานของไมโครคอนโทรลเลอร์

ขั้นตอนในการพัฒนาโปรแกรม

        โปรแกรมคอมพิวเตอร์ที่นำมาใช้งานได้นั้น ไม่สามารถเริ่มต้นจาก การเขียนคำสั่งด้วยภาษาคอมพิวเตอร์ ได้ทันที จะต้องมีการวิเคราะห์ วางแผน และปฏิบัติตามกระบวนการทำงาน ซึ่งแบ่งออกเป็น 5 ขั้นตอน คือ

1. วิเคราะห์ปัญหา โดยจะเริ่มจากการวิเคราะห์ผลลัพธ์ที่ต้องการ (Output) แล้ว ย้อนกลับไปยังข้อมูลที่นำเข้าสู่ระบบ (Input)ตลอดจนข้อมูลอื่นๆ ที่เกี่ยวข้องในการที่จะนำไปใช้ในการประมวลผล

2. ออกแบบวิธีการแก้ปัญหา เมื่อทราบผลลัพธ์ที่ต้องการและข้อมูลที่นำเข้าสู่ระบบแล้วต้องกำหนดการวางแผนในการแก้ปัญหา โดยใช้วิธี เขียนลำดับขั้นตอนการแก้ปัญหาที่เรียกว่า อัลกอริทึม (Algorithm) และใช้เครื่องมือสำหรับช่วยในการเขียนอัลกอริทึม เช่น การเขียน รหัส จำลอง (Pseudo code) การเขียนผังงาน (Flowchart) เป็นต้น

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

4. ทดสอบและแก้ไขโปแกรม ภายหลัง จากเขียนโปรแกรมเสร็จสิ้น จะต้องทำการทดสอบโปรแกรมเพื่อหาข้อผิดพลาด (Error) ซึ่งข้อผิดพลาดที่พบในขั้นตอนการทดสอบโปรแกรมนั้น จะต้องนำมาปรับปรุงแก้ไขโปรแกรมเพื่อให้สามารถทำงานได้ตามต้องการ

5. จัดทำเอกสารประกอบ เมื่อโปรแกรมผ่านการทดสอบแล้ว ก็จะต้องจัดทำเอกสารประกอบ ซึ่งมีรายละเอียดของวิธี การใช้งานโปรแกรม วิธีการติดตั้งโปรแกรม ตลอดจนขั้น ตอนในการพัฒนาโปรแกรม รวมถึงอัลกอริทึมและโปรแกรมต้นฉบับ (Source code) เพื่อประโยชน์ ในกรณี ที่ต้องการแก้ไขหรือปรับปรุงโปรแกรมภายหลัง1

            ขั้นตอนวิธี  หรือ Algorithm (ภาษาไทย : อัลกอริทึม) หมายถึงกระบวนการแก้ปั  ญหาที่สามารถ เข้าใจได้ มีลำดับหรือวิธี การในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไรแล้วจะต้องได้ผลลัพธ์เช่นไรซึ่งแตกต่าง จากการแก้ปัญหา แบบสามัญสำนึก หรือ ฮิวริสติก (Heuristic) โดยทั่วไปขั้นตอนวิธีจะประกอบด้วย วิธี การเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ หรือ เวียนเกิดโดยใช้ตรรกะ และ/หรือ ในการเปรียบเทียบในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

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

            การนาข้ นั ตอนวิธี ไปใช้ไม่จากัด เฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถนาไปใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า , การทำงานเครื่องจักรกล , หรือ แม้กระทั่งปัญหาในธรรมชาติ เช่น วิธี ของสมองมนุษย์ในการคิดเลข หรือวิธีการขนอาหารของแมลง2

    ผังงาน ( Flowchart) คือ รูปภาพ ( Image) หรือ สัญลักษณ์ ( Symbol)ที่ใช้เขียนแทนขั้นตอนคำอธิบาย ข้อ ความ หรือคำพูดที่ใช้ในอัลกอริทึม (Algorithm)เพราะการนำเสนอขั้น ตอนของงานให้เข้าใจตรงกันระหว่างผู้เกี่ยวข้องด้วยคำพูด หรือข้อความทำได้ยากกว่า 3

    ผังงานในการเขียนโปรแกรมเป็นรูปทรงเลขาคณิต ที่บรรจุรายละเอียดกระบวนการประมวลผล โดยมีรูปทรงในการใช้งานหลักๆ (เฉพาะงานไมโครคอนโทรลเลอร์) ดังนี้ 



ตัวอย่างการเขียนลำดับขั้น ขั้นตอนวิธี และการแปลงเป็นผัง

ยกตัวอย่างในชีวิตประจำวัน เพื่อให้ง่ายต่อการจินตนาการ โจทย์การทำไข่เจียวหมูสับ

ขั้นที่ 1 เขียนลำดับขั้น (Algorithm)


ขั้นที่ 2 แปลงลำดับขั้นเป็นผังงาน (Flowchart) 

ตัวอย่างการเขียนโปรแกรมไมโครคอนโทรลเลอร์


ขอบคุณข้อมูลจาก เรียนรู้และลองเล่น Arduino เบื้องต้น [ครู ประภาส สุวรรณเพชร]


แสดงความคิดเห็น

0 ความคิดเห็น