求PIC16F690的定时器0程序 万分感谢 我自己写了一个 不知道为什么就是不行 忘各位指教
/***定时器0实现定时功能***/
#include<pic.h>
__CONFIG(0x3FF2);
#define _XTAL_FREQ 20000000 // 20M晶振数值
#define SW_Start RB6 //LED灯
unsigned int Tmr0Count;
void timer0Int()
{
TRISB6=1;
/****TMR0******/
GIE =1; //enable all interruput
T0IE=1;//T0IE=1; //enable tmro interrut
T0IF=0;//T0IF=1; //clear flag
T0CS=0;
PSA =0;
PS2=0;
PS1=1;
PS0=0;
TMR0=0x14; //500us
Tmr0Count =0; //clear countvalue;
}
void interrupt T_MR0(void)
{
if(T0IF)
{
T0IF=0;
TMR0=0x14; //500us 定时器0:只有8位寄存器255
Tmr0Count++;
if(Tmr0Count>=500)//1S这里的值根据你的晶振进行计算
{
Tmr0Count=0;
SW_Start =~SW_Start;//灯
}
//break;
}
}
void main()
{
timer0Int();
while(1);
} |
|