![]() |
|
|
|
C51 กับ
SDCC : การใช้งาน SDCC
sdcc
เป็นซอฟต์แวร์สำหรับใช้ในการพัฒนาโปรแกรมบนไมโครคอนโทรลเลอร์ MCS51
ในรูปแบบภาษา C ด้วยการ รูปแบบในการเขียนโค้ดด้วยภาษา C ของ sdcc จะอิงแบบเดียวกับการเขียนด้วย Keil C51 แต่ความสามารถหลาย ๆ อย่างยังไม่สามารถที่จะเทียบเท่าได้กับตัว Keil แต่ถ้าเป็นการเขียนโปรแกรมควบคุมอุปกรณ์ที่ไม่มีการอินพุตข้อมูลที่ซับซ้อนรวมทั้ง การใช้งานฟังก์ชันที่เกี่ยวกับคณิตศาสตร์ด้วยแล้ว sdcc ก็มีความสามารถที่จะตอบสนองการใช้งานได้เกือบจะสมบูรณ์ จุดที่ยากของ sdcc คือ หลาย ๆ อย่างเราจะต้องจัดการเอง รวมทั้งเงื่อนไขในการคอมไพล์โปรแกรมที่จะต้องกำหนดเอง เนื่องจากการคอมไพล์โค้ดโปรแกรมจะเป็นไปในรูปแบบ command line นั้นคือเราต้องเข้าใจเงื่อนไขการคอมไพล์โปรแกรม ของฟรีก็ต้องใช้วิทยายุทธกันหน่อยละครับ >> เตรียมเครื่องมือ ก่อนที่จะใช้งาน sdcc ได้ก็ต้องมีการเตรียมเครื่องมือกันก่อน ซึ่งมีรายละเอียดดังนี้
1.
ดาวน์โหลดและติดตั้ง sdcc
ดาวน์โหลดได้ที่
http://sdcc.sourceforge.net การติดตั้ง sdcc ให้ติดตั้งในโฟลเดอร์ c:\sdcc\ สำหรับ jfe ให้ติดตั้งในโฟลเดอร์ sdcc เช่นเดียวกัน หน้าตาของโปรแกรม jfe แสดงดังรูปที่ 1.
รูปที่ 1. jfe Editor >> โปรแกรมตัวอย่างที่ 1. 1. ไปที่เมนู File->New เราจะได้หน้าต่างสำหรับใช้ในการเขียนโค้ดโปรแกรมชื่อ unknown1 ให้เขียนโค้ดโปรแกรมตามตัวอย่างในกรอบโค้ดโปรแกรมตัวอย่างที่ 1. ดังนี้ โค้ดโปรแกรมตัวอย่างที่ 1.
2. เมื่อเขียนโค้ดโปรแกรมตามตัวอย่างที่ 1.
แล้วเราจะกำหนดเงื่อนไขการคอมไพล์โปรแกรมตัวอย่างที่ 1. ตามขั้นตอนดังนี้ 3. เมื่อกำหนดเครื่องมือในการคอมไพล์โปรแกรมเรียบร้อยแล้ว ให้ save ซอร์สโค้ดโปรแกรมไปที่เมนู File->Save กำหนดชื่อไฟล์ ex01.c ในโฟลเดอร์ ex01
4. คลิกไปที่ toolbar เมนู SDCC
ถ้าไม่พบข้อผิดพลาดใด ๆ
เราจะได้ผลลัพธ์ในการคอมไพลโปรแกรมดังนี้ 5. เมื่อคอมไพล์โปรแกรมเสร็จเราจะได้ไฟล์นามสกุล .ihx ให้เปลี่ยนนามสกุลไฟล์เป็น .hex แล้วทดสอบโปรแกรมกับบอร์ดทดลองหรือ Simulator MCS-51 ผลการทำงานแสดงดังรูปที่ 4. และ 5.
รูปที่ 4. ก่อนทดสอบโปรแกรม P0 เท่ากับ 11111111 หรือเท่ากับ 0xFF
รูปที่ 5. หลังทดสอบโปรแกรม P0 เท่ากับ 10101010 หรือเท่ากับ 0xAA สำหรับเนื้อหา C51 กับ SDCC ในด้านต่าง ๆ จะนำเสนอเพิ่มเติมในครั้งต่อ ๆ ไปครับ สำหรับท่านผู้อ่านที่ใจร้อนก็สามารถดูรายละเอียดการใช้งานเพิ่มเติมได้จากเอกสารที่มีมากับ SDCC ไปล่วงหน้าก่อนได้เช่นเดียวกันครับ
|
|
||||||