標(biāo)題:
請教大家合泰觸摸單片機定時器設(shè)置問題
[打印本頁]
作者:
飛云
時間:
2019-8-9 14:47
標(biāo)題:
請教大家合泰觸摸單片機定時器設(shè)置問題
程序如下,請問這個初始化函數(shù)哪里出了問題?我是想設(shè)置1us中斷的,結(jié)果變成20us才中斷一次
單片機用的是BS66F360
void ctm0_Init(unsigned int us) /ctm0初始化
{
/***********************設(shè)定定時器0的自加計數(shù)器每2us加1***************************/
_ctm0c0=0b00100000; //設(shè)置定時器的時鐘源【fH16分頻,即1MHz】 //系統(tǒng)時鐘選擇16MHz
_ctm0c1=0b11000001; //設(shè)定定時器0工作模式為:定時/計數(shù)模式,比較器A匹配產(chǎn)生中斷
/*************************定時器0每1us產(chǎn)生一次中斷*****************************/
_ctm0al=0x01; //設(shè)置定時器0計數(shù)匹配值,數(shù)據(jù)手冊中說明:寫寄存器先寫低位,讀寄存器先讀高位
_ctm0ah=0x00;
_ctm0af=0; //清零tm0中斷標(biāo)志位
_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,在燒錄的界面看一下有沒有系統(tǒng)時鐘的選擇
2,合泰的指令是4周期的,8051的是12周期的,注意區(qū)別一下
3,不要用50000那么大的數(shù),用char型,代碼會多幾行,但效率會好很多
4,臺系的單片機,能用匯編就用匯編,它們不比8051或者AVR之類,編譯出錯可能性會高很多
5,最重要的,我的話只能當(dāng)個參考而已,很久沒有用合泰了
作者:
TTT96
時間:
2019-8-9 18:45
不會,不好意思
作者:
ccdmcu
時間:
2019-8-9 20:08
不知道你這型號的單片機怎么規(guī)定的,仔細(xì)看看規(guī)格書,總中斷打開沒?0185之類的我記得中斷函數(shù)要打開比較器a,或p使能位,開定時器,開總中斷,中斷函數(shù)是寫地址的。
作者:
葉櫻楓
時間:
2019-9-27 16:05
_ctmc0 = 0b00100000; //總線時鐘16M,16分頻,定時器停止
_ctmc1 = 0b11000001; //定時/計數(shù)器模式,ctm比較器A匹配清除計數(shù)器
_ctmal = 0xe8;//1000,定0.001S進(jìn)一次中斷,先寫低再寫高
_ctmah = 0x03;
_cton = 1; //啟動定時器
_ctmae = 1; //定時器ctm比較器A匹配中斷請求
_mf1e = 1; //允許多功能中斷1
樓主這是我寫的HT66F019定時器初始化,你可以參考一下
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1