ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM8] stm8 开发例程 一些基础外设-------按键

[复制链接]
177|3
 楼主 | 2019-2-27 14:53 | 显示全部楼层 |阅读模式
/**************************************************************************
* 函数名:Buttom_conf
* 描述  :按键配置函数
* 输入  :无
*
* 输出  :无
* 返回  :无
* 调用  :外部调用
*************************************************************************/
void Buttom_conf(void)
{
  PD_DDR&=0x1f;/*设置数据方向寄存器 1为输出,0为输入*/
  PD_CR1|=0xe0;/*设置上拉输入*/
  PD_CR2&=0x1f;/*设置无中断*/
}

 楼主 | 2019-2-27 14:54 | 显示全部楼层
/**************************************************************************
* 函数名:Key_Scan
* 描述  :按键扫描函数
* 输入  :无
*
* 输出  :无
* 返回  :按键状态 Buttom_OFF标志没按键按下,Buttom_ON表示有按键按下
* 调用  :外部调用
*************************************************************************/
BitStatus Key_Scan(void)
{
    BitStatus ButtomStatus;
    ButtomStatus=Buttom_OFF;
    if(!PD5_In)
    {
        Delay(0x3ff);/*  消抖 */
        if(!PD5_In)
        {
          while(!PD5_In);/*松手释放*/
          ButtomStatus=Buttom_ON;
        }
    }
    return ButtomStatus;
}

使用特权

评论回复
 楼主 | 2019-2-27 22:22 | 显示全部楼层
/**************************************************************************
* 函数名:Delay
* 描述  :按键扫描函数
* 输入  :无
*
* 输出  :无
* 返回  :无
* 调用  :内部调用
*************************************************************************/
static void Delay(u16 nCount)
{
  /* Decrement nCount value */
  while (nCount != 0)
  {
    nCount--;
  }

}

使用特权

评论回复
| 2019-3-8 12:57 | 显示全部楼层
貌似楼主没做防抖啊

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表