欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2556|回復: 6
打印 上一主題 下一主題
收起左側

請教單片機按鍵掃描延時問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:734017 發表于 2020-8-9 01:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以下是吳鑒鷹單片機課程里的按鍵掃描
unsigned char Key_Scan(void)
{
   uchar Key_Temp,Scan_Code,Temp_Code;
   P2 = 0XF0;
   Key_Temp = P2;
   if((Key_Temp&0xf0)^0xf0)     //0XE0 0b1110 0000 & 0b1111 0000  --0b1110 0000 ^0b1111 0000= 0b0001 0000
   {
       Scan_Code = 0xfe;  //0B1111 1110  
    while((Scan_Code&0x10) != 0x00) //0XFE = 0B1111 1110  0B1111 0111
    {
         P2 = Scan_Code;
   if((P2&0XF0)^0XF0)
   {
        Temp_Code = (P2&0XF0)|0X0F;//1101 0111 &0x f0 = 0b1101 0000 |0x0f = 0b1101 1111 ~0b0010 0000
     return((~Temp_Code)+(~Scan_Code));
   }
   else
   {
       Scan_Code = (Scan_Code<<1)|0X01;// 0b1111 1110 <<1 = 1111 1100 | 0000 0001 = 1111 1101
   }
   
      Delay(10);  這里不明白
     
    }     
   }
   return(0);
}
視頻里說硬件響應需要時間,這里不明白為什么要加延時。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:94031 發表于 2020-8-9 07:24 | 只看該作者
為了可靠判斷鍵是否按下。
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-8-9 08:10 | 只看該作者
這段小延時在1T單片機才有意義,普通12T單片機就可有可無,不影響端口電平識別。
回復

使用道具 舉報

地板
ID:473159 發表于 2020-8-9 08:55 | 只看該作者
Delay(10);  說的是延時時間量,視頻里面還有說延時消抖,可能你沒注意到,可以重新看看,就明白了
回復

使用道具 舉報

5#
ID:811494 發表于 2020-8-9 10:16 | 只看該作者
消抖用的.
因為按鍵按下后松開,電平其實是有高低波動的.
Delay(10)就是為了漏掉低的波動
回復

使用道具 舉報

6#
ID:548551 發表于 2020-8-9 11:48 | 只看該作者
為什么你非的用延時呢? 用定時不好么?   延時你只能在哪里傻等  定時還能做其他的啊
回復

使用道具 舉報

7#
ID:341833 發表于 2020-8-9 14:46 | 只看該作者
按鍵消抖,避免程序誤操作。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表