PIC12F508單片機是沒有中斷的,定時器只能是查詢方式。
編譯器用的XC8,編譯環境IDE用的是MPLAB X IDE。
//***************************************************
// __________________
// VDD-| 1 8 |-VSS
// GP5-| 2 27 |-GP0/DAT
// GP4-| 3 26 |-GP1/CLK
//GP3/RMCLR--| 4 25 |-GP2
// |________________|
// 12F508
//***************************************************
//定時器模式試用
#include
#include
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
// CONFIG
#pragma config OSC = IntRC // Oscillator Selection bits (internal RC oscillator)
#pragma config WDT = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config CP = OFF // Code Protection bit (Code protection off)
#pragma config MCLRE = OFF // GP3/MCLR Pin Function Select bit (GP3/MCLR pin function is digital input, MCLR internally tied to VDD)
#define uchar unsigned char
#define uint unsigned int
uchar count;
//uchar GP3_F;
void Init()
{
TRIS=~0x3F; //GP3輸入,其它輸出
//GPWU = 0;//引腳中斷喚醒使能;引腳中斷要引起復位的,可以查詢復位原因,這樣就可以知道是誰的中斷了
//GPPU=0;/弱上拉使能
OPTION=0xF5;//分頻器給定時器 64 4MHz x=257-tJ/4F
TMR0=0x63; //10ms x=257-tJ/4F
}
void main()
{
Init();
while(1)
if(TMR0==0xFF)
{
TMR0=0x63; //
if(++count==50)//1s
{
count=0;
GP2=~GP2;//LED閃爍
}
}
}
}