找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 3020|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

TM1650按鍵的長(zhǎng)按短按識(shí)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
小弟初學(xué)者,基本功不行,請(qǐng)教各位大神不吝賜教,TM1650掃描按鍵,單片機(jī)怎么來(lái)識(shí)別短按,長(zhǎng)按和雙擊來(lái)實(shí)現(xiàn)不同的功能



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

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2022-12-18 14:16 來(lái)自觸屏版 | 只看該作者


1000


20()1000
回復(fù)

使用道具 舉報(bào)

板凳
ID:433219 發(fā)表于 2022-12-19 08:23 | 只看該作者
長(zhǎng)按鍵很簡(jiǎn)單啊。
void Key_Act(void)
{
    uchar key_num=0;
   
    if(ms200_ok_flag==1)
    {
        ms200_ok_flag=0;
        
        key_num=KeyScan();
        if(last_key != key_num)//鍵值有變
        {
            Key_Fun(last_key);//短按->執(zhí)行

            last_key = key_num;//鍵值更新
        }
        else//last_key == key_num//鍵值無(wú)變化
        {
            if(key_num != 0)//有效長(zhǎng)按鍵
            {
                switch(key_num)
                {
                    case 1 ://啟停:長(zhǎng)按3s清零
                            break;
                    case 2 ://++
                            break;
                    case 3 ://--
                }
            }
        }
    }
}
回復(fù)

使用道具 舉報(bào)

地板
ID:1056945 發(fā)表于 2022-12-22 12:41 | 只看該作者
wkman 發(fā)表于 2022-12-19 08:23
長(zhǎng)按鍵很簡(jiǎn)單啊。
void Key_Act(void)
{

我試試看,迷糊了幾天,搞死了
回復(fù)

使用道具 舉報(bào)

5#
ID:1056945 發(fā)表于 2022-12-22 13:59 | 只看該作者

你的意思是不是用定時(shí)器計(jì)時(shí)然后再判斷
回復(fù)

使用道具 舉報(bào)

6#
ID:161164 發(fā)表于 2022-12-23 11:31 | 只看該作者
菜鳥(niǎo)123321 發(fā)表于 2022-12-22 13:59
你的意思是不是用定時(shí)器計(jì)時(shí)然后再判斷

審批AI把我的代碼刪了

定時(shí)器產(chǎn)生1ms中斷
每1ms讀取TM1650的鍵值一次以下是示范代碼


回復(fù)

使用道具 舉報(bào)

7#
ID:996773 發(fā)表于 2023-1-6 09:18 | 只看該作者
不要用中斷,中斷留給更重要的顯示部件用,讀一次1650返回的鍵值確認(rèn)按下的話用軟件延時(shí)0.5秒再讀鍵如果再按下再回頭讀鍵,反復(fù)七八次就達(dá)到幾秒長(zhǎng)按的要求。如果一個(gè)讀鍵都用到中斷的話會(huì)影響掃描方式的顯示狀態(tài)。
回復(fù)

使用道具 舉報(bào)

8#
ID:161164 發(fā)表于 2023-1-6 10:07 | 只看該作者
hi等你 發(fā)表于 2023-1-6 09:18
不要用中斷,中斷留給更重要的顯示部件用,讀一次1650返回的鍵值確認(rèn)按下的話用軟件延時(shí)0.5秒再讀鍵如果再 ...

1650內(nèi)置掃描顯示驅(qū)動(dòng)
不需要用中斷來(lái)更新
回復(fù)

使用道具 舉報(bào)

9#
ID:996773 發(fā)表于 2023-1-9 15:27 | 只看該作者
lkc8210 發(fā)表于 2023-1-6 10:07
1650內(nèi)置掃描顯示驅(qū)動(dòng)
不需要用中斷來(lái)更新

對(duì)對(duì)對(duì),我居然忘記1650是個(gè)顯示驅(qū)動(dòng),發(fā)送一次顯示數(shù)據(jù)就能亮,我用長(zhǎng)按短按并沒(méi)有用到中斷
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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