欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1868|回復: 6
收起左側

遇到ch552定時器2的使用問題

[復制鏈接]
ID:858009 發表于 2022-1-20 17:49 | 顯示全部樓層 |閱讀模式
本帖最后由 qwettyuio 于 2022-1-21 10:29 編輯

想用定時器2定時15秒。控制LED燈,只有按鍵按著的時候LED亮,松開不亮,定時器2沒有控制
功能是,按鍵按下,LED亮,定時器2啟動計時15s,15s后LED不亮,定時器2停止
void Time2_Init()
{
        back = 0;
        mTimer2Clk12DivFsys();
        mTimer_x_ModInit(2,1);
        mTimer_x_SetData(2,0xC350);
        mTimer2RunCTL(0);
        ET2 = 1;
        EA = 1;
}
void        mTimer2Interrupt( void ) interrupt INT_NO_TMR2 using 3                //timer2中斷服務程序,使用寄存器組3
{
        if(TF2)
        {
                TF2=0;
            mTimer_x_SetData(2,0xC350);
            back++;
            if(back==300)
                {
                        back=0;
                    if(key1==1)
                        {
                                led0=1;
                                mTimer2RunCTL(0);
                        }
                }
        }
}
void main( )
{
        CfgFsys( );
        Time2_Init();
        Init_1621();
        HT1621_all_off();
        Port1Cfg(1,3);
        Port1Cfg(1,1);
        Port3Cfg(1,0);
        Port3Cfg(1,3);
        Port3Cfg(1,4);
        Port3Cfg(1,5);
        while(1)
        {
                Write_1621(10,0X80,4);
            Write_1621(30,0X10,4);
                if(key1==0)
                {
                        led0=0;
                    mTimer2RunCTL(1);
                }
        }
}

回復

使用道具 舉報

ID:624769 發表于 2022-1-20 19:28 | 顯示全部樓層
代碼和問題不吻合. 中斷向量來看, 你只寫了 定時器0的中斷
回復

使用道具 舉報

ID:858009 發表于 2022-1-21 09:35 | 顯示全部樓層
188610329 發表于 2022-1-20 19:28
代碼和問題不吻合. 中斷向量來看, 你只寫了 定時器0的中斷

使用這個中斷也不可以
void        mTimer2Interrupt( void ) interrupt INT_NO_TMR2 using 3       //timer2中斷服務程序,使用寄存器組3
{
        if(TF2)
        {
                TF2=0;
            mTimer_x_SetData(2,0xC350);
            back++;
            if(back==300)
                {
                        back=0;
                    if(key1==1)
                        {
                                led0=1;
                                mTimer2RunCTL(0);
                        }
                }
        }
}
回復

使用道具 舉報

ID:858009 發表于 2022-1-21 10:31 | 顯示全部樓層
188610329 發表于 2022-1-20 19:28
代碼和問題不吻合. 中斷向量來看, 你只寫了 定時器0的中斷

修改了中斷也不可以,想用定時器2控制三極管的截止,按鍵按下就導通三級管,定時器2計時15s,然后輸出高電平,三級管截止
回復

使用道具 舉報

ID:301191 發表于 2022-1-21 15:26 | 顯示全部樓層
頂一下
回復

使用道具 舉報

ID:624769 發表于 2022-1-21 20:22 | 顯示全部樓層
       mTimer2RunCTL(0);    這個,定時器2沒開吧?
其實,不要搞那么復雜,

直接寫個 TR2 = 1; 不是大家看得都輕松么? CH552的庫,里面很多東西很沒意義的。
而且,定時器2的 RCAP 重載寄存器也要設的吧?

最后,back++ 這個,你在哪里聲明的? 他真的能到300么?
回復

使用道具 舉報

ID:858009 發表于 2022-1-26 15:03 | 顯示全部樓層
188610329 發表于 2022-1-21 20:22
mTimer2RunCTL(0);    這個,定時器2沒開吧?
其實,不要搞那么復雜,

問題解決了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表