วันพุธที่ 20 เมษายน พ.ศ. 2554

มาหัดเขียนโปรแกรมควบคุมคอนโทรลเลอร์(Atmega) กันเถอะ ตอนที่ 2 การเขียนโปรแกรมสั่ง Input/output (GPIO)





หลังจากตอนที่แล้วได้ลงโปรแกรมกันเป็นที่เรียบร้อยแล้ว ในตอนนี้เราจะมาเริ่มเขียนโปรแกรมกันเลยเริ่มจากเรียกใช้งานโปรแกรมจาก Start menu->All Programs->ATmel AVR Tools->AVR Studio 4 ในที่นี้ขอใช้เป็น เวอร์ชั่น4 ก่อนนะครับเพราะเนื่องจากลองใช้เวอร์ชั่น 5 ดูแล้ว ก็พบว่าเวอร์ชั่น 4 นั้นใช้งานง่ายกว่าถ้าใช้จนเข้าใจแล้วการจะไปใช้เวอร์ชั่น 5 นั่นไม่ยากเลยครับ

โปรแกรมก็จะแสดงดังรูป ต่อจากนั้นให้เลือก กดปุ่ม New Project


จากนั้นจะมีหน้าต่างปรากฎขึ้นมาให้เราเลือกภาษาที่ใช้ในการเขียน
โดยเราจะใช้ภาษาซีจึงเลือก AVR GCC แล้วกดปุ่ม Next


เลือกซีพียูรุ่นที่ใช้ในที่นี้เลือก Atmega328P และสภาพแวดล้อม AVR Simulator2 จากนั้นกดปุ่ม Finish


เมื่อเราสร้างโปรเจคเสร็จเรียบร้อยแล้วก็ถึงเวลาลงมือเขียนโปรแกรมโดยโปรแกรมแรกจะเป็นโปรแกรมไฟกระพริบ

#include --->ประกาศเพื่อเรียกใช้ Library Input Output
#include --->ประกาศเพื่อเรียกใช้ Library delay
int main(void)
{
DDRB = 0xff; //Port B OutPut All --->กำหนดให้ทุก Port ของ Port B เป็น Output
PORTB = 0x00; //Clear Port B --->กำหนดให้ทุกพอร์ตมีโลจิตเป็น 0 หรือเป็น ground นั่นเอง
while(1) --->วนลูป Infinity รอบ
{
PORTB=0x01; //Set Port PB0 and Clear Port PB1-PB7 -->กำหนดให้PB0มีโลจิกเป็น1 ส่วน PB1-PB7 มีโลจิกเป็น 0
_delay_ms(1000); //delay 1000 ms --->กำหนดให้มีการหน่วงเวลาไว้ 1000 ms
PORTB=0x00; //Clear All Port --->กำหนดให้ทุก Port มีโลจิกเป็น 0
_delay_ms(1000); //delay 1000 ms --->กำหนดให้มีการหน่วงเวลาไว้ 1000 ms
//TODO:: Please write your application code
}
}

หลังจากเขียน code เสร็จ ให้เรา Compile เพื่อ Check error ของ code และถ้าไม่พบ error ให้กดBuild

จากนั้นเราจะได้ file .hex


เราจะนำไฟล์ .hex ไป burn ใส่ใน คอนโครลเลอร์
โดยใช้โปรแกรม Khazama สามารถดาวโหลดได้จากลิ้ง>> http://www.khazama.com/project/programmer/

ทดลองโดย Burn ลง Board

ไม่มีความคิดเห็น:

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