วันอาทิตย์ที่ 28 มิถุนายน พ.ศ. 2558



พิสูจน์INTERNAL OSCILLATORความถี่ภายในPICว่ามีจริงหรือไม่โดยใช้CONFIGURATION BITSของXC8
28/6/2558 SONGCHAI PRAPATRUNGSEE
พิสูจน์INTERNAL OSCILLATORความถี่ภายในPICว่ามีจริงหรือไม่โดยใช้CONFIGURATION BITSของXC8

เข้าไปเอาCODEที่Configuration Bits
แล้วทำการทดลอง
1 คลิก Window
2 ชี้ Pic Memory Views
3 คลิก Configuration Bits
4 คลิก FOSCแล้วเลือกCLOCK SOURCE
   มีหลายแบบ ทั้งภายใน ภายนอก
   ถ้าแบบใช้CRYSTAL
   ถ้าความถี่น้อยกว่า 0.2KHZเลือกLP=Low Power
   ถ้าความถี่ตั้งแต่ 0.1MHZ-4MHZ เลือกXT_XT=XT
   ถ้าความถี่ตั้งแต่ 4MHZ-MAX เลือกHS=High Speed
5 คลิก Generate Source Code to Output
จากนั้นCopy Source Code ไปวางในไฟล์Cของเรา
เพื่อใช้งานต่อไป

หรือคลิกRun
คลิกSet Configuration Bits
ก็ได้เหมือนกัน

ถ้าเซ็ทเป็นExternal Clock
เช่น เซ็ทเป็น HS
ก็หมายความว่าใช้ความถี่ตั้งแต่4MHZ – MAXสูงสุด
 ในความเป็นจริงที่ขาRA6กับขาRA7
จะมีไฟออกมาด้วย
แต่ในProteus จะไม่มีไฟออกมา

 ถ้าเซ็ทเป็นInternal Clock
เช่น เซ็ทเป็น INTIO67
ก็หมายความว่าใช้คล็อคภายใน
 ทำให้ขาRA6และขาRA7
สามารถเซ็ทเป็นอินพุทเอาท์พุทได้
ทำให้มีขาอินพุทเอาท์พุทเพิ่มขึ้นอีก2ขานั่นเอง

SOURCE CODE
/*
 * File:   EE.C
 * Author: sc
 * INTERNAL CLOCK USE PIC18FXXK20
 * Created on 27 ,มิย 2558, 12:00
 */

#include <xc.h>
//#pragma config FOSC = HS//External Crystal 4MHZ-20MHZ
//#pragma config FOSC = INTIO7// Oscillator Selection bits (Internal oscillator block, CLKOUT function on RA6, port function on RA7)
 #pragma config FOSC = INTIO67// Oscillator Selection bits (Internal oscillator block, port function on RA6 and RA7)

#define _XTAL_FREQ 4000000//4MHZ FOR __delay

void main(void)
{
 TRISA=0;

 while(1) {
   PORTA=255;
   __delay_ms(197);//197 MAX IN XC8 V3.00
   PORTA=0;
   __delay_ms(197);//197 MAX IN XC8 V3.00
 }
}



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