• 大小: 24.87MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-07-07
  • 语言: 其他
  • 标签:

资源简介

CA51F3 系列芯片是基于 1T 8051 内核的 8 位微控制器,通常情况下,运行速度比传统的 8051 芯片快 10 倍, 性能更加优越。内置 8/16/32K Flash 程序存储器,可多次重复编程的特性给用户开发带来了极大的方便。不仅保 留了传统 8051 芯片的基本特性,还集成了 ADC、LCD/LED 驱动、Touch Key、PWM、 UART、RTC、低电压检测(LVD) 等功能模块。支持 IDLE、STOP 和低速运行三种省电模式以适应不同功耗要求的应用。强大的功能及优越的抗干 扰性能使其可广泛应用于各种车载音响、家用音响、小家电、蓝牙音箱、汽车电子、数码电机、运动器材、马达 控制、医疗保健、仪器仪表、安防、电源控制、工业控制及门铃产品中

资源截图

代码片段和文件信息

#ifndef _KEY_C_
#define _KEY_C_

/*********************************************************************************************************************/
#include “ca51f_config.h“
#if (IC_TYPE == IC_TYPE_CA51F2X)
#include “includes\ca51f2sfr.h“
#include “includes\ca51f2xsfr.h“
#include “includes\gpiodef_f2.h“
#elif (IC_TYPE == IC_TYPE_CA51F3X)
#include “includes\ca51f3sfr.h“
#include “includes\ca51f3xsfr.h“
#include “includes\gpiodef_f3.h“
#endif
#include “Library\Includes\rtc.h“
#include “Library\Includes\system_clock.h“
#include “Library\includes\uart.h“
#include “key.h“
/*********************************************************************************************************************/
#include “TS_Lib\Includes\ts_configuration.h“
#include “TS_Lib\Includes\ts_def.h“
#include “TS_Lib\Includes\ts_api.h“
#include “TS_Lib\Includes\ts_service.h“    
/*********************************************************************************************************************/
#if SUPPORT_KEY
/*************************************************************************************************
单键:
以K1为例,K1按键产生的流程如下所示:

--> K1|KEY_BREAK(短按松开)
-
K1(按下)--
-
--> K1|KEY_LONG_START(长按大约1秒)---> K1|KEY_LONG(一直长按,约每300ms产生长按键)---->K1|KEY_LONG_BREAK(长按松开)
 ^  |
 |  |
 |-----------------------------------------------|

复合键:
以K1(K1=0x0001)K2(K2=0x0002)为例, 当K1,K2同时按下时,产生按键为(K1<<5)|K2,即0x22 产生按键的流程如下所示:


--> ((K1<<5)|K2)|KEY_BREAK(短按松开)
-
(K1<<5)|K2(按下)--
-
--> ((K1<<5)|K2)|KEY_LONG_START(长按大约1秒)---> ((K1<<5)|K2)|KEY_LONG(一直长按,约每300ms产生长按键)---->((K1<<5)|K2)|KEY_LONG_BREAK(长按松开)
 ^            |
 |            |
 |---------------------------------------------------------|
注意:由于复合键按下时,软件不一定同时检测到双键,而是先检测到单键按下,例如先检测到K1,此时会先产生K1键,等到检测到K2也按
下时,才会产生按键(K1<<5)|K2,检测到双键后,如果双键一直按下,会产生((K1<<5)|K2)|KEY_LONG_START和((K1<<5)|K2)|KEY_LONG,如果
有一个键先松手,会停止产生按键, 等到双键都松开时,才会产生((K1<<5)|K2)|KEY_BREAK(短按松开)或((K1<<5)|K2)|KEY_LONG_BREAK(长按松开)
*************************************************************************************************/
typedef struct 
{
unsigned char  TogKeyNum;
unsigned char  TogKeyList[2];
}
T_TogKeyInfo;
code unsigned char TS_KEY_TAB[]=
{
K1K2K3K4K5K6K7K8K9K10K11K12K13K14K15K16K17K18K19K20
#if (IC_TYPE == IC_TYPE_CA51F2X)
K21K22K23K24
#endif
};
void TSKey_init(void)
{
TK_State = TK_STATE_RELEASE;
TS_Key = 0;
}
void TS_GetTogKeyInfor(T_TogKeyInfo *pKeyInfo)
{
unsigned char iindex;
pKeyInfo->TogKeyNum = 0;
index = 0;
for(i = 0; i < KEY_CH_COUNT; i++)
{
if(KeysFlagSN & MASK_TAB[i])
{
pKeyInfo->TogKeyNum++;

if(pKeyInfo->TogKeyNum <= 2)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-02 15:33  CA51F2_F3_SDK - V3 - 【20171130】\
     文件      152806  2017-11-30 16:11  CA51F2_F3_SDK - V3 - 【20171130】\【非常重要】特别提醒.pdf
     文件      496973  2017-11-30 15:16  CA51F2_F3_SDK - V3 - 【20171130】\【开发必读】CA51F2_F3常见问题解析.pdf
     文件      838699  2017-11-30 15:14  CA51F2_F3_SDK - V3 - 【20171130】\【开发必读】CA51系列MCU设计指南和注意事项 Rev1.0.pdf
     目录           0  2017-12-02 15:33  CA51F2_F3_SDK - V3 - 【20171130】\MCU测试报告\
     文件      148710  2017-04-06 12:33  CA51F2_F3_SDK - V3 - 【20171130】\MCU测试报告\CA51F253L3_CS_10V测试报告.pdf
     文件      148710  2017-04-06 12:33  CA51F2_F3_SDK - V3 - 【20171130】\MCU测试报告\CA51F351S6_ CS_10V测试报告.pdf
     文件      124285  2017-06-03 10:56  CA51F2_F3_SDK - V3 - 【20171130】\MCU测试报告\CA51F351S6_EFT测试报告.pdf
     目录           0  2017-12-02 15:33  CA51F2_F3_SDK - V3 - 【20171130】\MCU用户手册\
     文件     4910145  2017-11-21 09:50  CA51F2_F3_SDK - V3 - 【20171130】\MCU用户手册\CA51F2系列MCU用户手册 REV1.8.pdf
     文件     4743687  2017-12-02 16:27  CA51F2_F3_SDK - V3 - 【20171130】\MCU用户手册\CA51F3系列MCU用户手册 REV1.8.pdf
     目录           0  2017-12-02 15:33  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\
     目录           0  2017-12-02 15:33  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\
     文件         664  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\CA51F.BAT
     文件        2232  2017-11-24 15:23  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\ca51f_config.h
     文件        3739  2017-11-17 16:44  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\CA51FX.BIN
     目录           0  2017-12-02 15:33  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\
     文件      371604  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\ca51fx
     文件       10872  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\ca51fx.hex
     文件         404  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\ca51fx.lnp
     文件        1730  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\ca51fx.plg
     文件      308336  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\ca51fx.SBR
     文件         129  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\debug.__i
     文件       40555  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\debug.obj
     文件         130  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\delay.__i
     文件        2670  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\delay.obj
     文件         136  2017-07-06 19:42  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\display.__i
     文件          19  2017-11-17 16:51  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\ExtDll.iex
     文件         108  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\key.__i
     文件       51772  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\key.obj
     文件         111  2017-11-30 12:13  CA51F2_F3_SDK - V3 - 【20171130】\触摸功能开发包\Touch Sense Demo_v2.3\hex\main.__i
............此处省略1084个文件信息

评论

共有 条评论

相关资源