智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2369|回复: 3
打印 上一主题 下一主题

[编程类] 计时器的问题!

[复制链接]

8

主题

127

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
489
QQ
威望
361
贡献
32
兑换币
0
注册时间
2010-3-22
在线时间
48 小时
跳转到指定楼层
1#
发表于 2010-4-10 20:51:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
小弟刚接触XS128 ECT不久,有点问题,程序如下:
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

//利用定时器输出比较功能产生定时中断
//----------------------变量定义----------------------//
static unsigned int waittime=0;

//--------------------定时器初始化------------------//
void ECT0_Init(void)
{
  TIOS=0x01;    //定时器通道0设置为输出比较
  TC0=0x0001;   //赋初值,当TCNT从0计数到此值时第一次进入中断
  TCTL1=0x00;
  TCTL2=0x02;  //其他七路与定时器断开   执行的动作时:0通道输出清零
  TSCR1=0x80;  //使能定时器,快速清除
  TSCR2=0x87;  //溢出中断禁止   16M/128=8us,计一个数用2.67us
  TIE=0x01;    //通道0输出比较中断允许
}
//-----------------------主函数------------------------//
void main(void)
{
  
  ECT0_Init();
  DisableInterrupts;
  DDRB=0xff;
  PORTB=0x00;
  for(;;)
  {
    EnableInterrupts;
  }
}
//-----------------------中断函数处理-------------------//
#pragma CODE_SEG NON_BANKED
void interrupt 8 Timer0_ISR(void) //8为定时器通道0的中断标号
{
  unsigned int m;
  TFLG1_C0F=1;//清中断标志位
  DisableInterrupts;
  m=TCNT;
  TC0=m+1250; //1250*8us=1ms定时时间
  waittime++;
  if(waittime>=255)
  {
    waittime=0;
  }
  PORTB=waittime;
}
上面只能进入中断2次,应为TC0过了0XFFFF不会自己归零,实际使用时肯定不会做吃1MS的中断,我想问的就是现在想做一个1S的中断可能不,TC0有办法自%B

8

主题

127

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
489
QQ
威望
361
贡献
32
兑换币
0
注册时间
2010-3-22
在线时间
48 小时
2#
 楼主| 发表于 2010-4-10 21:14:38 | 只看该作者
卡网页了,洗具中的杯具。。。。。。
回复

使用道具 举报

8

主题

127

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
489
QQ
威望
361
贡献
32
兑换币
0
注册时间
2010-3-22
在线时间
48 小时
3#
 楼主| 发表于 2010-4-11 15:56:23 | 只看该作者
自己回答了,
TSCR2=0x87;  这里溢出中断没关掉,我傻掉了。
不过还是没看出快速清除的作用。
回复

使用道具 举报

3

主题

272

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2670
QQ
威望
1442
贡献
762
兑换币
316
注册时间
2011-9-20
在线时间
233 小时
4#
发表于 2011-9-28 23:19:05 | 只看该作者
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 01:11 , Processed in 0.044896 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表