⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.h

📁 基于msp430的一个系统运用系统函数kernel
💻 H
字号:
uchar key_flag; 
uchar key_val; 
uchar key_map[]={1,2,3,4,5,6,7,8,9};
uchar tam[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar key_pressred;

void Init_keypag()    // 初始设制。
{
    P1DIR=0xf0;
    P1OUT =0x00;
    P2DIR=0xff;
    P3DIR=0xff;
    P2OUT=0x00;
    P3OUT=0x00;
    key_val=0;          
   

}


void check_key(void)       //获得键盘数。
{
     uchar row,col,tmp1,tmp2;
      tmp1=0x80;
      for(row=0;row<3;row++)
      {
         P1OUT=0xff;
         P1OUT-=tmp1;
         tmp1 >>=1;
         if((P1IN&0x0f)<0x0f)
         {
           delay(10);
           if((P1IN&0x0f)<0x0f)
           {
            tmp2=0x02;
            for(col=0;col<3;col++)
            {
                if((P1IN&tmp2)==0x00)
                {
                    key_val=key_map[row*3+col];
                      return;
                     // delay(80);
                }
               tmp2 <<=1;
            }          
         }           
        } 
      }            
}
void key_event()        //检测案件,获取键值。
{
    uchar tmp;
    P1OUT &=0x00;
    tmp=P1IN;
    if((key_pressred==0x00)&&((tmp&0x0f)<0x0f))
    {
       key_pressred=1;
       delay(5);
       check_key();
    }
    else if((key_pressred==1)&&((tmp&0x0f)==0x0f))
    {
       key_pressred=0;
       key_flag=1;          //有键值了,可以在主函数中进行显示。
    }
    else{
        _NOP();
    }
    
}
void init_key()
{

  P1IES=0x00;
  P1IE=0x0f;
  Init_keypag();
  _EINT();  
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -