ขั้นตอนการลงโปรแกรม HI-TECH C COMPILER

หลังจากที่ Download ตัว Demo มาทดลองใช้ ให้ลง MPLAB ก่อน จากนั้นทำการลงโปรแกรม HI-TECH ที่ Download มา

รูปที่ 1?

รูปที่ 2

หลังจากอ่านข้อตกลงของโปรแกรม (Software License Agreement) แล้ว ให้คลิก Yes

รูปที่ 3

เลือก Folder ที่ต้องการลงโปรแกรม โดยทั่วไปจะอยู่ที่ C:\HT_PIC

รูปที่ 4

รูปที่ 5

?

รูปที่ 6

?

รูปที่ 7

เมื่่อมาถึงขั้นตอนสุดท้ายจะต้องทำการ Restart คลิก Yes เพื่อ Restart

รูปที่ 8

โปรเจคแรกกับ HI-TECH C COMPILER

ทำการสร้่าง Project โดยเลือก Project –> Project Wizard… ตัว Wizard นี้จะช่วยให้สร้างโปรเจคได้ง่ายขึ้น

รูปที่ 1

เจอข้อความต้อนรับให้กด Next > ไป

รูปที่ 2

เลือกเบอร์ PIC ที่ใช้ ผมเลือก 16F873A

รูปที่ 3

เลือก Language toolsuite หรือเลือกตัว Compiler นั่นเอง ให้เลือก HI-TECH PICC Toolsuit ในกรณีที่เป็นกากบาทสีแดงให้ Browse… หา ณ ตำแหน่งที่เราลงโปรแกรมไว้

รูปที่ 4

ตั้งชื่อโปรเจคและระบุตำแหน่ง Directory

รูปที่ 5

ในกรณีที่มี File .c, .h แล้ว สามารถ add มาได้จากทางซ้ายมือ ถ้าไม่มีก็ Next > ไปเลย

รูปที่ 6

Wizard จะทำงานถึงขั้นสุดท้าย จากนี้เราต้องเขียน code ต่อเอง

รูปที่ 7

รูปที่ 8

การทดลองที่ 2 อ่าน/เขียนหน่วยความจำ EEPROM 16F87X

การทดลองที่ 2 อ่าน/เขียนหน่วยความจำ EEPROM 16F87X

โดยส่วนมากแล้ว PIC จะมี EEPROM ในตัวอยู่แล้ว ในเบอร์ 16F873A จะมี EEPROM อยู่ 128 B หน่วยความจะ EEPROM นี้จัดเป็นหน่วยความจำประเภท Non volatile memory เมื่อไปดับข้อมูลใน EEPROM จะไม่หายไปไหน สำหรับเบอร์ 16F873A มี Cycle Write/Erase อยู่ล้านครั้ง

//************************************************************************//
//Project : first873.mcp
//Description : I/O Port
//Device : PIC16F873A
//By : ThaiEmbedded 2006
//************************************************************************//#include <pic.h>
#include <stdio.h>
#include <stdlib.h>

__CONFIG(XT & WDTDIS & PWRTEN & BORDIS & LVPDIS & DEBUGDIS & UNPROTECT);

unsigned char i;
unsigned char dat;
//——————————————————————————//
// Delay (mSec)
//——————————————————————————//
void dmsec (unsigned int Count)
{ unsigned char i;
????? while (Count)
????? {
????? ????? for (i=0;i<=100;i++);
????? ????? Count–;
????? }
}
//——————————————————————————//
// Main Program
//——————————————————————————//
void main ()
{
?????TRISB = 0b00000000; //Output mode
????? while(1) //Loop Forever
????? {
?????????? dat = 0×01;
?????????? for(i=0;i<8;i++)
?????????? {
?????????? ????PORTB = dat;
????? ????? ???dat <<= 1;
????? ????? ???dmsec(500);
?????????? }
????? }
}

Download Code การทดลองที่ 2