#include <p30f2010.h> //เปิดใช้งานไลบรารี dspic30F2010
_FOSC(CSW_FSCM_OFF & XT); // โหมดการทำงาน แบบ XT คริสตอล 4 - 10 MHz ไม่มี PLL
_FWDT(WDT_OFF); //ปิดการทำงาน watchdog Timer
#define TRUE 1 //กำหนดค่าตัวแปรชื่อ TRUE เป็น 1
#define TRIS_LED TRISE //กำหนดค่าตัวแปรชื่อ TRIS_LED เป็นการใช้งานพอร์ต E
#define LED_1 _LATE0 //กำหนดค่าตัวแปรชื่อ LED_1 เป็นการใช้งานพอร์ตเอาท์พุต E0
#define LED_2 _LATE1 //กำหนดค่าตัวแปรชื่อ LED_2 เป็นการใช้งานพอร์ตเอาท์พุต E1
#define LED_3 _LATE2 //กำหนดค่าตัวแปรชื่อ LED_3 เป็นการใช้งานพอร์ตเอาท์พุต E2
#define TRIS_SW TRISB //กำหนดค่าตัวแปรชื่อ TRIS_SW เป็นการใช้งานพอร์ต B
#define SW_1 _RB0 //กำหนดค่าตัวแปรชื่อ SW_1 เป็นการใช้งานพอร์ตอินพุต B0
#define SW_2 _RB1 //กำหนดค่าตัวแปรชื่อ SW_2 เป็นการใช้งานพอร์ตอินพุต B1
#define SW_3 _RB2 //กำหนดค่าตัวแปรชื่อ SW_3 เป็นการใช้งานพอร์ตอินพุต B2
int main(void)
{
ADPCFG = 0XFF; //ปิดการใช้งานโมดูล A to D
TRIS_LED = 0; // ปิด LED
while(1)
{
if(SW_1 == 0){ //ถ้ากด switch1 (ต่อแบบ active low)
LED_1 = 1; // LED1 ON
LED_2 = 0; // LED2 OFF
LED_3 = 0; // LED3 OFF
}
if(SW_2 == 0){ //ถ้ากด switch2 (ต่อแบบ active low)
LED_1 = 0; // LED1 OFF
LED_2 = 1; // LED2 ON
LED_3 = 0; // LED3 OFF
}
if(SW_3 == 0){ //ถ้ากด switch2 (ต่อแบบ active low)
LED_1 = 0; // LED1 OFF
LED_2 = 0; // LED2 OFF
LED_3 = 1; // LED3 ON
}
}
return 0; //Reset ค่าเริ่มต้น
}
โปรแกรมนี้ใช้เพื่อการกด switch เพื่อสั่งให้อุปการณ์ต่างๆ ทำงาน หรือไม่ทำงาน