C-02.I/O Port
1. เปิดโปรเจคใหม ดูตัวอย่างจาก C-01 การเขียนโปรแกรมภาษา C
2. เขียนโปรแกรมใหม่ ให้ใช้ชื่อว่า c-02.c
*** อย่าลืมเพิ่ม Library util/delay.h
#include <avr\io.h> // Most basic include files
#include <avr\interrupt.h> // Add the necessary ones
#include <avr\signal.h> // here
#include <util/delay.h>
int a;
// ***********************************************************
// Main program
int main(void) {
DDRD = 0xff; //Port D as output
while(1) { // Infinite loop; define here the
a = 1;
for(int i = 0;i<8;i++){
PORTD = a;
_delay_ms(300);
a<<=1;
}
}
}
3. แปลโปรแกรม
4. แสดงค่า I/O Port
View -> I/O Port จะได้หน้าต่าง I/O Port ให้ติกเลือกแสดงรายละเอียดพอร์ท D
5. Run โปรแกรม ดูตัวอย่างจาก C-01 การเขียนโปรแกรมภาษา C
หมายเหตุ ถ้าไม่ต้องการสร้างโปรเจคใหม่สามารถใช้โปรเจคเดิม แล้วแก้ไขไฟล์โปรเจคในบรรทัด .SOURCE “c-02.c” เพื่อให้ทำงานกับโปรกรมใหม่ c-02.c ได้
การจำลองการทำงานของ LED ด้วย Control Panel
1. ที่ ไฟล์โปรเจคให้เพิมคำสั่งต่อไปนี้
D1 VDD D1_NODE
D2 VDD D2_NODE
D3 VDD D3_NODE
D4 VDD D4_NODE
D5 VDD D5_NODE
D6 VDD D6_NODE
D7 VDD D7_NODE
D8 VDD D8_NODE
R1 D1_NODE PD0 0.62K
R2 D2_NODE PD1 0.62K
R3 D3_NODE PD2 0.62K
R4 D4_NODE PD3 0.62K
R5 D5_NODE PD4 0.62K
R6 D6_NODE PD5 0.62K
R7 D7_NODE PD6 0.62K
R8 D8_NODE PD7 0.62K
หรือเข้าไปคลิกที่ไฟล์โปรเจค แล้วใช้ menu -> Component เลือก LED diode
จะปราฏบรรทัด
Dx VDD node ; x: Panel LEDs 1 - 8
ซึ่งเป็นรูปแบบการเขียนคำสั่งให้จำลอง LED ขึ้นใน Control Panel
2. แก้ไขไฟล์ c-02.c ที่ PORTD = a; เป็น PORTD = ~a; (เนื่องจาก LED ต่อขา แคโทดเข้าพอร์ท ดังนั้นต้องให้โลจิก 0 จึง LED จึงจะติด)
3. แปลโปรแกรม
4. แสดงอุปกรณ์ LED
View -> Control Panel
5. Run โปรแกรม ตรวจสอบการทำงาน โดยดูจาก LED D1 ถึง D8