找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 3655|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)教大家合泰觸摸單片機(jī)定時(shí)器設(shè)置問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:506093 發(fā)表于 2019-8-9 14:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
程序如下,請(qǐng)問這個(gè)初始化函數(shù)哪里出了問題?我是想設(shè)置1us中斷的,結(jié)果變成20us才中斷一次

單片機(jī)用的是BS66F360


void ctm0_Init(unsigned int us)                /ctm0初始化
{        
        /***********************設(shè)定定時(shí)器0的自加計(jì)數(shù)器每2us加1***************************/
        _ctm0c0=0b00100000;        //設(shè)置定時(shí)器的時(shí)鐘源【fH16分頻,即1MHz】 //系統(tǒng)時(shí)鐘選擇16MHz
        _ctm0c1=0b11000001;              //設(shè)定定時(shí)器0工作模式為:定時(shí)/計(jì)數(shù)模式,比較器A匹配產(chǎn)生中斷
        
        /*************************定時(shí)器0每1us產(chǎn)生一次中斷*****************************/
        _ctm0al=0x01;          //設(shè)置定時(shí)器0計(jì)數(shù)匹配值,數(shù)據(jù)手冊(cè)中說明:寫寄存器先寫低位,讀寄存器先讀高位
        _ctm0ah=0x00;
         
        _ctm0af=0;                  //清零tm0中斷標(biāo)志位
        _ctm0ae=1;                  //使能tm0中斷
        
        _mf0f=0;                  
        _mf0e=1;                                 //定時(shí)器0中斷屬于MFO中斷
        
        _ct0on=1;
//        _t0on=1;                 //定時(shí)器0開始計(jì)時(shí)
}

void isr_tm0()
{
        _ctm0af=0;
        CLR_WDT();
        
        led_cnt++;
        if(led_cnt==50000)
        {
                led_cnt=0;
                led=~led;        
        }        
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2019-8-9 17:28 | 只看該作者
在這,你要是問8051的話,會(huì)有很多人幫你的,你問合泰,估計(jì)用過的都沒有幾個(gè),燒錄器就四百多塊錢,相比11塊的STC燒錄器,沒的比呀
1,在燒錄的界面看一下有沒有系統(tǒng)時(shí)鐘的選擇
2,合泰的指令是4周期的,8051的是12周期的,注意區(qū)別一下
3,不要用50000那么大的數(shù),用char型,代碼會(huì)多幾行,但效率會(huì)好很多
4,臺(tái)系的單片機(jī),能用匯編就用匯編,它們不比8051或者AVR之類,編譯出錯(cuò)可能性會(huì)高很多


5,最重要的,我的話只能當(dāng)個(gè)參考而已,很久沒有用合泰了
回復(fù)

使用道具 舉報(bào)

板凳
ID:302534 發(fā)表于 2019-8-9 18:45 | 只看該作者
不會(huì),不好意思
回復(fù)

使用道具 舉報(bào)

地板
ID:529540 發(fā)表于 2019-8-9 20:08 | 只看該作者
不知道你這型號(hào)的單片機(jī)怎么規(guī)定的,仔細(xì)看看規(guī)格書,總中斷打開沒?0185之類的我記得中斷函數(shù)要打開比較器a,或p使能位,開定時(shí)器,開總中斷,中斷函數(shù)是寫地址的。
回復(fù)

使用道具 舉報(bào)

5#
ID:186895 發(fā)表于 2019-9-27 16:05 | 只看該作者
        _ctmc0 = 0b00100000;  //總線時(shí)鐘16M,16分頻,定時(shí)器停止
        _ctmc1 = 0b11000001; //定時(shí)/計(jì)數(shù)器模式,ctm比較器A匹配清除計(jì)數(shù)器
       
        _ctmal = 0xe8;//1000,定0.001S進(jìn)一次中斷,先寫低再寫高
        _ctmah = 0x03;
       
        _cton = 1;    //啟動(dòng)定時(shí)器
        _ctmae = 1;   //定時(shí)器ctm比較器A匹配中斷請(qǐng)求
        _mf1e = 1;          //允許多功能中斷1
樓主這是我寫的HT66F019定時(shí)器初始化,你可以參考一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表