关于PIC的C语言编程中定时器方面的资料,哪里有啊?求关于定时器的一个详细的例子。

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:11:46
那个要是需要在某个条件下才启动定时器计时,是在程序中加入条件后再写“TMR1IE = 1; //开定时器中断”吧?那么就省去在初始化中的这一步了?

网上有一个名为《PIC16F877单片机编程实例教程》的电子文档,PDF格式的。这里有PIC16F877的定时器的C语言样例程序。如果找不到,留下邮箱号可以给你传。
给你一个我最近写的PIC16F886的定时器程序,只要在main函数里调用init_T1()就能操作定时器1:
void init_T1(void) //初始化定时器1
{
TMR1H = 0xF4;TMR1L = 47; //定时3mS
T1CON = 0; //初始化T1
TMR1IE = 1; //开定时器中断
INTCON = 0XC0; //开总中断和PEIE外设中断
TMR1ON = 1;
}
void interrupt T1(void)
{
if(TMR1IF)
{ TMR1IF = 0;
INTCON = 0; //关中断清标志位
TMR1IE = 0;
rbf = 1; //具体操作
}
}
但你要先清楚:PIC单片机有很多种类的,虽然指令和架构都一样。但在某些功能上有区别的。比如上述的877和886的T1定时器带门控功能,而PIC16F716的T1则不带门控功能。有的PIC单片机甚至没有T1和T2定时器。这都需要你自己去看PIC单片机对应的数据手册(也是PDF格式,在PIC的生产商MICROCHIP的网站上有中文版下载)