资源简介
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个文件信息
- 上一篇:教室贡献管理系统
- 下一篇:公安系统集成项目标准汇总
评论
共有 条评论