久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2790|回復: 9
收起左側

關于51單片機用兩個獨立按鍵分別控制一個LED燈亮滅時的問題

[復制鏈接]
ID:1056086 發表于 2022-12-11 10:14 | 顯示全部樓層 |閱讀模式
            
我的思路是在我按下K1時,經過消抖后led1亮起,然后我松手,結束這個if語句,此時led1繼續亮起,待我按下K2時,led熄滅,不過當我實踐起來時,按下K1確實亮起,松手依然亮,但是按下K2卻不會熄滅,并且按其他的(比如K1)沒有反應,沒有專門學過C語言,直接入手的單片機,感覺有常識性問題,求各位大佬指點。

#include <REGX52.H>

void Delay1ms(unsigned int xms)                //@12.000MHz
{
        unsigned char i, j;
        while(xms--)
{        i = 2;
        j = 239;
        do
        {
                while (--j);
        } while (--i);
}
       
}

void main()
{
        while(1)
        {
                        if(P3_1==0)
                {   Delay1ms(20);
                       
                        P2_0=0;
                       
                }       
                        if(P3_2==0)
                {
                        Delay1ms(20);
                        P2_0=1;
                }               
        }               
}       

回復

使用道具 舉報

ID:86450 發表于 2022-12-11 11:10 | 顯示全部樓層
加個  else
pppp.png

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:1055461 發表于 2022-12-11 13:07 | 顯示全部樓層
換個if語句
回復

使用道具 舉報

ID:584814 發表于 2022-12-11 14:49 | 顯示全部樓層
1、消抖的寫法有問題,程序在按鍵20ms后并不檢測按鍵狀態,僅起到延時作用;
2、貌似不是二樓加 ELSE 的問題,理論上加不加的兩個條件判斷都可以順序執行。
回復

使用道具 舉報

ID:401564 發表于 2022-12-11 18:13 | 顯示全部樓層
雖然不是完美的代碼,但邏輯上是沒有問題的
加不加else都沒有關系
看一下硬件電路和單片機其它的代碼
最好是有原理圖和全部的代碼
回復

使用道具 舉報

ID:213173 發表于 2022-12-11 19:26 | 顯示全部樓層
void main()
{
        while(1)
        {
                if(P3_1==0)
                {
                        Delay1ms(20);
                        if(P3_1==0)//延時后再次確認按下
                        {       
                                P2_0=0;
                                while(!P3_1);//等待松手
                        }      
                }
                if(P3_2==0)
                {
                        Delay1ms(20);
                        if(P3_2==0)
                        {
                                P2_0=1;
                                while(!P3_2);
                        }               
                }               
        }   
}
回復

使用道具 舉報

ID:1056086 發表于 2022-12-13 16:31 | 顯示全部樓層

謝謝指點,謝謝
回復

使用道具 舉報

ID:1056086 發表于 2022-12-13 16:32 | 顯示全部樓層

謝謝指點,謝謝
回復

使用道具 舉報

ID:1056086 發表于 2022-12-13 16:33 | 顯示全部樓層
man1234567 發表于 2022-12-11 14:49
1、消抖的寫法有問題,程序在按鍵20ms后并不檢測按鍵狀態,僅起到延時作用;
2、貌似不是二樓加 ELSE 的問 ...

謝謝指點,謝謝
回復

使用道具 舉報

ID:1056086 發表于 2022-12-13 16:34 | 顯示全部樓層
wulin 發表于 2022-12-11 19:26
void main()
{
        while(1)

謝謝指點,謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久国产三级 | 黄篇网址| 国产精品免费在线 | 亚洲成人自拍 | 在线视频日韩精品 | 欧美群妇大交群中文字幕 | 久久国产精品久久久久 | 中文字幕在线视频网站 | 欧美一级视频 | 国产精品欧美精品日韩精品 | 国产美女特级嫩嫩嫩bbb片 | 成人av免费| 9久9久| 国产精品精品久久久 | a国产视频 | 欧美日韩淫片 | www久久 | 亚洲视频在线播放 | 久久综合伊人一区二区三 | 亚洲一区二区网站 | 精品欧美一区二区三区久久久 | 91精品国产91久久久久久吃药 | 久热中文字幕 | 99色在线 | 久久99精品久久久久蜜桃tv | 一区欧美 | 国产精品中文字幕在线 | 日韩av免费在线观看 | 国产福利免费视频 | 亚洲专区在线 | 欧美群妇大交群中文字幕 | 午夜久久久久久久久久一区二区 | 亚洲国产成人精品久久久国产成人一区 | 日韩精品一区二区三区四区 | 99免费看 | 中文字幕亚洲一区二区va在线 | 午夜成人免费视频 | 中文字幕在线一区二区三区 | 久久午夜视频 | 日韩在线精品 | h在线播放 |