找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1319|回復(fù): 0
收起左側(cè)

九齊單片機(jī)定時器掃描按鍵程序

[復(fù)制鏈接]
ID:1125252 發(fā)表于 2024-6-14 16:39 | 顯示全部樓層 |閱讀模式
/********************獲取按鍵函數(shù)**********************/
unsigned char Get_keynum(void)
{
    unsigned char temp;
    temp=key_num;
    key_num=0;
    return temp;
}

unsigned char key_Getnum(void)
{
    unsigned keynum=0;
   
    if(K1==0){keynum=1;}
   
    return keynum;
}
void key_scan(void)
{
    static unsigned lastkey,nowkey;
    lastkey=nowkey;
    nowkey=key_Getnum();
    if(lastkey==1 && nowkey==0)
    {
        key_num=1;
    }
}/****************************配置定時器0********************************/
void Timer0_Init(void)
{
   
    PCON1 = C_TMR0_Dis;
    //1ms
    //TMRH = 0X30;
    TMR0 = 5;        //計算頻率16M/2/2=4M=4000000HZ=4us   4us*(255-5)=1000us
    T0MD = C_PS0_TMR0 | C_PS0_Div2;   
    INTE = C_INT_TMR0;
    PCON1 = C_TMR0_En;
}

#endif
/***************************中斷************************************/

void isr(void) __interrupt(0)
{
    if(INTFbits.PBIF)
    {   
        INTFbits.PBIF = 0;                    // Clear PBIF(PortB input change interrupt flag bit)
        INTF= (unsigned char)~(C_INT_PBKey);// Clear PBIF(PortB input change interrupt flag bit)
    }
   
    if(INTFbits.T0IF)
    {     
        tim++;
           if(tim>=25)
           {
               key_scan();
               tim=0;
           }
        
        
   
    INTF= (unsigned char)~(C_INT_TMR0);    // Clear T0IF flag bit
    }
}
/***************************主函數(shù)************************************/
void main(void)
{        
    GPIO_INIT();
    DISI();
   
   
    Timer0_Init();
    //Timer1_Init();
    ENI();
   
    //KEY1_INIT();
    while(1)
    {   
        CLRWDT();
        
        key=Get_keynum();
        if(key==1)
        {
           num++;
           if(num>=10)
           {
                num=0;
           }
        }
        if(num=1){}
        if(num=2){}
          ...
                                                
    }
}
}

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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