合泰 HT66F04 定时器初始化

本文介绍了HT66F04微控制器中TM0定时器的初始化配置方法,通过设置不同的寄存器值实现100us的定时中断。详细解释了各个配置宏的含义及其在初始化过程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是对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;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值