打印
[国产单片机]

HT46F49E启动定时器24秒后定时器才正常工作

[复制链接]
579|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhengmingming2|  楼主 | 2015-3-15 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
HT46F49E 单片机定时控制1个灯关闭和点亮,为什么电路板通电后24秒左右才正常4秒点亮4秒关闭,和其他单片机定时器使用好像有点不一样,晶振外置8M的,程序如下:
#include "HT46F49E.h"
char   i,j,k;
#pragma vector ISR_Timer0 @0x08  //定时器中断入口 void ISR_Timer0(void)   //定时器中断子程序
{
        i++;
        _tmr=0x00;
        if(i==100) { j++; i=0; }
        if(j==10)  { k++; j=0; }       
}

void main()
{
_pac=0x00;//从右向左数第一个为pa0 也就是最后一个0
_pbc=0x00;//定义PB口为输出  0为输出 1为输入
_pbc=0x00;
_pcc=0x00;
_pdc=0x00;

  _tmr=0x00;  //定时器初值设置为0 这个初值装多少才为1us溢出,RC振荡 4M  8M  分别是多少
  _tmrc=0x83; //定时器控制器控制设置
  _eti=1;          //开定时器中断开关
  _emi=1;     //开总中断开关
  _ton=1;     //开启定时器
  _pb2=0;//关闭制水灯
while(1)
   {
   
    if(k==10)
    {
     _pb2=1;//点亮制水灯刚通电24秒才亮,后面就4秒一个循环不知为什么       
           
    }
   
    if(k==20)
    {
     _pb2=0;//关闭制水灯
     k=0;       
    }
    _clrwdt();//看门狗清0
   
    }
  }

相关帖子

沙发
zhengmingming2|  楼主 | 2015-3-15 17:12 | 只看该作者
在void main()下面括号内加入了k=0就正常了,现在想请教一下 在RC  4M  8M _tmr=多少的初值才1us溢出?谢谢指教!

使用特权

评论回复
板凳
JY-DX-JY| | 2015-3-25 14:46 | 只看该作者
手册上没有吗?

使用特权

评论回复
地板
zhengmingming2|  楼主 | 2015-4-17 10:03 | 只看该作者
好了,是看门狗的问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

28

帖子

4

粉丝