找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于單片機短按鍵、長按鍵一文

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:149988 發(fā)表于 2022-1-27 20:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
做成短按鍵、長按鍵有不同反應較難一點,如果用將長按變成按兩次,就比較簡單。下面程序,按一次鍵時,為短按,短按LED_1點亮。按兩次鍵時,為長按,長LED_2點亮。
#include < reg51.h >
#include <intrins.h>
sbit k1=P1^0;        //
sbit LED_1=P0^7;
sbit LED_2=P0^0;
unsigned char Time;
unsigned char i;
void delay(unsigned int ms)        /
{
        unsigned char x,y;
        for(x=0;x<ms;x++)
          for(y=0;y<120;y++);
}

void key_scan()          //
{
        i=0;
        if(k1==0)               /
        {
                delay(5);
                if(k1==0)             /
                {
                  while(!k1);        /
                        i=++i;
                }
        }
}
void  main()
{
  P0=0x00;
        
        while(1)
                {
                        key_scan();         
                        if(i==1)
                        {
                                LED_1=1;
                        }
                        if(i==2)
                        {
                                LED_2=1;
                        }
                }
}

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:8222 發(fā)表于 2022-1-28 19:00 | 只看該作者
按鍵不松開,單片機什么也干不了。這也不是長按短按,這是松手檢測。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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