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

📄 key.c

📁 上载的程序可以用于PIC单片机,也可以用于430单片机,本人原创,到至今还没有发现哪位网友想出这种办法,希望站长能多加分.
💻 C
字号:
//文件名:key.c
#include <msp430x14x.h>
#include"lcm141.h"

#define k_key   P1IN     //按键所属端口
#define k_dat   0xe0      //按键对应端口
#define k_port1 0x60     //按键S4键值
#define k_port2 0xa0     //按键S5键值
#define k_port3 0xc0     //按键S6键值

uchar key_data;          //键值计数

void KEY(void)          //得出对应按键值,
{key_data=0;
 if(k_dat!=(k_key&k_dat))
   { key_data=k_key&k_dat;
     DELAYMS(1);
     if(key_data==(k_key&k_dat))
         key_data=k_key&k_dat;
      else
         key_data=0;
   }
}

void KEY_DIS(void)     //转到对应的程序处理
{
 switch(key_data)
 { case k_port1: k_arit++;break;
   case k_port2:
   case k_port3: k_arit--;break;
   default: break;
  }
}
 
void DISPLAY(void)    //键值计数显示;
{uchar i;
    i=k_arit/100;         
    LCM_SEG(coding_down[i],0X06);            
    i=k_arit%100/10;
    LCM_SEG(coding_down[i],0X08);            
    i=k_arit%10;
    LCM_SEG(coding_down[i],0X0a); 
}

void DISDATA(void)                //显示数1~9
{LCM_SEG(coding_up[1],0x19);      //01位
 LCM_SEG(coding_up[2],0x17);      //02位
 LCM_SEG(coding_up[3],0x15);      //03位
 LCM_SEG(coding_up[4],0x13);      //04位
 LCM_SEG(coding_up[5],0x11);      //05位
 LCM_SEG(coding_down[0],0x04);      //10位
 LCM_SEG(coding_down[9],0x06);      //09位
 LCM_SEG(coding_down[8],0x08);      //08位
 LCM_SEG(coding_down[7],0x0a);      //07位
 LCM_SEG(coding_up[6],0x0f);      //06位
 LCM_SEG(coding_down[1],0x02);      //11位
 LCM_SEG(coding_down[2],0x00);      //12位 
 LCM_SEG(coding_down[3],0x1c);      //13位
 LCM_SEG(coding_down[4],0x1e);      //14位
}

void DELAYMS(uint abc)
{uint ac;
 while(abc>0)
   {abc--;
    ac=60;
    while(ac>5)
    ac--;
    }
}
   
   
   
   
   
   
   
   
   
   
   
   
      

⌨️ 快捷键说明

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