社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 380|回复: 1

[原创] ch554评测:一,开发环境学习和TouchKey自电容方式检测按键

[复制链接]

48

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-11-29 16:12:56 | 显示全部楼层 |阅读模式
本帖最后由 iceriver 于 2017-11-29 16:21 编辑

1, 开箱照
          图1:开箱照

图1:开箱照

图1:开箱照
2, 初试开发板
      几个USB接口的电源都连在一起,通过电脑USB接口提供电源 ,此时跳线短接JP1的 4脚和6脚,3脚和5脚,单片机UART0连接ch340芯片,提供串口通讯功能
                 图2:默认跳线位置

图2:默认跳线位置

图2:默认跳线位置

3,   安装ch340驱动
      上电后电脑没有自动识别串口,去沁恒的官网下载了ch340的驱动,安装驱动后修改为串口6(如图3所示)。此时通过串口助手可以读到出厂程序上传的数据(图4所示)






                    图3:串口驱动安装好

图3:串口驱动安装好

图3:串口驱动安装好



                     图4:默认程序串口通讯截屏

图4:默认串口通讯

图4:默认串口通讯


4, 烧写程序实验
     烧写有两种方式,一种是通过串口烧写,一种是通过USB烧写。串口烧写时,USB通过P1与电脑相连,跳线短接JP1的第10和第8脚,第9和第7脚,如图5所示;软件设置如图6所示。USB下载时通过P2口与电脑相连,与跳线位置无关,软件设置如图7所示。无论是哪种下载方式,下载是都需要提前按住download按键,上电后再松开才可以实现正常下载





                 图5:串口烧写跳线位置

图5:串口烧写跳线位置

图5:串口烧写跳线位置

                 图6:串口下载成功

图6:串口下载成功

图6:串口下载成功





                 图7:USB下载成功

图7:USB下载成功

图7:USB下载成功


5,  TouchKey实验
     本人只了解了自电容相关的知识。CH554共有6路IO可以检测电容变化(如图8所示),自电容方式时每一路引脚单独检测其电容变化,由于开发板的K1,K2两个按键接了两个引脚,本人的实验未对其进行编程,也就是只检测P14(TIN2)和P15(TIN3)这两个通道。
     由于只检测P14和P15两个通路电容,故将初始化时宏定义修改如下,且单片机采用查询方式检测按键是否被按下,没有做软件滤波,检测阈值加到50。
     P1_DIR_PU &= 0xC0;
    #define KEY_FIRST            2                                                                                    
    #define KEY_LAST             3
    #define KEY_ACT              50
    #define INTERRUPT_TouchKey   0
    这是我的查询方式检测函数:
void TouchKeyChannelQuery()
{
   UINT8   ch = 0;
   UINT16 KeyData;      

   TKEY_CTRL = TKEY_CTRL & 0xF8 | KEY_FIRST +1 ;                 //从首通道开始采样 TIN2
   while((TKEY_CTRL&bTKC_IF) == 0);                                       //bTKC_IF变为1时,本周期采样完成
   KeyData = TKEY_DAT&0x07F0;                                              //保持87us,尽快取走
   //   ch = TKEY_CTRL&7;                                                        //获取当前采样通道
   if ( KeyData < (KeyFree[KEY_FIRST] - KEY_ACT) )                   //如条件满足,代表按键按下   
    {
       KeyBuf= KEY_FIRST ;                                                        //可以在此处进行按键动作处理或者置标志通知main进行处理
    }

   TKEY_CTRL = TKEY_CTRL & 0xF8 | KEY_LAST +1 ;                   //从首通道开始采样  TIN3
   while((TKEY_CTRL&bTKC_IF) == 0);                                        //bTKC_IF变为1时,本周期采样完成
   KeyData = TKEY_DAT&0x07F0;                                                //保持87us,尽快取走
   //   ch = TKEY_CTRL&7;                                                          //获取当前采样通道
   if ( KeyData < (KeyFree[KEY_LAST] - KEY_ACT) )                       //如条件满足,代表按键按下  
    {
       KeyBuf= KEY_LAST ;                                                           //可以在此处进行按键动作处理或者置标志通知main进行处理
    }   
}
             图8:CH554触摸电容检测通道

图8:CH554触摸电容检测通道

图8:CH554触摸电容检测通道
           图9:开发板触摸按键连接方式

图9:开发板触摸按键连接方式

图9:开发板触摸按键连接方式
                     

                     图10:触摸按键接收截图

图10:触摸按键接收

图10:触摸按键接收












此内容由EEWORLD论坛网友iceriver原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自单片机论坛


回复

使用道具 举报

123

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-11-30 09:26:59 | 显示全部楼层
单价1.3元的USB和Touchkey单片机CH552G已全面供货,试样QQ:1258305301


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-12-12 12:39 , Processed in 0.169328 second(s), 18 queries , Redis On.

快速回复 返回顶部 返回列表