pic timer1定时器

2019-04-15 11:46发布

*22-11-09 20:17
功能;通过Timer1延时实现led灯的循环闪烁
要求:MPLAB 8.2以上,MEO工程板一块,PIC16-MCD2 仿真下载,
芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,4MXT模式振荡
*/
#include int main()
{
    TRISC = 0x00;    //c端口定义为 输出
    PORTC = 0x00;    //全部熄灭
    TMR1CS = 1;     //T1CON<1> 将timer1配置位定时器
    T1CON  = 0xb0;   //1011 0000 配置位一次16位对Timer1寄存器进行读写 1:8预分频
    TMR1 = 0;     //TMR1赋初值 定时器的定时值清零
    TMR1ON = 1;  // 使能计时器
    while (1)
    {
          for (int i=0; i<8; i++)
          {
              PORTC = 0x01;       //第一个灯亮
              PORTC = PORTC>>1;   //右移一位
              if (TMR1IF == 1)  //产生中断,溢出
              {
                   TMR1IF = 0;  //清溢出
                   TMR1 = 0;      //TMR1赋初值 定时器的定时值清零
                   PORTD = 0x00; //全熄灭
              }
          }
    }
}