久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2736|回復: 4
收起左側

簡潔的單片機按鍵消抖程序分享

  [復制鏈接]
ID:977831 發表于 2021-11-4 17:25 | 顯示全部樓層 |閱讀模式
/*獨立按鍵三行*/
unsigned char Trg;           
unsigned char Cont;
#define KEYPORT P3
void Key_Read( void )
{
    unsigned char ReadData = KEYPORT^0xff;
    Trg = ReadData & (ReadData ^ Cont);      
    Cont = ReadData;                           
}
void main()
{   
while(1)
{
  Key_Read();
  if(Trg & 0x08)//S4按下
  {
      //操作1
  }
  if(Trg & 0x04)//S5
  {
     //操作2
  }
  //其他程序
}
}

評分

參與人數 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:965487 發表于 2021-11-6 08:55 | 顯示全部樓層
謝謝分享,這個確實不錯,實際應用非常好。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:983346 發表于 2023-3-30 11:44 | 顯示全部樓層
謝謝分享,這個非常不錯
回復

使用道具 舉報

ID:1064915 發表于 2023-3-30 14:14 | 顯示全部樓層
這個按鍵消抖的原理是什么
回復

使用道具 舉報

ID:161164 發表于 2023-3-30 15:03 | 顯示全部樓層
joyb 發表于 2023-3-30 14:14
這個按鍵消抖的原理是什么

這不是消抖,這只是下降沿觸發
沒按鍵時
KEYPORT => 0xFF
ReadData => 0xFF ^ 0xFF => 0x00
Trg => 0x00 & (0x00 ^ 0x00) => 0x00 & 0x00 => 0x00
Cont => 0x00

P30 按下
KEYPORT => 0xFE
ReadData => 0xFE ^ 0xFF => 0x01
Trg => 0x01 & (0x01 ^ 0x00) => 0x01 & 0x01 => 0x01 (P30下降沿觸發)
Cont => 0x01

P30 繼續按下
KEYPORT => 0xFE
ReadData => 0xFE ^ 0xFF => 0x01
Trg => 0x01 & (0x01 ^ 0x01) => 0x01 & 0x00 => 0x00
Cont => 0x01

所以放在whil(1)是沒有消抖效果的
必需以固定的時間(如10ms)來掃描才可以消抖
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩久久久久久 | 免费一级黄 | 56pao在线| 亚洲97 | 一区二区在线不卡 | 亚洲高清一区二区三区 | 色综合天天天天做夜夜夜夜做 | 噜久寡妇噜噜久久寡妇 | 久久久久一区二区三区 | 久久久久九九九女人毛片 | 久久久黑人 | 国产精品一区在线观看 | 中文精品视频 | 综合久久久久久久 | 夜色www国产精品资源站 | 成人免费大片黄在线播放 | 日韩欧美在线视频观看 | 国产一区二区黑人欧美xxxx | 久久成人免费视频 | 国产成人精品高清久久 | 日本一区二区三区四区 | 国产精品精品3d动漫 | 成人黄色a| 日韩二区 | 欧美高清一区 | 91视频在线 | 久久三区 | 亚洲精品久久久久久久久久久久久 | 日韩一区二区三区视频在线播放 | 久久免费小视频 | 国产精品入口麻豆www | 亚洲成人福利 | 国产亚洲精品一区二区三区 | 日韩性生活网 | 九九热精品免费 | 国产日韩精品在线 | 亚洲91av | 国产97在线视频 | 午夜男人视频 | 中文字幕视频在线看 | 久久九精品 |