合泰 HT66F04 定时器初始化

以下是对HT66F04 定时器TM0定时器的初始化,定时100us中断一次
#define     TM0_RUN     (0<<7) //TM0运行
#define     TM0_PAUST    (1<<7) //TM0暂停

#define     TM0_DIV4     (0<<4) //Fsys/4 
#define     TM0_DIV1     (1<<4)// Fsys 
#define     TM0_DIVH16    (2<<4)  //Fh/16
#define     TM0_DIVH64   (3<<4) //Fh/64
#define     TM0_FTBC   (4<<4) //Ftbc
#define     TM0_YULIU   (5<<4) //保留
#define     TM0_TCKS   (6<<4) //TCK0上升沿时钟
#define     TM0_TCKX   (7<<4) //TCK0下降沿时钟

#define     TM0_ON      (1<<3)//TM0ON
#define     TM0_OFF     (0<<3)//TM0ON

#define     BIJIAO_MODE      (0<<6)//b比较匹配输出模式
#define     NONO_MODE     (1<<6)//未定义模式
#define     PWM_MODE      (2<<6)//PWM输出模式
#define     TM0_MODE     (3<<6)//定时/计数模式

#define     TM0_PPP	(0<<0) //p匹配
#define     TM0_PPA	(1<<0) //A匹配
#define  fsys  12/4//12M / 4分频设置_tm0c0

#define	T50US_VAL 50*fsys
#define	T100US_VAL 100*fsys
#define	T125US_VAL 125*fsys

void TM0_init(void)
{
	_tm0c0	= TM0_RUN|TM0_DIV4|TM0_OFF;//|0x02
	
	_tm0c1	= TM0_MODE|TM0_PPA;
	
		
//	_tm0dl	=T100US_VAL % 256;// 212;//			//设置定时器0	
//	_tm0dh	=T100US_VAL / 256;// 2;
	
	_tm0al	=T100US_VAL% 256; //212;T100US_VAL			//设置定时器0	
	_tm0ah	=T100US_VAL/256;//2; T100US_VAL
	_t0af	= 0;//中断请求标志位
	_t0on	= 1;//定时器开始计时
	_mf0e	= 1;//多功能中断请求标志
	_t0ae	= 1;//中断使能
}
#pragma vector Timer0_isr 		@ 0x0c

void Timer0_isr(void)
{
	_t0af	 = 0;
}



  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值