找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機單鍵長按、短按選擇項目 源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:149988 發(fā)表于 2022-2-9 10:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
經(jīng)過驗證是可行的
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P1^0;
sbit LED=P0;
uchar a=0;
uchar mode=0;            
void Key_block()
{
        static uint KeyTime=0;
        if(K1==0)
        {
                if(++KeyTime<=0)  
                  --KeyTime;   
                if(KeyTime==5000
                  mode=1;      
        }
        else  
        {
                if(20<=KeyTime && KeyTime<3000
                  mode=2;
                KeyTime=0;  
        }        
}
void Led_Flow()        
{
        uint speed=6000;  
        static uint temp;   
        if(++temp>=speed)   
        {
                temp=0;
                switch (mode)   
                {
                        case 1:
                                P0=~(0xFE<<a);
                                a=++a%8;      
                                break;        
                        case 2:         
                                P0=~(0xFE>>a);
                                a=++a%8;
                                break;      
               }
       }
}
void main()
{
        while (1)
        {
                Key_block();
                Led_Flow();
        }
}

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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