ในโมดูลนี้ จะเป็นการเขียนโปรแกรมควบคุมไฟกระพริบ โดยให้ LED กระพริบทุกๆ 500 ms โดยใช้ PORTD เป็นตัวเชื่อมต่อกับ LED
ขั้นตอนการเขียนโปรแกรม
1. สร้างโปรเจ็ขึ้นมาใน MPLAB ตั้งชื่อว่าอะไรก็ได้ เมื่อสร้างโปรเจ็คเสร็จจะได้หน้าตาดังรูปที่ 1 (โปรเจ็คที่เราสร้างขึ้นนี้เราจะนำไปใช้กับทุกๆ โมดูล ที่เราเรียน)
รูปที 1
2. กดไปที่ File > New หรือ กด Ctrl+N ก็จะได้หน้ากระดาษขาวมาสำหรับเขียนโค้ด จากนั้นทำการ Save โดยเข้าไปที่ File > Save As ตั้งชื่อไฟล์ โดยการตั้งชื่อจะตั้งใส่ .c ต่อท้ายชื่อไฟล์เสมอ ตัวอย่างเช่น ผมจะตั้งชื่อไฟล์โค้ดว่า Testled ผมจะต้องตั้งชื่อว่า Testled.c
รูปที่ 2
3. ทำการเขียนโค้ดโปรแกรม ดังนี้
#include <p1F4520.h>
#include <delays.h>
#pragma config OSC = HS
#pragma config LVP = OFF
#pragma config WDT = OFF
void delay_ms(int ms)
{
for(;ms>0;ms--)
{
Delay1KTCYx(5);
}
}
void main()
{
TRISD = 0x00;
PORTD = 0;
while(1)
{
PORTD = 0xFF;
delay_ms(500);
PORTD = 0xFF;
delay_ms(500);
}
}
4. เมื่อทำการเขียนโค้ดเสร็จแล้ว ก็กดปุ่ม Build All โดยเข้าไปที่ Project > Build All หรือกด Ctrl+F10 ถ้าโค้ดไม่ผิดก็จะขึ้น คำว่า BUILD SUCCEEDED ดังรูปที่ 3 เราก็จะเห็น Hex ไฟล์เกิดขึ้นมาในโฟลเดอร์ที่เก็บโปรเจ็คของเรา
อธิบายคำสั่ง
#include <p18f4520.h> ใช้สำหรับติดต่อกับไลบารี ของ PIC 18F4520
#include <delays.h> ใช้สำหรับติดต่อกับไลบารีที่ใช้ในการหน่วงเวลา
#pragma config OSC = HS กำหนดรูปแบบสัญญาณนาฬิกา
#pragma config LVP = OFF Single-Supply ICSP disabled
#pragma WDT = OFF WDT disabled (control is placed on the SWDTEN bit)
TRISD = 0x00; กำหนดให้ PORTD เป็น Output
PORTD = 0xFF; กำหนดให้ PORTD ทั้ง PORTD มีลอจิก 1
delay_ms(500); หน่วงเวลา 500 ms
PORTD = 0x00; กำหนดให้ PORTD ทั้ง PORTD มีลอจิก 0
delay_ms(500); หน่วงเวลา 500 ms
ก็หวังเป็นอย่างยิ่งว่าจะเป็นประโยชน์ สำหรับผู้ที่ศึกษาไม่มาก ก็น้อยและเจอกันใหม่ใน โมดูลหน้า
ไม่มีความคิดเห็น:
แสดงความคิดเห็น