PIC16F877A-定时器0
PIC16F877A_Timer0_定时器
********************************************************/
#include "pic.h"
__CONFIG(0X3F71);
/********************************************************
定时器0初始化函数
********************************************************/
void Init_T0()
{
T0CS = 0;//内部时钟源
T0SE = 1;//下降沿增计数
PSA = 1;//预分频器分配给WDT,TMR0不分频
TMR0IF = 0;
GIE = 1;//打开总中断
TMR0IE = 1;//打开定时器0中断允许
TMR0 = 238;//加载初值
}
/********************************************************
中断服务函数:PIC16F877A只有一个中断入口地址,进入中断之后第一件事
就是根据中断标志位判断是哪个模块产生的中断,再做相应的处理
********************************************************/
void interrupt Timer0()
{
if(TMR0IF)//判断是否为定时器0溢出中民
{
TMR0IF = 0;//清除溢出标志
TMR0 = 238;//重新加载初值
PORTD = ~PORTD;//输出指示
}
}
/********************************************************
主函数
********************************************************/
void main(void)
{
Init_T0();//定时器0初始化
PORTD = 0xff;
TRISD = 0x00;
while(1)
{
asm("nop");
}
}
PIC16F877A定时器 相关文章:
- PIC16F877A例程--定时器中断(11-24)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)