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

📄 subroutine.h

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

#ifndef __SUBROUTINE_H_
#define __SUBROUTINE_H_
//===========================常量定义================================

#define NUM_KEYS 16


//                      0x01
//                  ------------
//                 |            |
//                 |            |
//            0x20 |            | 0x02
//                 |    0x04    |
//                  ------------
//                 |            |
//                 |            |
//            0x40 |            | 0x10
//                 |    0x08    |         O 0x80    
//                  ------------

const char digit[10] =
{
  0x7b,  /* "0" */ // 0x01+0x02+0x10+0x08+0x40+0x20
  0x12,  /* "1" */ // 0x02+0x10
  0x4F,  /* "2" */ // 0x01+0x02+0x04+0x40+0x08
  0x1F,  /* "3" */ // 0x01+0x02+0x04+0x10+0x08
  0x36,  /* "4" */ // 0x20+0x04+0x02+0x10
  0x3D,  /* "5" */ // 0x01+0x20+0x04+0x10+0x08
  0x7D,  /* "6" */ // 0x01+0x20+0x40+0x08+0x10+0x04
  0x13,  /* "7" */ // 0x01+0x02+0x10
  0x7F,  /* "8" */ // 0x01+0x02+0x04+0x08+0x10+0x20+0x40
  0x3F   /* "9" */ // 0x01+0x02+0x10+0x08+0x20+0x04
};
//===================================================================

//===========================变量声明================================
unsigned int timer_count;
unsigned int cnt_time;
unsigned int sum;
unsigned int total;
unsigned char tx_bit;
unsigned char reg_tx;
signed   int  reg_key_value;    
signed   int  reg_last_position=0;
unsigned char cnt_key_down;
signed   int  reg_key_value_avg;
//===================================================================

//==========================数据结构定义=============================
typedef struct
{
  unsigned char port;                                                 //端口号
  unsigned char port_bit;                                              //端口位好
}key_config_data_t;

typedef struct
{
   int base_capacitance;                                      //存储按键的基本电容量
   int filtered;                                              //存储滤波后的增益电容量
   int adapt;                                               //存储慢速适应变化值
   int adapter_flag;                                          //存储变化量标记,调试用
}key_data_t;

const key_config_data_t key_config[NUM_KEYS]=
{

  {1,BIT4},//{1,BIT5},
  {1,BIT6},//{1,BIT4},
  {2,BIT0},//{1,BIT3},
  {2,BIT2},//{1,BIT2},
  {1,BIT2},//{1,BIT6},
  {1,BIT0},//{1,BIT7},
  {1,BIT5},//{2,BIT2},
  {1,BIT7},//{2,BIT3},  
  {2,BIT3},//{2,BIT5},
  {2,BIT1},//{2,BIT4},
  {2,BIT4},//{1,BIT1},
  {2,BIT6},//{1,BIT0},
  {1,BIT1},//{2,BIT0},
  {1,BIT3},//{2,BIT1},
  {2,BIT5},//{2,BIT6},
  {2,BIT7},//{2,BIT7},  

};

key_data_t key[NUM_KEYS];

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

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

//__interrupt void Port1_ISR(void);
//__interrupt void Port2_ISR(void);
void Init_Mcu(void);
void Init_Key(key_data_t *key,const key_config_data_t *key_config);
void Delay(unsigned int time);
unsigned int Measure_Key_Capacitance(unsigned int keyno);
void Scan_Key(void);
int Key_Position(void);
void Lcd_Display(int reg_key_value);
void Uart_Tx(int reg_key_value);
//===================================================================

#endif

⌨️ 快捷键说明

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