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

📄 lsd_tk413_01.c

📁 TI公司MSP430单片机实现方形触摸按键的C语言源代码。
💻 C
字号:
//=================================================================
//
//
//
//==================================================================

//=====================定义常数=====================================
//
//==================================================================

//=====================定义变量=====================================

//==================================================================

//=====================子函数声明===================================
//
//
//==================================================================

//=====================包含头文件===================================
#include"msp430x41x.h"
#include"subroutine.h"
#include"subroutine.c"
//==================================================================

//==================================================================
//函数名称:void main(void)
//入口参数:空
//返回数据:空
//函数功能:系统主函数
//==================================================================
void main()
{
  unsigned int i;
  int tmp_min=255;
  int tmp_max=0;
  Init_Mcu();  
  
  for(i=0;i<NUM_KEYS;i++)                                               //初始化按键形成地平面
  {
    Init_Key(&key[i],&key_config[i]);
  }
  for(i=0;i<100;i++)                                                    //多次扫描按键等待时钟的稳定
  {
    Scan_Key();
  }
  for(i=0;i<NUM_KEYS;i++)                                               //读取各个按键的基本电容量
  {
    key[i].base_capacitance=key[i].filtered>>4;
    key[i].filtered=0;
  }    
  
  while(1)
  {
    Scan_Key();

    reg_key_value=find_mean_position();

    if(cnt_key_down>10)
    {
      reg_key_value_avg =reg_key_value_avg -tmp_min-tmp_max;
      reg_key_value_avg /= 8;
    //  Lcd_Display(reg_key_value_avg);
    //  Uart_Tx(reg_key_value_avg);
      cnt_key_down=0;
      reg_key_value_avg =0;
      tmp_min=255;
      tmp_max=0;
    }
    cnt_key_down++;
    reg_key_value_avg += reg_key_value;
    if(reg_key_value<tmp_min)
      tmp_min=reg_key_value;
    if(reg_key_value>tmp_max)
      tmp_max=reg_key_value;

    if(reg_key_value == -1)
    {
      tmp_min=255;
      tmp_max=0;
      cnt_key_down=0;
      reg_key_value_avg = 0;
      for(i=0;i<8;i++)
      {
         LCDMEM[i]=0;
         
      }    
    }

    //Key_Position();
    
  }    
}

⌨️ 快捷键说明

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