標(biāo)題: 九齊單片機(jī)定時(shí)器掃描按鍵程序 [打印本頁(yè)]

作者: 1481509156    時(shí)間: 2024-6-14 16:39
標(biāo)題: 九齊單片機(jī)定時(shí)器掃描按鍵程序
/********************獲取按鍵函數(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;
    }
}/****************************配置定時(shí)器0********************************/
void Timer0_Init(void)
{
   
    PCON1 = C_TMR0_Dis;
    //1ms
    //TMRH = 0X30;
    TMR0 = 5;        //計(jì)算頻率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){}
          ...
                                                
    }
}
}





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1