[ บทความ : MPLab ] ตอนที่ 2 ... การใช้งาน MPLAB V6.4 และการโปรแกรมชิพ .... |
บทความตอนที่แล้วเราได้ติดตั้ง MPLab รุ่น 6.4 กันไปแล้ว แต่ยังไม่ได้ใช้งานโปรแกรมกันเลย ในบทความนี้เราจะมาเขียนโปรแกรมภาษาแอสเซมบลีกันนิดหน่อย แล้วก็จะทดลองคอมไพล์โปรแกรมที่เขียน แล้วนำแฟ้มผลลัพธ์ที่ได้นี้ไปเขียนลงชิพ โดยอาศัยโปรแกรมที่ชื่อว่า Epic Win กันครับ |
|
ขั้นตอนการพัฒนาในการพัฒนางานทางไมโครคอนโทรลเลอร์นั้นจะมีลำดับขั้นตอนโดยสรุปได้ 5 ขั้นตอนดังต่อไปนี้
1
ออกแบบวงจรและโปรแกรม
ในขั้นตอนแรกนั้นจะกินเวลามากที่สุด เพราะเราจะต้องรวบรวมความรู้ความเข้าใจของเราทั้งหมดเพื่อแก้ไขปัญหา (แต่ส่วนมากจะให้เวลากับส่วนนี้น้อยที่สุด ) เมื่อเราออกแบบทั้งลักษณะของวงจรและการทำงานของโปรแกรมเสร็จแล้ว เราจะต้องทดลองต่อวงจรและทดสอบการทำงานของวงจรเสียก่อนว่าทำงานได้ถูกต้องดีหรือไม่ ที่ทำการทดสอบส่วนของวงจรก่อนก็เพราะว่าถ้าวงจรทำงานผิดพลาดเวลาที่สั่งงานด้วยโปรแกรมผลที่ออกมาก็ผิดพลาดอยู่ดี ดังนั้น ถ้ามั่นใจได้ว่าวงจรที่ต่อนั้นถูกต้อง การเขียนโปรแกรมก็จะทำได้ง่ายขึ้น (ไม่ต้องโทษว่าโปรแกรมถูกแต่วงจรผิด อะไรทำนองนี้ล่ะครับ) ในการเขียนโปรแกรมเราก็เลือกภาษาที่ถนัด (ตอนนี้สมมุติว่าเราจะมาถนัดภาษาแอสเซมบลีกันนะครับ) แล้วก็เขียนตามที่ออกแบบไว้ในขั้นตอนที่ 1 เมื่อเขียนเสร็จเราก็ทำการคอมไพล์โปรแกรม ถ้าเกิดความผิดพลาดใดๆ ขึ้นมาเราก็แก้ไขและคอมไพล์ใหม่จนกว่าจะคอมไพล์ผ่าน เราก็จะได้แฟ้มที่เรียกว่าเป็นฐานสิบหกที่ใช้สำหรับนำไปเขียนลงชิพไมโครคอนโทรลเลอร์ เมื่อเขียนลงชิพได้เป็นที่เรียบร้อยเราค่อยนำบอร์ดควบคุม (บอร์ดไมโครคอนโทรลเลอร์นั่นแหละครับ) ไปต่อกับวงจรภายนอก เน้นว่าต่อกับวงจรภายนอกหลังจากเขียนลงชิพนะครับ เมื่อเสร็จขั้นตอนนี้เราค่อยทดสอบต่อวงจรเข้ากับบอร์ดควบคุม แล้วดูผลของการทำงานว่าถูกต้องหรือไม่ถ้าทุดอย่างไม่ปัญหาเราก็ค่อยมาปรับปรุงโปรแกรมในขั้นตอนที่ 3 ว่าสามารถเขียนได้ดีกว่าเดิมหรือไม่ เพื่อให้โปรแกรมมีความรัดกุมและมีข้อผิดพลาด (บั๊ก หรือ Bug) ให้น้อยที่สุด เพียงเท่านี้เราก็พัฒนางานด้านไมโครคอนโทรลเลอร์ได้แล้ว 1 ชิ้นครับผม จากที่ผมได้อธิบายไปนี้เราสามารถนำไปใช้กับไมโครคอนโทรลเลอร์อื่นๆได้ด้วยนะครับ เพราะขั้นตอนของการพัฒนานั้นมันเหมือนกันครับ แตกต่างกันเรื่องข้อกำหนดในขั้นตอนที่ 1 และการเขียนโปรแกรม (การเขียนลงชิพด้วยอ่ะ ) เพราะมันขึ้นอยู่กับว่าไมโครคอนโทรลเลอร์นั้นมีคุณสมบัติทางไฟฟ้า และสถาปัตยกรรมของการเขียนโปรแกรมเป็นอย่างไรบ้างนั่นเอง
|