标题:
请教大家合泰触摸单片机定时器设置问题
[打印本页]
作者:
飞云
时间:
2019-8-9 14:47
标题:
请教大家合泰触摸单片机定时器设置问题
程序如下,请问这个初始化函数哪里出了问题?我是想设置1us中断的,结果变成20us才中断一次
单片机用的是BS66F360
void ctm0_Init(unsigned int us) /ctm0初始化
{
/***********************设定定时器0的自加计数器每2us加1***************************/
_ctm0c0=0b00100000; //设置定时器的时钟源【fH16分频,即1MHz】 //系统时钟选择16MHz
_ctm0c1=0b11000001; //设定定时器0工作模式为:定时/计数模式,比较器A匹配产生中断
/*************************定时器0每1us产生一次中断*****************************/
_ctm0al=0x01; //设置定时器0计数匹配值,数据手册中说明:写寄存器先写低位,读寄存器先读高位
_ctm0ah=0x00;
_ctm0af=0; //清零tm0中断标志位
_ctm0ae=1; //使能tm0中断
_mf0f=0;
_mf0e=1; //定时器0中断属于MFO中断
_ct0on=1;
// _t0on=1; //定时器0开始计时
}
void isr_tm0()
{
_ctm0af=0;
CLR_WDT();
led_cnt++;
if(led_cnt==50000)
{
led_cnt=0;
led=~led;
}
}
作者:
Y_G_G
时间:
2019-8-9 17:28
在这,你要是问8051的话,会有很多人帮你的,你问合泰,估计用过的都没有几个,烧录器就四百多块钱,相比11块的STC烧录器,没的比呀
1,在烧录的界面看一下有没有系统时钟的选择
2,合泰的指令是4周期的,8051的是12周期的,注意区别一下
3,不要用50000那么大的数,用char型,代码会多几行,但效率会好很多
4,台系的单片机,能用汇编就用汇编,它们不比8051或者AVR之类,编译出错可能性会高很多
5,最重要的,我的话只能当个参考而已,很久没有用合泰了
作者:
TTT96
时间:
2019-8-9 18:45
不会,不好意思
作者:
ccdmcu
时间:
2019-8-9 20:08
不知道你这型号的单片机怎么规定的,仔细看看规格书,总中断打开没?0185之类的我记得中断函数要打开比较器a,或p使能位,开定时器,开总中断,中断函数是写地址的。
作者:
叶樱枫
时间:
2019-9-27 16:05
_ctmc0 = 0b00100000; //总线时钟16M,16分频,定时器停止
_ctmc1 = 0b11000001; //定时/计数器模式,ctm比较器A匹配清除计数器
_ctmal = 0xe8;//1000,定0.001S进一次中断,先写低再写高
_ctmah = 0x03;
_cton = 1; //启动定时器
_ctmae = 1; //定时器ctm比较器A匹配中断请求
_mf1e = 1; //允许多功能中断1
楼主这是我写的HT66F019定时器初始化,你可以参考一下
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1