找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2534|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

利用單片機的紅外傳感器制作一個感應(yīng)人穿梭的項目

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:412100 發(fā)表于 2018-10-19 09:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
此部分為網(wǎng)上找到的代碼。。邏輯關(guān)系沒搞懂,希望有大神幫解釋

void key()
{
        static uchar key_new = 0,key_old = 0,key_value = 0;
        if(key_new == 0)                 //按鍵松開        ,key=0時,按鍵是沒有按下去的
        {
                if((key_io & 0x07) == 0x07)
                        key_value ++;
                else
                        key_value = 0;
                if(key_value >= 5)         //按鍵松開松手檢測
                {
                        key_value = 0;
                        key_new = 1;        //按鍵松開后進入等待按鍵狀態(tài)
                }
        }
        else
        {
                if((key_io & 0x07) != 0x07)         //按鍵按下
                        key_value ++;
                else
                        key_value =0;
                if(key_value >= 5)        //按鍵按下消抖
                {
                        key_value = 0;
                        key_new = 0;           //按鍵松開后進入等待松開按鍵狀態(tài)
                }
        }
        key_can = 20;
        if((key_new == 0) && (key_old == 1))
        {
                switch(key_io & 0x07)
                {
                        case 0x06: key_can = 1; break;          //得到按鍵值
                        case 0x05: key_can = 2; break;          //得到按鍵值
                        case 0x03: key_can = 3; break;          //得到按鍵值
                }
        }                        
        key_old = key_new;         
}


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

使用道具 舉報

沙發(fā)
ID:461090 發(fā)表于 2019-3-19 16:16 | 只看該作者
樓主解決了嗎?我也想問一下這個問題
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表