• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

PIC单片机T0定时器

学习单片机PIC16F1936遇到问题,没法使T0定时器工作。请帮忙看下程序中的错误,谢谢!

 #include //包含头文件 

#define uint unsigned int 

#define uchar unsigned char 

void Init(void); // 系统初始化 

uchar cnt; 

 

/*******************************************************************************

 函数名:Init() 作用:I/O初始化,,定时器初始化,看门狗初始化 

*******************************************************************************/ 

void Init() //系统初始化函数

 {

 INTCON = 0x20; //允许Timer0中断 

PIE1 = 0x0; 

OSCCON = 0x68; //内部振荡器4M

TRISC = 0x0 ;// 

PORTC = 0x0; 

OPTION_REG = 0x85 ;//1:64 分频比

 TMR0IE = 1;//允许TMRO中断 

TMR0IF = 0; 

TMR0 = 0x64; // 

void main(void)

 {

 Init();

 while(1)

 { 

if(TMR0IF==1

TMR0IF=0; 

TMR0=0x64; 

cnt++;

 if(cnt==100)

 { 

cnt=0; 

RC2=!RC2;

 }

 }

 } 

}

全部回复(5)
正序查看
倒序查看
2017-08-02 10:56
自己顶一下!
0
回复
redel
LV.3
3
2017-09-05 12:49
@x-children
自己顶一下!
我这个星期找个程序过来给你看看
0
回复
redel
LV.3
4
2017-09-05 12:51
@x-children
自己顶一下!
好像没有看到开启Timer0,只是给了初值,没有用鞭子抽它。
0
回复
redel
LV.3
5
2017-09-05 18:41

#include

#define uchar unsigned cha

r#define uint  unsigned int

__CONFIG(0x3B31);

void init();

uint intnum;

void main()

{

     init();

     while(1)

               {

                 if(intnum==10)

                  {intnum=0;RD0=!RD0;

                                                }

                         }

}

void init()

{

        TRISD=0;

        PORTD=0;

        OPTION=0x07;

        INTCON=0xa0;

        TMR0=61;

}

void interrupt time0()

{

        T0IF=0;

        TMR0=61;

        intnum++;

}

0
回复
redel
LV.3
6
2017-09-05 18:43
你这个好象是没有配置字。——configure
0
回复